Commit graph

6179 commits

Author SHA1 Message Date
Tom Lane
43d50ba4dd query_tree_mutator should copy RangeTblEntry nodes even when it's not
planning to modify them itself.  Otherwise we end up with shared RTE
substructure, which breaks inheritance_planner because the rte->inh
flag needs to be independent in each copied subquery.  Per bug report
from Chris Piker.
2003-12-09 01:56:41 +00:00
Tom Lane
1b1d2d5f31 Whole-row references were broken for subqueries and functions, because
attr_needed/attr_widths optimization failed to allow for Vars with attno
zero in this case.  Per report from Tatsuo Ishii.
2003-12-08 18:20:10 +00:00
Tom Lane
f3bc5ae452 Remove test on c.relkind from check_constraints view; unnecessary and
prevents view from showing constraints on domains.  This addresses the
other half of Claus Colloseus' bug report.
2003-12-07 19:43:13 +00:00
Peter Eisentraut
d5130d2387 Fix typmod interpretation for bit types. (It was erroneously assumed that
for bit(x), the typmod stores x+4, like for the character types.)
2003-12-07 10:18:50 +00:00
Joe Conway
14ddc01eaf Repair indexed bytea like operations, and related selectivity
functionality. Per bug report by Alvar Freude:
http://archives.postgresql.org/pgsql-bugs/2003-12/msg00022.php
2003-12-07 04:12:50 +00:00
Tom Lane
88ae594bde Guard against bug in Solaris' bsearch(), per Michael Wildpaner. 2003-12-05 15:50:39 +00:00
Tom Lane
b255350864 Planner failed to be smart about binary-compatible expressions in pathkeys
and hash bucket-size estimation.  Issue has been there awhile but is more
critical in 7.4 because it affects varchar columns.  Per report from
Greg Stark.
2003-12-03 17:45:38 +00:00
Tom Lane
a8cdd6459c netmask() and hostmask() functions should return maximum-length masklen,
per gripe from Joe Sunday.
2003-12-01 18:50:29 +00:00
Tom Lane
090bdcb317 Force zero_damaged_pages to be effectively ON during recovery from WAL,
since there is no need to worry about damaged pages when we are going to
overwrite them anyway from the WAL.  Per recent discussion.
2003-12-01 16:53:30 +00:00
Joe Conway
10b84be9b3 Make PQescapeBytea and byteaout consistent with each other, and
octal escape all octets outside the range 0x20 to 0x7e. This fixes
the problem pointed out by Sergey Yatskevich here:
http://archives.postgresql.org/pgsql-bugs/2003-11/msg00140.php
2003-11-30 20:53:43 +00:00
Tom Lane
2312e20fb9 Second try at fixing no-room-to-move-down PANIC in compact_fsm_storage.
Ward's report that it can still happen in RC2 forces me to realize that
this is not a can't-happen condition after all, and that the compaction
code had better cope rather than panicking.
2003-11-26 20:50:26 +00:00
Tom Lane
d6dd992b4c Repair subselect.c's occasional assignment of the wrong vartypmod to
Vars created to fill subplan args lists.  This is an ancient error, going
back at least to 7.0, but is more easily triggered in 7.4 than before
because we no longer compare varlevelsup when deciding whether a Param
slot can be re-used.  Fixes bug reported by Klint Gore.
2003-11-25 23:59:32 +00:00
Tom Lane
9765c6a9a3 Band-aid solution for problems with SubPlans used in hash join clauses,
per report from Andrew Holm-Hansen.  The difficulty arises from the fact
that the planner allowed a Hash node's hashkeys to share substructure
with the parent HashJoin node's hashclauses, plus some rather bizarre
choices about who initializes what during executor startup.  A cleaner
but more invasive solution is to not store hashkeys separately in the
plan tree at all, but let the HashJoin node deconstruct hashclauses
during executor startup.  I plan to fix it that way in HEAD.
2003-11-25 19:17:16 +00:00
Tom Lane
c144a42cac Overdue code review for ALTER SEQUENCE patch. Don't generate illegal Node
tree for CYCLE option; don't assume zeros are invalid values for sequence
fields other than increment_by; don't reset cache_value when not told to;
simplify code for testing whether to apply defaults.
2003-11-24 16:54:15 +00:00
Tom Lane
511887f8c0 Repair missed renamings of show_statement_stats and show_executor_stats. 2003-11-24 14:50:02 +00:00
Tom Lane
fc2e2ef64e Fix datetime input parsing to accept YYYY-MONTHNAME-DD and related syntaxes,
which had been unintentionally broken by recent changes to tighten up the
DateStyle rules for all-numeric date input.  Add documentation and
regression tests for this, too.
2003-11-16 20:29:34 +00:00
Peter Eisentraut
75c2cf9567 Translation update for last-minute change 2003-11-16 08:59:21 +00:00
Tom Lane
3bdde811d9 Make creation of statistics collection socket more robust, by allowing it
to try additional addresses returned from getaddrinfo() if the first one
fails at the bind() or connect() steps.  Per yesterday's discussion.
2003-11-15 17:24:19 +00:00
Peter Eisentraut
64c11b9b87 Translation updates 2003-11-15 10:20:02 +00:00
Peter Eisentraut
720c8491ff Translation updates 2003-11-14 02:05:04 +00:00
Bruce Momjian
3466e33eac Default ioctlsocket_ret to 1 in case Cygwin needs it for 7.4 --- already
in HEAD.
2003-11-11 21:37:35 +00:00
Tom Lane
c3bc15f422 Correct misspellings of REFERENCES. 2003-11-08 20:43:57 +00:00
Tom Lane
cda57fa035 Don't need hack copy of system() anymore in OS X 10.3. 2003-11-08 20:14:57 +00:00
Tom Lane
c8fcb38363 Fix process-status handling for OS X 10.3. 2003-11-08 19:07:30 +00:00
Tom Lane
87c93e112b Cause stats processes to detach from shared memory when started, so that
they do not prevent the postmaster from deleting the shmem segment during
a post-backend-crash restart cycle.  Per recent discussion.
2003-11-07 21:56:02 +00:00
Tom Lane
8762e10174 zero_damaged_pages must absolutely NOT be marked GUC_DISALLOW_IN_FILE,
else it cannot be used to handle failures detected during WAL replay.
Fortunately this flag isn't actually enforced yet, but get it right.
2003-11-07 21:27:50 +00:00
Tom Lane
5781237531 Fix for this problem:
regression=# select 1 from tenk1 ta cross join tenk1 tb for update;
ERROR:  no relation entry for relid 3

