postgresql/src/pl/plpython
Noah Misch 3a0d473192 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.
2017-03-12 19:35:34 -04:00
..
expected Drop support for Python 2.3 2017-02-21 09:49:22 -05:00
po Translation updates 2016-08-08 11:08:00 -04:00
sql Drop support for Python 2.3 2017-02-21 09:49:22 -05:00
.gitignore PL/Python: Improve Python 3 regression test setup 2012-09-16 22:26:33 -04:00
generate-spiexceptions.pl Update copyright via script for 2017 2017-01-03 13:48:53 -05:00
Makefile Fix misplacement of submake-generated-headers prerequisites. 2016-10-01 13:35:13 -04:00
nls.mk Translation updates 2016-05-09 10:04:41 -04:00
plpy_cursorobject.c Add function name to PyArg_ParseTuple() 2016-10-27 15:41:29 -04:00
plpy_cursorobject.h Fix memory leaks in PL/Python. 2015-11-05 13:52:40 -05:00
plpy_elog.c Fix typos in comments. 2017-02-06 11:33:58 +02:00
plpy_elog.h Enhanced custom error in PLPythonu 2016-04-08 18:33:06 +03:00
plpy_exec.c Simplify code by getting rid of SPI_push, SPI_pop, SPI_restore_connection. 2016-11-08 17:39:57 -05:00
plpy_exec.h Run pgindent on 9.2 source tree in preparation for first 9.3 2012-06-10 15:20:04 -04:00
plpy_main.c Add macros to make AllocSetContextCreate() calls simpler and safer. 2016-08-27 17:50:38 -04:00
plpy_main.h Fix memory leaks in PL/Python. 2015-11-05 13:52:40 -05:00
plpy_planobject.c Add function name to PyArg_ParseTuple() 2016-10-27 15:41:29 -04:00
plpy_planobject.h Fix memory leaks in PL/Python. 2015-11-05 13:52:40 -05:00
plpy_plpymodule.c Fix typos in comments. 2017-02-06 11:33:58 +02:00
plpy_plpymodule.h Run pgindent on 9.2 source tree in preparation for first 9.3 2012-06-10 15:20:04 -04:00
plpy_procedure.c Add macros to make AllocSetContextCreate() calls simpler and safer. 2016-08-27 17:50:38 -04:00
plpy_procedure.h Fix PL/Python for recursion and interleaved set-returning functions. 2016-04-05 14:51:19 -04:00
plpy_resultobject.c PL/Python: Add result object str handler 2013-02-03 00:31:01 -05:00
plpy_resultobject.h Run pgindent on 9.2 source tree in preparation for first 9.3 2012-06-10 15:20:04 -04:00
plpy_spi.c Simplify code by getting rid of SPI_push, SPI_pop, SPI_restore_connection. 2016-11-08 17:39:57 -05:00
plpy_spi.h Run pgindent on 9.2 source tree in preparation for first 9.3 2012-06-10 15:20:04 -04:00
plpy_subxactobject.c Simplify code by getting rid of SPI_push, SPI_pop, SPI_restore_connection. 2016-11-08 17:39:57 -05:00
plpy_subxactobject.h add #includes to plpy_subxactobject.h to make it compile standalone 2012-08-28 16:13:41 -04:00
plpy_typeio.c Use wrappers of PG_DETOAST_DATUM_PACKED() more. 2017-03-12 19:35:34 -04:00
plpy_typeio.h Fix typos in comments. 2017-02-06 11:33:58 +02:00
plpy_util.c Fix memory leaks in PL/Python. 2015-11-05 13:52:40 -05:00
plpy_util.h Fix memory leaks in PL/Python. 2015-11-05 13:52:40 -05:00
plpython.h Update copyright via script for 2017 2017-01-03 13:48:53 -05:00
plpython2u--1.0.sql Put comments on the installable procedural languages. 2011-07-03 19:03:51 -04:00
plpython2u--unpackaged--1.0.sql Create extension infrastructure for the core procedural languages. 2011-03-04 21:51:14 -05:00
plpython2u.control Create extension infrastructure for the core procedural languages. 2011-03-04 21:51:14 -05:00
plpython3u--1.0.sql Put comments on the installable procedural languages. 2011-07-03 19:03:51 -04:00
plpython3u--unpackaged--1.0.sql Create extension infrastructure for the core procedural languages. 2011-03-04 21:51:14 -05:00
plpython3u.control Create extension infrastructure for the core procedural languages. 2011-03-04 21:51:14 -05:00
plpythonu--1.0.sql Put comments on the installable procedural languages. 2011-07-03 19:03:51 -04:00
plpythonu--unpackaged--1.0.sql Create extension infrastructure for the core procedural languages. 2011-03-04 21:51:14 -05:00
plpythonu.control Create extension infrastructure for the core procedural languages. 2011-03-04 21:51:14 -05:00
regress-python3-mangle.mk Fix hstore_plpython test when python3 is used. 2015-10-04 22:29:03 +02:00