aboutsummaryrefslogtreecommitdiff
path: root/src/backend
Commit message (Collapse)AuthorAge
...
* Change comparisons of tm->tm_isdst from "nonzero" to "greater than zero".Thomas G. Lockhart2001-01-17
| | | | | | | | | Not sure why some were this way, and others were already correct, but it seems to have been like this for several years. This caused problems on a few damaged platforms like AIX and IRIX which do not support DST calculations for years before 1970. Thanks to Andreas Zeugswetter <ZeugswetterA@wien.spardat.at> for finding the problem.
* Move structure comments from the top block down to the line entries forBruce Momjian2001-01-17
| | | | this file to match all the other files, and to be clearer.
* Remove bogus backslashes in sed command.Tom Lane2001-01-16
|
* Oops, I had managed to break query-cancel-while-waiting-for-lock.Tom Lane2001-01-16
|
* Rename fields of lock and lockholder structures to something a tad lessTom Lane2001-01-16
| | | | confusing, and clean up documentation.
* Fix problems with parentheses around sub-SELECT --- for the last time,Tom Lane2001-01-15
| | | | | | | | | | | | | I hope. I finally realized that we were going at it backwards: when there are excess parentheses, they need to be treated as part of the sub-SELECT, not as part of the surrounding expression. Although either choice yields an unambiguous grammar, only this way produces a grammar that is LALR(1). With the old approach we were guaranteed to fail on either 'SELECT (((SELECT 2)) + 3)' or 'SELECT (((SELECT 2)) UNION SELECT 2)' depending on which way we resolve the initial shift/reduce conflict. With the new way, the same reduction track can be followed in both cases until we have advanced far enough to know whether we are done with the sub-SELECT or not.
* Tweak heap_update/delete so that we do not hold the buffer context lockTom Lane2001-01-15
| | | | on the old tuple's page while we are doing TOAST pushups.
* Minor coding cleanups.Tom Lane2001-01-14
|
* Another go-round on making GetRawDatabaseInfo behave as well as it can,Tom Lane2001-01-14
| | | | | | | given the fundamental restriction of not looking at transaction commit data in pg_log. Use code that is actually based on tqual.c rather than ad-hoc tests. Also write the tuple fetch loop using standard access macros rather than ad-hoc code.
* Need to do BufferSync at end of DROP DATABASE as well as CREATE DATABASE.Tom Lane2001-01-14
| | | | | Otherwise, newly connecting backends will still think the deleted DB is valid, and will generate unexpected error messages.
* Make aclcontains() do something that's at least vaguely reasonable:Tom Lane2001-01-14
| | | | | it now returns true if the aclitem argument exactly matches any one of the elements of the aclitem[] argument. Per complaint from Wolff 1/10/01.
* Restructure backend SIGINT/SIGTERM handling so that 'die' interruptsTom Lane2001-01-14
| | | | | | | are treated more like 'cancel' interrupts: the signal handler sets a flag that is examined at well-defined spots, rather than trying to cope with an interrupt that might happen anywhere. See pghackers discussion of 1/12/01.
* Relax test on typmod matching between a table and its proposed ON SELECTTom Lane2001-01-13
| | | | | rule. Needed to avoid failure when reloading a 7.0 pg_dump of a view that has a NUMERIC column.
* Add more critical-section calls: all code sections that hold spinlocksTom Lane2001-01-12
| | | | | | | | | | | are now critical sections, so as to ensure die() won't interrupt us while we are munging shared-memory data structures. Avoid insecure intermediate states in some code that proc_exit will call, like palloc/pfree. Rename START/END_CRIT_CODE to START/END_CRIT_SECTION, since that seems to be what people tend to call them anyway, and make them be called with () like a function call, in hopes of not confusing pg_indent. I doubt that this is sufficient to make SIGTERM safe anywhere; there's just too much code that could get invoked during proc_exit().
* Preserve constraints and column defaults during CLUSTER.Tom Lane2001-01-12
| | | | Wish they were all this easy ...
* New feature:Marc G. Fournier2001-01-12
| | | | | | | | | | | | | | | | | | | | | | 1. Support of variable size keys - new algorithm of insertion to tree (GLI - gist layrered insertion). Previous algorithm was implemented as described in paper by Joseph M. Hellerstein et.al "Generalized Search Trees for Database Systems". This (old) algorithm was not suitable for variable size keys and could be not effective ( walking up-down ) in case of multiple levels split Bug fixed: 1. fixed bug in gistPageAddItem - key values were written to disk uncompressed. This caused failure if decompression function does real job. 2. NULLs handling - we keep NULLs in tree. Right way is to remove them, but we don't know how to inform vacuum about index statistics. This is just cosmetic warning message (like in case with R-Tree), but I'm not sure how to recognize real problem if we remove NULLs and suppress this warning as Tom suggested. 3. various memory leaks This work was done by Teodor Sigaev (teodor@stack.net) and Oleg Bartunov (oleg@sai.msu.su).
* Remove useless DLLIMPORT (only needed in header files).Peter Eisentraut2001-01-11
|
* Removed a no longer needed SetWaitingForLock() call inHiroshi Inoue2001-01-10
| | | | DeadLockCheck().
* Do The Right Thing (tm) if asked to cluster a temp table. PreviousTom Lane2001-01-10
| | | | code would cluster, but table would magically lose its tempness.
* Add configure check for sys_nerr, to end all discussions.Peter Eisentraut2001-01-09
|
* Disable query cancel during HandleDeadLock().Hiroshi Inoue2001-01-09
|
* 1. Checkpoint.undo may be after checkpoint itself:Vadim B. Mikheev2001-01-09
| | | | | | | | - no more elog(STOP) in StartupXLOG(); - both checkpoint' undo & redo are used to define oldest on-line log file. 2. Ability to pre-allocate a few log files at checkpoint time (wal_files option). Off by default.
* Fix oversight in planning of GROUP queries: when an expression is usedTom Lane2001-01-09
| | | | | | | | as both a GROUP BY item and an output expression, the top-level Group node should just copy up the evaluated expression value from its input, rather than re-evaluating the expression. Aside from any performance benefit this might offer, this avoids a crash when there is a sub-SELECT in said expression.
* 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.