1
0
mirror of https://github.com/postgres/postgres.git synced 2025-05-31 03:21:24 +03:00

21586 Commits

Author SHA1 Message Date
Bruce Momjian
fc9b777a79 Improve documentation for COALESCE and NULLIF. Add references for NVL
and IFNULL.

Backpatch to 8.1.X.
2005-11-28 23:19:03 +00:00
Alvaro Herrera
8f105ad65c Install a more future-proof fix for the snapshot-unset bug just found.
Per suggestion from Tom Lane.
2005-11-28 17:23:12 +00:00
Tom Lane
7e3cdc631e Recent changes to allow hash join to exit early given empty input from
one child or the other had a problem: they did not leave the node in a
state that ExecReScanHashJoin would understand.  In particular it would
tend to fail to reset the child plans when needed.  Per report from
Mario Weilguni.
2005-11-28 17:14:47 +00:00
Alvaro Herrera
4123dbb75d Set a snapshot before running analyze on a single table, to avoid a
crash when analyzing tables with expressional indexes.
2005-11-28 13:34:10 +00:00
Tom Lane
73fa3d9a96 Add missing semicolon. Recent versions of bison seem to choke on this,
per buildfarm report from platypus, even though older versions let it pass.
2005-11-27 01:22:36 +00:00
Tom Lane
fd3ac58b68 Get rid of ExecAssignResultTypeFromOuterPlan() and make all plan node types
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.
2005-11-23 20:28:05 +00:00
Tom Lane
f1e08506e9 Fix problems with rewriter failing to set Query.hasSubLinks when inserting
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.
2005-11-23 17:21:22 +00:00
Tatsuo Ishii
45722010ef Having blank lines in -f scripts was causing silent failures.
per David Fetter
2005-11-23 13:23:34 +00:00
Bruce Momjian
bef7764835 Re-run pgindent, fixing a problem where comment lines after a blank
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.
2005-11-22 18:23:31 +00:00
Tom Lane
c8de36352f Modify tuptoaster's API so that it does not try to modify the passed
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.
2005-11-20 18:38:42 +00:00
Tom Lane
efd2ae8f19 Stopgap solution for problem reported by Alexey Beschiokov: after
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!
2005-11-19 20:58:42 +00:00
Tom Lane
dccfa4d3f2 Fix performance issue in exprTypmod(): for a COALESCE expression, it
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.
2005-11-18 23:08:13 +00:00
Bruce Momjian
1012a93264 Update Japanese FAQ.
J.Kuwamura
2005-11-18 00:41:26 +00:00
Andrew Dunstan
eed9eb446a make psql honor explicit database parameter in -l mode, in case "postgres" database is missing - per complaint from Philip Yarra. 2005-11-17 23:49:44 +00:00
Tom Lane
be324ad2ab DropRelFileNodeBuffers failed to fix the state of the lookup hash table
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.
2005-11-17 17:42:24 +00:00
Tom Lane
175ab4c00c make_restrictinfo() failed to attach the specified required_relids to
its result when the clause was an OR clause.  Brain fade exposed by
example from Sebastian BÎck.
2005-11-16 17:08:12 +00:00
Bruce Momjian
1cb945bd50 Properly document return value of strpos(). 2005-11-16 03:56:35 +00:00
Bruce Momjian
e68974665b Have test_fsync honor -f filename argument. 2005-11-16 01:31:14 +00:00
Bruce Momjian
b064cf0b7c Prevent certain symbols that are used for both typedefs and variable
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.
2005-11-15 14:45:14 +00:00
Bruce Momjian
b2625c13e0 Fix recent problems with BSD indent, including indenting past 80
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.
2005-11-15 01:02:13 +00:00
Tom Lane
659d3b2b0e Restore the former RestrictInfo field valid_everywhere (but invert the flag
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.
2005-11-14 23:54:36 +00:00
Alvaro Herrera
c42d633352 Translation typo fix 2005-11-14 22:08:29 +00:00
Bruce Momjian
2286192feb Re-run pgindent to fix breakage when exceeding 150 'else if' clauses.
Cosmetic fix only.
2005-11-14 17:46:07 +00:00
Tom Lane
431178ae67 Prevent ExecInsert() and ExecUpdate() from scribbling on the result tuple
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.
2005-11-14 17:43:13 +00:00
Tom Lane
f82df77c9d Force the second argument of SUBSTRING(foo FOR bar) to be int4, to avoid
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.
2005-11-13 19:11:45 +00:00
Bruce Momjian
53de65af49 Revert pgindent length back to 79 because we are going to fix the BSD
indent bug.
2005-11-13 02:42:24 +00:00
Andrew Dunstan
6f90fd6948 add missing quote mark to ident_file sample line - per Hiroshi Saito 2005-11-10 14:02:59 +00:00
Tom Lane
52724454df When in transaction-aborted state, reject Bind message for portals containing
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.
2005-11-10 00:31:40 +00:00
Tom Lane
067176b934 Fix misspelling of 'listen_addresses', per Devrim. 2005-11-09 17:44:15 +00:00
Alvaro Herrera
67b9e7f996 Translation updates. 2005-11-07 02:21:26 +00:00
Alvaro Herrera
1aa5e009d4 Translation updates. 2005-11-06 02:55:16 +00:00
PostgreSQL Daemon
2a80c3c4dc Tag everything for 8.1.0 ... Finally, a relesae on scheduale!! REL8_1_0 2005-11-05 04:01:57 +00:00
Tom Lane
48052de722 Repair an error introduced by log_line_prefix patch: it is not acceptable
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.
2005-11-05 03:04:53 +00:00
Bruce Momjian
95af2633c3 Add mention to update FAQ item on most recent release to RELEASE_CHANGES. 2005-11-05 01:38:44 +00:00
Bruce Momjian
75a429463a Update FAQ for most recent release as 8.1. 2005-11-05 01:35:18 +00:00
Tom Lane
9ba4c42401 Yet another supported-platforms update. 2005-11-05 00:04:04 +00:00
Tom Lane
fd68553860 Editorial review for partitioning/constraint exclusion documentation. 2005-11-04 23:53:18 +00:00
Tom Lane
58d6316d50 Improve description of constraint_exclusion variable. 2005-11-04 23:50:30 +00:00
Peter Eisentraut
8959e9b9d3 Translation updates 2005-11-04 23:31:12 +00:00
Peter Eisentraut
39dfbe5791 Spellchecking run, final cleanups 2005-11-04 23:14:02 +00:00
Bruce Momjian
1630571a04 Update release notes for 8.1. 2005-11-04 22:21:33 +00:00
Peter Eisentraut
6ec1ec6684 Remove a gratuitous string difference (does not affect translations). 2005-11-04 22:19:04 +00:00
Peter Eisentraut
9e1843c7ee Fix logical error in option description. 2005-11-04 22:18:26 +00:00
Tom Lane
af331e2526 Ensure that we only create one ConsoleCtrlHandler per psql process,
so as to avoid performance issues and possible ultimate crash on long
psql scripts.  Per Merlin Moncure.
2005-11-04 18:35:40 +00:00
Bruce Momjian
081ed99b1e We haven't seen any agreement emerge as to what is causing AIX 5.3 ML3
to fail to successfully build the release candidates.

However, a patch has emerged (thanks, Seneca!) that does allow it to
work, and which I'd expect to be portable (better still!).

We are still actively pursuing why it breaks, but supposing that still
remains outstanding, at least the following would allow AIX users to
better survive a build...

Chris Browne
2005-11-04 18:16:50 +00:00
Tom Lane
c3d8de0907 Disregard superuserness when checking to see if a role GRANT would
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.
2005-11-04 17:25:15 +00:00
Tom Lane
e47ea0566c Update supported-platforms list. 2005-11-04 16:15:20 +00:00
Tom Lane
03381695c6 Avoid referring to a specific version of the SQL standard except where
necessary, and be careful to refer to the right version where it is
useful to do so.  This partially reverts an ill-considered search and
replace from a few months ago.
2005-11-04 02:56:31 +00:00
Tom Lane
60945aaf41 Fix a couple of missed None -> DestNone in comments. 2005-11-03 21:35:57 +00:00
Alvaro Herrera
66294e13fb Fix one overlooked ocurrence of "None" in EXEC_BACKEND block. 2005-11-03 20:02:50 +00:00