[COMMITTERS] pgsql: Use wrappers of PG_DETOAST_DATUM_PACKED() more.

Поиск
Список
Период
Сортировка
От Noah Misch
Тема [COMMITTERS] pgsql: Use wrappers of PG_DETOAST_DATUM_PACKED() more.
Дата
Msg-id E1cnD7M-00034N-U1@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Use wrappers of PG_DETOAST_DATUM_PACKED() more.

This makes almost all core code follow the policy introduced in the
previous commit.  Specific decisions:

- Text search support functions with char* and length arguments, such as
  prsstart and lexize, may receive unaligned strings.  I doubt
  maintainers of non-core text search code will notice.

- Use plain VARDATA() on values detoasted or synthesized earlier in the
  same function.  Use VARDATA_ANY() on varlenas sourced outside the
  function, even if they happen to always have four-byte headers.  As an
  exception, retain the universal practice of using VARDATA() on return
  values of SendFunctionCall().

- Retain PG_GETARG_BYTEA_P() in pageinspect.  (Page images are too large
  for a one-byte header, so this misses no optimization.)  Sites that do
  not call get_page_from_raw() typically need the four-byte alignment.

- For now, do not change btree_gist.  Its use of four-byte headers in
  memory is partly entangled with storage of 4-byte headers inside
  GBT_VARKEY, on disk.

- For now, do not change gtrgm_consistent() or gtrgm_distance().  They
  incorporate the varlena header into a cache, and there are multiple
  credible implementation strategies to consider.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/3a0d473192b2045cbaf997df8437e7762d34f3ba

Modified Files
--------------
contrib/adminpack/adminpack.c            |  16 +-
contrib/dblink/dblink.c                  |  10 +-
contrib/fuzzystrmatch/dmetaphone.c       |   4 +-
contrib/fuzzystrmatch/fuzzystrmatch.c    |   6 +-
contrib/intarray/_int_op.c               |   6 +-
contrib/pageinspect/btreefuncs.c         |   6 +-
contrib/pageinspect/rawpage.c            |  10 +-
contrib/pg_prewarm/pg_prewarm.c          |   4 +-
contrib/pg_trgm/trgm_gin.c               |  15 +-
contrib/pg_trgm/trgm_gist.c              |  17 +-
contrib/pg_trgm/trgm_op.c                |  12 +-
contrib/pgcrypto/pgcrypto.c              |  94 +++++------
contrib/pgcrypto/pgp-pgsql.c             | 100 ++++++------
contrib/pgrowlocks/pgrowlocks.c          |   2 +-
contrib/pgstattuple/pgstatindex.c        |   8 +-
contrib/pgstattuple/pgstattuple.c        |   4 +-
contrib/sepgsql/label.c                  |   4 +-
contrib/spi/autoinc.c                    |   2 +-
contrib/sslinfo/sslinfo.c                |   4 +-
contrib/unaccent/unaccent.c              |   6 +-
contrib/uuid-ossp/uuid-ossp.c            |   8 +-
contrib/xml2/xpath.c                     |  42 ++---
contrib/xml2/xslt_proc.c                 |  14 +-
src/backend/access/spgist/spgtextproc.c  |   3 +-
src/backend/access/transam/xlogfuncs.c   |   4 +-
src/backend/commands/extension.c         |   2 +-
src/backend/commands/sequence.c          |   2 +-
src/backend/commands/trigger.c           |   8 +-
src/backend/commands/tsearchcmds.c       |   6 +-
src/backend/executor/execQual.c          |   6 +-
src/backend/libpq/be-fsstubs.c           |   6 +-
src/backend/replication/logical/origin.c |   2 +-
src/backend/tsearch/dict.c               |  10 +-
src/backend/tsearch/to_tsany.c           |  22 +--
src/backend/tsearch/wparser.c            |  19 +--
src/backend/utils/adt/acl.c              | 260 +++++++++++++++----------------
src/backend/utils/adt/char.c             |   6 +-
src/backend/utils/adt/dbsize.c           |   2 +-
src/backend/utils/adt/encode.c           |  16 +-
src/backend/utils/adt/formatting.c       |  40 ++---
src/backend/utils/adt/genfile.c          |   8 +-
src/backend/utils/adt/json.c             |   8 +-
src/backend/utils/adt/jsonb.c            |   2 +-
src/backend/utils/adt/jsonfuncs.c        |  24 +--
src/backend/utils/adt/like.c             |  24 +--
src/backend/utils/adt/numeric.c          |  44 +++---
src/backend/utils/adt/quote.c            |   6 +-
src/backend/utils/adt/rangetypes.c       |   2 +-
src/backend/utils/adt/regproc.c          |   2 +-
src/backend/utils/adt/ruleutils.c        |  12 +-
src/backend/utils/adt/selfuncs.c         |  18 +--
src/backend/utils/adt/tid.c              |   2 +-
src/backend/utils/adt/tsquery_rewrite.c  |   2 +-
src/backend/utils/adt/tsvector_op.c      |  18 +--
src/backend/utils/adt/varlena.c          |  24 +--
src/backend/utils/adt/xml.c              |  28 ++--
src/backend/utils/misc/rls.c             |   2 +-
src/pl/plperl/Util.xs                    |  10 +-
src/pl/plpython/plpy_typeio.c            |   6 +-
59 files changed, 521 insertions(+), 529 deletions(-)


В списке pgsql-committers по дате отправления:

Предыдущее
От: David Rowley
Дата:
Сообщение: Re: [COMMITTERS] pgsql: dblink: Replace some macros by static functions
Следующее
От: Magnus Hagander
Дата:
Сообщение: [COMMITTERS] pgsql: Fix typo in comment