new AM, catalog entries

Started by Yves Weißigover 14 years ago3 messages
#1Yves Weißig
weissig@rbg.informatik.tu-darmstadt.de

Hi list,

I really have problems with the catalog entries for my AM.
In the doc
(http://developer.postgresql.org/pgdocs/postgres/index-catalog.html) it
says "anyone able to write a new access method is expected to be
competent to insert an appropriate row for themselves." :-) This is true
so far for me as I know how to insert a new row in pg_am, but I don't
know how to fill in the entries in pg_proc. When I try to register my AM
methods
(http://developer.postgresql.org/pgdocs/postgres/index-functions.html) with:
CREATE FUNCTION ebibuild(internal, internal, internal)
RETURNS internal
AS 'ebibuild'
LANGUAGE internal
STRICT;
I keep getting: ERROR: there is no built-in function named "ebibuild"
This error message somehow leads me to fmgr.c where the contents of an
array are inspected (in line 134). This array fmgr_builtins is built by
fmgr_builtins "Gen_fmgrtab.pl" from pg_proc.h (when? during make?) Do I
have to edit pg_proc.h manually to add my methods for the new AM? I am a
little bit to highly confused.

Greetz, Yves

#2Alvaro Herrera
alvherre@commandprompt.com
In reply to: Yves Weißig (#1)
Re: new AM, catalog entries

Excerpts from Yves Weißig's message of mar abr 26 11:32:31 -0300 2011:

I keep getting: ERROR: there is no built-in function named "ebibuild"
This error message somehow leads me to fmgr.c where the contents of an
array are inspected (in line 134). This array fmgr_builtins is built by
fmgr_builtins "Gen_fmgrtab.pl" from pg_proc.h (when? during make?)

Yes, during make.

Do I have to edit pg_proc.h manually to add my methods for the new AM?

Yes. Or maybe you can try using language C instead of internal (if you
have it in a shared library).

--
Álvaro Herrera <alvherre@commandprompt.com>
The PostgreSQL Company - Command Prompt, Inc.
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

#3Yves Weißig
weissig@rbg.informatik.tu-darmstadt.de
In reply to: Alvaro Herrera (#2)
Re: new AM, catalog entries

Am 26.04.2011 17:07, schrieb Alvaro Herrera:

Excerpts from Yves Weißig's message of mar abr 26 11:32:31 -0300 2011:

I keep getting: ERROR: there is no built-in function named "ebibuild"
This error message somehow leads me to fmgr.c where the contents of an
array are inspected (in line 134). This array fmgr_builtins is built by
fmgr_builtins "Gen_fmgrtab.pl" from pg_proc.h (when? during make?)

Yes, during make.

Do I have to edit pg_proc.h manually to add my methods for the new AM?

Yes. Or maybe you can try using language C instead of internal (if you
have it in a shared library).

Thanks for the answer and a little bit more insight into pg!

Yves