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<[email protected]> 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<[email protected]> 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.

Reply via email to