diff options
| author | PostgreSQL Daemon <webmaster@postgresql.org> | 1998-01-15 19:46:37 +0000 |
|---|---|---|
| committer | PostgreSQL Daemon <webmaster@postgresql.org> | 1998-01-15 19:46:37 +0000 |
| commit | baef78d96b799b6264a54f8cfce4fda2b2da9701 (patch) | |
| tree | a842ceff78d7eba3de43ba866976d828cf6d2d34 /src/backend/catalog | |
| parent | 763ff8aef848d71da079049890786edffc3302d6 (diff) | |
| download | postgresql-baef78d96b799b6264a54f8cfce4fda2b2da9701.tar.gz | |
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.
Diffstat (limited to 'src/backend/catalog')
| -rw-r--r-- | src/backend/catalog/aclchk.c | 5 | ||||
| -rw-r--r-- | src/backend/catalog/index.c | 6 | ||||
| -rw-r--r-- | src/backend/catalog/pg_operator.c | 30 | ||||
| -rw-r--r-- | src/backend/catalog/pg_type.c | 10 |
4 files changed, 26 insertions, 25 deletions
diff --git a/src/backend/catalog/aclchk.c b/src/backend/catalog/aclchk.c index e754563286..b61bc04490 100644 --- a/src/backend/catalog/aclchk.c +++ b/src/backend/catalog/aclchk.c @@ -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, diff --git a/src/backend/catalog/index.c b/src/backend/catalog/index.c index 7336a5ac3e..c98c877d7d 100644 --- a/src/backend/catalog/index.c +++ b/src/backend/catalog/index.c @@ -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 diff --git a/src/backend/catalog/pg_operator.c b/src/backend/catalog/pg_operator.c index 87019690b8..fc62c45a4f 100644 --- a/src/backend/catalog/pg_operator.c +++ b/src/backend/catalog/pg_operator.c @@ -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) { diff --git a/src/backend/catalog/pg_type.c b/src/backend/catalog/pg_type.c index 63abfcd7ca..1168f69b33 100644 --- a/src/backend/catalog/pg_type.c +++ b/src/backend/catalog/pg_type.c @@ -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. |
