aboutsummaryrefslogtreecommitdiff
path: root/src/backend
Commit message (Collapse)AuthorAge
* Update from Kova'cs Zolta'nPeter Eisentraut2002-01-18
|
* Fix misstatements added by Bruce.Tom Lane2002-01-16
|
* Add more comments to tqual.c for visibility functions.Bruce Momjian2002-01-16
|
* TOAST needs to do at least minimal time-qual checking in order not toTom Lane2002-01-16
| | | | | | | | | | | mess up after an aborted VACUUM FULL, per today's pghackers discussion. Add a suitable HeapTupleSatisfiesToast routine. Remove useless special- case test in HeapTupleSatisfiesVisibility macro for xmax = BootstrapTransactionId; perhaps that was needed at one time, but it's a waste of cycles now, not to mention actively wrong for SnapshotAny. Along the way, add some much-needed comments to tqual.c, and simplify toast_fetch_datum, which no longer needs to assume it may see chunks out-of-order.
* Fix init_irels to close the pg_internal.init file before returning.Tom Lane2002-01-16
| | | | | | This saves one open file descriptor per backend, and avoids an annoying NOTICE on Cygwin (which has trouble deleting open files). Bug appears to date back to original coding of init_irels, circa 1992.
* If we fail to rename pg_internal.init into place, delete the uselessTom Lane2002-01-15
| | | | | temporary file. This seems to be a known failure mode under Cygwin, so we might as well expend the extra line of code to be tidy.
* Add more sanity-checking to PageAddItem and PageIndexTupleDelete,Tom Lane2002-01-15
| | | | | | | to prevent spreading of corruption when page header pointers are bad. Merge PageZero into PageInit, since it was never used separately, and remove separate memset calls used at most other PageInit call points. Remove IndexPageCleanup, which wasn't used at all.
* Fix typo that caused equalTriggerDescs() to return false in cases whereTom Lane2002-01-15
| | | | | the two trigger sets were logically equal, but not in the same order. Caught by Holger Krug (hkrug@rationalizer.com).
* Reduce severity of 'XLogFlush: request is not satisfied' error condition,Tom Lane2002-01-14
| | | | | | per my proposal of a couple days ago. This will eliminate the unable- to-restart-database class of problem that we have seen reported half a dozen times with 7.1.*.
* Repair bugs in declarations of routines to add timestamptz and interval.Thomas G. Lockhart2002-01-12
| | | | | | | | | Thanks to Bruce for spotting it and Tom Lane for diagnosing it. Since horology test output is changing anyway, add some date/time input tests to horology.sql. Some of these should move to the tests for the individual data types, and we perhaps should add an entire new test for "timezone" to allow manipulating the current time zone without risking damage to the results of other tests.
* VACUUM must make sure that a HEAP_MARKED_FOR_UPDATE tuple gets markedTom Lane2002-01-11
| | | | | | | | as either HEAP_XMAX_COMMITTED or HEAP_XMAX_INVALID once the updating transaction is gone. Otherwise some other transaction may come along and try to test the commit status of t_xmax later --- which could be after VACUUM has recycled the CLOG status for that xact. Bug introduced in post-beta4 bug fix.
* Fix sequence creation to set the t_xmin of a sequence's tuple toTom Lane2002-01-11
| | | | | | | | | | | | FrozenTransactionId, not the XID of the creating transaction. Without this it's possible for a reference to a long-gone CLOG record to occur, per Christian Meunier's bug report of 10-Jan-02. Worse, the sequence tuple would become invisible to SELECTs after 2 billion transactions. Since the fix is applied during sequence creation it does not help existing databases, unless you drop and recreate every sequence. However, we intend to force initdb for 7.2RC1 anyway, to fix a pg_proc error, so I see no need to do more for this problem.
* The result of getopt() should be compared to -1, not EOF, perTom Lane2002-01-10
| | | | pgsql-hackers discussion of this date.
* Fix use of 'char' to hold result of getc, per bug report forwarded byTom Lane2002-01-09
| | | | Oliver Elphick. A few other minor cleanups while at it.
* Fix include paths for case of VPATH build.Tom Lane2002-01-09
|
* Fix lpad() and rpad() to produce correct results in variable-lengthTom Lane2002-01-08
| | | | multibyte encodings.
* Tweak LWLock algorithms so that an awakened waiter for a lock is notTom Lane2002-01-07
| | | | | | | | | | | | | | | granted the lock when awakened; the signal now only means that the lock is potentially available. The waiting process must retry its attempt to get the lock when it gets to run. This allows the lock releasing process to re-acquire the lock later in its timeslice. Since LWLocks are usually held for short periods, it is possible for a process to acquire and release the same lock many times in a timeslice. The old spinlock-based implementation of these locks allowed for that; but the original coding of LWLock would force a process swap for each acquisition if there was any contention. Although this approach reopens the door to process starvation (a waiter might repeatedly fail to get the lock), the odds of that being a big problem seem low, and the performance cost of the previous approach is considerable.
* If we fail to fork a new backend process, (try to) report the failureTom Lane2002-01-06
| | | | | | to the client before closing the connection. Before 7.2 this was done correctly, but new code would simply close the connection with no report to the client.
* Add CHECK_FOR_INTERRUPTS() in various strategic spots, per commentsTom Lane2002-01-06
| | | | from Hiroshi.
* Fix some incorrect and obsolete commentary.Tom Lane2002-01-04
|
* Have to_date() call timestamptz_date() per Karel's email instructions.Thomas G. Lockhart2002-01-04
| | | | | | | Fixes time zone problems introduced by Thomas' implementation of TIMESTAMP WITHOUT TIME ZONE which caused the behavior of the previously appropriate routine, timestamp_date(), to change for the worse in this context.
* Replace #ifdef, #endif with # requires comment.Bruce Momjian2002-01-04
|
* Require ownership permission for CREATE INDEX, per bug report.Tom Lane2002-01-03
| | | | | | | | | Disallow CREATE INDEX on system catalogs, non-tables (views, sequences, etc). Disallow CREATE/DROP TRIGGER on system catalogs, non-tables. Disallow ALTER TABLE ADD/DROP CONSTRAINT on system catalogs. Disallow FOREIGN KEY reference to non-table. None of these things can actually work in the present system structure, but the code was letting them pass without complaint.
* SPI_cursor_open must copy by-reference parameter values into theTom Lane2002-01-03
| | | | portal's memory context, so that they will live as long as the portal does.
* Shouldn't try to copy null datums with datumCopy.Tom Lane2002-01-03
|
* Guard against roundoff errors in new selectivity-estimation code,Tom Lane2002-01-03
| | | | per bug report from Laurette Cisneros.
* Fix to_timestamp/to_date so that zero year input for Y, YY, or YYYTom Lane2002-01-02
| | | | | formats will be taken as 2000, not year zero. Per bug report from Aasmund Midttun Godal. Fix from Karel Zak.
* Do not accept interrupts in RESUME_INTERRUPTS() and END_CRIT_SECTION()Tom Lane2002-01-01
| | | | | | macros, but only at explicit CHECK_FOR_INTERRUPTS() calls. Not clear whether overenthusiastic acceptance of interrupts accounts for any real bugs, but it definitely seems risky and unnecessary.
* Fix race condition that could allow two concurrent transactionsTom Lane2002-01-01
| | | | | | to insert the same key into a supposedly unique index. The bug is of low probability, and may not explain any of the recent reports of duplicated rows; but a bug is a bug.
* Rename TIME token to ISOTIME to eliminate conflict with gram.y parserThomas G. Lockhart2002-01-01
| | | | token. Seems to be isolated to datetime.c and datetime.h.
* Make sure that all <ctype.h> routines are called with unsigned charTom Lane2001-12-30
| | | | | values; it's not portable to call them with signed chars. I recall doing this for the last release, but a few more uncasted calls have snuck in.
* Oops, only wanted datetime.c changes in there. lock stuff reversed out.Bruce Momjian2001-12-29
|
* Fix newly introduced datetime.c compile failure; not enough parens.Bruce Momjian2001-12-29
|
* Check a bit more carefully for preceeding ISO field tagsThomas G. Lockhart2001-12-29
| | | | when decoding date fields.
* Rework the date/time parsing to tighten up some cases and to enable otherThomas G. Lockhart2001-12-29
| | | | | | | | | cases which should have worked but did not. Now supports julian day (J2452271), ISO time labels (T040506) and various combinations of spaces and run-togethers of dates, times, and time zones. All regression tests pass, and I have more tests to add after the 7.2 release (don't want to require changes to the ancillary horology result files until after then).
* Improve LOCK_DEBUG logging code for LWLocks.Tom Lane2001-12-28
|
* Update from Serguei MokhovPeter Eisentraut2001-12-28
|
* Ensure that all direct uses of spinlock-protected data structures useTom Lane2001-12-28
| | | | | | | | | | | 'volatile' pointers to access those structures, so that optimizing compilers will not decide to move the structure accesses outside of the spinlock-acquire-to-spinlock-release sequence. There are no known bugs in these uses at present, but based on bad experience with lwlock.c, it seems prudent to ensure that we protect these other uses too. Per pghackers discussion around 12-Dec. (Note: it should not be necessary to worry about structures protected by LWLocks, since the LWLock acquire and release operations are not inline macros.)
* Place PAM before REJECT in sample file.Bruce Momjian2001-12-24
|
* Fix mispeling ...Tom Lane2001-12-23
|
* Czech translation updates from Karel ZakPeter Eisentraut2001-12-21
|
* Fix errorPeter Eisentraut2001-12-21
|
* Use MemSet() rather than a loop to do blank-padding on PS_USE_CLOBBER_ARGVTom Lane2001-12-21
| | | | | | machines. I have just been observing some scenarios where set_ps_display accounts for more than 10% of the backend CPU, and this loop has to be the reason.
* Add full name of the month of July to the lookup table.Thomas G. Lockhart2001-12-21
| | | | Thanks to Greg Sabino Mullane <greg@turnstep.com> for finding the problem.
* Add memcmp() test and new memcmp.c file, for SunOS. Tested by Tatsuo.Bruce Momjian2001-12-20
|
* MIN() -> Min, fixes compile problem.Bruce Momjian2001-12-20
|
* Fix buffer-overrun problem in pretty printer.Tom Lane2001-12-19
|
* Temporarily dike out GetUndoRecPtr() in checkpoint generation, since weTom Lane2001-12-19
| | | | | | do not use the undo pointer anyway. This is a quick-hack solution for the three-way deadlock condition discussed in pghackers 17-Dec-01. Need to find a better way of doing it.
* Make sure that all variants of HeapTupleSatisfies will do the right thingTom Lane2001-12-19
| | | | | if presented with a tuple in process of being moved by VACUUM. Per bug report from Brian Hirt.
* Move geqo enable into proper section.Bruce Momjian2001-12-17
|