Re: [PATCHES] CLASSOID patch - Mailing list pgsql-hackers
From | Bruce Momjian |
---|---|
Subject | Re: [PATCHES] CLASSOID patch |
Date | |
Msg-id | 200010102153.RAA11168@candle.pha.pa.us Whole thread Raw |
In response to | CLASSOID patch (Chris Bitmead <chris@bitmead.com>) |
Responses |
Re: [PATCHES] CLASSOID patch
|
List | pgsql-hackers |
I don't see this in the tree. Status, please. > > Attached is a first attempt at implementing the classoid feature. It > works! Can the postgres gurus comment if I've done it right and point > out any problems. A lot of it was guess work so I'm sure it can be > cleaned up some. > > -- > Chris Bitmead > mailto:chris@bitmead.com > ? config.log > ? config.cache > ? config.status > ? nohup.out > ? GNUmakefile > ? src/GNUmakefile > ? src/Makefile.global > ? src/ID > ? src/nohup.out > ? src/backend/fmgr.h > ? src/backend/parse.h > ? src/backend/postgres > ? src/backend/global1.bki.source > ? src/backend/local1_template1.bki.source > ? src/backend/global1.description > ? src/backend/local1_template1.description > ? src/backend/1 > ? src/backend/catalog/genbki.sh > ? src/backend/catalog/global1.bki.source > ? src/backend/catalog/global1.description > ? src/backend/catalog/local1_template1.bki.source > ? src/backend/catalog/local1_template1.description > ? src/backend/parser/y.output > ? src/backend/parser/y.output.gz > ? src/backend/parser/gram.y.works > ? src/backend/parser/gram.y.works.try > ? src/backend/parser/y.output.noerror > ? src/backend/parser/gram.y.gz > ? src/backend/port/Makefile > ? src/backend/utils/Gen_fmgrtab.sh > ? src/backend/utils/fmgr.h > ? src/backend/utils/fmgrstamp-h > ? src/bin/initdb/initdb > ? src/bin/initlocation/initlocation > ? src/bin/ipcclean/ipcclean > ? src/bin/pg_ctl/pg_ctl > ? src/bin/pg_dump/Makefile > ? src/bin/pg_dump/pg_dump > ? src/bin/pg_id/pg_id > ? src/bin/pg_passwd/pg_passwd > ? src/bin/pg_version/Makefile > ? src/bin/pg_version/pg_version > ? src/bin/pgtclsh/mkMakefile.tcldefs.sh > ? src/bin/pgtclsh/mkMakefile.tkdefs.sh > ? src/bin/psql/Makefile > ? src/bin/psql/psql > ? src/bin/scripts/createlang > ? src/include/version.h > ? src/include/config.h > ? src/include/parser/parse.h > ? src/include/utils/fmgroids.h > ? src/interfaces/Makefile > ? src/interfaces/ecpg/lib/Makefile > ? src/interfaces/ecpg/lib/libecpg.so.3.1.1 > ? src/interfaces/ecpg/preproc/Makefile > ? src/interfaces/ecpg/preproc/ecpg > ? src/interfaces/jdbc/postgresql.jar > ? src/interfaces/jdbc/example/psql.class > ? src/interfaces/jdbc/postgresql/DriverClass.java > ? src/interfaces/jdbc/postgresql/DriverClass.class > ? src/interfaces/jdbc/postgresql/Connection.class > ? src/interfaces/jdbc/postgresql/Field.class > ? src/interfaces/jdbc/postgresql/PG_Stream.class > ? src/interfaces/jdbc/postgresql/Driver.class > ? src/interfaces/jdbc/postgresql/ResultSet.class > ? src/interfaces/jdbc/postgresql/fastpath/Fastpath.class > ? src/interfaces/jdbc/postgresql/fastpath/FastpathArg.class > ? src/interfaces/jdbc/postgresql/geometric/PGbox.class > ? src/interfaces/jdbc/postgresql/geometric/PGpoint.class > ? src/interfaces/jdbc/postgresql/geometric/PGcircle.class > ? src/interfaces/jdbc/postgresql/geometric/PGline.class > ? src/interfaces/jdbc/postgresql/geometric/PGlseg.class > ? src/interfaces/jdbc/postgresql/geometric/PGpath.class > ? src/interfaces/jdbc/postgresql/geometric/PGpolygon.class > ? src/interfaces/jdbc/postgresql/jdbc2/ResultSet.class > ? src/interfaces/jdbc/postgresql/jdbc2/Connection.class > ? src/interfaces/jdbc/postgresql/jdbc2/ResultSetMetaData.class > ? src/interfaces/jdbc/postgresql/jdbc2/DatabaseMetaData.class > ? src/interfaces/jdbc/postgresql/jdbc2/Statement.class > ? src/interfaces/jdbc/postgresql/jdbc2/PreparedStatement.class > ? src/interfaces/jdbc/postgresql/jdbc2/CallableStatement.class > ? src/interfaces/jdbc/postgresql/largeobject/LargeObjectManager.class > ? src/interfaces/jdbc/postgresql/largeobject/LargeObject.class > ? src/interfaces/jdbc/postgresql/util/PSQLException.class > ? src/interfaces/jdbc/postgresql/util/UnixCrypt.class > ? src/interfaces/jdbc/postgresql/util/Serialize.class > ? src/interfaces/jdbc/postgresql/util/PGobject.class > ? src/interfaces/jdbc/postgresql/util/PGtokenizer.class > ? src/interfaces/jdbc/postgresql/util/PGmoney.class > ? src/interfaces/libpgeasy/Makefile > ? src/interfaces/libpgeasy/libpgeasy.so.2.1 > ? src/interfaces/libpgtcl/Makefile > ? src/interfaces/libpgtcl/mkMakefile.tcldefs.sh > ? src/interfaces/libpgtcl/mkMakefile.tkdefs.sh > ? src/interfaces/libpq/Makefile > ? src/interfaces/libpq/libpq.so.2.1 > ? src/interfaces/libpq++/Makefile > ? src/interfaces/libpq++/libpq++.so.3.1 > ? src/interfaces/odbc/GNUmakefile > ? src/interfaces/odbc/Makefile.global > ? src/interfaces/perl5/GNUmakefile > ? src/interfaces/python/GNUmakefile > ? src/pl/Makefile > ? src/pl/plperl/GNUmakefile > ? src/pl/plpgsql/Makefile > ? src/pl/plpgsql/src/Makefile > ? src/pl/plpgsql/src/libplpgsql.so.1.0 > ? src/pl/tcl/mkMakefile.tcldefs.sh > ? src/test/regress/GNUmakefile > ? src/test/regress/x.x > ? src/test/regress/nohup.out > Index: src/backend/access/common/heaptuple.c > =================================================================== > RCS file: /home/projects/pgsql/cvsroot/pgsql/src/backend/access/common/heaptuple.c,v > retrieving revision 1.62 > diff -c -r1.62 heaptuple.c > *** src/backend/access/common/heaptuple.c 2000/04/12 17:14:36 1.62 > --- src/backend/access/common/heaptuple.c 2000/06/24 15:24:46 > *************** > *** 9,15 **** > * > * > * IDENTIFICATION > ! * $Header: /home/projects/pgsql/cvsroot/pgsql/src/backend/access/common/heaptuple.c,v 1.62 2000/04/12 17:14:36momjian Exp $ > * > * NOTES > * The old interface functions have been converted to macros > --- 9,15 ---- > * > * > * IDENTIFICATION > ! * $Header: /usr/local/cvsroot/pgsql/src/backend/access/common/heaptuple.c,v 1.62 2000/04/12 17:14:36 momjian Exp$ > * > * NOTES > * The old interface functions have been converted to macros > *************** > *** 169,174 **** > --- 169,175 ---- > else > switch (attnum) > { > + case ClassOidAttributeNumber: > case SelfItemPointerAttributeNumber: > case ObjectIdAttributeNumber: > case MinTransactionIdAttributeNumber: > *************** > *** 205,210 **** > --- 206,213 ---- > > switch (attno) > { > + case ClassOidAttributeNumber: > + return sizeof f->t_oid; > case SelfItemPointerAttributeNumber: > return sizeof f->t_ctid; > case ObjectIdAttributeNumber: > *************** > *** 237,242 **** > --- 240,248 ---- > > switch (attno) > { > + case ClassOidAttributeNumber: > + byval = true; > + break; > case SelfItemPointerAttributeNumber: > byval = false; > break; > *************** > *** 275,281 **** > { > switch (attnum) > { > ! case SelfItemPointerAttributeNumber: > return (Datum) &tup->t_ctid; > case ObjectIdAttributeNumber: > return (Datum) (long) tup->t_oid; > --- 281,289 ---- > { > switch (attnum) > { > ! case ClassOidAttributeNumber: > ! return (Datum) &tup->t_classoid; > ! case SelfItemPointerAttributeNumber: > return (Datum) &tup->t_ctid; > case ObjectIdAttributeNumber: > return (Datum) (long) tup->t_oid; > Index: src/backend/access/heap/heapam.c > =================================================================== > RCS file: /home/projects/pgsql/cvsroot/pgsql/src/backend/access/heap/heapam.c,v > retrieving revision 1.71 > diff -c -r1.71 heapam.c > *** src/backend/access/heap/heapam.c 2000/06/15 04:09:34 1.71 > --- src/backend/access/heap/heapam.c 2000/06/24 15:24:49 > *************** > *** 235,240 **** > --- 235,242 ---- > int linesleft; > ItemPointer tid = (tuple->t_data == NULL) ? > (ItemPointer) NULL : &(tuple->t_self); > + > + tuple->relation = relation; > > /* ---------------- > * increment access statistics > *************** > *** 567,572 **** > --- 569,575 ---- > > Assert(lockmode >= NoLock && lockmode < MAX_LOCKMODES); > > + > /* ---------------- > * increment access statistics > * ---------------- > *************** > *** 1030,1035 **** > --- 1033,1039 ---- > ItemPointer tid = &(tuple->t_self); > OffsetNumber offnum; > > + tuple->relation = relation; > /* ---------------- > * increment access statistics > * ---------------- > *************** > *** 1124,1129 **** > --- 1128,1134 ---- > bool invalidBlock, > linkend; > > + tp.relation = relation; > /* ---------------- > * get the buffer from the relation descriptor > * Note that this does a buffer pin. > *************** > *** 1216,1221 **** > --- 1221,1227 ---- > * increment access statistics > * ---------------- > */ > + tup->relation = relation; > IncrHeapAccessStat(local_insert); > IncrHeapAccessStat(global_insert); > > *************** > *** 1284,1289 **** > --- 1290,1296 ---- > Buffer buffer; > int result; > > + tp.relation = relation; > /* increment access statistics */ > IncrHeapAccessStat(local_delete); > IncrHeapAccessStat(global_delete); > *************** > *** 1396,1401 **** > --- 1403,1409 ---- > Buffer buffer; > int result; > > + newtup->relation = relation; > /* increment access statistics */ > IncrHeapAccessStat(local_replace); > IncrHeapAccessStat(global_replace); > *************** > *** 1524,1529 **** > --- 1532,1538 ---- > PageHeader dp; > int result; > > + tuple->relation = relation; > /* increment access statistics */ > IncrHeapAccessStat(local_mark4update); > IncrHeapAccessStat(global_mark4update); > Index: src/backend/catalog/heap.c > =================================================================== > RCS file: /home/projects/pgsql/cvsroot/pgsql/src/backend/catalog/heap.c,v > retrieving revision 1.133 > diff -c -r1.133 heap.c > *** src/backend/catalog/heap.c 2000/06/18 22:43:55 1.133 > --- src/backend/catalog/heap.c 2000/06/24 15:24:54 > *************** > *** 101,106 **** > --- 101,107 ---- > * be more difficult if not impossible. > */ > > + > static FormData_pg_attribute a1 = { > 0xffffffff, {"ctid"}, TIDOID, 0, sizeof(ItemPointerData), > SelfItemPointerAttributeNumber, 0, -1, -1, '\0', 'p', '\0', 'i', '\0', '\0' > *************** > *** 130,137 **** > 0xffffffff, {"cmax"}, CIDOID, 0, sizeof(CommandId), > MaxCommandIdAttributeNumber, 0, -1, -1, '\001', 'p', '\0', 'i', '\0', '\0' > }; > > ! static Form_pg_attribute HeapAtt[] = {&a1, &a2, &a3, &a4, &a5, &a6}; > > /* ---------------------------------------------------------------- > * XXX END OF UGLY HARD CODED BADNESS XXX > --- 131,143 ---- > 0xffffffff, {"cmax"}, CIDOID, 0, sizeof(CommandId), > MaxCommandIdAttributeNumber, 0, -1, -1, '\001', 'p', '\0', 'i', '\0', '\0' > }; > + > + static FormData_pg_attribute a7 = { > + 0xffffffff, {"classoid"}, OIDOID, 0, sizeof(Oid), > + ClassOidAttributeNumber, 0, -1, -1, '\0', 'p', '\0', 'i', '\0', '\0' > + }; > > ! static Form_pg_attribute HeapAtt[] = {&a1, &a2, &a3, &a4, &a5, &a6, &a7}; > > /* ---------------------------------------------------------------- > * XXX END OF UGLY HARD CODED BADNESS XXX > Index: src/backend/optimizer/path/tidpath.c > =================================================================== > RCS file: /home/projects/pgsql/cvsroot/pgsql/src/backend/optimizer/path/tidpath.c,v > retrieving revision 1.7 > diff -c -r1.7 tidpath.c > *** src/backend/optimizer/path/tidpath.c 2000/05/30 00:49:47 1.7 > --- src/backend/optimizer/path/tidpath.c 2000/06/24 15:24:55 > *************** > *** 105,110 **** > --- 105,118 ---- > var->varoattno == SelfItemPointerAttributeNumber && > var->vartype == TIDOID) > arg = arg2; > + /* else if (var->varno == varno && > + var->varattno == ClassOidAttributeNumber && > + var->vartype == OIDCLASSOID) > + arg = arg2; > + else if (var->varnoold == varno && > + var->varoattno == ClassOidAttributeNumber && > + var->vartype == OIDCLASSOID) > + arg = arg2; */ > } > if ((!arg) && IsA(arg2, Var)) > { > *************** > *** 113,118 **** > --- 121,130 ---- > var->varattno == SelfItemPointerAttributeNumber && > var->vartype == TIDOID) > arg = arg1; > + /* else if (var->varno == varno && > + var->varattno == ClassOidAttributeNumber && > + var->vartype == OIDCLASSOID) > + arg = arg1; */ > } > if (!arg) > return rnode; > Index: src/backend/optimizer/prep/preptlist.c > =================================================================== > RCS file: /home/projects/pgsql/cvsroot/pgsql/src/backend/optimizer/prep/preptlist.c,v > retrieving revision 1.36 > diff -c -r1.36 preptlist.c > *** src/backend/optimizer/prep/preptlist.c 2000/04/12 17:15:23 1.36 > --- src/backend/optimizer/prep/preptlist.c 2000/06/24 15:24:57 > *************** > *** 15,21 **** > * Portions Copyright (c) 1994, Regents of the University of California > * > * IDENTIFICATION > ! * $Header: /home/projects/pgsql/cvsroot/pgsql/src/backend/optimizer/prep/preptlist.c,v 1.36 2000/04/12 17:15:23momjian Exp $ > * > *------------------------------------------------------------------------- > */ > --- 15,21 ---- > * Portions Copyright (c) 1994, Regents of the University of California > * > * IDENTIFICATION > ! * $Header: /usr/local/cvsroot/pgsql/src/backend/optimizer/prep/preptlist.c,v 1.36 2000/04/12 17:15:23 momjian Exp$ > * > *------------------------------------------------------------------------- > */ > *************** > *** 66,72 **** > if (command_type == CMD_UPDATE || command_type == CMD_DELETE) > { > Resdom *resdom; > ! Var *var; > > resdom = makeResdom(length(tlist) + 1, > TIDOID, > --- 66,72 ---- > if (command_type == CMD_UPDATE || command_type == CMD_DELETE) > { > Resdom *resdom; > ! Var *var1, *var2; > > resdom = makeResdom(length(tlist) + 1, > TIDOID, > *************** > *** 76,83 **** > 0, > true); > > ! var = makeVar(result_relation, SelfItemPointerAttributeNumber, > TIDOID, -1, 0); > > /* > * For an UPDATE, expand_targetlist already created a fresh tlist. > --- 76,85 ---- > 0, > true); > > ! var1 = makeVar(result_relation, SelfItemPointerAttributeNumber, > TIDOID, -1, 0); > + var2 = makeVar(result_relation, ClassOidAttributeNumber, > + OIDOID, -1, 0); > > /* > * For an UPDATE, expand_targetlist already created a fresh tlist. > *************** > *** 87,93 **** > if (command_type == CMD_DELETE) > tlist = listCopy(tlist); > > ! tlist = lappend(tlist, makeTargetEntry(resdom, (Node *) var)); > } > > return tlist; > --- 89,96 ---- > if (command_type == CMD_DELETE) > tlist = listCopy(tlist); > > ! tlist = lappend(tlist, makeTargetEntry(resdom, (Node *) var1)); > ! tlist = lappend(tlist, makeTargetEntry(resdom, (Node *) var2)); > } > > return tlist; > Index: src/backend/parser/parse_relation.c > =================================================================== > RCS file: /home/projects/pgsql/cvsroot/pgsql/src/backend/parser/parse_relation.c,v > retrieving revision 1.44 > diff -c -r1.44 parse_relation.c > *** src/backend/parser/parse_relation.c 2000/06/20 01:41:21 1.44 > --- src/backend/parser/parse_relation.c 2000/06/24 15:24:58 > *************** > *** 40,45 **** > --- 40,48 ---- > > { > { > + "classoid", ClassOidAttributeNumber, OIDOID > + }, > + { > "ctid", SelfItemPointerAttributeNumber, TIDOID > }, > { > Index: src/backend/utils/cache/lsyscache.c > =================================================================== > RCS file: /home/projects/pgsql/cvsroot/pgsql/src/backend/utils/cache/lsyscache.c,v > retrieving revision 1.42 > diff -c -r1.42 lsyscache.c > *** src/backend/utils/cache/lsyscache.c 2000/06/08 22:37:30 1.42 > --- src/backend/utils/cache/lsyscache.c 2000/06/24 15:25:00 > *************** > *** 249,254 **** > --- 249,256 ---- > if (attnum == ObjectIdAttributeNumber || > attnum == SelfItemPointerAttributeNumber) > return 1.0 / (double) ntuples; > + if (attnum == ClassOidAttributeNumber) > + return 1.0; > > /* > * VACUUM ANALYZE has not been run for this table. Produce an estimate > Index: src/include/access/heapam.h > =================================================================== > RCS file: /home/projects/pgsql/cvsroot/pgsql/src/include/access/heapam.h,v > retrieving revision 1.53 > diff -c -r1.53 heapam.h > *** src/include/access/heapam.h 2000/06/18 22:44:23 1.53 > --- src/include/access/heapam.h 2000/06/24 15:25:02 > *************** > *** 230,239 **** > (Datum)((char *)&((tup)->t_self)) \ > ) \ > : \ > ( \ > (Datum)*(unsigned int *) \ > ((char *)(tup)->t_data + heap_sysoffset[-(attnum)-1]) \ > ! ) \ > ) \ > ) \ > ) > --- 230,244 ---- > (Datum)((char *)&((tup)->t_self)) \ > ) \ > : \ > + (((attnum) == ClassOidAttributeNumber) ? \ > ( \ > + (Datum)((tup)->relation->rd_id) \ > + ) \ > + : \ > + ( \ > (Datum)*(unsigned int *) \ > ((char *)(tup)->t_data + heap_sysoffset[-(attnum)-1]) \ > ! )) \ > ) \ > ) \ > ) > Index: src/include/access/htup.h > =================================================================== > RCS file: /home/projects/pgsql/cvsroot/pgsql/src/include/access/htup.h,v > retrieving revision 1.30 > diff -c -r1.30 htup.h > *** src/include/access/htup.h 2000/06/02 10:20:26 1.30 > --- src/include/access/htup.h 2000/06/24 15:25:02 > *************** > *** 133,139 **** > #define MinCommandIdAttributeNumber (-4) > #define MaxTransactionIdAttributeNumber (-5) > #define MaxCommandIdAttributeNumber (-6) > ! #define FirstLowInvalidHeapAttributeNumber (-7) > > /* If you make any changes above, the order off offsets in this must change */ > extern long heap_sysoffset[]; > --- 133,140 ---- > #define MinCommandIdAttributeNumber (-4) > #define MaxTransactionIdAttributeNumber (-5) > #define MaxCommandIdAttributeNumber (-6) > ! #define ClassOidAttributeNumber (-7) > ! #define FirstLowInvalidHeapAttributeNumber (-8) > > /* If you make any changes above, the order off offsets in this must change */ > extern long heap_sysoffset[]; > *************** > *** 156,161 **** > --- 157,163 ---- > { > uint32 t_len; /* length of *t_data */ > ItemPointerData t_self; /* SelfItemPointer */ > + Relation relation; /* */ > MemoryContext t_datamcxt; /* */ > HeapTupleHeader t_data; /* */ > } HeapTupleData; > Index: src/include/catalog/pg_attribute.h > =================================================================== > RCS file: /home/projects/pgsql/cvsroot/pgsql/src/include/catalog/pg_attribute.h,v > retrieving revision 1.59 > diff -c -r1.59 pg_attribute.h > *** src/include/catalog/pg_attribute.h 2000/06/12 03:40:52 1.59 > --- src/include/catalog/pg_attribute.h 2000/06/24 15:25:04 > *************** > *** 267,272 **** > --- 267,273 ---- > DATA(insert OID = 0 ( 1247 cmin 29 0 4 -4 0 -1 -1 t p f i f f)); > DATA(insert OID = 0 ( 1247 xmax 28 0 4 -5 0 -1 -1 t p f i f f)); > DATA(insert OID = 0 ( 1247 cmax 29 0 4 -6 0 -1 -1 t p f i f f)); > + DATA(insert OID = 0 ( 1247 classoid 26 0 4 -7 0 -1 -1 t p f i f f)); > > /* ---------------- > * pg_database > *************** > *** 282,287 **** > --- 283,289 ---- > DATA(insert OID = 0 ( 1262 cmin 29 0 4 -4 0 -1 -1 t p f i f f)); > DATA(insert OID = 0 ( 1262 xmax 28 0 4 -5 0 -1 -1 t p f i f f)); > DATA(insert OID = 0 ( 1262 cmax 29 0 4 -6 0 -1 -1 t p f i f f)); > + DATA(insert OID = 0 ( 1262 classoid 26 0 4 -7 0 -1 -1 t p f i f f)); > > /* ---------------- > * pg_proc > *************** > *** 329,334 **** > --- 331,337 ---- > DATA(insert OID = 0 ( 1255 cmin 29 0 4 -4 0 -1 -1 t p f i f f)); > DATA(insert OID = 0 ( 1255 xmax 28 0 4 -5 0 -1 -1 t p f i f f)); > DATA(insert OID = 0 ( 1255 cmax 29 0 4 -6 0 -1 -1 t p f i f f)); > + DATA(insert OID = 0 ( 1255 classoid 26 0 4 -7 0 -1 -1 t p f i f f)); > > /* ---------------- > * pg_shadow > *************** > *** 348,353 **** > --- 351,357 ---- > DATA(insert OID = 0 ( 1260 cmin 29 0 4 -4 0 -1 -1 t p f i f f)); > DATA(insert OID = 0 ( 1260 xmax 28 0 4 -5 0 -1 -1 t p f i f f)); > DATA(insert OID = 0 ( 1260 cmax 29 0 4 -6 0 -1 -1 t p f i f f)); > + DATA(insert OID = 0 ( 1260 classoid 26 0 4 -7 0 -1 -1 t p f i f f)); > > /* ---------------- > * pg_group > *************** > *** 362,367 **** > --- 366,372 ---- > DATA(insert OID = 0 ( 1261 cmin 29 0 4 -4 0 -1 -1 t p f i f f)); > DATA(insert OID = 0 ( 1261 xmax 28 0 4 -5 0 -1 -1 t p f i f f)); > DATA(insert OID = 0 ( 1261 cmax 29 0 4 -6 0 -1 -1 t p f i f f)); > + DATA(insert OID = 0 ( 1261 classoid 26 0 4 -7 0 -1 -1 t p f i f f)); > > /* ---------------- > * pg_attribute > *************** > *** 405,410 **** > --- 410,416 ---- > DATA(insert OID = 0 ( 1249 cmin 29 0 4 -4 0 -1 -1 t p f i f f)); > DATA(insert OID = 0 ( 1249 xmax 28 0 4 -5 0 -1 -1 t p f i f f)); > DATA(insert OID = 0 ( 1249 cmax 29 0 4 -6 0 -1 -1 t p f i f f)); > + DATA(insert OID = 0 ( 1249 classoid 26 0 4 -7 0 -1 -1 t p f i f f)); > > /* ---------------- > * pg_class > *************** > *** 458,463 **** > --- 464,470 ---- > DATA(insert OID = 0 ( 1259 cmin 29 0 4 -4 0 -1 -1 t p f i f f)); > DATA(insert OID = 0 ( 1259 xmax 28 0 4 -5 0 -1 -1 t p f i f f)); > DATA(insert OID = 0 ( 1259 cmax 29 0 4 -6 0 -1 -1 t p f i f f)); > + DATA(insert OID = 0 ( 1259 classoid 26 0 4 -7 0 -1 -1 t p f i f f)); > > /* ---------------- > * pg_attrdef > *************** > *** 473,478 **** > --- 480,486 ---- > DATA(insert OID = 0 ( 1215 cmin 29 0 4 -4 0 -1 -1 t p f i f f)); > DATA(insert OID = 0 ( 1215 xmax 28 0 4 -5 0 -1 -1 t p f i f f)); > DATA(insert OID = 0 ( 1215 cmax 29 0 4 -6 0 -1 -1 t p f i f f)); > + DATA(insert OID = 0 ( 1215 classoid 26 0 4 -7 0 -1 -1 t p f i f f)); > > /* ---------------- > * pg_relcheck > *************** > *** 488,493 **** > --- 496,502 ---- > DATA(insert OID = 0 ( 1216 cmin 29 0 4 -4 0 -1 -1 t p f i f f)); > DATA(insert OID = 0 ( 1216 xmax 28 0 4 -5 0 -1 -1 t p f i f f)); > DATA(insert OID = 0 ( 1216 cmax 29 0 4 -6 0 -1 -1 t p f i f f)); > + DATA(insert OID = 0 ( 1216 classoid 26 0 4 -7 0 -1 -1 t p f i f f)); > > /* ---------------- > * pg_trigger > *************** > *** 513,518 **** > --- 522,528 ---- > DATA(insert OID = 0 ( 1219 cmin 29 0 4 -4 0 -1 -1 t p f i f f)); > DATA(insert OID = 0 ( 1219 xmax 28 0 4 -5 0 -1 -1 t p f i f f)); > DATA(insert OID = 0 ( 1219 cmax 29 0 4 -6 0 -1 -1 t p f i f f)); > + DATA(insert OID = 0 ( 1219 classoid 26 0 4 -7 0 -1 -1 t p f i f f)); > > /* ---------------- > * pg_variable - this relation is modified by special purpose access > Index: src/include/catalog/pg_type.h > =================================================================== > RCS file: /home/projects/pgsql/cvsroot/pgsql/src/include/catalog/pg_type.h,v > retrieving revision 1.89 > diff -c -r1.89 pg_type.h > *** src/include/catalog/pg_type.h 2000/06/05 07:29:01 1.89 > --- src/include/catalog/pg_type.h 2000/06/24 15:25:06 > *************** > *** 337,342 **** > --- 337,343 ---- > DATA(insert OID = 1025 ( _tinterval PGUID -1 -1 f b t \054 0 704 array_in array_out array_in array_out i _null_ )); > DATA(insert OID = 1026 ( _filename PGUID -1 -1 f b t \054 0 605 array_in array_out array_in array_out i _null_ )); > DATA(insert OID = 1027 ( _polygon PGUID -1 -1 f b t \054 0 604 array_in array_out array_in array_out d _null_ )); > + > /* > * Note: the size of aclitem needs to match sizeof(AclItem) in acl.h. > * Thanks to some padding, this will be 8 on all platforms. > Index: src/tools/make_mkid > =================================================================== > RCS file: /home/projects/pgsql/cvsroot/pgsql/src/tools/make_mkid,v > retrieving revision 1.4 > diff -c -r1.4 make_mkid > *** src/tools/make_mkid 2000/03/31 01:41:27 1.4 > --- src/tools/make_mkid 2000/06/24 15:25:09 > *************** > *** 1,6 **** > #!/bin/sh > find `pwd`/ \( -name _deadcode -a -prune \) -o \ > ! -type f -name '*.[chyl]' -print|sed 's;//;/;g' | mkid > > find . -name 'CVS' -prune -o -type d -print |while read DIR > do > --- 1,6 ---- > #!/bin/sh > find `pwd`/ \( -name _deadcode -a -prune \) -o \ > ! -type f -name '*.[chyl]' -print|sed 's;//;/;g' | mkid - > > find . -name 'CVS' -prune -o -type d -print |while read DIR > do -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 853-3000 + If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania 19026
pgsql-hackers by date: