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 -0000 1.49
--- src/backend/utils/adt/tid.c 24 Oct 2005 20:55:57 -0000
***************
*** 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 -0000 1.267
--- src/include/utils/builtins.h 24 Oct 2005 20:55:58 -0000
***************
*** 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 -0000 1.387
--- src/include/catalog/pg_proc.h 24 Oct 2005 20:56:01 -0000
***************
*** 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 -0000 1.137
--- src/include/catalog/pg_operator.h 24 Oct 2005 20:56:02 -0000
***************
*** 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
0 0 0 0 0 tideq eqsel eqjoinsel ));
! #define TIDEqualOperator 391
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 ));
---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings