aboutsummaryrefslogtreecommitdiff
path: root/src/backend
Commit message (Collapse)AuthorAge
* Load pg_hba.conf and pg_ident.conf on startup and SIGHUP into List ofBruce Momjian2001-07-30
| | | | | | Lists, and use that for user validation. Bruce Momjian
* Suppress gcc warning in USE_LOCALE case.Tom Lane2001-07-22
|
* Source formatting cleanup.Bruce Momjian2001-07-21
|
* Minor performance improvement in MultiRecordFreeSpace.Tom Lane2001-07-19
|
* Arrange to recycle old XLOG log segment files as new segment files,Tom Lane2001-07-19
| | | | | | | | | | | | | | rather than deleting them only to have to create more. Steady state is 2*CHECKPOINT_SEGMENTS + WAL_FILES + 1 segment files, which will simply be renamed rather than constantly deleted and recreated. To make this safe, added current XLOG file/offset number to page header of XLOG pages, so that an un-overwritten page from an old incarnation of a logfile can be reliably told from a valid page. This change means that if you try to restart postmaster in a CVS-tip database after installing the change, you'll get a complaint about bad XLOG page magic number. If you don't want to initdb, run contrib/pg_resetxlog (and be sure you shut down the old postmaster cleanly).
* New-style vacuum neglected to update pg_class statistics about indexesTom Lane2001-07-18
| | | | if there were no deletions to do.
* Disallow non-cachable functions in functional indexes and in indexTom Lane2001-07-17
| | | | predicates. Per suggestion from Hiroshi.
* Improve documentation about reasoning behind the order of operationsTom Lane2001-07-16
| | | | | | | | in GetSnapshotData, GetNewTransactionId, CommitTransaction, AbortTransaction, etc. Correct race condition in transaction status testing in HeapTupleSatisfiesVacuum --- this wasn't important for old VACUUM with exclusive lock on its table, but it sure is important now. All per pghackers discussion 7/11/01 and 7/12/01.
* More EXTEND INDEX removal.Bruce Momjian2001-07-16
| | | | Martijn van Oosterhout
* Do not push down quals into subqueries that have LIMIT/OFFSET clauses,Tom Lane2001-07-16
| | | | | since the added qual could change the set of rows that get past the LIMIT. Per discussion on pgsql-sql 7/15/01.
* Partial indexes work again, courtesy of Martijn van Oosterhout.Tom Lane2001-07-16
| | | | | | Note: I didn't force an initdb, figuring that one today was enough. However, there is a new function in pg_proc.h, and pg_dump won't be able to dump partial indexes until you add that function.
* Restructure index AM interface for index building and index tuple deletion,Tom Lane2001-07-15
| | | | | | | | | | | | | | | | | | | | | | | | | 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.
* TODO item:Tatsuo Ishii2001-07-15
| | | | * Make n of CHAR(n)/VARCHAR(n) the number of letters, not bytes
* Initial implementation of concurrent VACUUM. Ifdef'd out for the moment,Tom Lane2001-07-13
| | | | | because index locking issues are not handled correctly yet. Need to go work on the index AMs next.
* Minor code cleanup/beautification in RelationPutHeapTuple.Tom Lane2001-07-13
|
* indicies to indexes from Neil ConwayBruce Momjian2001-07-12
|
* Remove grammar restrictions on order of optional clauses in CREATE GROUP.Tom Lane2001-07-12
| | | | From Vince Vielhaber.
* Add missing encode file.Bruce Momjian2001-07-12
|
* Create a new HeapTupleSatisfiesVacuum() routine in tqual.c that embodies theTom Lane2001-07-12
| | | | | | validity checking rules for VACUUM. Make some other rearrangements of the VACUUM code to allow more code to be shared between full and lazy VACUUM. Minor code cleanups and added comments for TransactionId manipulations.
* > > Put encode() into base system. Used part of Alex' patchBruce Momjian2001-07-11
| | | | | | > > for docs, hope he does not mind ;) Marko Kreen
* Disable COPY TO/FROM on views.Bruce Momjian2001-07-11
|
* Better document use of ident on localhost, per Tom Lane's idea.Bruce Momjian2001-07-11
|
* Move export to a separate line, per Peter E.Bruce Momjian2001-07-11
|
* Instead of believing SOMAXCONN from the system header files (which isTom Lane2001-07-11
| | | | | | a lie on many Unixen), invoke listen() with MIN(MaxBackends*2, 10000). The clamp value 10000 is configurable in config.h.in, if that proves to be necessary --- hopefully it won't.
* Remove direct calls of index_insert(), instead use ExecInsertIndexTuples().Tom Lane2001-07-11
| | | | | | | This makes VACUUM work properly with partial indexes, and avoids memory leakage with functional indexes. Also, suppress complaint about fewer index tuples than heap tuples when the index is a partial index. From Martijn van Oosterhout.
* Changes from Vince Vielhaber to allow the optional clauses of CREATETom Lane2001-07-10
| | | | | | | | USER and ALTER USER to appear in any order, not only the fixed order they used to be required to appear in. Also, some changes from Tom Lane to create a FULL option for VACUUM; it doesn't do anything yet, but I needed to change many of the same files to make that happen, so now seemed like a good time.
* Remove formatter's assumption that year would never exceed four digits.Tom Lane2001-07-10
| | | | | Enforce MAXTZLEN for all datestyles, not just some. Remove macro definitions that were redundant with datetime.h.
* Remove unnecessarily enthusiastic parenthesizing in reverse-listing ofTom Lane2001-07-10
| | | | IS NULL, IS TRUE, and friends (my fault...)
* Fix rule rewriter so that new ordering of ON INSERT actions appliesTom Lane2001-07-09
| | | | | | in cases of qualified rules as well as unqualified ones. Tweak rules test to avoid cluttering output with dummy SELECT results. Update documentation to match code.
* Add SHARE UPDATE EXCLUSIVE lock mode, coming soon to a VACUUM near you.Tom Lane2001-07-09
| | | | Name chosen per pghackers discussion around 6/22/01.
* Implement LockBufferForCleanup(), which will allow concurrent VACUUMTom Lane2001-07-06
| | | | | to wait until it's safe to remove tuples and compact free space in a shared buffer page. Miscellaneous small code cleanups in bufmgr, too.
* Fire rule actions ON INSERT after original statement (if not INSTEAD).Jan Wieck2001-07-06
| | | | Jan
* Fix my old fault(returns auto variable reference).Hiroshi Inoue2001-07-06
|
* Don't assume that max offset number stays fixed on a page when we'reTom Lane2001-07-05
| | | | | not holding a pin on the page. Use double instead of long to count rows in relation, so that code still works for > LONG_MAX rows in rel.
* 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
|