summaryrefslogtreecommitdiff
path: root/src/backend
AgeCommit message (Collapse)Author
2002-01-30Add cast to suppress gcc warning on Darwin platform.Tom Lane
2002-01-26Updates from Serguei MokhovPeter Eisentraut
2002-01-24Fix logic error in insert_fsm_page_entry: because compact_fsm_page_listTom Lane
removes any empty chunks, the chunk previously added won't be there anymore, so it's possible there is zero free space in the rel's page list afterwards. Must loop back and rerun the part that adds a chunk to the list.
2002-01-18Update from Kova'cs Zolta'nPeter Eisentraut
2002-01-16Fix misstatements added by Bruce.Tom Lane
2002-01-16Add more comments to tqual.c for visibility functions.Bruce Momjian
2002-01-16TOAST needs to do at least minimal time-qual checking in order not toTom Lane
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.
2002-01-16Fix init_irels to close the pg_internal.init file before returning.Tom Lane
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.
2002-01-15If we fail to rename pg_internal.init into place, delete the uselessTom Lane
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.
2002-01-15Add more sanity-checking to PageAddItem and PageIndexTupleDelete,Tom Lane
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.
2002-01-15Fix typo that caused equalTriggerDescs() to return false in cases whereTom Lane
the two trigger sets were logically equal, but not in the same order. Caught by Holger Krug (hkrug@rationalizer.com).
2002-01-14Reduce severity of 'XLogFlush: request is not satisfied' error condition,Tom Lane
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.*.
2002-01-12Repair bugs in declarations of routines to add timestamptz and interval.Thomas G. Lockhart
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.
2002-01-11VACUUM must make sure that a HEAP_MARKED_FOR_UPDATE tuple gets markedTom Lane
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.
2002-01-11Fix sequence creation to set the t_xmin of a sequence's tuple toTom Lane
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.
2002-01-10The result of getopt() should be compared to -1, not EOF, perTom Lane
pgsql-hackers discussion of this date.
2002-01-09Fix use of 'char' to hold result of getc, per bug report forwarded byTom Lane
Oliver Elphick. A few other minor cleanups while at it.
2002-01-09Fix include paths for case of VPATH build.Tom Lane
2002-01-08Fix lpad() and rpad() to produce correct results in variable-lengthTom Lane
multibyte encodings.
2002-01-07Tweak LWLock algorithms so that an awakened waiter for a lock is notTom Lane
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.
2002-01-06If we fail to fork a new backend process, (try to) report the failureTom Lane
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.
2002-01-06Add CHECK_FOR_INTERRUPTS() in various strategic spots, per commentsTom Lane
from Hiroshi.
2002-01-04Fix some incorrect and obsolete commentary.Tom Lane
2002-01-04Have to_date() call timestamptz_date() per Karel's email instructions.Thomas G. Lockhart
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.
2002-01-04Replace #ifdef, #endif with # requires comment.Bruce Momjian
2002-01-03Require ownership permission for CREATE INDEX, per bug report.Tom Lane
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.
2002-01-03SPI_cursor_open must copy by-reference parameter values into theTom Lane
portal's memory context, so that they will live as long as the portal does.
2002-01-03Shouldn't try to copy null datums with datumCopy.Tom Lane
2002-01-03Guard against roundoff errors in new selectivity-estimation code,Tom Lane
per bug report from Laurette Cisneros.
2002-01-02Fix to_timestamp/to_date so that zero year input for Y, YY, or YYYTom Lane
formats will be taken as 2000, not year zero. Per bug report from Aasmund Midttun Godal. Fix from Karel Zak.
2002-01-01Do not accept interrupts in RESUME_INTERRUPTS() and END_CRIT_SECTION()Tom Lane
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.
2002-01-01Fix race condition that could allow two concurrent transactionsTom Lane
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.
2002-01-01Rename TIME token to ISOTIME to eliminate conflict with gram.y parserThomas G. Lockhart
token. Seems to be isolated to datetime.c and datetime.h.
2001-12-30Make sure that all <ctype.h> routines are called with unsigned charTom Lane
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.
2001-12-29Oops, only wanted datetime.c changes in there. lock stuff reversed out.Bruce Momjian
2001-12-29Fix newly introduced datetime.c compile failure; not enough parens.Bruce Momjian
2001-12-29Check a bit more carefully for preceeding ISO field tagsThomas G. Lockhart
when decoding date fields.
2001-12-29Rework the date/time parsing to tighten up some cases and to enable otherThomas G. Lockhart
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).
2001-12-28Improve LOCK_DEBUG logging code for LWLocks.Tom Lane
2001-12-28Update from Serguei MokhovPeter Eisentraut
2001-12-28Ensure that all direct uses of spinlock-protected data structures useTom Lane
'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.)
2001-12-24Place PAM before REJECT in sample file.Bruce Momjian
2001-12-23Fix mispeling ...Tom Lane
2001-12-21Czech translation updates from Karel ZakPeter Eisentraut
2001-12-21Fix errorPeter Eisentraut
2001-12-21Use MemSet() rather than a loop to do blank-padding on PS_USE_CLOBBER_ARGVTom Lane
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.
2001-12-21Add full name of the month of July to the lookup table.Thomas G. Lockhart
Thanks to Greg Sabino Mullane <greg@turnstep.com> for finding the problem.
2001-12-20Add memcmp() test and new memcmp.c file, for SunOS. Tested by Tatsuo.Bruce Momjian
2001-12-20MIN() -> Min, fixes compile problem.Bruce Momjian
2001-12-19Fix buffer-overrun problem in pretty printer.Tom Lane