aboutsummaryrefslogtreecommitdiff
path: root/src/backend
Commit message (Collapse)AuthorAge
* Rearrange order of operations in heap_drop_with_catalog and index_dropTom Lane2004-08-28
| | | | | | | | | | so that we close and flush the doomed relation's relcache entry before we start to delete the underlying catalog rows, rather than afterwards. For awhile yesterday I thought that an unexpected relcache entry rebuild partway through this sequence might explain the infrequent parallel regression failures we were chasing. It doesn't, mainly because there's no CommandCounterIncrement in the sequence and so the deletions aren't "really" done yet. But it sure seems like trouble waiting to happen.
* Use dynamic buffer for token buffer in win32 admin checkBruce Momjian2004-08-28
| | | | Magnus Hagander
* Fix relcache to account properly for subtransaction status of 'new'Tom Lane2004-08-28
| | | | | | | | | relcache entries. Also, change TransactionIdIsCurrentTransactionId() so that if consulted during transaction abort, it will not say that the aborted xact is still current. (It would be better to ensure that it's never called at all during abort, but I'm not sure we can easily guarantee that.) In combination, these fix a crash we have seen occasionally during parallel regression tests of 8.0.
* Further tightening of the array literal parser. Prevent junkJoe Conway2004-08-28
| | | | | | | | from being accepted after the outer right brace. Per report from Markus Bertheau. Also add regression test cases for this change, and for previous recent array literal parser changes.
* Can't truncate pg_subtrans during a recovery checkpoint --- subtransTom Lane2004-08-28
| | | | module isn't fully initialized yet.
* Fix Windows emulation of kill(pid, 0). This will now succeed, but onlyTom Lane2004-08-27
| | | | | if the target PID is a PG postmaster or backend --- for our purposes that is actually better than the Unix behavior. Per Dave Page and Andrew Dunstan.
* Introduce local hash table for lock state, as per recent proposal.Tom Lane2004-08-27
| | | | | | | | | PROCLOCK structs in shared memory now have only a bitmask for held locks, rather than counts (making them 40 bytes smaller, which is a good thing). Multiple locks within a transaction are counted in the local hash table instead, and we have provision for tracking which ResourceOwner each count belongs to. Solves recently reported problem with memory leakage within long transactions.
* Fix user locks. Broken some time ago for all platforms by Windows-relatedTom Lane2004-08-26
| | | | changes.
* Update documentation to prefer CIDR format for pg_hba.conf and use newBruce Momjian2004-08-26
| | | | CIDR column in examples first.
* Update Win32 wording.Bruce Momjian2004-08-26
|
* Revise ResourceOwner code to avoid accumulating ResourceOwner objectsTom Lane2004-08-25
| | | | | | | | | | for every command executed within a transaction. For long transactions this was a significant memory leak. Instead, we can delete a portal's or subtransaction's ResourceOwner immediately, if we physically transfer the information about its locks up to the parent owner. This does not fully solve the leak problem; we need to do something about counting multiple acquisitions of the same lock in order to fix it. But it's a necessary step along the way.
* Translation updatePeter Eisentraut2004-08-24
|
* Allow second and subsequent names in a qualified (dotted) name to beTom Lane2004-08-24
| | | | | | ColLabel instead of just ColId --- that is, any keyword can appear after a dot and it will be taken as an identifier. Fixes problems with names that are okay as standalone function names but fail when qualified.
* Rearrange pg_subtrans handling as per recent discussion. pg_subtransTom Lane2004-08-23
| | | | | | | updates are no longer WAL-logged nor even fsync'd; we do not need to, since after a crash no old pg_subtrans data is needed again. We truncate pg_subtrans to RecentGlobalXmin at each checkpoint. slru.c's API is refactored a little bit to separate out the necessary decisions.
* Tweak code so that pg_subtrans is never consulted for XIDs older thanTom Lane2004-08-22
| | | | | | | | | | RecentXmin (== MyProc->xmin). This ensures that it will be safe to truncate pg_subtrans at RecentGlobalXmin, which should largely eliminate any fear of bloat. Along the way, eliminate SubTransXidsHaveCommonAncestor, which isn't really needed and could not give a trustworthy result anyway under the lookback restriction. In an unrelated but nearby change, #ifdef out GetUndoRecPtr, which has been dead code since 2001 and seems unlikely to ever be resurrected.
* Code review for ALTER INDEX patch.Tom Lane2004-08-22
|
* Remove Solaris bug mention in pg_hba.conf.Bruce Momjian2004-08-21
|
* >>At this stage of the game I would just change pg_hba.conf.sample to useBruce Momjian2004-08-20
| | | | | | | | | | | | >>'127.0.0.1/32' instead of '127.0.0.1 255.255.255.255'. >> >> > >Yeah, that's probably the path of least resistance. Note that the >comments and possibly the SGML docs need to be adjusted to match, >however, so it's not quite a one-liner. Andrew Dunstan
* Add ALTER INDEX, particularly for moving tablespaces.Bruce Momjian2004-08-20
| | | | Gavin Sherry
* > After all that about numbering centuries and millenia correctly,Bruce Momjian2004-08-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > why does CVS tip still give me > > regression=# select extract(century from now()); > date_part > ----------- > 20 > (1 row) > [ ... looks in code ... ] > > Apparently it's because you fixed only timestamp_part, and not > timestamptz_part. I'm not too sure about what timestamp_trunc or > timestamptz_trunc should do, but they may be wrong as well. Sigh... as usual, what is not tested does not work:-( > Could we have a more complete patch? Please find a submission attached. I hope it really fixes all decade, century and millenium issues for extract and *_trunc functions on interval and other timestamp types. If someone could check that the results are reasonnable, it would be great. I indeed overlooked the fact that there were two functions. The patch fixes the code so that both variants agree. I added comments to interval extractions, because it relies on the C division to have a negative remainder: -7/10 = 0 and remains -7. As for *_trunc functions, I have chosen to put the first year of the century or millennium: -100, 1, 101... 1001 2001 etc. Indeed, I don't think it would make sense to put 2000 (last year of the 2nd millennium) for rounding all years of the third millenium. I also fixed the code so that all decades last 10 years and decade 199 means the 1990's. I have added some tests that are relevant to deal with tricky cases. The formula may be simplified, but all these cases must pass. Please keep them. Fabien Coelho
* Repair some issues with column aliases and RowExpr construction in theTom Lane2004-08-19
| | | | | | | | | | | | presence of dropped columns. Document the already-presumed fact that eref aliases in relation RTEs are supposed to have entries for dropped columns; cause the user alias structs to have such entries too, so that there's always a one-to-one mapping to the underlying physical attnums. Adjust expandRTE() and related code to handle the case where a column that is part of a JOIN has been dropped. Generalize expandRTE()'s API so that it can be used in a couple of places that formerly rolled their own implementation of the same logic. Fix ruleutils.c to suppress display of aliases for columns that were dropped since the rule was made.
* Fix bug introduced into _bt_getstackbuf() on 2003-Feb-21: the initialTom Lane2004-08-17
| | | | | | | | | | value of 'start' could be past the end of the page, if the page was split by some concurrent inserting process since we visited it. In this situation the code could look at bogus entries and possibly find a match (since after all those entries still contain what they had before the split). This would lead to 'specified item offset is too large' followed by 'PANIC: failed to add item to the page', as reported by Joe Conway for scenarios involving heavy concurrent insertion activity.
* Standardize on the assumption that the arguments of a RowExpr correspondTom Lane2004-08-17
| | | | | | | to the physical layout of the rowtype, ie, there are dummy arguments corresponding to any dropped columns in the rowtype. We formerly had a couple of places that did it this way and several others that did not. Fixes Gaetano Mendola's "cache lookup failed for type 0" bug of 5-Aug.
* Mark server_encoding and integer_datetimes as GUC_REPORT, per previousTom Lane2004-08-16
| | | | proposals by Oliver Jowett. Update documentation.
* Dept. of further reflection: I looked around to see if any other callersTom Lane2004-08-15
| | | | | | | | | | | | of XLogInsert had the same sort of checkpoint interlock problem as RecordTransactionCommit, and indeed I found some. Btree index build and ALTER TABLE SET TABLESPACE write data outside the friendly confines of the buffer manager, and therefore they have to take their own responsibility for checkpoint interlock. The easiest solution seems to be to force smgrimmedsync at the end of the index build or table copy, even when the operation is being WAL-logged. This is sufficient since the new index or table will be of interest to no one if we don't get as far as committing the current transaction.
* Xmin calculations should consider only top transaction IDs, andTom Lane2004-08-15
| | | | | | therefore starting with GetCurrentTransactionId is wrong. Fixes miscomputation of RecentGlobalXmin leading to bizarre behavior reported by Gavin Sherry.
* Specify SA_NOCLDSTOP when enabling SIGCHLD, per suggestion fromTom Lane2004-08-15
| | | | Oliver Jowett.
* Translation updatesPeter Eisentraut2004-08-14
|
* Translation updatePeter Eisentraut2004-08-13
|
* Fix core dumps, inability to count, etc associated with canonicalize_pathTom Lane2004-08-13
| | | | patches.
* Change order of operations in ALTER TABLE SET TABLESPACE so that weTom Lane2004-08-13
| | | | | | don't hold an open file reference to the original table at the end. This is a good thing in any case, particularly so on Windows which cannot drop the table file otherwise.
* Allow commas in BEGIN, START TRANSACTION, and SET TRANSACTION, as requiredTom Lane2004-08-12
| | | | | | by the SQL standard. For backwards compatibility, however, continue to accept the syntax without. Minor editorialization in the reference pages for these commands, too.
* Allow optional SAVEPOINT keyword in RELEASE and ROLLBACK TO, for greaterTom Lane2004-08-12
| | | | | | compliance with SQL2003 spec syntax. Oliver Jowett
* Cleanup Win32 COPY handling, and move archive examples to SGML.Bruce Momjian2004-08-12
|
* Add mention of "WIN32" COPY.Bruce Momjian2004-08-12
|
* Add make_native_path() because Win32 COPY is an internal CMD.EXE commandBruce Momjian2004-08-12
| | | | | | | | | | and doesn't process forward slashes in the same way as external commands. Quoting the first argument to COPY does not convert forward to backward slashes, but COPY does properly process quoted forward slashes in the second argument. Win32 COPY works with quoted forward slashes in the first argument only if the current directory is the same as the directory of the first argument.
* Avoid crashing when restoring a saved GUC session_authorization valueTom Lane2004-08-11
| | | | that refers to a now-deleted userid. Per gripe from Chris Ochs.
* Work around broken strtod() that's present in many Solaris releases.Tom Lane2004-08-11
| | | | Thanks to Michael Fuhr for identifying the problem.
* Add translation from 7.4 branch to head.Peter Eisentraut2004-08-11
|
* Fix failure to guarantee that a checkpoint will write out pg_clog updatesTom Lane2004-08-11
| | | | | | for transaction commits that occurred just before the checkpoint. This is an EXTREMELY serious bug --- kudos to Satoshi Okada for creating a reproducible test case to prove its existence.
* New translationPeter Eisentraut2004-08-10
|
* Translation updatePeter Eisentraut2004-08-10
|
* syslogger.c needs <sys/time.h> on some platforms, per Greg Mullane.Tom Lane2004-08-09
|
* When expanding %p in archive_command or restore_command, translateTom Lane2004-08-09
| | | | | | slashes to backslashes #ifdef WIN32. This is to cope with the fact that Windows seems exceedingly unfriendly to slashes in shell commands, as per recent discussion.
* Make listen_addresses be a comma-separated list instead of a space-separatedTom Lane2004-08-08
| | | | list. More consistent with our other list-containing GUC variables.
* Document background writer control parameters, do some editorial workTom Lane2004-08-08
| | | | on other recent changes in runtime parameter list.
* Disable vacuum delay, as discussed on hackers.Bruce Momjian2004-08-08
|
* Allow libpgport to call memory allocation routines even thoughBruce Momjian2004-08-08
| | | | | | | CurrentMemoryContext is DLLIMPORT on Win32. Work around that by creating stubs in the backend for palloc/pstrdup. Also fix pg_dumpall to do proper quoting on Win32.
* Tighened up syntax checking of array input processing considerably. Junk thatJoe Conway2004-08-08
| | | | | | | | | was previously allowed in odd places with odd results now causes an ERROR. Also changed behavior with respect to whitespace -- trailing whitespace is now ignored as well as leading whitespace (which has always been ignored). Documentation updated to reflect change in whitespace handling. Also some refactoring to what I believe is a more sensible order of several paragraphs.
* Add a comment about why we always replay backup blocks from WAL.Tom Lane2004-08-08
|