summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2008-10-07Improve backend flowchart to show more detail.Bruce Momjian
2008-10-07Fix oversight in recent patch to support multiple read positions inTom Lane
tuplestore: in READFILE state tuplestore_select_read_pointer must save the current file seek position in the read pointer being deactivated.
2008-10-06Fix up ruleutils.c for CTE features. The main problem was thatTom Lane
get_name_for_var_field didn't have enough context to interpret a reference to a CTE query's output. Fixing this requires separate hacks for the regular deparse case (pg_get_ruledef) and for the EXPLAIN case, since the available context information is quite different. It's pretty nearly parallel to the existing code for SUBQUERY RTEs, though. Also, add code to make sure we qualify a relation name that matches a CTE name; else the CTE will mistakenly capture the reference when reloading the rule. In passing, fix a pre-existing problem with get_name_for_var_field not working on variables in targetlists of SubqueryScan plan nodes. Although latent all along, this wasn't a problem until we made EXPLAIN VERBOSE try to print targetlists. To do this, refactor the deparse_context_for_plan API so that the special case for SubqueryScan is all on ruleutils.c's side.
2008-10-06When expanding a whole-row Var into a RowExpr during ResolveNew(), attachTom Lane
the column alias names of the RTE referenced by the Var to the RowExpr. This is needed to allow ruleutils.c to correctly deparse FieldSelect nodes referencing such a construct. Per my recent bug report. Adding a field to RowExpr forces initdb (because of stored rules changes) so this solution is not back-patchable; which is unfortunate because 8.2 and 8.3 have this issue. But it only affects EXPLAIN for some pretty odd corner cases, so we can probably live without a solution for the back branches.
2008-10-06Fix GetCTEForRTE() to deal with the possibility that the RTE it's given cameTom Lane
from a query level above the current ParseState.
2008-10-06Use fork names instead of numbers in the file names for additionalHeikki Linnakangas
relation forks. While the file names are not visible to users, for those that do peek into the data directory, it's nice to have more descriptive names. Per Greg Stark's suggestion.
2008-10-06Add columns boot_val and reset_val to the pg_settings view, to exposeMagnus Hagander
the value a parameter has at server start and will have after RESET, respectively. Greg Smith, with some modifications by me.
2008-10-06Index FSMs needs to be vacuumed as well. Report by Jeff Davis.Heikki Linnakangas
2008-10-06Random speculation about the reason for PPC64 buildfarm failures:Tom Lane
maybe isalnum is returning a value with the low-order byte all zero?
2008-10-06Experimental patch to see if it fixes MSVC builds ...Tom Lane
2008-10-06Fix the implicit-RTE code to be able to handle implicit RTEs for CTEs, asTom Lane
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-06Fix a missed case in int8-exp-three-digits.out, per buildfarm results.Tom Lane
2008-10-05Tweak the overflow checks in integer division functions to complain if theTom Lane
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-05Improve behavior of WITH RECURSIVE with an untyped literal in theTom Lane
non-recursive term. Per an example from Dickson S. Guedes.
2008-10-05Fix markTargetListOrigin() to not fail on a simple-Var reference to aTom Lane
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-05Remove some unportable testsPeter Eisentraut
2008-10-05Remove obsolete internal functions istrue, isfalse, isnottrue, isnotfalse,Peter Eisentraut
nullvalue, nonvalue. A long time ago, these were used to implement the SQL constructs IS TRUE, etc.
2008-10-05Reverse int8.out and int8-exp-three-digits.out mixup.Peter Eisentraut
2008-10-05Additional test coverage for int8 type (int8.c)Peter Eisentraut
int8-exp-three-digits.out update untested, might need refinement.
2008-10-05Additional test coverage for boolean type (bool.c)Peter Eisentraut
2008-10-04Implement SQL-standard WITH clauses, including WITH RECURSIVE.Tom Lane
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-04Additional string function tests for coverage of oracle_compat.cPeter Eisentraut
2008-10-03Add regression test for macaddr type. Enhance documentation about acceptedPeter Eisentraut
input formats.
2008-10-03Fix coverage targets so that HTML view is reliably updated when test dataPeter Eisentraut
changes. Add some documenting comments.
2008-10-03Put back the copying of some of the regression test data files for vpathPeter Eisentraut
builds. It is too complicated to fix in another way for now.
2008-10-03Add relation fork support to pg_relation_size() function. You can now passHeikki Linnakangas
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-02Update README.HOT to reflect new snapshot tracking and xmin advancementBruce Momjian
code in 8.4.
2008-10-02Fix improper display of fractional seconds in interval valuesTom Lane
when using --enable-integer-datetimes and a non-ISO datestyle. Ron Mayer
2008-10-02Partial fix for contrib vpath breakage.Tom Lane
2008-10-02Update pg_regress calls in PL checks to handle vpath builds.Peter Eisentraut
2008-10-01Allow pg_regress to be run outside the build tree. Look for input filesPeter Eisentraut
in both input and output dir, to handle vpath builds more simply.
2008-10-01Improve tuplestore.c to support multiple concurrent read positions.Tom Lane
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-01Link libpq with libgssapi if configure finds it, asMagnus Hagander
required by at least NetBSD. Markus Schaaf
2008-10-01Suppress an uninitialized-variable warning (not all versions of gccTom Lane
complain here, but some do)
2008-10-01Fix WAL redo of FSM truncation. We can't call smgrtruncate() during WALHeikki Linnakangas
replay, because it tries to XLogInsert().
2008-09-30Fix compiler warning (unportable sprintf usage)Tom Lane
2008-09-30Fix misspelled commentTom Lane
2008-09-30Forgot to bump catalog version in the commit of FSM rewrite.Heikki Linnakangas
2008-09-30Rewrite the FSM. Instead of relying on a fixed-size shared memory segment, theHeikki Linnakangas
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-28Dept of second thoughts: let's make sure that get_index_stats_hook is onlyTom Lane
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-28Add hooks to let plugins override the planner's lookups in pg_statistic.Tom Lane
Simon Riggs, with some editorialization by me.
2008-09-27Compare escaped chars case insensitively for ILIKE - per gripe from TGL.Andrew Dunstan
2008-09-26Fix pointer-advancement bugs in MS and US cases of new to_timestamp() code.Tom Lane
Alex Hunsaker
2008-09-26Make LIKE throw an error if the escape character is at the end of the patternTom Lane
(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-25Establish the rule that array types should have the same typdelim as theirTom Lane
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-24Fix integral timestamps so the output is consistent in all cases toBruce Momjian
round: select interval '0:0:0.7', interval '@ 0.70 secs', interval '0.7 seconds'; Ron Mayer
2008-09-24Fix pg_dump bug in the database-level collation patch. "datcollate" andHeikki Linnakangas
"datctype" columns were misspelled. Per report from Chris Browne.
2008-09-24Fix more problems with rewriter failing to set Query.hasSubLinks when insertingTom Lane
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-24Fix unportable syntax used in recent patch. Per results fromTom Lane
buildfarm member 'bear'.
2008-09-24Silence compiler warning caused by recent collation patch.Magnus Hagander