postgresql/src
Tomas Vondra 62bf0fb35c Fix deserialization of pg_mcv_list values
There were multiple issues in deserialization of pg_mcv_list values.

Firstly, the data is loaded from syscache, but the deserialization was
performed after ReleaseSysCache(), at which point the data might have
already disappeared.  Fixed by moving the calls in statext_mcv_load,
and using the same NULL-handling code as existing stats.

Secondly, the deserialized representation used pointers into the
serialized representation.  But that is also unsafe, because the data
may disappear at any time.  Fixed by reworking and simplifying the
deserialization code to always copy all the data.

And thirdly, when deserializing values for types passed by value, the
code simply did memcpy(d,s,typlen) which however does not work on
bigendian machines.  Fixed by using fetch_att/store_att_byval.
2019-03-28 20:03:14 +01:00
..
backend Fix deserialization of pg_mcv_list values 2019-03-28 20:03:14 +01:00
bin Add basic infrastructure for 64 bit transaction IDs. 2019-03-28 18:12:20 +13:00
common Refactor more code logic to update the control file 2019-03-18 12:59:35 +09:00
fe_utils pgbench: Remove \cset 2019-03-25 12:16:07 -03:00
include Fix deserialization of pg_mcv_list values 2019-03-28 20:03:14 +01:00
interfaces Restructure libpq's handling of send failures. 2019-03-19 16:20:28 -04:00
makefiles Move port-specific parts of with_temp_install to port makefile. 2019-02-04 18:54:56 +00:00
pl Transaction chaining 2019-03-24 11:33:02 +01:00
port Fix error handling of readdir() port implementation on first file lookup 2019-03-04 09:49:06 +09:00
template Yet further rethinking of build changes for macOS Mojave. 2018-11-02 18:54:00 -04:00
test Add support for multivariate MCV lists 2019-03-27 18:32:18 +01:00
timezone More unconstify use 2019-02-13 11:50:16 +01:00
tools Use FullTransactionId for the transaction stack. 2019-03-28 18:24:43 +13:00
tutorial SQL comment: remove extra word in heading comment 2019-01-25 18:57:21 -05:00
.gitignore
DEVELOPERS
Makefile
Makefile.global.in Revert attempts to use POPCNT etc instructions 2019-02-15 16:32:30 -03:00
Makefile.shlib Ensure static libraries have correct mod time even if ranlib messes it up. 2018-11-29 15:53:44 -05:00
nls-global.mk Replace @postgresql.org with @lists.postgresql.org for mailinglists 2019-01-19 19:06:35 +01:00