summaryrefslogtreecommitdiff
path: root/src/backend/catalog
diff options
context:
space:
mode:
authorPostgreSQL Daemon <webmaster@postgresql.org>1998-01-15 19:46:37 +0000
committerPostgreSQL Daemon <webmaster@postgresql.org>1998-01-15 19:46:37 +0000
commitbaef78d96b799b6264a54f8cfce4fda2b2da9701 (patch)
treea842ceff78d7eba3de43ba866976d828cf6d2d34 /src/backend/catalog
parent763ff8aef848d71da079049890786edffc3302d6 (diff)
downloadpostgresql-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.c5
-rw-r--r--src/backend/catalog/index.c6
-rw-r--r--src/backend/catalog/pg_operator.c30
-rw-r--r--src/backend/catalog/pg_type.c10
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.