aboutsummaryrefslogtreecommitdiff
path: root/src/backend
Commit message (Collapse)AuthorAge
* Remove compiler warning about uninitialized warnings.Bruce Momjian2001-01-08
|
* Add some debugging support code (ifdef'd out in normal use).Tom Lane2001-01-08
|
* LockBuffer should not elog while holding buffer's cntx_lock.Tom Lane2001-01-08
|
* Keep relations open until they are no longer needed.Hiroshi Inoue2001-01-08
|
* Make outfuncs/readfuncs treat OIDs properly as unsigned values. Clean upTom Lane2001-01-08
| | | | | inconsistent coding practices for handling Index values and booleans, too.
* Correct nasty error in heap_update: it was releasing the buffer refcountTom Lane2001-01-07
| | | | | | | | | before calling RelationInvalidateHeapTuple(), which is bad because the latter needs to look at the tuple data, which is in the shared disk buffer. If another backend manages to recycle the buffer while this is going on, we will compute the wrong hashindex for the tuple or maybe even crash outright. Must hold buffer refcount until afterwards. (This bug is not in 7.0.*; seems to be have introduced during WAL changes.)
* Clear QueryCancel and ProcDiePending at start of proc_exit, to ensureTom Lane2001-01-07
| | | | that leftover cancel/die requests cannot interfere with exit activities.
* Fix recent breakage of query-cancel logic, see my pghackers messageTom Lane2001-01-07
| | | | of 6 Jan 2001 21:55.
* Modify readfuncs so that recursive use of stringToNode will not crashTom Lane2001-01-07
| | | | | | | | and burn. Just for added luck, change reading of CONST nodes so that we do not need to consult pg_type rows while reading them; this means that no database access occurs during stringToNode. This requires changing the order in which const-node fields are written, which means an initdb is forced.
* Clean up checking of relkind for ALTER TABLE and LOCK TABLE commands.Tom Lane2001-01-07
| | | | | Disallow cases like adding constraints to sequences :-(, and eliminate now-unnecessary search of pg_rewrite to decide if a relation is a view.
* Log memory context stats to stderr when reporting a 'Memory exhausted'Tom Lane2001-01-06
| | | | error, so as to provide a starting point for debugging.
* Fix memory leak in relcache handling of rules: allocate rule parsetreesTom Lane2001-01-06
| | | | | | in per-entry sub-memory-context, where they were supposed to go, rather than in CacheMemoryContext where the code was putting them. Must've suffered a severe brain fade when I wrote this :-(
* Simplify the rules that explicitly allowed TYPE as a type name (which isPeter Eisentraut2001-01-06
| | | | | no longer the case). Add AND and TRAILING to ColLabel. All key words except AS are now at least ColLabel's.
* Fix copy to make it more robust against unexpected characterTatsuo Ishii2001-01-06
| | | | | | | | sequences. This is done by disabling multi-byte awareness when it's not necessary. This is kind of a workaround, not a perfect solution. However, there is no ideal way to parse broken multi-byte character sequences. So I guess this is the best way what we could do right now...
* init_irels() is changed to be called in RelationCacheInitializePhase2()Hiroshi Inoue2001-01-06
| | | | so that transactional control could guarantee the consistency.
* Rename and document some invalidation routines to make it clearer thatTom Lane2001-01-05
| | | | | they don't themselves flush any cache entries, only add to to-do lists that will be processed later.
* Remove not-really-standard implementation of CREATE TABLE's UNDER clause,Tom Lane2001-01-05
| | | | | | | | | | | and revert documentation to describe the existing INHERITS clause instead, per recent discussion in pghackers. Also fix implementation of SQL_inheritance SET variable: it is not cool to look at this var during the initial parsing phase, only during parse_analyze(). See recent bug report concerning misinterpretation of date constants just after a SET TIMEZONE command. gram.y really has to be an invariant transformation of the query string to a raw parsetree; anything that can vary with time must be done during parse analysis.
* Disallow creation of a child table by a user who does not own the parentTom Lane2001-01-05
| | | | table, per pghackers discussion around 22-Dec-00.
* Repair guaranteed core dump in SPI_exec(). Guess this routine wasn'tTom Lane2001-01-04
| | | | used before ...
* I neglected to remove a debug message,sorry.Hiroshi Inoue2001-01-04
|
* Fix breakage of rules using NOTIFY actions, per bug report and patchTom Lane2001-01-03
| | | | from sergiop@sinectis.com.ar.
* New file format for COPY BINARY, in accordance with pghackers discussionsTom Lane2001-01-03
| | | | of early December 2000. COPY BINARY is now TOAST-safe.
* MakeRetrieveViewRuleName was scribbling on memory that didn't belongTom Lane2001-01-03
| | | | to it. Bad dog.
* Repair always-broken date_part('quarter',timestamp).Thomas G. Lockhart2001-01-03
| | | | | | | Previous result did not have correct month boundaries so anything near edge cases was suspect (e.g. April was in Q1 and July, August were lumped into Q2). Thanks to Denis Osadchy <osadchy@turbo.nsk.su> for the report.
* Clean up non-reentrant interface for hash_seq/HashTableWalk, so thatTom Lane2001-01-02
| | | | | | | | starting a new hashtable search no longer clobbers any other search active anywhere in the system. Fix RelationCacheInvalidate() so that it will not crash or go into an infinite loop if invoked recursively, as for example by a second SI Reset message arriving while we are still processing a prior one.
* CLUSTER forgot to create a TOAST table for the clustered relation.Tom Lane2001-01-01
|
* Ensure attcacheoff is written out as -1 when writing pg_attributeTom Lane2001-01-01
| | | | tuples for a relation. Needed to prevent Assert failure in CLUSTER.
* Update comment.Tom Lane2001-01-01
|
* Reverse #if test to be defined(__osf__) rather than not-any-of-a-lot-Tom Lane2000-12-31
| | | | of-others.
* NetBSD/Alpha porting fixes from tom@minnesota.com.Tom Lane2000-12-31
|
* Be more careful about the difference between signed and unsigned ints.Tom Lane2000-12-30
| | | | Bug is revealed by OID regress test on 64-bit platforms.
* 1. WAL needs in zero-ed content of newly initialized page.Vadim B. Mikheev2000-12-30
| | | | | 2. Log record for PageRepaireFragmentation now keeps array of !LP_USED offnums to redo cleanup properly.
* Fixed misprint in heap update WALoging.Vadim B. Mikheev2000-12-30
|
* Paranoia about possible values of errno after a shmget/semget failure.Tom Lane2000-12-30
| | | | | | In theory we should always get EEXIST if there's a key collision, but if the kernel code tests error conditions in a weird order, perhaps EACCES or EIDRM could occur too.
* Fix failure in CreateCheckPoint on some Alpha boxes --- it's not OK toTom Lane2000-12-29
| | | | | | | assume that TAS() will always succeed the first time, even if the lock is known to be free. Also, make sure that code will eventually time out and report a stuck spinlock, rather than looping forever. Small cleanups in s_lock.h, too.
* MUST update (in-memory) data page BEFORE XLogInsert to logVadim B. Mikheev2000-12-29
| | | | NEW page content if WAL will decide to backup page.
* nbtree_xlog_newroot: set meta flag in meta page opaque.Vadim B. Mikheev2000-12-29
|
* New WAL version - CRC and data blocks backup.Vadim B. Mikheev2000-12-28
|
* Let's try this again on accepting the correct range of Oid input valuesTom Lane2000-12-28
| | | | for 64-bit platforms ...
* Fix portability problems recently exposed by regression tests on Alphas.Tom Lane2000-12-27
| | | | | | | | | | 1. Distinguish cases where a Datum representing a tuple datatype is an OID from cases where it is a pointer to TupleTableSlot, and make sure we use the right typlen in each case. 2. Make fetchatt() and related code support 8-byte by-value datatypes on machines where Datum is 8 bytes. Centralize knowledge of the available by-value datatype sizes in two macros in tupmacs.h, so that this will be easier if we ever have to do it again.
* Compute reasonable cost and output-row-count estimates for LIMIT planTom Lane2000-12-23
| | | | nodes.
* Replace overly-cute coding with code that (a) has defined behaviorTom Lane2000-12-23
| | | | | according to the ANSI C spec, (b) gets the boundary conditions right, and (c) is about a third as long and three times more intelligible.
* Small cleanup of temp-table handling. Disallow creation of a non-tempTom Lane2000-12-22
| | | | | | | table that inherits from a temp table. Make sure the right things happen if one creates a temp table, creates another temp that inherits from it, then renames the first one. (Previously, system would end up trying to delete the temp tables in the wrong order.)
* Repair not-too-well-thought-out code to do rangechecking of OIDs onTom Lane2000-12-22
| | | | 64-bit machines. Also, make oidvectorin use the same code as oidin.
* Avoid XLogFlush for clean buffers in BufferSync.Vadim B. Mikheev2000-12-22
|
* Improve error message for case where DROP TABLE is rejected becauseTom Lane2000-12-22
| | | | table has a child table.
* Add 'ONLY' to queries generated by RI triggers, so as to preserve pre-7.1Tom Lane2000-12-22
| | | | | semantics of RI operations. Eventually we ought to look at making RI work properly across inheritance trees, but not for 7.1 ...
* Change default output formatting for CIDR to be unabbreviated, perTom Lane2000-12-22
| | | | | | recommendation from Paul Vixie. Add a new abbrev() function to produce abbreviated format as text. No forced initdb, but new function is not available unless you do an initdb or add the pg_proc row manually.
* Clean up CREATE TYPE/OPERATOR/AGGREGATE productions, so that parserTom Lane2000-12-22
| | | | will not accept types named with operator names or vice versa.
* Revise lock manager to support "session level" locks as well as "transactionTom Lane2000-12-22
| | | | | | | | | | | | | | | | level" locks. A session lock is not released at transaction commit (but it is released on transaction abort, to ensure recovery after an elog(ERROR)). In VACUUM, use a session lock to protect the master table while vacuuming a TOAST table, so that the TOAST table can be done in an independent transaction. I also took this opportunity to do some cleanup and renaming in the lock code. The previously noted bug in ProcLockWakeup, that it couldn't wake up any waiters beyond the first non-wakeable waiter, is now fixed. Also found a previously unknown bug of the same kind (failure to scan all members of a lock queue in some cases) in DeadLockCheck. This might have led to failure to detect a deadlock condition, resulting in indefinite waits, but it's difficult to characterize the conditions required to trigger a failure.