- Apr 21, 2002
-
-
Tom Lane authored
different privilege bits (might as well make use of the space we were wasting on padding). EXECUTE and USAGE bits for procedures, languages now are separate privileges instead of being overlaid on SELECT. Add privileges for namespaces and databases. The GRANT and REVOKE commands work for these object types, but we don't actually enforce the privileges yet...
-
- Apr 17, 2002
-
-
Tom Lane authored
qualified operator names directly, for example CREATE OPERATOR myschema.+ ( ... ). To qualify an operator name in an expression you need to write OPERATOR(myschema.+) (thanks to Peter for suggesting an escape hatch). I also took advantage of having to reformat pg_operator to fix something that'd been bugging me for a while: mergejoinable operators should have explicit links to the associated cross-data-type comparison operators, rather than hardwiring an assumption that they are named < and >.
-
- Apr 11, 2002
-
-
Tom Lane authored
entries, per pghackers discussion. This fixes aggregates to live in namespaces, and also simplifies/speeds up lookup in parse_func.c. Also, add a 'proimplicit' flag to pg_proc that controls whether a type coercion function may be invoked implicitly, or only explicitly. The current settings of these flags are more permissive than I would like, but we will need to debate and refine the behavior; for now, I avoided breaking regression tests as much as I could.
-
- Apr 05, 2002
-
-
Tom Lane authored
volatile), rather than the old cachable/noncachable distinction. This allows indexscan optimizations in many places where we formerly didn't. Also, add a pronamespace column to pg_proc (it doesn't do anything yet, however).
-
- Mar 29, 2002
-
-
Tom Lane authored
in different namespaces. Also, cleanup work on relation namespace support: drop, alter, rename commands work for tables in non-default namespaces.
-
- Mar 26, 2002
-
-
Tom Lane authored
in schemas other than the system namespace; however, there's no search path yet, and not all operations work yet on tables outside the system namespace.
-
- Mar 22, 2002
-
-
Tom Lane authored
there and CREATE SCHEMA will make entries in it...
-
Peter Eisentraut authored
-
- Mar 20, 2002
-
-
Tom Lane authored
-
- Mar 19, 2002
-
-
Bruce Momjian authored
Rod Taylor.
-
- Mar 07, 2002
-
-
Bruce Momjian authored
-
- Mar 06, 2002
-
-
Bruce Momjian authored
- domain.patch -> source patch against pgsql in cvs - drop_domain.sgml and create_domain.sgml -> New doc/src/sgml/ref docs - dominfo.txt -> basic domain related queries I used for testing [ ADDED TO /doc] Enables domains of array elements -> CREATE DOMAIN dom int4[3][2]; Uses a typbasetype column to describe the origin of the domain. Copies data to attnotnull rather than processing in execMain(). Some documentation differences from earlier. If this is approved, I'll start working on pg_dump, and a \dD <domain> option in psql, and regression tests. I don't really feel like doing those until the system table structure settles for pg_type. CHECKS when added, will also be copied to to the table attributes. FK Constraints (if I ever figure out how) will be done similarly. Both will lbe handled by MergeDomainAttributes() which is called shortly before MergeAttributes(). Rod Taylor
-
- Mar 01, 2002
-
-
Peter Eisentraut authored
variables. New commands ALTER DATABASE ... SET and ALTER USER ... SET.
-
- Feb 19, 2002
-
-
Peter Eisentraut authored
-
- Nov 21, 2001
-
-
Thomas G. Lockhart authored
Fix up references to "PostgreSQL" rather than "Postgres". Was roughly evenly split between the two before. ref/ files not yet done.
-
- Nov 09, 2001
-
-
Peter Eisentraut authored
-
- Nov 03, 2001
-
-
Tom Lane authored
particularly in the CREATE TYPE reference page. Fix some other errors in the CREATE TYPE page, too.
-
- Oct 16, 2001
-
-
Tom Lane authored
pg_largeobject, pg_listener, pg_rewrite, pg_trigger; miscellaneous small improvements.
-
- Sep 13, 2001
-
-
Peter Eisentraut authored
-
- Sep 10, 2001
-
-
Tatsuo Ishii authored
-
- Sep 06, 2001
-
-
Tom Lane authored
If there's anyone out there who's actually using datatype-defined default values, this will be an incompatible change in behavior ... but the old behavior was so broken that I doubt anyone was using it.
-
- Aug 26, 2001
-
-
Tom Lane authored
documentation to come, but the code is all here. initdb forced.
-
- Aug 21, 2001
-
-
Tom Lane authored
pgsql-hackers. pg_opclass now has a row for each opclass supported by each index AM, not a row for each opclass name. This allows pg_opclass to show directly whether an AM supports an opclass, and furthermore makes it possible to store additional information about an opclass that might be AM-dependent. pg_opclass and pg_amop now store "lossy" and "haskeytype" information that we previously expected the user to remember to provide in CREATE INDEX commands. Lossiness is no longer an index-level property, but is associated with the use of a particular operator in a particular index opclass. Along the way, IndexSupportInitialize now uses the syscaches to retrieve pg_amop and pg_amproc entries. I find this reduces backend launch time by about ten percent, at the cost of a couple more special cases in catcache.c's IndexScanOK. Initial work by Oleg Bartunov and Teodor Sigaev, further hacking by Tom Lane. initdb forced.
-
- Aug 10, 2001
-
-
Tom Lane authored
default, but OIDS are removed from many system catalogs that don't need them. Some interesting side effects: TOAST pointers are 20 bytes not 32 now; pg_description has a three-column key instead of one. Bugs fixed in passing: BINARY cursors work again; pg_class.relhaspkey has some usefulness; pg_dump dumps comments on indexes, rules, and triggers in a valid order. initdb forced.
-
- Jul 16, 2001
-
-
Tom Lane authored
per previous discussion on pghackers. Most of the duplicate code in different AMs' ambuild routines has been moved out to a common routine in index.c; this means that all index types now do the right things about inserting recently-dead tuples, etc. (I also removed support for EXTEND INDEX in the ambuild routines, since that's about to go away anyway, and it cluttered the code a lot.) The retail indextuple deletion routines have been replaced by a "bulk delete" routine in which the indexscan is inside the access method. I haven't pushed this change as far as it should go yet, but it should allow considerable simplification of the internal bookkeeping for deletions. Also, add flag columns to pg_am to eliminate various hardcoded tests on AM OIDs, and remove unused pg_am columns. Fix rtree and gist index types to not attempt to store NULLs; before this, gist usually crashed, while rtree managed not to crash but computed wacko bounding boxes for NULL entries (which might have had something to do with the performance problems we've heard about occasionally). Add AtEOXact routines to hash, rtree, and gist, all of which have static state that needs to be reset after an error. We discovered this need long ago for btree, but missed the other guys. Oh, one more thing: concurrent VACUUM is now the default.
-
- Jun 12, 2001
-
-
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.
-
- May 14, 2001
-
-
Bruce Momjian authored
forced.
-
- May 07, 2001
-
-
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.
-
- Apr 20, 2001
-
-
Thomas G. Lockhart authored
adjustments. Note that many tables are being abused with *really* long description columns. Should probably shrink those columns to be more concise, and move some of the info to follow-on reference notes.
-
- Mar 25, 2001
-
-
Peter Eisentraut authored
-
- Dec 22, 2000
-
-
Peter Eisentraut authored
-
- Dec 11, 2000
-
-
Bruce Momjian authored
-
- Dec 10, 2000
-
-
Bruce Momjian authored
-
Bruce Momjian authored
line 1324: "left-hand" should be "right-hand" BTW: new document looks very good! And the new configure/build process seems much better then before! Thanks! Laser
-
- Dec 07, 2000
-
-
Peter Eisentraut authored
-
- Nov 29, 2000
-
-
Peter Eisentraut authored
information.
-
- Jul 17, 2000
-
-
Tom Lane authored
There's now only one transition value and transition function. NULL handling in aggregates is a lot cleaner. Also, use Numeric accumulators instead of integer accumulators for sum/avg on integer datatypes --- this avoids overflow at the cost of being a little slower. Implement VARIANCE() and STDDEV() aggregates in the standard backend. Also, enable new LIKE selectivity estimators by default. Unrelated change, but as long as I had to force initdb anyway...
-
- Jun 09, 2000
-
-
Bruce Momjian authored
-
- Feb 17, 2000
-
-
Tom Lane authored
selectivity functions and make the r-tree operators use them. The estimation functions themselves are just stubs, unfortunately, but perhaps someday someone will make them compute realistic estimates. Change pg_am so that the optimizer can reliably tell the difference between ordered and unordered indexes --- before it would think that an r-tree index can be scanned in '<<' order, which is not right AFAIK. Repair broken negator links for network_sup and related ops. Initdb forced. This might be my last initdb force for 7.0 ... hope so anyway ...
-
- Feb 06, 2000
-
-
Bruce Momjian authored
regression tests so I prepared a set of expected files to make things look OK. There's also a file to account for minor variations in the geopmetry output and a resultmap patch to pull them all together. With these changes PostgreSQL, from CVS, builds and regression tests (runcheck) cleanly. Keith Parks.
-