Re: TODO item - tid <> operator - Mailing list pgsql-patches
From | Bruce Momjian |
---|---|
Subject | Re: TODO item - tid <> operator |
Date | |
Msg-id | 200510261241.j9QCfxZ15949@candle.pha.pa.us Whole thread Raw |
In response to | TODO item - tid <> operator (Mark Kirkwood <markir@paradise.net.nz>) |
List | pgsql-patches |
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 -0000 1.49 > --- src/backend/utils/adt/tid.c 26 Oct 2005 05:07:36 -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 26 Oct 2005 05:07:37 -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 26 Oct 2005 05:07:40 -0000 > *************** > *** 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 -0000 1.137 > --- src/include/catalog/pg_operator.h 26 Oct 2005 05:07:41 -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 eqseleqjoinsel )); > ! 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 eqseleqjoinsel )); > ! DATA(insert OID = 387 ( "=" PGNSP PGUID b f 27 27 16 387 390 0 0 0 0 tideq eqsel eqjoinsel)); > #define TIDEqualOperator 387 > + DATA(insert OID = 390 ( "<>" PGNSP PGUID b f 27 27 16 390 387 0 0 0 0 tidne neqsel neqjoinsel)); > > 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 )); > -- 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
pgsql-patches by date: