pgsql: Add SysCacheGetAttrNotNull for guaranteed not-null attrs - Mailing list pgsql-committers

From Daniel Gustafsson
Subject pgsql: Add SysCacheGetAttrNotNull for guaranteed not-null attrs
Date
Msg-id E1pgBrK-005NxA-N6@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Add SysCacheGetAttrNotNull for guaranteed not-null attrs

When extracting an attr from a cached tuple in the syscache with
SysCacheGetAttr the isnull parameter must be checked in case the
attr cannot be NULL.  For cases when this is known beforehand, a
wrapper is introduced which perform the errorhandling internally
on behalf of the caller, invoking an elog in case of a NULL attr.

Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us>
Reviewed-by: Peter Eisentraut <peter.eisentraut@enterprisedb.com>
Reviewed-by: David Rowley <dgrowleyml@gmail.com>
Discussion: https://postgr.es/m/AD76405E-DB45-46B6-941F-17B1EB3A9076@yesql.se

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/d435f15fff3cf3cf5d6cfcfd63e21acc0f737829

Modified Files
--------------
src/backend/access/brin/brin_inclusion.c    |   7 +-
src/backend/access/brin/brin_minmax.c       |   7 +-
src/backend/access/brin/brin_minmax_multi.c |   7 +-
src/backend/access/index/indexam.c          |   6 +-
src/backend/catalog/aclchk.c                |  38 +++------
src/backend/catalog/index.c                 |  20 ++---
src/backend/catalog/objectaddress.c         |  23 ++----
src/backend/catalog/pg_constraint.c         |  33 +++-----
src/backend/catalog/pg_proc.c               |  25 ++----
src/backend/catalog/pg_subscription.c       |  32 +++-----
src/backend/commands/collationcmds.c        |  23 ++----
src/backend/commands/dbcommands.c           |  11 +--
src/backend/commands/indexcmds.c            |   7 +-
src/backend/commands/matview.c              |   9 +--
src/backend/commands/subscriptioncmds.c     |  10 +--
src/backend/commands/tablecmds.c            |  27 ++-----
src/backend/commands/typecmds.c             |   8 +-
src/backend/executor/execReplication.c      |   6 +-
src/backend/executor/functions.c            |   7 +-
src/backend/optimizer/util/clauses.c        |  23 +-----
src/backend/parser/parse_func.c             |   7 +-
src/backend/parser/parse_utilcmd.c          |  30 +++----
src/backend/partitioning/partbounds.c       |   9 +--
src/backend/statistics/extended_stats.c     |   5 +-
src/backend/utils/adt/amutils.c             |   5 +-
src/backend/utils/adt/pg_locale.c           |  19 ++---
src/backend/utils/adt/ruleutils.c           | 121 +++++++++-------------------
src/backend/utils/cache/lsyscache.c         |  21 ++---
src/backend/utils/cache/partcache.c         |  10 +--
src/backend/utils/cache/syscache.c          |  27 +++++++
src/backend/utils/fmgr/fmgr.c               |  39 +++------
src/backend/utils/fmgr/funcapi.c            |  25 ++----
src/backend/utils/init/postinit.c           |   9 +--
src/include/utils/syscache.h                |   3 +
src/pl/plperl/plperl.c                      |   6 +-
src/pl/plpgsql/src/pl_comp.c                |   6 +-
src/pl/plpython/plpy_procedure.c            |   6 +-
src/pl/tcl/pltcl.c                          |   7 +-
38 files changed, 232 insertions(+), 452 deletions(-)


pgsql-committers by date:

Previous
From: Noah Misch
Date:
Subject: pgsql: Comment on expectations for AutoVacuumWorkItem handlers.
Next
From: Peter Geoghegan
Date:
Subject: Re: pgsql: amcheck: Fix verify_heapam for tuples where xmin or xmax is 0.