Re: [PATCHES] TODO item - tid operator
Your patch has been added to the PostgreSQL unapplied patches list at: http://momjian.postgresql.org/cgi-bin/pgpatches It will be applied as soon as one of the PostgreSQL committers reviews and approves it. --- Mark Kirkwood wrote: Bruce Momjian wrote: Tom Lane wrote: Bruce Momjian pgman@candle.pha.pa.us writes: This has been saved for the 8.2 release: http://momjian.postgresql.org/cgi-bin/pgpatches_hold Uh, why do we need this at all? NOT (tid = tid) covers the functionality already. tid should be a fully functional type, at least for = and !=. I disagree strongly with renumbering existing hand-assigned OIDs for this. There's too much risk of breakage and no benefit. Agreed. Also, you forgot to add the negator cross-links between the operators. OK. New patch, with no OID renumbering, plus the negators are there now :-) Thanks for the critique guys! regards Mark Index: src/backend/utils/adt/tid.c === RCS file: /projects/cvsroot/pgsql/src/backend/utils/adt/tid.c,v retrieving revision 1.49 diff -c -r1.49 tid.c *** src/backend/utils/adt/tid.c 27 May 2005 00:57:49 - 1.49 --- src/backend/utils/adt/tid.c 26 Oct 2005 05:07:36 - *** *** 174,180 arg1-ip_posid == arg2-ip_posid); } - #ifdef NOT_USED Datum tidne(PG_FUNCTION_ARGS) { --- 174,179 *** *** 185,191 BlockIdGetBlockNumber((arg2-ip_blkid)) || arg1-ip_posid != arg2-ip_posid); } - #endif /* * Functions to get latest tid of a specified tuple. --- 184,189 Index: src/include/utils/builtins.h === RCS file: /projects/cvsroot/pgsql/src/include/utils/builtins.h,v retrieving revision 1.267 diff -c -r1.267 builtins.h *** src/include/utils/builtins.h 18 Oct 2005 20:38:58 - 1.267 --- src/include/utils/builtins.h 26 Oct 2005 05:07:37 - *** *** 530,535 --- 530,536 extern Datum tidrecv(PG_FUNCTION_ARGS); extern Datum tidsend(PG_FUNCTION_ARGS); extern Datum tideq(PG_FUNCTION_ARGS); + extern Datum tidne(PG_FUNCTION_ARGS); extern Datum currtid_byreloid(PG_FUNCTION_ARGS); extern Datum currtid_byrelname(PG_FUNCTION_ARGS); Index: src/include/catalog/pg_proc.h === RCS file: /projects/cvsroot/pgsql/src/include/catalog/pg_proc.h,v retrieving revision 1.387 diff -c -r1.387 pg_proc.h *** src/include/catalog/pg_proc.h 15 Oct 2005 02:49:42 - 1.387 --- src/include/catalog/pg_proc.h 26 Oct 2005 05:07:40 - *** *** 1625,1630 --- 1625,1632 DATA(insert OID = 1291 ( array_length_coerce PGNSP PGUID 12 f f t f s 3 2277 2277 23 16 _null_ _null_ _null_ array_length_coerce - _null_ )); DESCR(adjust any array to new element typmod); + DATA(insert OID = 2601 ( tidne PGNSP PGUID 12 f f t f i 2 16 27 27 _null_ _null_ _null_ tidne - _null_ )); + DESCR(not equal); DATA(insert OID = 1292 ( tideq PGNSP PGUID 12 f f t f i 2 16 27 27 _null_ _null_ _null_ tideq - _null_ )); DESCR(equal); DATA(insert OID = 1293 ( currtid PGNSP PGUID 12 f f t f v 2 27 26 27 _null_ _null_ _null_ currtid_byreloid - _null_ )); Index: src/include/catalog/pg_operator.h === RCS file: /projects/cvsroot/pgsql/src/include/catalog/pg_operator.h,v retrieving revision 1.137 diff -c -r1.137 pg_operator.h *** src/include/catalog/pg_operator.h 15 Oct 2005 02:49:42 - 1.137 --- src/include/catalog/pg_operator.h 26 Oct 2005 05:07:41 - *** *** 128,135 DATA(insert OID = 389 ( !! PGNSP PGUID l f 0 20 1700 0 0 0 0 0 0 numeric_fac - - )); DATA(insert OID = 385 ( = PGNSP PGUID b t 29 29 16 385 0 0 0 0 0 cideq eqsel eqjoinsel )); DATA(insert OID = 386 ( = PGNSP PGUID b t 22 22 16 386 0 0 0 0 0 int2vectoreq eqsel eqjoinsel )); ! DATA(insert OID = 387 ( = PGNSP PGUID b f 27 27 16 387 0 0 0 0 0 tideq eqsel eqjoinsel )); #define TIDEqualOperator 387 DATA(insert OID = 410 ( =PGNSP PGUID b t 20 20 16 410 411 412 412 412 413 int8eq eqsel eqjoinsel )); DATA(insert OID = 411 (PGNSP PGUID b f 20 20 16 411 410 0 0 0 0 int8ne neqsel neqjoinsel )); --- 128,136 DATA(insert OID = 389 ( !!
Re: [PATCHES] TODO item - tid operator
On Wed, 2006-06-14 at 18:08 -0400, Bruce Momjian wrote: Your patch has been added to the PostgreSQL unapplied patches list at: http://momjian.postgresql.org/cgi-bin/pgpatches It will be applied as soon as one of the PostgreSQL committers reviews and approves it. I applied a variant of this patch a few months ago. -Neil ---(end of broadcast)--- TIP 5: don't forget to increase your free space map settings
Re: [PATCHES] TODO item - tid operator
Neil Conway wrote: On Wed, 2006-06-14 at 18:08 -0400, Bruce Momjian wrote: Your patch has been added to the PostgreSQL unapplied patches list at: http://momjian.postgresql.org/cgi-bin/pgpatches It will be applied as soon as one of the PostgreSQL committers reviews and approves it. I applied a variant of this patch a few months ago. Thanks. I remember now. -- Bruce Momjian http://candle.pha.pa.us EnterpriseDBhttp://www.enterprisedb.com + If your life is a hard drive, Christ can be your backup. + ---(end of broadcast)--- TIP 4: Have you searched our list archives? http://archives.postgresql.org
Re: [PATCHES] TODO item - tid operator
This has been saved for the 8.2 release: http://momjian.postgresql.org/cgi-bin/pgpatches_hold --- Mark Kirkwood wrote: Bruce Momjian wrote: Tom Lane wrote: Bruce Momjian pgman@candle.pha.pa.us writes: This has been saved for the 8.2 release: http://momjian.postgresql.org/cgi-bin/pgpatches_hold Uh, why do we need this at all? NOT (tid = tid) covers the functionality already. tid should be a fully functional type, at least for = and !=. I disagree strongly with renumbering existing hand-assigned OIDs for this. There's too much risk of breakage and no benefit. Agreed. Also, you forgot to add the negator cross-links between the operators. OK. New patch, with no OID renumbering, plus the negators are there now :-) Thanks for the critique guys! regards Mark Index: src/backend/utils/adt/tid.c === RCS file: /projects/cvsroot/pgsql/src/backend/utils/adt/tid.c,v retrieving revision 1.49 diff -c -r1.49 tid.c *** src/backend/utils/adt/tid.c 27 May 2005 00:57:49 - 1.49 --- src/backend/utils/adt/tid.c 26 Oct 2005 05:07:36 - *** *** 174,180 arg1-ip_posid == arg2-ip_posid); } - #ifdef NOT_USED Datum tidne(PG_FUNCTION_ARGS) { --- 174,179 *** *** 185,191 BlockIdGetBlockNumber((arg2-ip_blkid)) || arg1-ip_posid != arg2-ip_posid); } - #endif /* * Functions to get latest tid of a specified tuple. --- 184,189 Index: src/include/utils/builtins.h === RCS file: /projects/cvsroot/pgsql/src/include/utils/builtins.h,v retrieving revision 1.267 diff -c -r1.267 builtins.h *** src/include/utils/builtins.h 18 Oct 2005 20:38:58 - 1.267 --- src/include/utils/builtins.h 26 Oct 2005 05:07:37 - *** *** 530,535 --- 530,536 extern Datum tidrecv(PG_FUNCTION_ARGS); extern Datum tidsend(PG_FUNCTION_ARGS); extern Datum tideq(PG_FUNCTION_ARGS); + extern Datum tidne(PG_FUNCTION_ARGS); extern Datum currtid_byreloid(PG_FUNCTION_ARGS); extern Datum currtid_byrelname(PG_FUNCTION_ARGS); Index: src/include/catalog/pg_proc.h === RCS file: /projects/cvsroot/pgsql/src/include/catalog/pg_proc.h,v retrieving revision 1.387 diff -c -r1.387 pg_proc.h *** src/include/catalog/pg_proc.h 15 Oct 2005 02:49:42 - 1.387 --- src/include/catalog/pg_proc.h 26 Oct 2005 05:07:40 - *** *** 1625,1630 --- 1625,1632 DATA(insert OID = 1291 ( array_length_coerce PGNSP PGUID 12 f f t f s 3 2277 2277 23 16 _null_ _null_ _null_ array_length_coerce - _null_ )); DESCR(adjust any array to new element typmod); + DATA(insert OID = 2601 ( tidne PGNSP PGUID 12 f f t f i 2 16 27 27 _null_ _null_ _null_ tidne - _null_ )); + DESCR(not equal); DATA(insert OID = 1292 ( tideq PGNSP PGUID 12 f f t f i 2 16 27 27 _null_ _null_ _null_ tideq - _null_ )); DESCR(equal); DATA(insert OID = 1293 ( currtid PGNSP PGUID 12 f f t f v 2 27 26 27 _null_ _null_ _null_ currtid_byreloid - _null_ )); Index: src/include/catalog/pg_operator.h === RCS file: /projects/cvsroot/pgsql/src/include/catalog/pg_operator.h,v retrieving revision 1.137 diff -c -r1.137 pg_operator.h *** src/include/catalog/pg_operator.h 15 Oct 2005 02:49:42 - 1.137 --- src/include/catalog/pg_operator.h 26 Oct 2005 05:07:41 - *** *** 128,135 DATA(insert OID = 389 ( !! PGNSP PGUID l f 0 20 1700 0 0 0 0 0 0 numeric_fac - - )); DATA(insert OID = 385 ( = PGNSP PGUID b t 29 29 16 385 0 0 0 0 0 cideq eqsel eqjoinsel )); DATA(insert OID = 386 ( = PGNSP PGUID b t 22 22 16 386 0 0 0 0 0 int2vectoreq eqsel eqjoinsel )); ! DATA(insert OID = 387 ( = PGNSP PGUID b f 27 27 16 387 0 0 0 0 0 tideq eqsel eqjoinsel )); #define TIDEqualOperator 387 DATA(insert OID = 410 ( =PGNSP PGUID b t 20 20 16 410 411 412 412 412 413 int8eq eqsel eqjoinsel )); DATA(insert OID = 411 (PGNSP PGUID b f 20 20 16 411 410 0 0 0 0 int8ne neqsel neqjoinsel )); --- 128,136 DATA(insert OID = 389 ( !! PGNSP PGUID l f 0 20 1700 0 0 0 0 0 0 numeric_fac - - )); DATA(insert OID = 385 (
Re: [PATCHES] TODO item - tid operator
This has been saved for the 8.2 release: http://momjian.postgresql.org/cgi-bin/pgpatches_hold --- Mark Kirkwood wrote: Neil Conway wrote: You also probably want to add the declaration for tidne() to include/utils/builtins.h Doh! - Indeed, I obviously missed a few extra compile warnings! Revised patch attached. Index: src/backend/utils/adt/tid.c === RCS file: /projects/cvsroot/pgsql/src/backend/utils/adt/tid.c,v retrieving revision 1.49 diff -c -r1.49 tid.c *** src/backend/utils/adt/tid.c 27 May 2005 00:57:49 - 1.49 --- src/backend/utils/adt/tid.c 24 Oct 2005 20:55:57 - *** *** 174,180 arg1-ip_posid == arg2-ip_posid); } - #ifdef NOT_USED Datum tidne(PG_FUNCTION_ARGS) { --- 174,179 *** *** 185,191 BlockIdGetBlockNumber((arg2-ip_blkid)) || arg1-ip_posid != arg2-ip_posid); } - #endif /* * Functions to get latest tid of a specified tuple. --- 184,189 Index: src/include/utils/builtins.h === RCS file: /projects/cvsroot/pgsql/src/include/utils/builtins.h,v retrieving revision 1.267 diff -c -r1.267 builtins.h *** src/include/utils/builtins.h 18 Oct 2005 20:38:58 - 1.267 --- src/include/utils/builtins.h 24 Oct 2005 20:55:58 - *** *** 530,535 --- 530,536 extern Datum tidrecv(PG_FUNCTION_ARGS); extern Datum tidsend(PG_FUNCTION_ARGS); extern Datum tideq(PG_FUNCTION_ARGS); + extern Datum tidne(PG_FUNCTION_ARGS); extern Datum currtid_byreloid(PG_FUNCTION_ARGS); extern Datum currtid_byrelname(PG_FUNCTION_ARGS); Index: src/include/catalog/pg_proc.h === RCS file: /projects/cvsroot/pgsql/src/include/catalog/pg_proc.h,v retrieving revision 1.387 diff -c -r1.387 pg_proc.h *** src/include/catalog/pg_proc.h 15 Oct 2005 02:49:42 - 1.387 --- src/include/catalog/pg_proc.h 24 Oct 2005 20:56:01 - *** *** 1625,1637 DATA(insert OID = 1291 ( array_length_coerce PGNSP PGUID 12 f f t f s 3 2277 2277 23 16 _null_ _null_ _null_ array_length_coerce - _null_ )); DESCR(adjust any array to new element typmod); - DATA(insert OID = 1292 ( tideq PGNSP PGUID 12 f f t f i 2 16 27 27 _null_ _null_ _null_ tideq - _null_ )); - DESCR(equal); - DATA(insert OID = 1293 ( currtid PGNSP PGUID 12 f f t f v 2 27 26 27 _null_ _null_ _null_ currtid_byreloid - _null_ )); - DESCR(latest tid of a tuple); - DATA(insert OID = 1294 ( currtid2 PGNSP PGUID 12 f f t f v 2 27 25 27 _null_ _null_ _null_ currtid_byrelname - _null_ )); - DESCR(latest tid of a tuple); - DATA(insert OID = 2168 ( pg_database_size PGNSP PGUID 12 f f t f v 1 20 19 _null_ _null_ _null_ pg_database_size_name - _null_ )); DESCR(Calculate total disk space usage for the specified database); --- 1625,1630 *** *** 3765,3770 --- 3758,3772 DATA(insert OID = 2592 ( gist_circle_compress PGNSP PGUID 12 f f t f i 1 2281 2281 _null_ _null_ _null_ gist_circle_compress - _null_ )); DESCR(GiST support); + /* Tid functions */ + DATA(insert OID = 2601 ( tideq PGNSP PGUID 12 f f t f i 2 16 27 27 _null_ _null_ _null_ tideq - _null_ )); + DESCR(equal); + DATA(insert OID = 2602 ( currtid PGNSP PGUID 12 f f t f v 2 27 26 27 _null_ _null_ _null_ currtid_byreloid - _null_ )); + DESCR(latest tid of a tuple); + DATA(insert OID = 2603 ( currtid2 PGNSP PGUID 12 f f t f v 2 27 25 27 _null_ _null_ _null_ currtid_byrelname - _null_ )); + DESCR(latest tid of a tuple); + DATA(insert OID = 2604 ( tidne PGNSP PGUID 12 f f t f i 2 16 27 27 _null_ _null_ _null_ tidne - _null_ )); + DESCR(not equal); /* * Symbolic values for provolatile column: these indicate whether the result Index: src/include/catalog/pg_operator.h === RCS file: /projects/cvsroot/pgsql/src/include/catalog/pg_operator.h,v retrieving revision 1.137 diff -c -r1.137 pg_operator.h *** src/include/catalog/pg_operator.h 15 Oct 2005 02:49:42 - 1.137 --- src/include/catalog/pg_operator.h 24 Oct 2005 20:56:02 - *** *** 128,135 DATA(insert OID = 389 ( !! PGNSP PGUID l f 0 20 1700 0 0 0 0 0 0 numeric_fac - - )); DATA(insert OID = 385 ( = PGNSP PGUID b t 29 29 16 385 0 0 0 0 0 cideq eqsel
Re: [PATCHES] TODO item - tid operator
Tom Lane wrote: Bruce Momjian pgman@candle.pha.pa.us writes: This has been saved for the 8.2 release: http://momjian.postgresql.org/cgi-bin/pgpatches_hold Uh, why do we need this at all? NOT (tid = tid) covers the functionality already. tid should be a fully functional type, at least for = and !=. I disagree strongly with renumbering existing hand-assigned OIDs for this. There's too much risk of breakage and no benefit. Agreed. Also, you forgot to add the negator cross-links between the operators. OK. -- Bruce Momjian| http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup.| Newtown Square, Pennsylvania 19073 ---(end of broadcast)--- TIP 9: In versions below 8.0, the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match
[PATCHES] TODO item - tid operator
Please find enclosed a patch that adds a '' operator for tid types (per TODO item). Patch is against current sources (beta4). If I have understood the requirement properly, the relevant function 'tidne' already existed in src/backend/utils/adt/tid.c, just needed an ifdef NOT_USED removed. The '' operator however, needed to be added. I have renumbered the OIDs for the various tid functions in order to keep them together with the 'new' tidne one in pg_proc.h - as we have run out of OIDs in the old range. Similarly for the '=' operator in pg_operator.h. with the patch applied, all 98 regression tests pass, plus it seems to work ok :-) test=# select ctid, id from foo where ctid != '(0,1)'; ctid | id ---+ (0,2) | 2 (0,3) | 3 (2 rows) regards Mark Index: src/include/catalog/pg_proc.h === RCS file: /projects/cvsroot/pgsql/src/include/catalog/pg_proc.h,v retrieving revision 1.387 diff -c -r1.387 pg_proc.h *** src/include/catalog/pg_proc.h 15 Oct 2005 02:49:42 - 1.387 --- src/include/catalog/pg_proc.h 24 Oct 2005 02:34:49 - *** *** 1625,1637 DATA(insert OID = 1291 ( array_length_coerce PGNSP PGUID 12 f f t f s 3 2277 2277 23 16 _null_ _null_ _null_ array_length_coerce - _null_ )); DESCR(adjust any array to new element typmod); - DATA(insert OID = 1292 ( tideq PGNSP PGUID 12 f f t f i 2 16 27 27 _null_ _null_ _null_ tideq - _null_ )); - DESCR(equal); - DATA(insert OID = 1293 ( currtid PGNSP PGUID 12 f f t f v 2 27 26 27 _null_ _null_ _null_ currtid_byreloid - _null_ )); - DESCR(latest tid of a tuple); - DATA(insert OID = 1294 ( currtid2PGNSP PGUID 12 f f t f v 2 27 25 27 _null_ _null_ _null_ currtid_byrelname - _null_ )); - DESCR(latest tid of a tuple); - DATA(insert OID = 2168 ( pg_database_size PGNSP PGUID 12 f f t f v 1 20 19 _null_ _null_ _null_ pg_database_size_name - _null_ )); DESCR(Calculate total disk space usage for the specified database); --- 1625,1630 *** *** 3765,3770 --- 3758,3772 DATA(insert OID = 2592 ( gist_circle_compressPGNSP PGUID 12 f f t f i 1 2281 2281 _null_ _null_ _null_ gist_circle_compress - _null_ )); DESCR(GiST support); + /* Tid functions */ + DATA(insert OID = 2601 ( tideq PGNSP PGUID 12 f f t f i 2 16 27 27 _null_ _null_ _null_ tideq - _null_ )); + DESCR(equal); + DATA(insert OID = 2602 ( currtid PGNSP PGUID 12 f f t f v 2 27 26 27 _null_ _null_ _null_ currtid_byreloid - _null_ )); + DESCR(latest tid of a tuple); + DATA(insert OID = 2603 ( currtid2PGNSP PGUID 12 f f t f v 2 27 25 27 _null_ _null_ _null_ currtid_byrelname - _null_ )); + DESCR(latest tid of a tuple); + DATA(insert OID = 2604 ( tidne PGNSP PGUID 12 f f t f i 2 16 27 27 _null_ _null_ _null_ tidne - _null_ )); + DESCR(not equal); /* * Symbolic values for provolatile column: these indicate whether the result Index: src/include/catalog/pg_operator.h === RCS file: /projects/cvsroot/pgsql/src/include/catalog/pg_operator.h,v retrieving revision 1.137 diff -c -r1.137 pg_operator.h *** src/include/catalog/pg_operator.h 15 Oct 2005 02:49:42 - 1.137 --- src/include/catalog/pg_operator.h 24 Oct 2005 02:34:50 - *** *** 128,135 DATA(insert OID = 389 ( !!PGNSP PGUID l f 0 20 1700 0 0 0 0 0 0 numeric_fac - - )); DATA(insert OID = 385 ( = PGNSP PGUID b t 29 29 16 385 0 0 0 0 0 cideq eqsel eqjoinsel )); DATA(insert OID = 386 ( = PGNSP PGUID b t 22 22 16 386 0 0 0 0 0 int2vectoreq eqsel eqjoinsel )); ! DATA(insert OID = 387 ( = PGNSP PGUID b f 27 27 16 387 0 0 0 0 0 tideq eqsel eqjoinsel )); ! #define TIDEqualOperator 387 DATA(insert OID = 410 ( = PGNSP PGUID b t 20 20 16 410 411 412 412 412 413 int8eq eqsel eqjoinsel )); DATA(insert OID = 411 ( PGNSP PGUID b f 20 20 16 411 410 0 0 0 0 int8ne neqsel neqjoinsel )); --- 128,136 DATA(insert OID = 389 ( !!PGNSP PGUID l f 0 20 1700 0 0 0 0 0 0 numeric_fac - - )); DATA(insert OID = 385 ( = PGNSP PGUID b t 29 29 16 385 0 0 0 0 0 cideq eqsel eqjoinsel )); DATA(insert OID = 386 ( = PGNSP PGUID b t 22 22 16 386 0 0 0 0 0 int2vectoreq eqsel eqjoinsel )); ! DATA(insert OID = 390 ( PGNSP PGUID b f 27 27 16 390 0 0 0 0 0 tidne neqsel neqjoinsel )); ! DATA(insert OID = 391 ( = PGNSP PGUID b f 27 27 16 391
Re: [PATCHES] TODO item - tid operator
On Mon, 2005-24-10 at 20:09 +1300, Mark Kirkwood wrote: *** src/backend/utils/adt/tid.c 27 May 2005 00:57:49 - 1.49 --- src/backend/utils/adt/tid.c 24 Oct 2005 02:34:51 - *** *** 174,180 arg1-ip_posid == arg2-ip_posid); } - #ifdef NOT_USED Datum tidne(PG_FUNCTION_ARGS) { --- 174,179 *** *** 185,191 BlockIdGetBlockNumber((arg2-ip_blkid)) || arg1-ip_posid != arg2-ip_posid); } - #endif /* * Functions to get latest tid of a specified tuple. You also probably want to add the declaration for tidne() to include/utils/builtins.h -Neil ---(end of broadcast)--- TIP 5: don't forget to increase your free space map settings
Re: [PATCHES] TODO item - tid operator
Neil Conway wrote: You also probably want to add the declaration for tidne() to include/utils/builtins.h Doh! - Indeed, I obviously missed a few extra compile warnings! Revised patch attached. Index: src/backend/utils/adt/tid.c === RCS file: /projects/cvsroot/pgsql/src/backend/utils/adt/tid.c,v retrieving revision 1.49 diff -c -r1.49 tid.c *** src/backend/utils/adt/tid.c 27 May 2005 00:57:49 - 1.49 --- src/backend/utils/adt/tid.c 24 Oct 2005 20:55:57 - *** *** 174,180 arg1-ip_posid == arg2-ip_posid); } - #ifdef NOT_USED Datum tidne(PG_FUNCTION_ARGS) { --- 174,179 *** *** 185,191 BlockIdGetBlockNumber((arg2-ip_blkid)) || arg1-ip_posid != arg2-ip_posid); } - #endif /* *Functions to get latest tid of a specified tuple. --- 184,189 Index: src/include/utils/builtins.h === RCS file: /projects/cvsroot/pgsql/src/include/utils/builtins.h,v retrieving revision 1.267 diff -c -r1.267 builtins.h *** src/include/utils/builtins.h18 Oct 2005 20:38:58 - 1.267 --- src/include/utils/builtins.h24 Oct 2005 20:55:58 - *** *** 530,535 --- 530,536 extern Datum tidrecv(PG_FUNCTION_ARGS); extern Datum tidsend(PG_FUNCTION_ARGS); extern Datum tideq(PG_FUNCTION_ARGS); + extern Datum tidne(PG_FUNCTION_ARGS); extern Datum currtid_byreloid(PG_FUNCTION_ARGS); extern Datum currtid_byrelname(PG_FUNCTION_ARGS); Index: src/include/catalog/pg_proc.h === RCS file: /projects/cvsroot/pgsql/src/include/catalog/pg_proc.h,v retrieving revision 1.387 diff -c -r1.387 pg_proc.h *** src/include/catalog/pg_proc.h 15 Oct 2005 02:49:42 - 1.387 --- src/include/catalog/pg_proc.h 24 Oct 2005 20:56:01 - *** *** 1625,1637 DATA(insert OID = 1291 ( array_length_coerce PGNSP PGUID 12 f f t f s 3 2277 2277 23 16 _null_ _null_ _null_ array_length_coerce - _null_ )); DESCR(adjust any array to new element typmod); - DATA(insert OID = 1292 ( tideq PGNSP PGUID 12 f f t f i 2 16 27 27 _null_ _null_ _null_ tideq - _null_ )); - DESCR(equal); - DATA(insert OID = 1293 ( currtid PGNSP PGUID 12 f f t f v 2 27 26 27 _null_ _null_ _null_ currtid_byreloid - _null_ )); - DESCR(latest tid of a tuple); - DATA(insert OID = 1294 ( currtid2PGNSP PGUID 12 f f t f v 2 27 25 27 _null_ _null_ _null_ currtid_byrelname - _null_ )); - DESCR(latest tid of a tuple); - DATA(insert OID = 2168 ( pg_database_size PGNSP PGUID 12 f f t f v 1 20 19 _null_ _null_ _null_ pg_database_size_name - _null_ )); DESCR(Calculate total disk space usage for the specified database); --- 1625,1630 *** *** 3765,3770 --- 3758,3772 DATA(insert OID = 2592 ( gist_circle_compressPGNSP PGUID 12 f f t f i 1 2281 2281 _null_ _null_ _null_ gist_circle_compress - _null_ )); DESCR(GiST support); + /* Tid functions */ + DATA(insert OID = 2601 ( tideq PGNSP PGUID 12 f f t f i 2 16 27 27 _null_ _null_ _null_ tideq - _null_ )); + DESCR(equal); + DATA(insert OID = 2602 ( currtid PGNSP PGUID 12 f f t f v 2 27 26 27 _null_ _null_ _null_ currtid_byreloid - _null_ )); + DESCR(latest tid of a tuple); + DATA(insert OID = 2603 ( currtid2PGNSP PGUID 12 f f t f v 2 27 25 27 _null_ _null_ _null_ currtid_byrelname - _null_ )); + DESCR(latest tid of a tuple); + DATA(insert OID = 2604 ( tidne PGNSP PGUID 12 f f t f i 2 16 27 27 _null_ _null_ _null_ tidne - _null_ )); + DESCR(not equal); /* * Symbolic values for provolatile column: these indicate whether the result Index: src/include/catalog/pg_operator.h === RCS file: /projects/cvsroot/pgsql/src/include/catalog/pg_operator.h,v retrieving revision 1.137 diff -c -r1.137 pg_operator.h *** src/include/catalog/pg_operator.h 15 Oct 2005 02:49:42 - 1.137 --- src/include/catalog/pg_operator.h 24 Oct 2005 20:56:02 - *** *** 128,135 DATA(insert OID = 389 ( !!PGNSP PGUID l f 0 20 1700 0 0 0 0 0 0 numeric_fac - - )); DATA(insert OID = 385 ( = PGNSP PGUID b t 29 29 16 385 0 0 0 0 0 cideq eqsel eqjoinsel )); DATA(insert OID = 386 ( = PGNSP PGUID b t 22 22 16 386 0 0 0 0 0 int2vectoreq eqsel eqjoinsel )); ! DATA(insert OID = 387 ( = PGNSP PGUID b f 27 27 16 387 0 0 0 0 0 tideq eqsel eqjoinsel )); ! #define