7.3 said "SELECT FOR UPDATE cannot be applied to a join", which was better
but still wrong, considering that 7.2 took the query just fine.  Fix by
making transformForUpdate() ignore JOIN and other special RTE types,
rather than trying to mark them FOR UPDATE.  The actual error message now
only appears if you explicitly name the join in FOR UPDATE.
2003-11-05 22:00:52 +00:00
Tom Lane
4240d2bffd Update future-tense comments in README to present tense. Noted by
Neil Conway.
2003-10-31 22:48:08 +00:00
Tom Lane
8545482947 When a superuser does GRANT or REVOKE on an object he doesn't own,
process the command as though it were issued by the object owner.
This prevents creating weird scenarios in which the same privileges
may appear to flow from different sources, and ensures that a superuser
can in fact revoke all privileges if he wants to.  In particular this
means that the regression tests work when run by a superuser other than
the original bootstrap userid.  Per report from Larry Rosenman.
2003-10-31 20:00:49 +00:00
Jan Wieck
cc4baf4da3 Fix for possible referential integrity violation when a qualified ON INSERT
rule split the query into one INSERT and one UPDATE where the UPDATE
then hit's the just created row without modifying the key fields again.
In this special case, the new key slipped in totally unchecked.

Jan
2003-10-31 03:58:21 +00:00
Tom Lane
f016c92ea4 Fix some corner cases in ACL manipulation: don't foul up on an empty
ACL array, and force languages to be treated as owned by the bootstrap
user ID.  (pg_language should have a lanowner column, but until it does
this will have to do as a workaround.)
2003-10-29 22:20:54 +00:00
Tom Lane
a35deb5400 Give a useful error message if a RangeVar is encountered in an expression.
Per example from Ian Barwick, 28-Oct-03.
2003-10-29 18:10:15 +00:00
Tom Lane
abec4cbf1f compact_fsm_storage() does need to handle the case where a relation's
FSM data has to be both moved down and compressed.  Per report from
Dror Matalon.
2003-10-29 17:36:57 +00:00
Bruce Momjian
700f7f4227 Change Solaris tests to test for SHM_SHARE_MMU, per Tom. 2003-10-27 18:30:07 +00:00
Bruce Momjian
d47e9bd023 'sun' => '__sun__' 2003-10-26 04:54:44 +00:00
Bruce Momjian
15f98a3e51 Test for 'sun' rather than 'solaris' for intimate shared memory. 2003-10-26 04:53:24 +00:00
Peter Eisentraut
8e8816c777 Translation update 2003-10-25 18:18:19 +00:00
Bruce Momjian
6db0a6b035 Remove socket credentials defines not referenced. 2003-10-25 03:48:47 +00:00
Peter Eisentraut
b3be5e65e8 Translation updates 2003-10-24 12:07:56 +00:00
Tom Lane
1df7a455dd It is possible for ResolveNew to be used to insert a sublink into a
subquery that didn't previously have one.  We have traditionally made
the caller of ResolveNew responsible for updating the hasSubLinks flag
of the outermost query, but this fails to account for hasSubLinks in
subqueries.  Fix ResolveNew to handle this.  We might later want to
change the calling convention of ResolveNew so that it can fix the
outer query too, simplifying callers.  But I went with the localized
fix for now.  Per bug report from J Smith, 20-Oct-03.
2003-10-20 20:01:59 +00:00
Tom Lane
17841ddbbf Improve error reporting in parseTypeString(), motivated by confusing
behavior reported by Martin Marques.
2003-10-20 17:25:42 +00:00
Tom Lane
6f169057de Save_r, Save_t should be static not global variables. 2003-10-19 23:43:51 +00:00
Peter Eisentraut
9d77708d83 Cleanup on --help-config: Now called --describe-config, no further options,
machine readable, without headers, not sorted.  Parameter descriptions
adjusted to fit first sentence + rest convention.
2003-10-18 22:59:09 +00:00
Tom Lane
e341cdb085 Further work on information_schema. _pg_keyissubset() wasn't quite
fully search-path-proof yet; also, element_types view did not work for
parameters and result types of functions, because it didn't generate
the object_name for the function the same way the data_type_privileges
view does.  While at it, centralize dependencies on INDEX_MAX_KEYS/
FUNC_MAX_ARGS into a function returning setof int, so that it will be
easier to fix information_schema for nonstandard values of these
parameters.
2003-10-18 19:06:10 +00:00
Tom Lane
eda80f09ff Repair interaction between IN-join processing and subselect pullup that
I inadvertently broke a few days ago (per report from Sean Thomas).
Add regression test case to try to catch any similar breakage in future.
2003-10-18 16:52:15 +00:00
Tom Lane
c02036b1d8 Simplify loop test to avoid bug in AIX compiler, per Andreas. 2003-10-18 15:38:06 +00:00
Peter Eisentraut
9ea6d0fc80 Information schema fixes:
Use pg_get_constraintdef instead of pg_constraint.consrc
Use UNION ALL instread of UNION
Make use of regclass type for getting OID of system catalogs
Add schema qualifications where necessary
Fix typos
2003-10-18 12:53:35 +00:00
Tom Lane
bbba5080b5 Fix elog tab-insertion code to insert tabs only where wanted. 2003-10-17 16:49:03 +00:00
Tom Lane
fe1b5034dd Adjust display of actual runtimes in EXPLAIN output to use three fractional
digits, and label it 'ms' not 'msec', for consistency with psql's \timing
display.  Per recent discussions.
2003-10-17 01:14:26 +00:00
Peter Eisentraut
44430dbc15 Fix bugs in referential_constraints view. 2003-10-16 23:46:17 +00:00