- 12 Jun, 2001 1 commit
-
-
Tom Lane authored
pg_database now has unique indexes on oid and on datname. pg_shadow now has unique indexes on usename and on usesysid. pg_am now has unique index on oid. pg_opclass now has unique index on oid. pg_amproc now has unique index on amid+amopclaid+amprocnum. Remove pg_rewrite's unnecessary index on oid, delete unused RULEOID syscache. Remove index on pg_listener and associated syscache for performance reasons (caching rows that are certain to change before you need 'em again is rather pointless). Change pg_attrdef's nonunique index on adrelid into a unique index on adrelid+adnum. Fix various incorrect settings of pg_class.relisshared, make that the primary reference point for whether a relation is shared or not. IsSharedSystemRelationName() is now only consulted to initialize relisshared during initial creation of tables and indexes. In theory we might now support shared user relations, though it's not clear how one would get entries for them into pg_class &etc of multiple databases. Fix recently reported bug that pg_attribute rows created for an index all have the same OID. (Proof that non-unique OID doesn't matter unless it's actually used to do lookups ;-)) There's no need to treat pg_trigger, pg_attrdef, pg_relcheck as bootstrap relations. Convert them into plain system catalogs without hardwired entries in pg_class and friends. Unify global.bki and template1.bki into a single init script postgres.bki, since the alleged distinction between them was misleading and pointless. Not to mention that it didn't work for setting up indexes on shared system relations. Rationalize locking of pg_shadow, pg_group, pg_attrdef (no need to use AccessExclusiveLock where ExclusiveLock or even RowExclusiveLock will do). Also, hold locks until transaction commit where necessary.
-
- 14 May, 2001 1 commit
-
-
Bruce Momjian authored
-
- 07 May, 2001 1 commit
-
-
Tom Lane authored
a separate statement (though it can still be invoked as part of VACUUM, too). pg_statistic redesigned to be more flexible about what statistics are stored. ANALYZE now collects a list of several of the most common values, not just one, plus a histogram (not just the min and max values). Random sampling is used to make the process reasonably fast even on very large tables. The number of values and histogram bins collected is now user-settable via an ALTER TABLE command. There is more still to do; the new stats are not being used everywhere they could be in the planner. But the remaining changes for this project should be localized, and the behavior is already better than before. A not-very-related change is that sorting now makes use of btree comparison routines if it can find one, rather than invoking '<' twice.
-
- 22 Mar, 2001 1 commit
-
-
Bruce Momjian authored
-
- 24 Jan, 2001 1 commit
-
-
Bruce Momjian authored
-
- 14 Jan, 2001 1 commit
-
-
Tom Lane authored
GetRawDatabaseInfo() won't cope with a compressed path spec (much less a moved-off one). I'm not going to force an initdb for this change, because it's noncritical --- we're not actually using datpath at all right now. But it seems a good idea to apply the fix while I'm thinking about it.
-
- 14 Nov, 2000 1 commit
-
-
Tom Lane authored
cloned, rather than always cloning template1. Modify initdb to generate two identical databases rather than one, template0 and template1. Connections to template0 are disallowed, so that it will always remain in its virgin as-initdb'd state. pg_dumpall now dumps databases with restore commands that say CREATE DATABASE foo WITH TEMPLATE = template0. This allows proper behavior when there is user-added data in template1. initdb forced!
-
- 22 Oct, 2000 1 commit
-
-
Philip Warner authored
This field stores the last allocated OID after the database was created. Used by pg_dump in deciding what is user-defined vs. system-defined.
-
- 16 Oct, 2000 1 commit
-
-
Vadim B. Mikheev authored
relation OID is used as file node on creation but may be changed later if required. Regression Tests Approved (c) -:)))
-
- 05 Oct, 2000 1 commit
-
-
Bruce Momjian authored
Fix misspelling of disbursion to dispersion.
-
- 06 Aug, 2000 1 commit
-
-
Tom Lane authored
that giving pg_proc a toast table required solving the same problems we'd have to solve for pg_class --- pg_proc is one of the relations that gets bootstrapped in relcache.c. Solution is to go back at the end of initialization and read in the *real* pg_class row to replace the phony entry created by formrdesc(). This should work as long as there's no need to touch any toasted values during initialization, which seems a reasonable assumption. Although I did not add a toast-table for every single system table with a varlena attribute, I believe that it would work to just do ALTER TABLE pg_class CREATE TOAST TABLE. So anyone who's really intent on having several thousand ACL entries for a rel could do it. NOTE: I didn't force initdb, but you must do one to see the effects of this patch.
-
- 31 Jul, 2000 1 commit
-
-
Tom Lane authored
compressible but not externally storable (since we're not sure about whether creating a toast relation for pg_class would work).
-
- 03 Jul, 2000 1 commit
-
-
Jan Wieck authored
WARNING: This is actually broken - we have self-deadlocks due to concurrent changes in buffer management. Vadim and me are working on it. Jan
-
- 02 Jul, 2000 1 commit
-
-
Bruce Momjian authored
regression tests). Chris Bitmead
-
- 12 Jun, 2000 1 commit
-
-
Bruce Momjian authored
-
- 09 Jun, 2000 2 commits
-
-
Bruce Momjian authored
more restriction for fretful users. The current PG allow define only NO-CREATE-DB and NO-CREATE-USER restriction, but for some users I need NO-CREATE-TABLE and NO-LOCK-TABLE. This patch add to current code NOCREATETABLE and NOLOCKTABLE feature: CREATE USER username [ WITH [ SYSID uid ] [ PASSWORD 'password' ] ] [ CREATEDB | NOCREATEDB ] [ CREATEUSER | NOCREATEUSER ] -> [ CREATETABLE | NOCREATETABLE ] [ LOCKTABLE | NOLOCKTABLE ] ...etc. If CREATETABLE or LOCKTABLE is not specific in CREATE USER command, as default is set CREATETABLE or LOCKTABLE (true). A user with NOCREATETABLE restriction can't call CREATE TABLE or SELECT INTO commands, only create temp table is allow for him. Karel
-
Bruce Momjian authored
-
- 28 May, 2000 1 commit
-
-
Tom Lane authored
key call sites are changed, but most called functions are still oldstyle. An exception is that the PL managers are updated (so, for example, NULL handling now behaves as expected in plperl and plpgsql functions). NOTE initdb is forced due to added column in pg_proc.
-
- 12 Apr, 2000 1 commit
-
-
Bruce Momjian authored
-
- 09 Mar, 2000 1 commit
-
-
Hiroshi Inoue authored
They are #ifdef'd. Add -D_DROP_COLUMN_HACK__ compile option to evaluate it.
-
- 26 Jan, 2000 1 commit
-
-
Bruce Momjian authored
* Portions Copyright (c) 1996-2000, PostgreSQL, Inc to all files copyright Regents of Berkeley. Man, that's a lot of files.
-
- 11 Jan, 2000 1 commit
-
-
Tom Lane authored
-
- 20 Dec, 1999 1 commit
-
-
Jan Wieck authored
Jan
-
- 29 Sep, 1999 1 commit
-
-
Jan Wieck authored
Implements the CREATE CONSTRAINT TRIGGER and SET CONSTRAINTS commands. TODO: Generic builtin trigger procedures Automatic execution of appropriate CREATE CONSTRAINT... at CREATE TABLE Support of new trigger type in pg_dump Swapping of huge # of events to disk Jan
-
- 09 Aug, 1999 1 commit
-
-
Tom Lane authored
-
- 31 Jul, 1999 1 commit
-
-
Tom Lane authored
-
- 25 May, 1999 1 commit
-
-
Bruce Momjian authored
-
- 28 Mar, 1999 1 commit
-
-
Tom Lane authored
and newly expanded opr_sanity tests.
-
- 13 Feb, 1999 1 commit
-
-
Bruce Momjian authored
-
- 10 Sep, 1998 1 commit
-
-
Vadim B. Mikheev authored
-
- 01 Sep, 1998 2 commits
-
-
Bruce Momjian authored
-
Bruce Momjian authored
-
- 27 Aug, 1998 2 commits
-
-
Bruce Momjian authored
-
Bruce Momjian authored
-
- 26 Aug, 1998 4 commits
-
-
Bruce Momjian authored
-
Bruce Momjian authored
-
Bruce Momjian authored
-
Bruce Momjian authored
-
- 24 Aug, 1998 1 commit
-
-
Bruce Momjian authored
if MULTIBYTE is not enabled. So be sure to run initdb. o these patches are made against the latest source tree (after Bruce's massive patch, I think) BTW, I noticed that after running regression, the oid field of pg_type seems disappeared. regression=> select oid from pg_type; ERROR: attribute 'oid' not found this happens after the constraints test. This occures with/without my patches. strange... o pg_database_mb.h, pg_class_mb.h, pg_attribute_mb.h are no longer used, and shoud be removed. o GetDatabaseInfo() in utils/misc/database.c removed (actually in #ifdef 0). seems nobody uses. t-ishii@sra.co.jp
-
- 11 Aug, 1998 1 commit
-
-
Bruce Momjian authored
-