Commit Graph

27322 Commits

Author SHA1 Message Date
Tom Lane dad4215d0a Experimental patch to see if it fixes MSVC builds ... 2008-10-06 02:55:20 +00:00
Tom Lane 0ff384f0bc Fix the implicit-RTE code to be able to handle implicit RTEs for CTEs, as
well as regular tables.  Per discussion, this seems necessary to meet the
principle of least astonishment.

In passing, simplify the error messages in warnAutoRange().  Now that we
have parser error position info for these errors, it doesn't seem very
useful to word the error message differently depending on whether we are
inside a sub-select or not.
2008-10-06 02:12:56 +00:00
Tom Lane af88c9bbec Fix a missed case in int8-exp-three-digits.out, per buildfarm results. 2008-10-06 00:07:28 +00:00
Tom Lane 8acfc7594d Tweak the overflow checks in integer division functions to complain if the
machine produces zero (rather than the more usual minimum-possible-integer)
for the only possible overflow case.  This has been seen to occur for at least
some word widths on some hardware, and it's cheap enough to check for
everywhere.  Per Peter's analysis of buildfarm reports.

This could be back-patched, but in the absence of any gripes from the field
I doubt it's worth the trouble.
2008-10-05 23:18:37 +00:00
Tom Lane 1e4b03847c Improve behavior of WITH RECURSIVE with an untyped literal in the
non-recursive term.  Per an example from Dickson S. Guedes.
2008-10-05 22:50:55 +00:00
Tom Lane 0814250474 Fix markTargetListOrigin() to not fail on a simple-Var reference to a
recursive CTE that we're still in progress of analyzing.  Add a similar guard
to the similar code in expandRecordVariable(), and tweak regression tests to
cover this case.  Per report from Dickson S. Guedes.
2008-10-05 22:20:17 +00:00
Peter Eisentraut 6151e89e8b Remove some unportable tests 2008-10-05 18:56:09 +00:00
Peter Eisentraut 2cf8afe5d1 Remove obsolete internal functions istrue, isfalse, isnottrue, isnotfalse,
nullvalue, nonvalue.  A long time ago, these were used to implement the SQL
constructs IS TRUE, etc.
2008-10-05 17:33:17 +00:00
Peter Eisentraut d112ead206 Reverse int8.out and int8-exp-three-digits.out mixup. 2008-10-05 15:46:35 +00:00
Peter Eisentraut 34411cfac5 Additional test coverage for int8 type (int8.c)
int8-exp-three-digits.out update untested, might need refinement.
2008-10-05 14:26:30 +00:00
Peter Eisentraut 128849875f Additional test coverage for boolean type (bool.c) 2008-10-05 14:20:03 +00:00
Tom Lane 44d5be0e53 Implement SQL-standard WITH clauses, including WITH RECURSIVE.
There are some unimplemented aspects: recursive queries must use UNION ALL
(should allow UNION too), and we don't have SEARCH or CYCLE clauses.
These might or might not get done for 8.4, but even without them it's a
pretty useful feature.

There are also a couple of small loose ends and definitional quibbles,
which I'll send a memo about to pgsql-hackers shortly.  But let's land
the patch now so we can get on with other development.

Yoshiyuki Asaba, with lots of help from Tatsuo Ishii and Tom Lane
2008-10-04 21:56:55 +00:00
Peter Eisentraut 607b2be7bb Additional string function tests for coverage of oracle_compat.c 2008-10-04 13:55:45 +00:00
Tom Lane d5d552fa01 Add a note about how to check for bare < and & in SGML docs, before the
knowledge disappears again.
2008-10-04 02:19:08 +00:00
Peter Eisentraut 6761a0309b Add regression test for macaddr type. Enhance documentation about accepted
input formats.
2008-10-03 15:37:18 +00:00
Peter Eisentraut 0e4896d53e Fix coverage targets so that HTML view is reliably updated when test data
changes.  Add some documenting comments.
2008-10-03 15:35:17 +00:00
Peter Eisentraut 8f1658cbf3 Put back the copying of some of the regression test data files for vpath
builds.  It is too complicated to fix in another way for now.
2008-10-03 08:00:16 +00:00
Heikki Linnakangas 706a308806 Add relation fork support to pg_relation_size() function. You can now pass
name of a fork ('main' or 'fsm', at the moment) to pg_relation_size() to
get the size of a specific fork. Defaults to 'main', if none given.

