aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
* Set a snapshot before running analyze on a single table, to avoid aAlvaro Herrera2005-11-28
| | | | crash when analyzing tables with expressional indexes.
* Add missing semicolon. Recent versions of bison seem to choke on this,Tom Lane2005-11-27
| | | | per buildfarm report from platypus, even though older versions let it pass.
* Get rid of ExecAssignResultTypeFromOuterPlan() and make all plan node typesTom Lane2005-11-23
| | | | | | | | | | | generate their output tuple descriptors from their target lists (ie, using ExecAssignResultTypeFromTL()). We long ago fixed things so that all node types have minimally valid tlists, so there's no longer any good reason to have two different ways of doing it. This change is needed to fix bug reported by Hayden James: the fix of 2005-11-03 to emit the correct column names after optimizing away a SubqueryScan node didn't work if the new top-level plan node used ExecAssignResultTypeFromOuterPlan to generate its tupdesc, since the next plan node down won't have the correct column labels.
* Fix problems with rewriter failing to set Query.hasSubLinks when insertingTom Lane2005-11-23
| | | | | | | a SubLink expression into a rule query. Pre-8.1 we essentially did this unconditionally; 8.1 tries to do it only when needed, but was missing a couple of cases. Per report from Kyle Bateman. Add some regression test cases covering this area.
* Re-run pgindent, fixing a problem where comment lines after a blankBruce Momjian2005-11-22
| | | | | | | | | comment line where output as too long, and update typedefs for /lib directory. Also fix case where identifiers were used as variable names in the backend, but as typedefs in ecpg (favor the backend for indenting). Backpatch to 8.1.X.
* Modify tuptoaster's API so that it does not try to modify the passedTom Lane2005-11-20
| | | | | | | | | tuple in-place, but instead passes back an all-new tuple structure if any changes are needed. This is a much cleaner and more robust solution for the bug discovered by Alexey Beschiokov; accordingly, revert the quick hack I installed yesterday. With this change, HeapTupleData.t_datamcxt is no longer needed; will remove it in a separate commit in HEAD only.
* Stopgap solution for problem reported by Alexey Beschiokov: afterTom Lane2005-11-19
| | | | | | | doing heap_insert or heap_update, wipe out any extracted fields in the TupleTableSlot containing the tuple, because they might not be valid anymore if tuptoaster.c changed the tuple. Safe because slot must be in the materialized state, but mighty ugly --- find a better answer!
* Fix performance issue in exprTypmod(): for a COALESCE expression, itTom Lane2005-11-18
| | | | | | recursed twice on its first argument, leading to exponential time spent on a deep nest of COALESCEs ... such as a deeply nested FULL JOIN would produce. Per report from Matt Carter.
* make psql honor explicit database parameter in -l mode, in case "postgres" ↵Andrew Dunstan2005-11-17
| | | | database is missing - per complaint from Philip Yarra.
* DropRelFileNodeBuffers failed to fix the state of the lookup hash tableTom Lane2005-11-17
| | | | | | | | that was added to localbuf.c in 8.1; therefore, applying it to a temp table left corrupt lookup state in memory. The only case where this had a significant chance of causing problems was an ON COMMIT DELETE ROWS temp table; the other possible paths left bogus state that was unlikely to be used again. Per report from Csaba Nagy.
* make_restrictinfo() failed to attach the specified required_relids toTom Lane2005-11-16
| | | | | its result when the clause was an OR clause. Brain fade exposed by example from Sebastian BÎck.
* Properly document return value of strpos().Bruce Momjian2005-11-16
|
* Have test_fsync honor -f filename argument.Bruce Momjian2005-11-16
|
* Prevent certain symbols that are used for both typedefs and variableBruce Momjian2005-11-15
| | | | | | | names from being added to pgindent's typedef list. The existance of them caused weird formatting in the date/type files, and in keywords.c. Backpatch to 8.1.X.
* Fix recent problems with BSD indent, including indenting past 80Bruce Momjian2005-11-15
| | | | | | | columns, shifting comment to the right when more than 150 'else if' clauses were used, and update typedefs for 8.1.X. NetBSD patched updated, with documentation.
* Restore the former RestrictInfo field valid_everywhere (but invert the flagTom Lane2005-11-14
| | | | | | | | | | sense and rename to "outerjoin_delayed" to more clearly reflect what it means). I had decided that it was redundant in 8.1, but the folly of this is exposed by a bug report from Sebastian Böck. The place where it's needed is to prevent orindxpath.c from cherry-picking arms of an outer-join OR clause to form a relation restriction that isn't actually legal to push down to the relation scan level. There may be some legal cases that this forbids optimizing, but we'd need much closer analysis to determine it.
* Translation typo fixAlvaro Herrera2005-11-14
|
* Re-run pgindent to fix breakage when exceeding 150 'else if' clauses.Bruce Momjian2005-11-14
| | | | Cosmetic fix only.
* Prevent ExecInsert() and ExecUpdate() from scribbling on the result tupleTom Lane2005-11-14
| | | | | | | slot of the topmost plan node when a trigger returns a modified tuple. These appear to be the only places where a plan node's caller did not treat the result slot as read-only, which is an assumption that nodeUnique makes as of 8.1. Fixes trigger-vs-DISTINCT bug reported by Frank van Vugt.
* Force the second argument of SUBSTRING(foo FOR bar) to be int4, to avoidTom Lane2005-11-13
| | | | | | | surprising results when it's some other numeric type. This doesn't solve the generic problem of surprising implicit casts to text, but it's a low-impact way of making sure this particular case behaves sanely. Per gripe from Harald Fuchs and subsequent discussion.
* Revert pgindent length back to 79 because we are going to fix the BSDBruce Momjian2005-11-13
| | | | indent bug.
* add missing quote mark to ident_file sample line - per Hiroshi SaitoAndrew Dunstan2005-11-10
|
* When in transaction-aborted state, reject Bind message for portals containingTom Lane2005-11-10
| | | | | | | | | | anything but transaction-exiting commands (ROLLBACK etc). We already rejected Parse and Execute in such cases, so there seems little point in allowing Bind. This prevents at least an Assert failure, and probably worse things, since there's a lot of infrastructure that doesn't work when not in a live transaction. We can also simplify the Bind logic a bit by rejecting messages with a nonzero number of parameters, instead of the former kluge to silently substitute NULL for each parameter. Per bug #2033 from Joel Stevenson.
* Fix misspelling of 'listen_addresses', per Devrim.Tom Lane2005-11-09
|
* Translation updates.Alvaro Herrera2005-11-07
|
* Translation updates.Alvaro Herrera2005-11-06
|
* Repair an error introduced by log_line_prefix patch: it is not acceptableTom Lane2005-11-05
| | | | | | | | | | | to assume that the string pointer passed to set_ps_display is good forever. There's no need to anyway since ps_status.c itself saves the string, and we already had an API (get_ps_display) to return it. I believe this explains Jim Nasby's report of intermittent crashes in elog.c when %i format code is in use in log_line_prefix. While at it, repair a previously unnoticed problem: on some platforms such as Darwin, the string returned by get_ps_display was blank-padded to the maximum length, meaning that lock.c's attempt to append " waiting" to it never worked.
* Add mention to update FAQ item on most recent release to RELEASE_CHANGES.Bruce Momjian2005-11-05
|
* Improve description of constraint_exclusion variable.Tom Lane2005-11-04
|
* Translation updatesPeter Eisentraut2005-11-04
|
* Remove a gratuitous string difference (does not affect translations).Peter Eisentraut2005-11-04
|
* Fix logical error in option description.Peter Eisentraut2005-11-04
|
* Ensure that we only create one ConsoleCtrlHandler per psql process,Tom Lane2005-11-04
| | | | | so as to avoid performance issues and possible ultimate crash on long psql scripts. Per Merlin Moncure.
* Disregard superuserness when checking to see if a role GRANT wouldTom Lane2005-11-04
| | | | | | | | | create circularity of role memberships. This is a minimum-impact fix for the problem reported by Florian Pflug. I thought about removing the superuser_arg test from is_member_of_role() altogether, as it seems redundant for many of the callers --- but not all, and it's way too late in the 8.1 cycle to be making large changes. Perhaps reconsider this later.
* Fix a couple of missed None -> DestNone in comments.Tom Lane2005-11-03
|
* Fix one overlooked ocurrence of "None" in EXEC_BACKEND block.Alvaro Herrera2005-11-03
|
* Thinking further, it seems we had better also copy down resorigtbl/resorigcolTom Lane2005-11-03
| | | | | to ensure that SubqueryScan elimination doesn't change the behavior of reporting of original column sources.
* Fix the recently-added code that eliminates unnecessary SubqueryScan nodesTom Lane2005-11-03
| | | | | | | from a finished plan tree. We have to copy the output column names (resname fields) from the SubqueryScan down to its child plan node; else, if this is the topmost level of the plan, the wrong column names will be delivered to the client. Per bug #2017 reported by Jolly Chen.
* Rename the members of CommandDest enum so they don't collide with other uses ofAlvaro Herrera2005-11-03
| | | | | those names. (Debug and None were pretty bad names anyway.) I hope I catched all uses of the names in comments too.
* Translation updates.Alvaro Herrera2005-11-03
|
* Fix longstanding race condition in transaction log management: there was aTom Lane2005-11-03
| | | | | | | | | | | very narrow window in which SimpleLruReadPage or SimpleLruWritePage could think that I/O was needed when it wasn't (and indeed the buffer had already been assigned to another page). This would result in an Assert failure if Asserts were enabled, and probably in silent data corruption if not. Reported independently by Jim Nasby and Robert Creager. I intend a more extensive fix when 8.2 development starts, but this is a reasonably low-impact patch for the existing branches.
* Provide a --no-locale option for pg_regress and a corresponding NOLOCALE=1Andrew Dunstan2005-11-01
| | | | | | | setting for the regression makefile, allowing Windows users to force locale settings since Windows does not get its locale from the environment. Per Petr Jelinek.
* Update a couple of obsolete comments.Tom Lane2005-10-29
|
* Translation updatesPeter Eisentraut2005-10-29
|
* Message correctionsPeter Eisentraut2005-10-29
|
* Reorder code so that we don't have to hold a critical section whileTom Lane2005-10-28
| | | | | reserving SLRU space for a new MultiXact. The original coding would have treated out-of-disk-space as a PANIC condition, which is unnecessary.
* Clean up AIX build to avoid 'duplicate symbol' warnings, by moving useTom Lane2005-10-28
| | | | | | | of postgres.imp file into BE_DLLLIBS macro. This makes the AIX build work more like the Windows and Darwin builds, which have similar requirements to mention a backend library when linking shared libraries that will be dynamically loaded into the backend.
* Fix race condition in multixact code: it's possible to try to read aTom Lane2005-10-28
| | | | | | | | | | multixact's starting offset before the offset has been stored into the SLRU file. A simple fix would be to hold the MultiXactGenLock until the offset has been stored, but that looks like a big concurrency hit. Instead rely on knowledge that unset offsets will be zero, and loop when we see a zero. This requires a little extra hacking to ensure that zero is never a valid value for the offset. Problem reported by Matteo Beccati, fix ideas from Martijn van Oosterhout, Alvaro Herrera, and Tom Lane.
* Add an ifneq to avoid make warning on AIX --- there is a separate ruleTom Lane2005-10-27
| | | | | for postgres: on line 86, and line 43 shouldn't be used. Noted while looking at kookaburra buildfarm results.
* Tweak buffer manager so that 'internal' accesses to a buffer do notTom Lane2005-10-27
| | | | | | | | advance its usage_count. This includes writes of dirty buffers triggered by bgwriter, checkpoint, or FlushRelationBuffers, as well as various corner cases that really ought not count as accesses to the page. Should make for some marginal improvement in the quality of our decisions about when to recycle buffers. Per suggestion from ITAGAKI Takahiro.