postgresql/src/include
Robert Haas 9f03ca9151 Avoid copying index tuples when building an index.
The previous code, perhaps out of concern for avoid memory leaks, formed
the tuple in one memory context and then copied it to another memory
context.  However, this doesn't appear to be necessary, since
index_form_tuple and the functions it calls take precautions against
leaking memory.  In my testing, building the tuple directly inside the
sort context shaves several percent off the index build time.
Rearrange things so we do that.

Patch by me.  Review by Amit Kapila, Tom Lane, Andres Freund.
2014-07-01 10:34:42 -04:00
..
access Avoid copying index tuples when building an index. 2014-07-01 10:34:42 -04:00
bootstrap Update copyright for 2014 2014-01-07 16:05:30 -05:00
catalog Remove use_json_as_text options from json_to_record/json_populate_record. 2014-06-29 13:50:58 -04:00
commands Change the signature of rm_desc so that it's passed a XLogRecord. 2014-06-14 10:46:48 +03:00
common pgindent run for 9.4 2014-05-06 12:12:18 -04:00
datatype pgindent run for 9.4 2014-05-06 12:12:18 -04:00
executor Avoid leaking memory while evaluating arguments for a table function. 2014-06-19 22:14:26 -04:00
foreign Update copyright for 2014 2014-01-07 16:05:30 -05:00
lib pgindent run for 9.4 2014-05-06 12:12:18 -04:00
libpq Rename lo_create(oid, bytea) to lo_from_bytea(). 2014-06-12 15:39:09 -04:00
mb pgindent run for 9.4 2014-05-06 12:12:18 -04:00
nodes Fix and enhance the assertion of no palloc's in a critical section. 2014-06-30 10:26:00 +03:00
optimizer Implement UPDATE tab SET (col1,col2,...) = (SELECT ...), ... 2014-06-18 13:22:34 -04:00
parser Implement UPDATE tab SET (col1,col2,...) = (SELECT ...), ... 2014-06-18 13:22:34 -04:00
port Remove Alpha and Tru64 support. 2014-06-28 21:46:15 +02:00
portability pgindent run for 9.4 2014-05-06 12:12:18 -04:00
postmaster When a background worker exists with code 0, unregister it. 2014-05-07 17:44:42 -04:00
regex pgindent run for 9.4 2014-05-06 12:12:18 -04:00
replication Consistency improvements for slot and decoding code. 2014-06-12 13:33:27 +02:00
rewrite pgindent run for 9.4 2014-05-06 12:12:18 -04:00
snowball pgindent run for 9.4 2014-05-06 12:12:18 -04:00
storage Fix and enhance the assertion of no palloc's in a critical section. 2014-06-30 10:26:00 +03:00
tcop pgindent run for 9.4 2014-05-06 12:12:18 -04:00
tsearch Allow opclasses to provide tri-valued GIN consistent functions. 2014-03-12 17:51:30 +02:00
utils Avoid copying index tuples when building an index. 2014-07-01 10:34:42 -04:00
.gitignore Autoconfiscate selection of 64-bit int type for 64-bit large object API. 2012-10-07 21:52:43 -04:00
c.h Don't allow to disable backend assertions via the debug_assertions GUC. 2014-06-20 11:09:17 +02:00
fmgr.h pgindent run for 9.4 2014-05-06 12:12:18 -04:00
funcapi.h pgindent run for 9.4 2014-05-06 12:12:18 -04:00
getaddrinfo.h Fix assorted issues in client host name lookup. 2014-04-02 17:11:24 -04:00
getopt_long.h Centralize getopt-related declarations in a new header file pg_getopt.h. 2014-02-15 14:31:30 -05:00
Makefile Remove maintainer-check target, fold into normal build 2013-10-10 20:11:56 -04:00
miscadmin.h pgindent run for 9.4 2014-05-06 12:12:18 -04:00
pg_config_ext.h.in Autoconfiscate selection of 64-bit int type for 64-bit large object API. 2012-10-07 21:52:43 -04:00
pg_config_ext.h.win32 Autoconfiscate selection of 64-bit int type for 64-bit large object API. 2012-10-07 21:52:43 -04:00
pg_config_manual.h Revert accidental change of WAL_DEBUG default. 2014-06-17 08:52:41 +03:00
pg_config.h.in Add mkdtemp() to libpgport. 2014-06-14 09:41:13 -04:00
pg_config.h.win32 Add mkdtemp() to libpgport. 2014-06-14 09:41:13 -04:00
pg_getopt.h Fix comment. 2014-05-08 12:42:56 -04:00
pg_trace.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
pgstat.h Save pg_stat_statements statistics file into $PGDATA/pg_stat directory at shutdown. 2014-06-04 12:09:45 +09:00
pgtar.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
pgtime.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
port.h Add mkdtemp() to libpgport. 2014-06-14 09:41:13 -04:00
postgres_ext.h pgindent run for 9.4 2014-05-06 12:12:18 -04:00
postgres_fe.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
postgres.h Don't allow to disable backend assertions via the debug_assertions GUC. 2014-06-20 11:09:17 +02:00
rusagestub.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
windowapi.h Update copyright for 2014 2014-01-07 16:05:30 -05:00