From: | Joe Conway <mail(at)joeconway(dot)com> |
---|---|
To: | pgsql-hackers <pgsql-hackers(at)postgreSQL(dot)org> |
Subject: | question re internal functions requiring initdb |
Date: | 2002-07-14 00:50:38 |
Message-ID: | 3D30CADE.6020901@joeconway.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
I was trying to see if it was possible to create an 'internal' function
after bootstrap (i.e. without listing in pg_proc.h). The test case below
illustrates that it is indeed possible.
test=# CREATE OR REPLACE FUNCTION mytest(text,int,int) RETURNS text AS
'text_substr' LANGUAGE 'internal' IMMUTABLE STRICT;
CREATE FUNCTION
test=# select mytest('abcde',2,2);
mytest
--------
bc
(1 row)
It made me wonder why don't we always create internal functions this
way, or at least all except a core set of bootstrapped functions. Am I
wrong in thinking that it would eliminate the need to initdb every time
a new internal function is added?
We could have a script, say "internal_functions.sql", that would contain
"CREATE OR REPLACE FUNCTION...LANGUAGE 'internal'..." for each internal
function and be executed by initdb. When a new builtin function is added
to the backend, you could run this script directly to update your catalog.
Just a thought. Any reason we can't or don't want to do this?
Joe
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2002-07-14 01:01:46 | Re: question re internal functions requiring initdb |
Previous Message | Groff, Dana | 2002-07-14 00:22:15 | Re: Should this require CASCADE? |