Thread: An strftime function, and function name question
First of all, I have attached a simple-minded library I created to wrap the C strftime() function, since we needed some better date formatting and it seemed less cumbersome to do it on the server end. I gave up C for Perl a couple of years ago, so I may be a bit rusty, but I tried to be careful with the buffers and strings. In any case, it works for my purposes. I did also create a new typecast: CREATE FUNCTION int4 (timestamp) RETURNS int4 AS 'SELECT date_part(''epoch'', $1)::int4;' LANGUAGE 'sql'; because I wanted to be able to pass the Unix epoch time in, but I didn't know what timestamps are internally. My question is about naming. I would like to be able to call this function 'strftime'. I've never created libraries before so it may just be a lack of linker knowledge, but I couldn't see how to do that. If I call it strftime, it obviously conflicts with the real strftime(). It would be nice if there were something like: CREATE FUNCTION strftime(int4, varchar) RETURNS varchar AS '/usr/local/pgsql/lib/strftime.so' LANGUAGE 'c' USING C FUNCTION 'c_strftime'; I.e. some way to say "here's the name of the function in the library". If there is, I didn't find it. -- Christopher Masto Senior Network Monkey NetMonger Communications chris@netmonger.net info@netmonger.net http://www.netmonger.net Free yourself, free your machine, free the daemon -- http://www.freebsd.org/
Attachment
Christopher Masto <chris@netmonger.net> writes: > It would be nice if there were something like: > CREATE FUNCTION strftime(int4, varchar) RETURNS varchar AS > '/usr/local/pgsql/lib/strftime.so' LANGUAGE 'c' > USING C FUNCTION 'c_strftime'; > I.e. some way to say "here's the name of the function in the library". See the CREATE FUNCTION reference page, http://www.postgresql.org/users-lounge/docs/7.0/postgres/sql-createfunction.htm concerning link symbols that are different from the SQL name of the function. If you're using something older than 7.0, time to upgrade ... regards, tom lane
On Mon, Feb 12, 2001 at 10:38:26AM -0500, Tom Lane wrote: > Christopher Masto <chris@netmonger.net> writes: > > It would be nice if there were something like: > > > CREATE FUNCTION strftime(int4, varchar) RETURNS varchar AS > > '/usr/local/pgsql/lib/strftime.so' LANGUAGE 'c' > > USING C FUNCTION 'c_strftime'; > > > I.e. some way to say "here's the name of the function in the library". > > See the CREATE FUNCTION reference page, > http://www.postgresql.org/users-lounge/docs/7.0/postgres/sql-createfunction.htm > concerning link symbols that are different from the SQL name of the > function. Thank you. That was exactly what I was looking for.. I don't know how I missed it. I must have been reading the wrong manual. -- Christopher Masto Senior Network Monkey NetMonger Communications chris@netmonger.net info@netmonger.net http://www.netmonger.net Free yourself, free your machine, free the daemon -- http://www.freebsd.org/