Re: constants - Mailing list pgsql-php

From Frank Bax
Subject Re: constants
Date
Msg-id 3.0.6.32.20020204222345.02bd46e0@pop6.sympatico.ca
Whole thread Raw
In response to Re: constants  (Shane Wright <me@shanewright.co.uk>)
Responses Re: constants
List pgsql-php
I'm not sure; but I vaguely remember reading in pgsql-general that the
optimizer can tell if the function returns a constant, so only evaluate it
once.  Yup, there it is:
    http://archives.postgresql.org/pgsql-general/2001-03/msg01476.php
If you stick with one function per constant, it should still be fast.  You
loose that if you go the table route, though; or even a case-type statement
within function.

Further details (and confirmation of statement about speed of 'constant'
functions) might be obtained by posting to pgsql-general.

Frank


At 09:33 PM 2/4/02 +0000, Shane Wright wrote:
>Hi Frank,
>
>Thanks, interesting idea - it looks like it would work fine, but wouldn't it
>be a little on the slow side?
>
>I like the constant table idea (hmm, could automatically populate the
>constant table by parsing my PHP definitions files, tasty...) - but again
>speed is of the essence...
>
>--
>Shane
>
>On Monday 04 Feb 2002 9:12 pm, Frank Bax wrote:
>> Try a pg function.
>>
>> http://www.postgresql.org/idocs/index.php?sql-createfunction.html
>>
>> CREATE FUNCTION one() RETURNS int4
>>     AS 'SELECT 1 AS RESULT'
>>     LANGUAGE 'sql';
>> SELECT one() AS answer;
>>  answer
>> --------
>>       1
>>
>> If you are truly adventurous, you could create a 'constant' table and have
>> the function take an argument, which is key to the table.
>>
>> Frank
>>
>> At 02:00 PM 2/4/02 +0000, Shane Wright wrote:
>> >Hi
>> >
>> >This may be the wrong list to ask this, apologies if so :)
>> >
>> >Anyway, is there any way to define constants in PostgreSQL - my app has
>> > lots of them at the PHP level, but it'd be nice to use them directly in
>> > the SQL without overly complex query building.
>> >
>> >Something like this...
>> >
>> >DEFINE CONSTANT MYCONST = 4;
>> >
>> >SELECT * FROM mytable WHERE myfield=MYCONST;
>> >
>> >
>> >Thanks
>> >
>> >--
>> >Shane

pgsql-php by date:

Previous
From: Shane Wright
Date:
Subject: Re: constants
Next
From: arun kv
Date:
Subject: Re: keyword search help