aboutsummaryrefslogtreecommitdiff
path: root/src/backend
Commit message (Collapse)AuthorAge
...
* Added GUC configuration options to control access statistics.Jan Wieck2001-07-05
| | | | Jan
* Prohibit a column from appearing twice in a PRIMARY KEY or UNIQUETom Lane2001-07-04
| | | | | | | | | | constraint. This case (a) is useless, (b) violates SQL92, and (c) is certain to cause a failure downstream when we try to create an index with duplicated column names. So give an appropriate error message instead of letting the index failure occur. Per report from Colin Strickland. NOTE: currently, CREATE INDEX fooi ON foo(f1,f1) still fails with 'cannot insert duplicate key' error. Should we change that too? What about functional indexes?
* Add a little more error checking and reporting to readDatum().Tom Lane2001-07-03
|
* Start the stats collector at a less randomly chosen time. Bad ideaTom Lane2001-07-03
| | | | | to start it before we have acquired the data directory lock; also a bad idea to start it before we have set up to catch SIGCHLD signals.
* Don't go into infinite loop if /home/postgres/testversion/data directory is ↵Tom Lane2001-07-03
| | | | not writable.
* First non-stub implementation of shared free space map. It's not superTom Lane2001-07-02
| | | | | | useful as yet, since its primary source of information is (full) VACUUM, which makes a concerted effort to get rid of free space before telling the map about it ... next stop is concurrent VACUUM ...
* Make the found-a-buffer-when-we-were-expecting-to-extend-the-rel pathTom Lane2001-07-02
| | | | | actually work. It had been throwing an Assert as of my recent changes to bufmgr.c, but was not really right even before that AFAICT.
* Under new theory of operation wherein postmaster forks childrenTom Lane2001-07-01
| | | | | | | | | | | immediately, we will fork a child even if the database state does not permit connections to be accepted (eg, we are in recovery mode). The child process will correctly reject the connection and exit as soon as it's finished collecting the connection request message. However, this means that reaper() must be prepared to see child process exit signals even while it's waiting for startup or shutdown process to finish. As was, a connection request arriving during a database recovery or shutdown would cause postmaster abort.
* Allow default transaction isolation level (a.k.a. set sessionPeter Eisentraut2001-06-30
| | | | characteristics) to be set through GUC.
* portability enhancementsPeter Eisentraut2001-06-30
|
* Further work on connecting the free space map (which is still just aTom Lane2001-06-29
| | | | | | | | stub) into the rest of the system. Adopt a cleaner approach to preventing deadlock in concurrent heap_updates: allow RelationGetBufferForTuple to select any page of the rel, and put the onus on it to lock both buffers in a consistent order. Remove no-longer-needed isExtend hack from API of ReleaseAndReadBuffer.
* Fix VACUUM so that it can use pages as move targets even if they do notTom Lane2001-06-29
| | | | | | | | | have any newly-dead tuples on them. This is a longstanding deficiency that prevents VACUUM from compacting a file as much as one would expect. Change requires fixing repair_frag to not assume that fraged_pages is a subset of vacuum_pages. Also make some further cleanups of places that assumed page numbers fit in int and tuple counts fit in uint32.
* Fix longstanding error in VACUUM: sometimes would examine a buffer pageTom Lane2001-06-29
| | | | | after writing/unpinning it. An actual failure is unlikely, unless the system is tremendously short of buffers ... but a bug is a bug.
* Turned high-frequently called pgstat functions into macrosJan Wieck2001-06-29
| | | | | | for speed. Jan
* Fix erroneous GUC variable references from commandline-GUC patch.Tom Lane2001-06-29
|
* Repair logic error for multi-key indexes. From Oleg Bartunov.Tom Lane2001-06-28
|
* Install infrastructure for shared-memory free space map. Doesn't actuallyTom Lane2001-06-27
| | | | | | | | | do anything yet, but it has the necessary connections to initialization and so forth. Make some gestures towards allowing number of blocks in a relation to be BlockNumber, ie, unsigned int, rather than signed int. (I doubt I got all the places that are sloppy about it, yet.) On the way, replace the hardwired NLOCKS_PER_XACT fudge factor with a GUC variable.
* Fix a couple remaining places where GUC variables were assigned toTom Lane2001-06-25
| | | | directly, rather than through SetConfigOption().
* Fix a couple remaining places where GUC variables were assigned toTom Lane2001-06-25
| | | | directly, rather than through SetConfigOption().
* Optimizer can now estimate selectivity of IS NULL, IS NOT NULL,Tom Lane2001-06-25
| | | | | | | | IS TRUE, etc, with some degree of verisimilitude. Split out selectivity support functions from builtins.h into a new header file selfuncs.h, so as to reduce the number of header files builtins.h must depend on. Fix a few missing inclusions exposed thereby. From Joe Conway, with some kibitzing from Tom Lane.
* Suppress gcc warning.Tom Lane2001-06-25
|
* Back out BYTEA binary compatibility changes.Bruce Momjian2001-06-24
|
* Since a missing pg_pwd file is a valid situation, don't print an errorPeter Eisentraut2001-06-23
| | | | message in that case.
* > Marko Kreen <marko@l-t.ee> writes:Bruce Momjian2001-06-23
| | | | | | | | | | | | | > > secure_ctx changes too. it will be PGC_BACKEND after '-p'. > > Oh, okay, I missed that part. Could we see the total state of the > patch --- ie, a diff against current CVS, not a bunch of deltas? > I've gotten confused about what's in and what's out. Ok, here it is. Cleared the ctx comment too - after -p it will be PGC_BACKEND in any case. Marko Kreen
* Add TEMPORARY sequences and have SERIAL on a temp table have a temporaryBruce Momjian2001-06-23
| | | | sequence.
* Attached is documentation describing plperlu differences from plperl.Bruce Momjian2001-06-22
| | | | Alex Pilosov
* The new files for statistical system views.Jan Wieck2001-06-22
| | | | Jan
* Statistical system views (yet without the config stuff, butJan Wieck2001-06-22
| | | | | | | it's hard to keep such massive changes in sync with the tree so I need to get it in and work from there now). Jan
* Add support to lock manager for conditionally locking a lock (ie,Tom Lane2001-06-22
| | | | | return without waiting if we can't get the lock immediately). Not used yet, but will be needed for concurrent VACUUM.
* Tweak error message.Tom Lane2001-06-21
|
* Fix strangely formatted comment.Bruce Momjian2001-06-21
|
* A bit of code beautification/cleanup of obsolete comments. RethinkTom Lane2001-06-21
| | | | ordering of startup operations in one or two places.
* There is no RTLD_GLOBAL on OpenBSD, says Alex Pilosov <alex@pilosoft.com>.Peter Eisentraut2001-06-20
|
* Handle reading of startup packet and authentication exchange after forkingPeter Eisentraut2001-06-20
| | | | | | | | | | a new postmaster child process. This should eliminate problems with authentication blocking (e.g., ident, SSL init) and also reduce problems with the accept queue filling up under heavy load. The option to send elog output to a different file per backend (postgres -o) has been disabled for now because the initialization would have to happen in a different order and it's not clear we want to keep this anyway.
* Back out SET ALL patch because it is breaking things.Bruce Momjian2001-06-19
|
* Add IS UNKNOWN, IS NOT UNKNOWN boolean tests, fix the existing booleanTom Lane2001-06-19
| | | | | | | tests to return the correct results per SQL9x when given NULL inputs. Reimplement these tests as well as IS [NOT] NULL to have their own expression node types, instead of depending on special functions. From Joe Conway, with a little help from Tom Lane.
* Clean up some longstanding problems in shared-cache invalidation.Tom Lane2001-06-19
| | | | | | | | | | | | SI messages now include the relevant database OID, so that operations in one database do not cause useless cache flushes in backends attached to other databases. Declare SI messages properly using a union, to eliminate the former assumption that Oid is the same size as int or Index. Rewrite the nearly-unreadable code in inval.c, and document it better. Arrange for catcache flushes at end of command/transaction to happen before relcache flushes do --- this avoids loading a new tuple into the catcache while setting up new relcache entry, only to have it be flushed again immediately.
* RESET ALL secondary patch:Bruce Momjian2001-06-18
| | | | | | | | | | Here is Tomified version of my 2 pending patches. Dropped the set_.._real change as it is not needed. Desc would be: * use GUC for settings from cmdline Marko Kreen
* Add GUC setting for Australian timezones. Uses new GUC boolean callbackBruce Momjian2001-06-18
| | | | | functions to clear date cache. Allow regression tests to pass when timezone set.
* Allow removal of system-named pg_* temp tables. Rename temp file/dir asBruce Momjian2001-06-18
| | | | pgsql_tmp.
* Improve wording of authentication files.Bruce Momjian2001-06-18
|
* Do some restructuring to improve performance of the catcaches. TeachTom Lane2001-06-18
| | | | | | | | | | | | | | | | | CatalogCacheFlushRelation (formerly called SystemCacheRelationFlushed) how to distinguish tuples it should flush from those it needn't; this means a relcache flush event now only removes the catcache entries it ought to, rather than zapping the caches completely as it used to. Testing with the regression tests indicates that this considerably improves the lifespan of catcache entries. Also, rearrange catcache data structures so that the limit on number of cached tuples applies globally across all the catcaches, rather than being per-catcache. It was a little silly to have the same size limit on both, say, pg_attribute caches and pg_am caches (there being only four possible rows in the latter...). Doing LRU removal across all the caches instead of locally in each one should reduce cache reload traffic in the more heavily used caches and improve the efficiency of cache memory use.
* Keep the list of to-be-NOTIFYed names in a plain List palloc'd inTom Lane2001-06-17
| | | | | | | TopTransactionContext, rather than using Dllist. This simplifies and speeds up the code, and eliminates a former risk of coredump when out of memory (since the old code didn't bother to check for malloc failure). It also moves us one step closer to retiring Dllist...
* Make inet/cidr << and <<= operators indexable. From Alex Pilosov ↵Tom Lane2001-06-17
| | | | <alex@pilosoft.com>.
* Tweak startup sequence so that running out of PROC array slots isTom Lane2001-06-16
| | | | | | | | | | detected sooner in backend startup, and is treated as an expected error (it gives 'Sorry, too many clients already' now). This allows us not to have to enforce the MaxBackends limit exactly in the postmaster. Also, remove ProcRemove() and fold its functionality into ProcKill(). There's no good reason for a backend not to be responsible for removing its PROC entry, and there are lots of good reasons for the postmaster not to be touching shared-memory data structures.
* It turns out that the relcache thinks it can distinguish differentTom Lane2001-06-16
| | | | | | | rules and triggers by OID. So, even though we have no cross-references in the system catalogs to pg_rewrite.oid or pg_trigger.oid, we'd better have unique indexes on them. Put back pg_rewrite_oid_index, which I mistakenly removed a few days ago, and add pg_trigger_oid_index.
* Add missing PG_SETMASK(&BlockSig) to SIGHUP_handler().Tom Lane2001-06-14
|
* has_table_privilege functions from Joe Conway (with some kibitzing fromTom Lane2001-06-14
| | | | | | Tom Lane). For the moment, only the OID/name variants are provided. I didn't force initdb, but the additions to the 'privileges' regress test won't pass until you do one.
* Allow a non-superuser database owner to vacuum all tables in hisTom Lane2001-06-13
| | | | | | | database, including system catalogs (but not the shared catalogs, since they don't really belong to his database). This is per recent mailing list discussion. Clean up some other code that also checks for database ownerness by introducing a test function is_dbadmin().
* Attached is a patch adding following functions:Bruce Momjian2001-06-13
| | | | | | | | | inet(text), cidr(text): convert a text value into inet/cidr set_masklen(inet): set masklen on the inet value Patch also contains regression checks for these functions. Alex Pilosov