Make sure the pg_dump tar archiver can handle members larger than 2 GB, but
does not create members larger than allowed by the tar format. Also, fix
the generation of the tar header to conform to POSIX.
Tom Lane [Fri, 6 Sep 2002 00:01:53 +0000 (00:01 +0000)]
Remove heap_mark4update from AlterTableCreateToastTable. This has
never been the correct procedure for locking a relation, and the
recently-found ALTER TABLE bug with adding a constraint and a toast
table in the same command shows why it's a bad idea.
Tom Lane [Thu, 5 Sep 2002 22:52:48 +0000 (22:52 +0000)]
Fix some operator-precedence problems. New constructs IS DISTINCT FRM
and IS [NOT] OF were not being parsed consistently with other IS forms.
Also, make the world a little safer for functions named LEFT, RIGHT, etc.
Eliminate the mysterious games that the Cygwin build plays with the linker
flag variables. DLLLIBS is gone, use SHLIB_LINK like everyone else.
Detect cygipc in configure, after the linker flags are set up, otherwise
configure might not work at all.
Make sure everything is covered by make clean.
Fix the build of the new conversion procedure modules.
Add new DLLIMPORT markers where required.
Finally, the compiler complains if we use an explicit
-I/usr/local/include, so don't do that. Curiously, -L/usr/local/lib is
still necessary.
Tom Lane [Thu, 5 Sep 2002 00:43:07 +0000 (00:43 +0000)]
Be careful to include postgres.h *before* any system headers, to ensure
that the right flavors of largefile-related definitions are seen.
Most of these changes are probably unnecessary, but better safe than
sorry.
Tom Lane [Wed, 4 Sep 2002 23:31:35 +0000 (23:31 +0000)]
Guard against send-lots-and-lots-of-data DoS attack from unauthenticated
users, by limiting the length of string we will accept for a password.
Patch by Serguei Mokhov, some editorializing by Tom Lane.
Tom Lane [Wed, 4 Sep 2002 15:45:50 +0000 (15:45 +0000)]
Avoid multiple scans of utils/mb/conversion_procs/ subdirectories during
'make install'; there are enough of 'em that this slowed down the make
noticeably. Ensure that 'all' is the default make target in all these
directories (defaulting to 'make install' is surprising and dangerous
IMHO). Fix a couple small typos.
Tom Lane [Tue, 3 Sep 2002 22:55:54 +0000 (22:55 +0000)]
EXTRACT(EPOCH FROM timestamp) gave wrong answers in the int64-timestamp
case for timestamptz input, and differently wrong answers in the float-
timestamp case for timestamp input.
Tom Lane [Tue, 3 Sep 2002 22:17:35 +0000 (22:17 +0000)]
Arrange for the default permissions on a database to allow temp table
creation to world, but disallow temp table creation in template1. Per
latest round of pghackers discussion.
I did not force initdb, but the permissions lockdown on template1 will
not take effect unless you do one (or manually REVOKE TEMP ON DATABASE template1 FROM public).
Tom Lane [Tue, 3 Sep 2002 19:46:32 +0000 (19:46 +0000)]
Work around mktime() brain damage in recent versions of glibc by using
a series of localtime() calls to determine the local timezone offset
when mktime() fails. This eliminates regression failures on RHL 7.3,
and should continue to work until it occurs to the glibc boys to break
localtime() as well. By then I hope we'll have our own timezone code...
Tom Lane [Mon, 2 Sep 2002 23:41:17 +0000 (23:41 +0000)]
Partial solution for 'unexpected EOF' problem with pg_disconnect: it
seems we have a choice between annoying messages and leaking memory
(or dumping core, but that's right out). Patch also fixes several
other problems in pg_disconnect, such as being willing to close a
channel that isn't a PG channel.
Tom Lane [Mon, 2 Sep 2002 21:51:47 +0000 (21:51 +0000)]
pg_on_connection_loss command for libpgtcl. Patch from
Gerhard Hintermayer, revised and documented by Tom Lane.
This patch also fixes a 'must fix' bug: libpgtcl's LISTEN/NOTIFY
support was broken by the recent changes to the PGnotify structure.
Guess that change wasn't quite so safe as we thought.
Tom Lane [Mon, 2 Sep 2002 20:04:40 +0000 (20:04 +0000)]
Department of second thoughts: make checks for replacing a view slightly
more flexible, and improve the error reporting. Also, add documentation
for REPLACE RULE/VIEW.
Bruce Momjian [Mon, 2 Sep 2002 16:21:30 +0000 (16:21 +0000)]
Updated from Tom:
< o -ALTER TABLE ALTER COLUMN SET/DROP NOT NULL (Christopher Kings-Lynne)
< o ALTER TABLE ADD COLUMN column SERIAL doesn't create sequence
> o -ALTER TABLE ALTER COLUMN SET/DROP NOT NULL (Christopher) 200a200,201
> o ALTER TABLE ADD COLUMN column SERIAL doesn't create sequence because
> of the item above 232c233
< o -Disallow missing columns in INSERT ... VALUES, per ANSI
> o -Disallow missing columns in INSERT ... (col) VALUES, per ANSI
335,336d335
< * Have SERIAL generate non-colliding sequence names when we have
< auto-destruction
Bruce Momjian [Mon, 2 Sep 2002 15:30:50 +0000 (15:30 +0000)]
Updates from Tom:
< * Allow logging of query durations
> * -Allow logging of query durations
51,52d50
< * Make single-user local access permissions the default by limiting
< permissions on the socket file (Peter E)
72,73c70,71
< * Reserve last few process slots for super-user if max_connections reached
< * Add GUC parameter to print queries that generate errors
> * -Reserve last few process slots for super-user if max_connections reached
> * -Add GUC parameter to print queries that generate errors
82,83c80,81
< * Declare typein/out functions in pg_proc with a special "C string" data type
< * Functions returning sets do not totally work
> * -Declare typein/out functions in pg_proc with a special "C string" data type
> * -Functions returning sets do not totally work
90c88
< * Allow bytea to handle LIKE with non-TEXT patterns
> * -Allow bytea to handle LIKE with non-TEXT patterns
94c92
< o Store binary-compatible type information in the system
> o -Store binary-compatible type information in the system
97d94
< o -SELECT col FROM tab WHERE numeric_col = 10.1 fails, requires quotes
102c99
< o Ensure we have array-eq operators for every built-in array type
> o -Ensure we have array-eq operators for every built-in array type 119d115
< * Allow setting database character set without multibyte enabled 152d147
< * Have UPDATE/DELETE clean out indexes
198,199d192
< o ALTER TABLE ADD COLUMN to inherited table put column in wrong place
< [inheritance] 201d193
< o Add ALTER FUNCTION
203,204c195,196
< o -ALTER TABLE ADD PRIMARY KEY (Tom)
< o -ALTER TABLE ADD UNIQUE (Tom)
> o -ALTER TABLE ADD PRIMARY KEY (Christopher)
> o -ALTER TABLE ADD UNIQUE (Christopher) 248c240
< o -Remove SET KSQO option now that OR processing is improved (Tom)
> o -Remove SET KSQO option now that OR processing is improved (Bruce) 280c272
< * Have pg_dump use LEFT OUTER JOIN in multi-table SELECTs
> * -Have pg_dump use LEFT OUTER JOIN in multi-table SELECTs 287d278
< * Add config file check for $ODBCINI, $HOME/.odbc.ini, installpath/etc/odbc.ini
318,322d308
< * ODBC
< o ODBC 3.0 support
< o Unicode(UCS-2) support
< o Updatable cursors support
< 337c323
< * Fix foreign key constraints to not error on intermediate db states (Stephan)
> * -Fix foreign key constraints to not error on intermediate db states (Stephan) 352c338
< * Propagate column or table renaming to foreign key constraints
> * -Propagate column or table renaming to foreign key constraints 447c433
< * Remove wal_files postgresql.conf option because WAL files are now recycled
> * -Remove wal_files postgresql.conf option because WAL files are now recycled 460c446
< * Improve dynamic memory allocation by introducing tuple-context memory
> * -Improve dynamic memory allocation by introducing tuple-context memory 463c449
< * Nested FULL OUTER JOINs don't work (Tom)
> * -Nested FULL OUTER JOINs don't work (Tom)