While we're at it, modify pg_relation_size to take a regclass as argument,
instead of separate variants taking oid and name. This change is
transparent to typical use where the table name is passed as a string
literal, like pg_relation_size('table'), but will break queries like
pg_relation_size(namecol), where namecol is of type name. text-type input
still works, and using a non-schema-qualified table name is not very
reliable anyway, so this is unlikely to break anyone's queries in practice.
2008-10-03 07:33:10 +00:00
Bruce Momjian 2cc1633a35 Update README.HOT to reflect new snapshot tracking and xmin advancement
code in 8.4.
2008-10-02 20:59:31 +00:00
Tom Lane 607b39855a Fix improper display of fractional seconds in interval values
when using --enable-integer-datetimes and a non-ISO datestyle.

Ron Mayer
2008-10-02 13:47:38 +00:00
Tom Lane 2793af3cc0 Partial fix for contrib vpath breakage. 2008-10-02 12:25:25 +00:00
Heikki Linnakangas 6736da5484 Make the blkno arguments bigints instead of int4s. A signed int4 is not
large enough for block numbers higher than 2^31. The old pre-FSM-rewrite
pg_freespacemap implementation got this right. While we're at it, remove
some unnecessary #includes.
2008-10-02 12:20:50 +00:00
Heikki Linnakangas f10a86ece7 Fix function name in pg_freespacemap docs. It's "pg_freespace", not
"pg_freespacemap". Reported by hubert depesz lubaczewski.
2008-10-02 10:26:51 +00:00
Peter Eisentraut 22c2c695b3 Update pg_regress calls in PL checks to handle vpath builds. 2008-10-02 08:11:11 +00:00
Peter Eisentraut feae7856af Allow pg_regress to be run outside the build tree. Look for input files
in both input and output dir, to handle vpath builds more simply.
2008-10-01 22:38:57 +00:00
Tom Lane dad4cb6258 Improve tuplestore.c to support multiple concurrent read positions.
This facility replaces the former mark/restore support but is otherwise
upward-compatible with previous uses.  It's expected to be needed for
single evaluation of CTEs and also for window functions, so I'm committing
it separately instead of waiting for either one of those patches to be
finished.  Per discussion with Greg Stark and Hitoshi Harada.

Note: I removed nodeFunctionscan's mark/restore support, instead of bothering
to update it for this change, because it was dead code anyway.
2008-10-01 19:51:50 +00:00
Magnus Hagander 233f135144 Link libpq with libgssapi if configure finds it, as
required by at least NetBSD.

