postgresql/src/test
Tom Lane ad50934eaa Fix alignment and toasting bugs in range types.
A range type whose element type has 'd' alignment must have 'd' alignment
itself, else there is no guarantee that the element value can be used
in-place.  (Because range_deserialize uses att_align_pointer which forcibly
aligns the given pointer, violations of this rule did not lead to SIGBUS
but rather to garbage data being extracted, as in one of the added
regression test cases.)

Also, you can't put a toast pointer inside a range datum, since the
referenced value could disappear with the range datum still present.
For consistency with the handling of arrays and records, I also forced
decompression of in-line-compressed bound values.  It would work to store
them as-is, but our policy is to avoid situations that might result in
double compression.

Add assorted regression tests for this, and bump catversion because of
fixes to built-in pg_type entries.

Also some marginal cleanup of inconsistent/unnecessary error checks.
2011-11-14 21:42:04 -05:00
..
examples Capitalization fixes 2011-06-19 00:37:30 +03:00
isolation Unbreak isolationtester on Win32 2011-11-04 00:33:48 -02:00
locale Remove useless whitespace at end of lines 2010-11-23 22:34:55 +02:00
mb Minor improvements to mbregress.sh script. 2011-09-01 09:21:10 -04:00
performance Remove useless whitespace at end of lines 2010-11-23 22:34:55 +02:00
regress Fix alignment and toasting bugs in range types. 2011-11-14 21:42:04 -05:00
thread Properly call strerror() in thread test; add comments. 2011-08-22 09:04:48 -04:00
Makefile Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00