aboutsummaryrefslogtreecommitdiff
path: root/src/backend
Commit message (Collapse)AuthorAge
...
* Tweak elog.c's logic for promoting errors into more severe errors.Tom Lane2004-09-05
| | | | | | | | | Messages of less than ERROR severity should never be promoted (this fixes Gaetano Mendola's problem with a COMMERROR becoming a PANIC, and is obvious in hindsight anyway). Do all promotion in errstart not errfinish, to ensure that output decisions are made correctly; the former coding could suppress logging of promoted errors, which doesn't seem like a good idea. Eliminate some redundant code too.
* Yet another place where someone was being careless about the argumentsTom Lane2004-09-02
| | | | of <ctype.h> macros.
* Cope with recent HPUX versions providing isfinite() instead of finite().Tom Lane2004-09-02
|
* Remove obsolete comment.Tom Lane2004-09-02
|
* Tweak prettyprinting rules for saner indenting of UNION, INTERSECT,Tom Lane2004-09-01
| | | | EXCEPT constructs.
* Fix mistaken comment.Tom Lane2004-09-01
|
* needs_toast_table() should ignore dropped columns.Tom Lane2004-08-31
|
* Code review for recent changes in guc-file.l. Avoid multiple frees,Tom Lane2004-08-31
| | | | | | | use of already-freed strings, other silliness. Also fix reporting of config file syntax errors so that it actually works reasonably well (eg, points at the correct line). Use palloc instead of malloc for temporary storage to reduce code clutter.
* Code review for various recent GUC hacking. Don't elog(ERROR) whenTom Lane2004-08-31
| | | | | | | not supposed to (fixes problem with postmaster aborting due to mistaken postgresql.conf change); don't call superuser() when not inside a transaction (fixes coredump when, eg, try to set log_statement from PGOPTIONS); some message style guidelines enforcement.
* Fix unintended assignment of sequences to the containing schema'sTom Lane2004-08-31
| | | | | | | default tablespace --- they should always go in the database's default tablespace. Adjust heap_create() API so that it is passed the relkind to make this easier; should simplify any further tweaking of the same sort.
* FlushRelationBuffers was also being a bit cavalier about whether theTom Lane2004-08-31
| | | | relation is already opened by smgr.
* copy_relation_data was mistakenly assuming that the source relationTom Lane2004-08-31
| | | | | would always be already open at the smgr level. Per bug report from Fabien Coelho.
* Replace log_filename_prefix with more general log_filename parameter,Tom Lane2004-08-31
| | | | | | | to allow DBA to choose the form in which log filenames reflect the current time. Also allow for truncating instead of appending to pre-existing files --- this is convenient when the log filename pattern rewrites the same names cyclically. Per Ed L.
* Improve spinlock selftest to make it able to detect misdeclaration ofTom Lane2004-08-30
| | | | | the slock_t datatype (ie, declared type smaller than what the hardware TAS instruction needs).
* Ensure that the remainder of the current pg_clog page is zeroed duringTom Lane2004-08-30
| | | | startup, just to be sure that there's no leftover junk there.
* Fix failure to advance nextXID beyond subtransactions whose XIDs appearTom Lane2004-08-30
| | | | only within COMMIT or ABORT records.
* Tweak md.c logic to cope with the situation where WAL replay tries toTom Lane2004-08-30
| | | | | | write into a high-numbered segment of a relation that was later deleted. We need to temporarily recreate missing segment files, instead of failing.
* Dept. of second thoughts: it'd be a good idea to flush buffersTom Lane2004-08-30
| | | | | | | | during replay of CREATE DATABASE as well as the first time around. Else it's possible that the copy operation will copy obsolete blocks. We are still a long way from guaranteeing anything about using a recently-written database as a CREATE template, but this seems needed to ensure the existing behavior holds up during replay.
* Another pgindent run with lib typedefs added.Bruce Momjian2004-08-30
|
* Add WAL logging for CREATE/DROP DATABASE and CREATE/DROP TABLESPACE.Tom Lane2004-08-29
| | | | | | | | Fix TablespaceCreateDbspace() to be able to create a dummy directory in place of a dropped tablespace's symlink. This eliminates the open problem of a PANIC during WAL replay when a replayed action attempts to touch a file in a since-deleted tablespace. It also makes for a significant improvement in the usability of PITR replay.
* Widen xl_len field of XLogRecord header to 32 bits, so that we'll haveTom Lane2004-08-29
| | | | | | | | | a more tolerable limit on the number of subtransactions or deleted files in COMMIT and ABORT records. Buy back the extra space by eliminating the xl_xact_prev field, which isn't being used for anything and is rather unlikely ever to be used for anything. This does not force initdb, but you do need to do pg_resetxlog if you want to upgrade an existing 8.0 installation without initdb.
* Pgindent run for 8.0.Bruce Momjian2004-08-29
|
* Update copyright to 2004.Bruce Momjian2004-08-29
|
* Fix for postmaster.c function win32_waitpid(int *exitstatus) call toBruce Momjian2004-08-29
| | | | | | | | | | | | | Win32 WaitForMultipleObjects: ret = WaitForMultipleObjects(win32_numChildren, win32_childHNDArray, FALSE, 0); Problem is 'win32_numChildren' could be more then 64 ( function supports ), problem basically arise ( kills postgres ) when you create more then 64 connections and terminate some of them sill leaving more then 64. Claudio Natoli
* Add hint about using GRANT with non-trusted languages.Bruce Momjian2004-08-29
| | | | James William Pye
* Several Cygwin fixes pointed out by Reini Urban.Bruce Momjian2004-08-29
|
* >>> I understand your disliking of non-posix stuff. OTOH,Bruce Momjian2004-08-29
| | | | | | | | | | | | | | | | | | | | | | | | | >>GetLastError will >>> give much more details than errno. >> >>How much more, really? That mapping table gave me the impression that >>the win32 error codes aren't all that much more detailed than errno... > >The mapping table is not complete. My winerror.h from the SDK >lists 2209 >error codes, whereas errno.h lists 42... > >I still don't think we'll get that much more stuff. Right now, >the Win32 >code paths that actually use the more advanced functions already write >out the error number in case something happens. We can keep doing that >for the other paths (ereport the error *number* when the mapping does >not have a match). The map to errno will catch almost all cases, I >think. And in the corner cases we can do with just the number, and use >"net helpmsg" to get the actual message when checking... Here's an attempt on this. new file goes in backend/port/win32. Magnus Hagander
* Now that TransactionIdDidAbort doesn't think it should try to modifyTom Lane2004-08-28
| | | | | pg_clog, there's no reason to do abort marking of subtransactions in a nonintuitive order.
* Add missing Assert to make TransactionIdDidAbort more consistent withTom Lane2004-08-28
| | | | TransactionIdDidCommit.
* 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.