Skip site navigation (1) Skip section navigation (2)

Re: TODO item - tid <> operator

From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: Mark Kirkwood <markir(at)paradise(dot)net(dot)nz>
Cc: Neil Conway <neilc(at)samurai(dot)com>, pgsql-patches(at)postgresql(dot)org
Subject: Re: TODO item - tid <> operator
Date: 2005-10-25 13:50:35
Message-ID: 200510251350.j9PDoZa17301@candle.pha.pa.us (view raw or flat)
Thread:
Lists: pgsql-patches
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 -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 ));
> 

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman(at)candle(dot)pha(dot)pa(dot)us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

In response to

Responses

pgsql-patches by date

Next:From: Tom LaneDate: 2005-10-25 14:21:53
Subject: Re: TODO item - tid <> operator
Previous:From: Michael FuhrDate: 2005-10-25 04:58:35
Subject: Re: Release notes typo

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group