pg.ddx.io  pgsql-committers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
pgsql: Remove duplicate definition of TYPECAST token.
2+ messages / 2 participants
[nested] [flat]

* pgsql: Remove duplicate definition of TYPECAST token.
@ 2009-07-14 20:34 Tom Lane <tgl@postgresql.org>
  0 siblings, 0 replies; 2+ messages in thread

From: tgl@postgresql.org @ 2009-07-14 20:34 UTC (permalink / raw)
  To: pgsql-committers

Log Message:
-----------
Remove duplicate definition of TYPECAST token.
(Apparently, some but not all versions of Bison will warn about this.)

Modified Files:
--------------
    pgsql/src/interfaces/ecpg/preproc:
        ecpg.tokens (r1.1 -> r1.2)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/interfaces/ecpg/preproc/ecpg.tokens?r1=1.1&r2...)




^ permalink  raw  reply  [nested|flat] 2+ messages in thread

* pgsql: Separate equalRowTypes() from equalTupleDescs()
@ 2024-03-17 05:05 Peter Eisentraut <peter@eisentraut.org>
  0 siblings, 0 replies; 2+ messages in thread

From: Peter Eisentraut @ 2024-03-17 05:05 UTC (permalink / raw)
  To: pgsql-committers@lists.postgresql.org

Separate equalRowTypes() from equalTupleDescs()

This introduces a new function equalRowTypes() that is effectively a
subset of equalTupleDescs() but only compares the number of attributes
and attribute name, type, typmod, and collation.  This is enough for
most existing uses of equalTupleDescs(), which are changed to use the
new function.  The only remaining callers of equalTupleDescs() are
those that really want to check the full tuple descriptor as such,
without concern about record or row or record type semantics.

The existing function hashTupleDesc() is renamed to hashRowType(),
because it now corresponds more to equalRowTypes().

The purpose of this change is to be clearer about the semantics of the
equality asked for by each caller.  (At least one caller had a comment
that questioned whether equalTupleDescs() was too restrictive.)  For
example, 4f622503d6d removed attstattarget from the tuple descriptor
structure.  It was not fully clear at the time how this should affect
equalTupleDescs().  Now the answer is clear: By their own definitions,
equalRowTypes() does not care, and equalTupleDescs() just compares
whatever is in the tuple descriptor but does not care why it is in
there.

Reviewed-by: Tomas Vondra <tomas.vondra@enterprisedb.com>
Discussion: https://www.postgresql.org/message-id/flat/f656d6d9-6660-4518-a006-2f65cafbebd1%40eisentraut.org

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/20e58105badff383bd43f0b97e532771768f94df

Modified Files
--------------
src/backend/access/common/tupdesc.c | 72 ++++++++++++++++++++++++++++++-------
src/backend/catalog/pg_proc.c       |  2 +-
src/backend/commands/analyze.c      |  4 +--
src/backend/commands/view.c         | 14 ++++----
src/backend/utils/cache/plancache.c |  5 ++-
src/backend/utils/cache/typcache.c  | 10 +++---
src/include/access/tupdesc.h        |  4 +--
7 files changed, 79 insertions(+), 32 deletions(-)



^ permalink  raw  reply  [nested|flat] 2+ messages in thread


end of thread, other threads:[~2024-03-17 05:05 UTC | newest]

Thread overview: 2+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2009-07-14 20:34 pgsql: Remove duplicate definition of TYPECAST token. Tom Lane <tgl@postgresql.org>
2024-03-17 05:05 pgsql: Separate equalRowTypes() from equalTupleDescs() Peter Eisentraut <peter@eisentraut.org>

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox