Re: SQL names for C constants
От
Merlin Moncure
Тема
Re: SQL names for C constants
Дата
Msg-id
b42b73150702280953t39aa580bra2c5592d611f4e1d@mail.gmail.com
Ответ на
SQL names for C constants (Vegard Bønes)
Список
Дерево обсуждения
SQL names for C constants Vegard Bønes <vegard.bones@met.no>
Re: SQL names for C constants "Merlin Moncure" <mmoncure@gmail.com>
On 2/27/07, Vegard Bønes wrote: > Hi! > > I am writing a serverside function in plpgsql, which returns a part of a > large object. > > To solve this problem I can do something like this: > > fd := lo_open( some_oid, 262144 ); > PERFORM lo_lseek( fd, index, 0 ); > RETURN loread( fd, read_size ); > > This works well enough, but I do feel slightly uneasy about using > numbers instead of symbolic names (262144 for INV_READ and 0 for > SEEK_SET). I do especially find SEEK_SET unsettling, since this constant > is defined outside of postgresql, and it may therefore be defined to > other values than 0 on other platforms. > > Am I missing something here? Is there a way to specify these names > without writing the actual numbers, or should I just close my eyes and > hope that everything will work? You can make a preprocessor file for your sql stuff and pre-process all your sql using classic C defines for your constants. with little work you can even share headers with your applications. Major downside to this approach is you cannot copy/paste your function bodies (or any sql using macros) into psql/pgadmin, etc. You can use psql variables for similar things but unfortunately not inside functions bodies because they are strings :(. Ideally, for these type of problems I would like to use psql variables because it gives me more flexibility than the C preprocessor in terms of development. merlin
В списке pgsql-general по дате отправления