Tom Lane [Sun, 24 Feb 2002 21:57:23 +0000 (21:57 +0000)]
Modify pg_dumpall so that output script uses new OWNER option of CREATE
DATABASE; also make it use SET SESSION AUTHORIZATION commands rather than
\connect commands. This makes it possible to restore databases belonging
to users who do not have CREATEDB privilege. It should also become at
least somewhat feasible to run the restore script under password
authentication --- you'll get one superuser password prompt per database,
rather than a large number of challenges for passwords belonging to
varying unspecified user names.
Tom Lane [Sun, 24 Feb 2002 20:20:21 +0000 (20:20 +0000)]
Add OWNER option to CREATE DATABASE, so superusers can create databases
on behalf of unprivileged users. Also, make '=' optional in CREATE
DATABASE syntax. From Gavin Sherry, with kibitzing and docs by Tom Lane.
Bruce Momjian [Sat, 23 Feb 2002 21:49:10 +0000 (21:49 +0000)]
OK'ed by Peter.
The attached patch enables plperl to build under Cygwin. It is
basically yet another BE_DLLLIBS patch with a perl MakeMaker twist. I
tried the patch under Red Hat 7.1 Linux too and I did not observe any
ill effects.
Tom Lane [Sat, 23 Feb 2002 20:55:46 +0000 (20:55 +0000)]
Guard against createdb --location=PGDATA foo; without this, the code
tries to create a symlink pointing at itself. Per trouble report from
Kenneth McDowell.
Bruce Momjian [Fri, 22 Feb 2002 05:47:50 +0000 (05:47 +0000)]
Please, apply attached patch of contrib/btree_gist to 7.2.1 and current
cvs.
The patch fixes memory leak during creation GiST index on timestamp
column.
Dave Cramer [Fri, 22 Feb 2002 02:58:24 +0000 (02:58 +0000)]
This patch fixes the exception thrown to inform the user the method
getColumnClassName(int) is not implemented. This will futher fixes method
ResultSet.getObject(int) since it requires the getColumnClassName(int) method to return the proper java class used to map the database column.
Tom Lane [Tue, 19 Feb 2002 20:11:20 +0000 (20:11 +0000)]
A bunch of changes aimed at reducing backend startup time...
Improve 'pg_internal.init' relcache entry preload mechanism so that it is
safe to use for all system catalogs, and arrange to preload a realistic
set of system-catalog entries instead of only the three nailed-in-cache
indexes that were formerly loaded this way. Fix mechanism for deleting
out-of-date pg_internal.init files: this must be synchronized with transaction
commit, not just done at random times within transactions. Drive it off
relcache invalidation mechanism so that no special-case tests are needed.
Cache additional information in relcache entries for indexes (their pg_index
tuples and index-operator OIDs) to eliminate repeated lookups. Also cache
index opclass info at the per-opclass level to avoid repeated lookups during
relcache load.
Generalize 'systable scan' utilities originally developed by Hiroshi,
move them into genam.c, use in a number of places where there was formerly
ugly code for choosing either heap or index scan. In particular this allows
simplification of the logic that prevents infinite recursion between syscache
and relcache during startup: we can easily switch to heapscans in relcache.c
when and where needed to avoid recursion, so IndexScanOK becomes simpler and
does not need any expensive initialization.
Eliminate useless opening of a heapscan data structure while doing an indexscan
(this saves an mdnblocks call and thus at least one kernel call).
Tom Lane [Tue, 19 Feb 2002 19:53:35 +0000 (19:53 +0000)]
Arrange to call localtime() during postmaster startup. On most Unixen,
the first call of localtime() in a process will read /usr/lib/tztab or
local equivalent. Better to do this once in the postmaster and inherit
the data by fork() than to have to do it during every backend start.
Hiroshi Inoue [Mon, 18 Feb 2002 03:16:11 +0000 (03:16 +0000)]
The version is now 7.01.0010.
1) Handle parameter array.
2) Allow re-use of the connection handle after SQLDisconnect.
3) Reject NULL if no indicator specified.
4) Improve the handling of '_' in table name.
5) Unify internal begin/commit/abort operations.
6) Change SQLTables() to return null not "" for the
table_owner.
7) Fix a bug about parameter handling reported by Benoit Menendez.
8) Add cast in handling ODBC date/time escape sequences.
9) Fix a bug about cache_size handing in declare/fetch mode.
[ODBC3.0 related]
10) Improve the handling of descriptor handles(ODBC3.0).
11) Improve the type handling of some types for ODBC3.0.
[Thanks to Marcelo Aceto for his useful patches]
12) Allow nested ODBC escape.
13) Allow changing autocommit on/off inside the transaction
block.
14) Improve the handling of ODBC scalar functions.
Bruce Momjian [Sun, 17 Feb 2002 11:50:09 +0000 (11:50 +0000)]
I think it's important that it's actually documented that they can add
primary keys after the fact!
Also, we need to add regression tests for alter table / add primary key
and alter table / drop constraint. These shouldn't be added until 7.3
tho
methinks...
Tom Lane [Thu, 14 Feb 2002 15:24:10 +0000 (15:24 +0000)]
Ensure that a cursor is scanned under the same scanCommandId it was
originally created with, so that the set of visible tuples does not
change as a result of other activity. This essentially makes PG cursors
INSENSITIVE per the SQL92 definition. See bug report of 13-Feb-02.
Tom Lane [Wed, 13 Feb 2002 19:32:17 +0000 (19:32 +0000)]
Point out that --adduser actually makes the new user a superuser. This
was mentioned on the man page for the underlying CREATE USER command,
but it should be explained here too.
Tom Lane [Tue, 12 Feb 2002 23:41:25 +0000 (23:41 +0000)]
Use RTLD_NOW, not RTLD_LAZY, as binding mode for dlopen() on all platforms.
This restores the Linux behavior to what it was in PG 7.0 and 7.1, and
causes other platforms to agree. (Other well-tested platforms like HPUX
were doing it this way already.) Per pghackers discussion over the past
month or so.