postgresql/src/include
Robert Haas 68ef051f5c Refactor broken CREATE TABLE IF NOT EXISTS support.
Per bug #5988, reported by Marko Tiikkaja, and further analyzed by Tom
Lane, the previous coding was broken in several respects: even if the
target table already existed, a subsequent CREATE TABLE IF NOT EXISTS
might try to add additional constraints or sequences-for-serial
specified in the new CREATE TABLE statement.

In passing, this also fixes a minor information leak: it's no longer
possible to figure out whether a schema to which you don't have CREATE
access contains a sequence named like "x_y_seq" by attempting to create a
table in that schema called "x" with a serial column called "y".

Some more refactoring of this code in the future might be warranted,
but that will need to wait for a later major release.
2011-04-25 16:55:11 -04:00
..
access Make GIN and GIST pass the index collation to all their support functions. 2011-04-22 20:13:12 -04:00
bootstrap Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
catalog Refactor broken CREATE TABLE IF NOT EXISTS support. 2011-04-25 16:55:11 -04:00
commands Allow ALTER TABLE name {OF type | NOT OF}. 2011-04-20 21:38:47 -04:00
executor pgindent run before PG 9.1 beta 1. 2011-04-10 11:42:00 -04:00
foreign pgindent run before PG 9.1 beta 1. 2011-04-10 11:42:00 -04:00
lib Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
libpq pgindent run before PG 9.1 beta 1. 2011-04-10 11:42:00 -04:00
mb Fix char2wchar/wchar2char to support collations properly. 2011-04-23 12:35:41 -04:00
nodes Remove partial and undocumented GRANT .. FOREIGN TABLE support. 2011-04-25 16:39:18 -04:00
optimizer Improve cost estimation for aggregates and window functions. 2011-04-24 16:55:20 -04:00
parser Fix handling of collations in multi-row VALUES constructs. 2011-04-18 15:31:52 -04:00
port Assorted minor changes to silence Windows compiler warnings. 2011-04-25 12:56:53 -04:00
portability Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
postmaster Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
regex Teach regular expression operators to honor collations. 2011-04-10 18:03:09 -04:00
replication pgindent run before PG 9.1 beta 1. 2011-04-10 11:42:00 -04:00
rewrite pgindent run before PG 9.1 beta 1. 2011-04-10 11:42:00 -04:00
snowball Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
storage pgindent run before PG 9.1 beta 1. 2011-04-10 11:42:00 -04:00
tcop Revise the API for GUC variable assign hooks. 2011-04-07 00:12:02 -04:00
tsearch pgindent run before PG 9.1 beta 1. 2011-04-10 11:42:00 -04:00
utils Remove partial and undocumented GRANT .. FOREIGN TABLE support. 2011-04-25 16:39:18 -04:00
.gitignore Convert cvsignore to gitignore, and add .gitignore for build targets. 2010-09-22 12:57:04 +02:00
c.h Enable building with the Mingw64 compiler. 2011-01-30 19:56:46 -05:00
fmgr.h Pass collations to functions in FunctionCallInfoData, not FmgrInfo. 2011-04-12 19:19:24 -04:00
funcapi.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
getaddrinfo.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
getopt_long.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
Makefile Add maintainer-check target 2011-03-28 22:56:52 +03:00
miscadmin.h Add postmaster/postgres undocumented -b option for binary upgrades. 2011-04-25 12:00:21 -04:00
pg_config.h.in Fix char2wchar/wchar2char to support collations properly. 2011-04-23 12:35:41 -04:00
pg_config.h.win32 Fix char2wchar/wchar2char to support collations properly. 2011-04-23 12:35:41 -04:00
pg_config_manual.h Support unlogged tables. 2010-12-29 06:48:53 -05:00
pg_trace.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
pgstat.h pgindent run before PG 9.1 beta 1. 2011-04-10 11:42:00 -04:00
pgtime.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
port.h Fix up handling of C/POSIX collations. 2011-03-20 12:44:13 -04:00
postgres.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
postgres_ext.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
postgres_fe.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
rusagestub.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
windowapi.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00