incubator-empire-db-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rainer Döbele <doeb...@esteam.de>
Subject AW: reverse function in postgresql
Date Thu, 02 Jul 2009 19:34:34 GMT
Great.
I won't be able to do anything about it tonight or tomorrow, but I'll keep it on my list.

Regards
Rainer


Francis De Brabandere
> Re: reverse function in postgresql
> 
> Yep, got postrgesql running on my other machine so I can actually test
> with it
> 
> On Thu, Jul 2, 2009 at 9:21 PM, Rainer Döbele<doebele@esteam.de> wrote:
> > Francis you are unbelievable. I've just created the issue in JIRA and
> two minutes later you've already checked the code in. You must have
> been waiting for that all day.
> > Thanks a lot for that.
> > Apparently you don't have the right to create JIRA issues yourself. I
> always thought you had.
> > I will see if I am able to give you the right to do so.
> >
> > As you have probably seen, I have just created another issue for the
> reverse function problem.
> > I am not yet sure how to deal with this in this case and in general.
> > The original idea was to take all common SQL functions and support
> them for all database drivers.
> > For database specific functions additional functions could be
> implemented either on the database driver or on the DBCommand object
> that is created through the driver. An example for this is Oracle where
> we support the "connect by prior" function with the DBCommandOracle
> object.
> > What I think we should not do, is to create the function in postgre
> without the user's consent, i.e. without him telling us to do so. This
> in turn means that we have to put the code Frank suggested in a special
> method on the driver and anyone who wishes to use the reverse function
> must call this method if the reverse function does not already exist.
> >
> > I will think about this some more and give you my opinion how to deal
> with this.
> > However one problem for me is, that I don't have any postgre SQL
> database running here and I cannot test it.
> > Francis have you?
> >
> > Rainer
> >
> > P.S. @Frank Lupo: Thanks a log Frank for your contributions, they are
> very helpful.
> >
> > Francis De Brabandere wrote:
> >> Re: reverse function in postgresql
> >>
> >> Rainer, what do you think about such workarounds??
> >>
> >> On Thu, Jul 2, 2009 at 5:39 PM, Frank Lupo<frank_lupo@email.it>
> wrote:
> >> > Hi all,
> >> > in postgreql the reverse function not exist.
> >> > Is posible create function reverse when connect to db?
> >> >
> >> > thanks
> >> >
> >> > =====================================================
> >> > CREATE OR REPLACE FUNCTION reverse(TEXT) RETURNS TEXT AS '
> >> >  DECLARE
> >> >     original ALIAS FOR $1;
> >> >     reversed TEXT := \'\';
> >> >     onechar  VARCHAR;
> >> >     mypos    INTEGER;
> >> >  BEGIN
> >> >     SELECT LENGTH(original) INTO mypos;
> >> >     LOOP
> >> >        EXIT WHEN mypos < 1;
> >> >        SELECT substring(original FROM mypos FOR 1) INTO onechar;
> >> >        reversed := reversed || onechar;
> >> >        mypos := mypos -1;
> >> >     END LOOP;
> >> >     RETURN reversed;
> >> >  END
> >> > ' LANGUAGE plpgsql IMMUTABLE RETURNS NULL ON NULL INPUT;
> >> >
> >> > =====================================================
> >> > CREATE OR REPLACE FUNCTION reverse(TEXT) RETURNS TEXT AS '
> >> >  DECLARE
> >> >   original ALIAS FOR $1;
> >> >   reversed TEXT := \'\';
> >> >   onechar  VARCHAR;
> >> >   mypos    INTEGER;
> >> >  BEGIN
> >> >   SELECT LENGTH(original) INTO mypos;
> >> >   LOOP
> >> >     EXIT WHEN mypos < 1;
> >> >     SELECT substring(original FROM mypos FOR 1) INTO onechar;
> >> >     reversed := reversed || onechar;
> >> >     mypos := mypos -1;
> >> >   END LOOP;
> >> >   RETURN reversed;
> >> >  END
> >> > ' LANGUAGE plpgsql IMMUTABLE RETURNS NULL ON NULL INPUT;
> >> > =====================================================
> >> > create or replace function reverse_string(text) returns text as
> >> > '
> >> > DECLARE
> >> > reversed_string text;
> >> > incoming alias for $1;
> >> >
> >> > BEGIN
> >> >
> >> > reversed_string = '''';
> >> >
> >> > for i in reverse char_length(incoming)..1 loop
> >> >  reversed_string = reversed_string || substring(incoming from i
> for
> >> 1);
> >> > end loop;
> >> >
> >> > return reversed_string;
> >> > END'
> >> > language plpgsql;
> >> >
> >> >
> >> >
> >> >
> >> > --
> >> > Caselle da 1GB, trasmetti allegati fino a 3GB e in piu' IMAP, POP3
> e
> >> SMTP
> >> > autenticato? GRATIS solo con Email.it http://www.email.it/f
> >> >
> >> > Sponsor:
> >> > Se ci racconti i tuoi gesti d'amore per il tuo cane, Cesar ti
> premia.
> >> > Partecipa anche tu!
> >> > Clicca qui: http://adv.email.it/cgi-bin/foclick.cgi?mid=9205&d=2-7
> >> >
> >>
> >>
> >>
> >> --
> >> http://www.somatik.be
> >> Microsoft gives you windows, Linux gives you the whole house.
> >
> 
> 
> 
> --
> http://www.somatik.be
> Microsoft gives you windows, Linux gives you the whole house.

Mime
View raw message