pgsql: Rename JsonIsPredicate.value_type, fix JSON backend/nodes/ infra

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Rename JsonIsPredicate.value_type, fix JSON backend/nodes/ infra
Date: 2022-05-13 15:40:16
Message-ID: E1npXOq-000XCO-Cv@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Rename JsonIsPredicate.value_type, fix JSON backend/nodes/ infrastructure.

I started out with the intention to rename value_type to item_type to
avoid a collision with a typedef name that appears on some platforms.

Along the way, I noticed that the adjacent field "format" was not being
correctly handled by the backend/nodes/ infrastructure functions:
copyfuncs.c erroneously treated it as a scalar, while equalfuncs,
outfuncs, and readfuncs omitted handling it at all. This looks like
it might be cosmetic at the moment because the field is always NULL
after parse analysis; but that's likely a bug in itself, and the code's
certainly not very future-proof. Let's fix it while we can still do so
without forcing an initdb on beta testers.

Further study found a few other inconsistencies in the backend/nodes/
infrastructure for the recently-added JSON node types, so fix those too.

catversion bumped because of potential change in stored rules.

Discussion: https://postgr.es/m/526703.1652385613@sss.pgh.pa.us

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/3ab9a63cb638a1fd99475668e2da9c237495aeda

Modified Files
--------------
src/backend/executor/execExprInterp.c | 12 ++++++------
src/backend/nodes/copyfuncs.c | 9 +++++----
src/backend/nodes/equalfuncs.c | 8 +++++---
src/backend/nodes/makefuncs.c | 4 ++--
src/backend/nodes/outfuncs.c | 16 +++++++++-------
src/backend/nodes/readfuncs.c | 16 +++++++++-------
src/backend/parser/parse_expr.c | 6 +++---
src/backend/utils/adt/ruleutils.c | 4 +++-
src/backend/utils/misc/queryjumble.c | 9 +++++----
src/include/catalog/catversion.h | 2 +-
src/include/nodes/makefuncs.h | 2 +-
src/include/nodes/primnodes.h | 6 +++---
12 files changed, 52 insertions(+), 42 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Bruce Momjian 2022-05-13 15:50:47 pgsql: relnotes: add null logical replication item
Previous Message Peter Eisentraut 2022-05-13 14:19:27 pgsql: Indent protocol.sgml