1
0
mirror of https://github.com/postgres/postgres.git synced 2025-05-17 06:41:24 +03:00
Andres Freund 22ccce5206 Fix decoding of consecutive MULTI_INSERTs emitted by one heap_multi_insert().
Commit 1b86c81d2d fixed the decoding of toasted columns for the rows
contained in one xl_heap_multi_insert record. But that's not actually
enough, because heap_multi_insert() will actually first toast all
passed in rows and then emit several *_multi_insert records; one for
each page it fills with tuples.

Add a XLOG_HEAP_LAST_MULTI_INSERT flag which is set in
xl_heap_multi_insert->flag denoting that this multi_insert record is
the last emitted by one heap_multi_insert() call. Then use that flag
in decode.c to only set clear_toast_afterwards in the right situation.

Expand the number of rows inserted via COPY in the corresponding
regression test to make sure that more than one heap page is filled
with tuples by one heap_multi_insert() call.

Backpatch to 9.4 like the previous commit.
2014-07-12 14:30:43 +02:00
..
2014-05-06 12:12:18 -04:00
2014-01-07 16:05:30 -05:00
2014-05-06 12:12:18 -04:00
2014-05-06 12:12:18 -04:00
2014-05-06 12:12:18 -04:00
2014-05-06 12:12:18 -04:00
2014-01-13 15:43:29 +02:00
2014-05-06 12:12:18 -04:00
2014-05-06 12:12:18 -04:00
2014-05-06 12:12:18 -04:00
2014-01-07 16:05:30 -05:00
2014-05-06 12:12:18 -04:00
2014-05-06 12:12:18 -04:00
2014-05-06 12:12:18 -04:00
2014-05-06 12:12:18 -04:00
2014-05-06 12:12:18 -04:00
2014-05-06 12:12:18 -04:00
2014-05-06 12:12:18 -04:00
2014-05-06 12:12:18 -04:00
2014-05-06 12:12:18 -04:00
2014-05-06 12:12:18 -04:00
2014-01-07 16:05:30 -05:00
2014-05-06 12:12:18 -04:00
2014-05-06 12:12:18 -04:00
2014-05-06 12:12:18 -04:00

The PostgreSQL contrib tree
---------------------------

This subtree contains porting tools, analysis utilities, and plug-in
features that are not part of the core PostgreSQL system, mainly
because they address a limited audience or are too experimental to be
part of the main source tree.  This does not preclude their
usefulness.

User documentation for each module appears in the main SGML
documentation.

When building from the source distribution, these modules are not
built automatically, unless you build the "world" target.  You can
also build and install them all by running "make all" and "make
install" in this directory; or to build and install just one selected
module, do the same in that module's subdirectory.

Some directories supply new user-defined functions, operators, or
types.  To make use of one of these modules, after you have installed
the code you need to register the new SQL objects in the database
system by executing a CREATE EXTENSION command.  In a fresh database,
you can simply do

    CREATE EXTENSION module_name;

See the PostgreSQL documentation for more information about this
procedure.