aboutsummaryrefslogtreecommitdiff
path: root/src/backend
Commit message (Collapse)AuthorAge
* 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.
* Fix longstanding bug with VIEW using BETWEEN: OffsetVarNodes would getTom Lane2000-12-21
| | | | | | applied to the duplicated subtree twice. Probably someday we should fix the parser not to generate multiple links to the same subtree, but for now a quick copyObject() is the path of least resistance.
* Remove multi.c and single.c, which have been dead code forTom Lane2000-12-20
| | | | over two years.
* Prevent freshly-started backend from ignoring SIGUSR1, per race conditionTom Lane2000-12-20
| | | | | | | observed by Inoue. Also, don't call ProcRemove() from postmaster if we have detected a backend crash --- too risky if shared memory is corrupted. It's not needed anyway, considering we are going to reinitialize shared memory and semaphores as soon as the last child is dead.
* >> Here is a patch for the beos port (All regression tests are OK).Bruce Momjian2000-12-18
| | | | | | | | | | | | | | | | | | | | | | >> xlog.c : special case for beos to avoid 'link' which does not work yet >> beos/sem.c : implementation of new sem_ctl call (GETPID) and a new >sem_op >> flag (IPCNOWAIT) >> dynloader/beos.c : add a verification of symbol validity (seem that the >> loader sometime return OK with an invalid symbol) >> postmaster.c : add beos forking support for the new checkpoint process >> postgres.c : remove beos special case for getrusage >> beos.h : Correction of a bas definition of AF_UNIX, misc defnitions >> >> >> thanks >> >> >> cyril Cyril VELTER
* Ensure that 'errno' is saved and restored by all signal handlers thatTom Lane2000-12-18
| | | | | | might change it. Experimentation shows that the signal handler call mechanism does not save/restore errno for you, at least not on Linux or HPUX, so this is definitely a real risk.
* Make sure make_rels_by_clause_joins doesn't return multiple referencesTom Lane2000-12-18
| | | | | to same joinrel. Although make_rels_by_joins doesn't mind, GEQO has an Assert that doesn't like this.
* Repair mishandling of PRIMARY KEY declaration that references anTom Lane2000-12-18
| | | | inherited column, per bug report from Elphick 12/15/00.
* Clean up backend-exit-time cleanup behavior. Use on_shmem_exit callbacksTom Lane2000-12-18
| | | | | | to ensure that we have released buffer refcounts and so forth, rather than putting ad-hoc operations before (some of the calls to) proc_exit. Add commentary to discourage future hackers from repeating that mistake.
* Tweak select_common_type() to deal with possibility of multiple preferredTom Lane2000-12-17
| | | | | types in a category --- it was taking the last preferred type among the inputs, rather than the first one as intended.
* Remove current->old mapping.Bruce Momjian2000-12-15
|
* Make algorithm for resolving UNKNOWN function/operator inputs beTom Lane2000-12-15
| | | | insensitive to the order of arguments. Per pghackers discussion 12/10/00.
* here is a patch fixing today's bug report:Bruce Momjian2000-12-15
| | | | | | | | | | | | | | | | | | | | > Date: Thu, 14 Dec 2000 12:44:47 +0100 (CET) > From: Kovacs Zoltan Sandor <tip@pc10.radnoti-szeged.sulinet.hu> > To: pgsql-bugs@postgresql.org > Subject: [BUGS] to_char() causes backend to close connection > > Hi, this query gives different strange results: > > select to_char(now()::abstime,'YYMMDDHH24MI'); > > I get e.g. a "backend closed the channel unexpectedly..." error with > successful or failed resetting attempt (indeterministic) Again thanks Kovacs, you found really designing bug, that appear if anyone write bad format template to "number" version of to_char() (as you with 'DD'). Karel
* Remove obsolete comment.Tom Lane2000-12-15
|
* Remove a few remaining vestiges of elog(WARN).Tom Lane2000-12-15
|
* BugfixJan Wieck2000-12-14
| | | | | | | | Trying to connect to template0 left a global referenced buffer because the scan of pg_database wasn't ended properly before elog(FATAL). Jan
* Planner speedup hacking. Avoid saving useless pathkeys, so that pathTom Lane2000-12-14
| | | | | | | | | | | | comparison does not consider paths different when they differ only in uninteresting aspects of sort order. (We had a special case of this consideration for indexscans already, but generalize it to apply to ordered join paths too.) Be stricter about what is a canonical pathkey to allow faster pathkey comparison. Cache canonical pathkeys and dispersion stats for left and right sides of a RestrictInfo's clause, to avoid repeated computation. Total speedup will depend on number of tables in a query, but I see about 4x speedup of planning phase for a sample seven-table query.
* Make sure to not handle deactivated system indexesHiroshi Inoue2000-12-14
|
* Change StoreCatalogInheritance() to work from a list of parent relationTom Lane2000-12-14
| | | | | | OIDs rather than names. Aside from being simpler and faster, this way doesn't blow up in the face of 'create temp table foo () inherits (foo)'. Which is a rather odd thing to do, but it seems some people want to.
* Fix thinko for case of outer join where inner table is empty: shouldTom Lane2000-12-13
| | | | output first outer tuple before advancing...
* Cache eval cost of qualification expressions in RestrictInfo nodes toTom Lane2000-12-12
| | | | | | | avoid repeated evaluations in cost_qual_eval(). This turns out to save a useful fraction of planning time. No change to external representation of RestrictInfo --- although that node type doesn't appear in stored rules anyway.