Markus Schaaf
2008-10-01 15:35:32 +00:00
Tom Lane 68827a7ada Suppress an uninitialized-variable warning (not all versions of gcc
complain here, but some do)
2008-10-01 14:59:23 +00:00
Heikki Linnakangas f06ef2bede Fix WAL redo of FSM truncation. We can't call smgrtruncate() during WAL
replay, because it tries to XLogInsert().
2008-10-01 08:12:14 +00:00
Tom Lane 6ca1b1cd95 Fix compiler warning (unportable sprintf usage) 2008-09-30 14:15:58 +00:00
Tom Lane d1af2694e5 Fix misspelled comment 2008-09-30 12:51:07 +00:00
Heikki Linnakangas d3de08a008 Rewrite pg_freespacemap to match the new FSM implementation. I missed these
changes from the main FSM commit for some reason.
2008-09-30 11:17:07 +00:00
Heikki Linnakangas 4e6ac2e19b Forgot to bump catalog version in the commit of FSM rewrite. 2008-09-30 11:11:28 +00:00
Heikki Linnakangas 15c121b3ed Rewrite the FSM. Instead of relying on a fixed-size shared memory segment, the
free space information is stored in a dedicated FSM relation fork, with each
relation (except for hash indexes; they don't use FSM).

This eliminates the max_fsm_relations and max_fsm_pages GUC options; remove any
trace of them from the backend, initdb, and documentation.

Rewrite contrib/pg_freespacemap to match the new FSM implementation. Also
introduce a new variant of the get_raw_page(regclass, int4, int4) function in
contrib/pageinspect that let's you to return pages from any relation fork, and
a new fsm_page_contents() function to inspect the new FSM pages.
2008-09-30 10:52:14 +00:00
Tom Lane 2dbc0ca937 Dept of second thoughts: let's make sure that get_index_stats_hook is only
applied to expression indexes, not to plain relations.  The original coding
in btcostestimate conflated the two cases, but it's not hard to use
get_relation_stats_hook instead when we're looking to the underlying relation.
2008-09-28 20:42:12 +00:00
Tom Lane 7b7df9f0b1 Add hooks to let plugins override the planner's lookups in pg_statistic.
Simon Riggs, with some editorialization by me.
2008-09-28 19:51:40 +00:00
Andrew Dunstan bc965e840a Compare escaped chars case insensitively for ILIKE - per gripe from TGL. 2008-09-27 16:53:54 +00:00
Tom Lane b1e929f295 Fix pointer-advancement bugs in MS and US cases of new to_timestamp() code.
Alex Hunsaker
2008-09-26 15:35:28 +00:00
Tom Lane 3d8fd75732 Make LIKE throw an error if the escape character is at the end of the pattern
(ie, has nothing to quote), rather than silently ignoring the character as has
been our historical behavior.  This is required by SQL spec and should help
reduce the sort of user confusion seen in bug #4436.  Per discussion.

This is not so much a bug fix as a definitional change, and it could break
existing applications; so not back-patched.  It might deserve being mentioned
as an incompatibility in the 8.4 release notes.
2008-09-26 02:16:40 +00:00
Tom Lane e8e746de34 Establish the rule that array types should have the same typdelim as their
element types.  Since the backend doesn't actually pay attention to the array
type's delimiter, this has no functional effect, but it seems better for the
catalog entries to be consistent.  Per gripe from Greg Mullane and subsequent
discussion.
2008-09-25 03:28:56 +00:00
Bruce Momjian 436e6af2ad Add documentation about when trigger values NEW/OLD return NULL.
Jeff Davis
2008-09-24 19:51:22 +00:00
Bruce Momjian fb4bb8b9c5 Fix integral timestamps so the output is consistent in all cases to
round:

	select interval '0:0:0.7', interval '@ 0.70 secs', interval '0.7
		seconds';

Ron Mayer
2008-09-24 19:46:44 +00:00
Heikki Linnakangas 83c3121403 Fix pg_dump bug in the database-level collation patch. "datcollate" and
"datctype" columns were misspelled. Per report from Chris Browne.
2008-09-24 19:33:15 +00:00
Tom Lane 96a25d393c Fix more problems with rewriter failing to set Query.hasSubLinks when inserting
a SubLink expression into a rule query.  We missed cases where the original
query contained a sub-SELECT in a function in FROM, a multi-row VALUES list,
or a RETURNING list.  Per bug #4434 from Dean Rasheed and subsequent
investigation.

Back-patch to 8.1; older releases don't have the issue because they didn't
try to be smart about setting hasSubLinks only when needed.
2008-09-24 16:52:46 +00:00
Bruce Momjian 93eab311e4 Fix markup tag error, envvar -> envar. 2008-09-24 16:30:26 +00:00
Tom Lane 739c614f41 Fix unportable syntax used in recent patch. Per results from
buildfarm member 'bear'.
2008-09-24 14:40:00 +00:00
Magnus Hagander 660ad48d3b Silence compiler warning caused by recent collation patch. 2008-09-24 09:00:44 +00:00
Magnus Hagander 607b7166d8 Make sure pg_control is opened in binary mode, to deal
with situtations when the file contains an EOF maker
(0x1A) on Windows.

ITAGAKI Takahiro
2008-09-24 08:59:42 +00:00
Magnus Hagander cdf5357ec9 Only show source file and line numbers to superusers, for consistent
security level with other parts of the system.

Per gripe from Tom
2008-09-23 21:12:03 +00:00
Bruce Momjian 5f7b25d5d5 Add comment about the use of EXEC_BACKEND. 2008-09-23 20:35:38 +00:00