1
0
mirror of https://github.com/postgres/postgres.git synced 2025-11-13 16:22:44 +03:00

Thank god for searchable mail archives.

Patch by: wieck@sapserv.debis.de (Jan Wieck)

   One  of  the design rules of PostgreSQL is extensibility. And
   to follow this rule means (at least for me) that there should
   not  only  be a builtin PL.  Instead I would prefer a defined
   interface for PL implemetations.
This commit is contained in:
PostgreSQL Daemon
1998-01-15 19:46:37 +00:00
parent 763ff8aef8
commit baef78d96b
37 changed files with 340 additions and 398 deletions

View File

@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/catalog/aclchk.c,v 1.2 1998/01/06 18:52:03 momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/catalog/aclchk.c,v 1.3 1998/01/15 19:42:26 pgsql Exp $
*
* NOTES
* See acl.h.
@@ -122,7 +122,8 @@ ChangeAcl(char *relname,
if (!RelationIsValid(relation))
elog(ERROR, "ChangeAcl: could not open '%s'??",
RelationRelationName);
fmgr_info(NameEqualRegProcedure, &relkey[0].sk_func, &relkey[0].sk_nargs);
fmgr_info(NameEqualRegProcedure, &relkey[0].sk_func);
relkey[0].sk_nargs = relkey[0].sk_func.fn_nargs;
relkey[0].sk_argument = NameGetDatum(relname);
hsdp = heap_beginscan(relation,
0,

View File

@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/catalog/index.c,v 1.34 1998/01/13 04:03:45 scrappy Exp $
* $Header: /cvsroot/pgsql/src/backend/catalog/index.c,v 1.35 1998/01/15 19:42:27 pgsql Exp $
*
*
* INTERFACE ROUTINES
@@ -1373,8 +1373,8 @@ UpdateStats(Oid relid, long reltuples, bool hasindex)
char nulls[Natts_pg_class];
char replace[Natts_pg_class];
fmgr_info(ObjectIdEqualRegProcedure, (func_ptr *) &key[0].sk_func,
&key[0].sk_nargs);
fmgr_info(ObjectIdEqualRegProcedure, &key[0].sk_func);
key[0].sk_nargs = key[0].sk_func.fn_nargs;
/* ----------------
* This routine handles updates for both the heap and index relation

View File

@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/catalog/pg_operator.c,v 1.19 1998/01/06 19:42:31 momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/catalog/pg_operator.c,v 1.20 1998/01/15 19:42:30 pgsql Exp $
*
* NOTES
* these routines moved here from commands/define.c and somewhat cleaned up.
@@ -97,12 +97,12 @@ OperatorGetWithOpenRelation(Relation pg_operator_desc,
{0, Anum_pg_operator_oprright, ObjectIdEqualRegProcedure},
};
fmgr_info(NameEqualRegProcedure,
&opKey[0].sk_func, &opKey[0].sk_nargs);
fmgr_info(ObjectIdEqualRegProcedure,
&opKey[1].sk_func, &opKey[1].sk_nargs);
fmgr_info(ObjectIdEqualRegProcedure,
&opKey[2].sk_func, &opKey[2].sk_nargs);
fmgr_info(NameEqualRegProcedure, &opKey[0].sk_func);
fmgr_info(ObjectIdEqualRegProcedure, &opKey[1].sk_func);
fmgr_info(ObjectIdEqualRegProcedure, &opKey[2].sk_func);
opKey[0].sk_nargs = opKey[0].sk_func.fn_nargs;
opKey[1].sk_nargs = opKey[1].sk_func.fn_nargs;
opKey[2].sk_nargs = opKey[2].sk_func.fn_nargs;
/* ----------------
* form scan key
@@ -482,12 +482,12 @@ OperatorDef(char *operatorName,
{0, Anum_pg_operator_oprright, ObjectIdEqualRegProcedure},
};
fmgr_info(NameEqualRegProcedure,
&opKey[0].sk_func, &opKey[0].sk_nargs);
fmgr_info(ObjectIdEqualRegProcedure,
&opKey[1].sk_func, &opKey[1].sk_nargs);
fmgr_info(ObjectIdEqualRegProcedure,
&opKey[2].sk_func, &opKey[2].sk_nargs);
fmgr_info(NameEqualRegProcedure, &opKey[0].sk_func);
fmgr_info(ObjectIdEqualRegProcedure, &opKey[1].sk_func);
fmgr_info(ObjectIdEqualRegProcedure, &opKey[2].sk_func);
opKey[0].sk_nargs = opKey[0].sk_func.fn_nargs;
opKey[1].sk_nargs = opKey[1].sk_func.fn_nargs;
opKey[2].sk_nargs = opKey[2].sk_func.fn_nargs;
operatorObjectId = OperatorGet(operatorName,
leftTypeName,
@@ -781,8 +781,8 @@ OperatorUpd(Oid baseId, Oid commId, Oid negId)
{0, ObjectIdAttributeNumber, ObjectIdEqualRegProcedure},
};
fmgr_info(ObjectIdEqualRegProcedure,
&opKey[0].sk_func, &opKey[0].sk_nargs);
fmgr_info(ObjectIdEqualRegProcedure, &opKey[0].sk_func);
opKey[0].sk_nargs = opKey[0].sk_func.fn_nargs;
for (i = 0; i < Natts_pg_operator; ++i)
{

View File

@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/catalog/pg_type.c,v 1.17 1998/01/06 19:42:33 momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/catalog/pg_type.c,v 1.18 1998/01/15 19:42:30 pgsql Exp $
*
*-------------------------------------------------------------------------
*/
@@ -62,8 +62,8 @@ TypeGetWithOpenRelation(Relation pg_type_desc,
* initialize the scan key and begin a scan of pg_type
* ----------------
*/
fmgr_info(NameEqualRegProcedure,
&typeKey[0].sk_func, &typeKey[0].sk_nargs);
fmgr_info(NameEqualRegProcedure, &typeKey[0].sk_func);
typeKey[0].sk_nargs = typeKey[0].sk_func.fn_nargs;
typeKey[0].sk_argument = PointerGetDatum(typeName);
scan = heap_beginscan(pg_type_desc,
@@ -324,8 +324,8 @@ TypeCreate(char *typeName,
{0, Anum_pg_type_typname, NameEqualRegProcedure}
};
fmgr_info(NameEqualRegProcedure,
&typeKey[0].sk_func, &typeKey[0].sk_nargs);
fmgr_info(NameEqualRegProcedure, &typeKey[0].sk_func);
typeKey[0].sk_nargs = typeKey[0].sk_func.fn_nargs;
/* ----------------
* check that the type is not already defined.