- 14 Jan, 2008 5 commits
-
-
Alvaro Herrera authored
distinguished from user-invoked commands. Per suggestion from Tom Lane.
-
Michael Meskes authored
-
Tom Lane authored
higher than zero. Same problem as just detected in CREATE INDEX CONCURRENTLY.
-
Tom Lane authored
Noted while looking for heapscans that might need to start from block zero.
-
Tom Lane authored
its second pass over the table. It has to start at block zero, else the "merge join" logic for detecting which TIDs are already in the index doesn't work. Hence, extend heapam.c's API so that callers can enable or disable syncscan. (I put in an option to disable buffer access strategy, too, just in case somebody needs it.) Per report from Hannes Dorbath.
-
- 13 Jan, 2008 3 commits
-
-
Tom Lane authored
'english'.
-
Tom Lane authored
command IDs.
-
Michael Meskes authored
-
- 12 Jan, 2008 5 commits
-
-
Bruce Momjian authored
! Duplicate positions for the same lexeme are discarded.
-
Tom Lane authored
Therefore we must xmlCleanupParser(), or we risk leaving behind dangling pointers to whatever memory context is current when xml_init() is called. This seems to fix bug #3860, though we might still want the more invasive solution being worked on by Alvaro.
-
Neil Conway authored
SPI_prepare() and SPI_cursor_open(), to silence a Coverity warning.
-
Neil Conway authored
anyway, it is faster to memcpy() than to strcpy().
-
Tom Lane authored
constraint yields TRUE for every row of its table, only that it does not yield FALSE (a NULL result isn't disallowed). This breaks a couple of implications that would be true in two-valued logic. I had put in one such mistake in an 8.2.5 patch: foo IS NULL doesn't refute a strict operator on foo. But there was another in the original 8.2 release: NOT foo doesn't refute an expression whose truth would imply the truth of foo. Per report from Rajesh Kumar Mallah. To preserve the ability to do constraint exclusion with one partition holding NULL values, extend relation_excluded_by_constraints() to check for attnotnull flags, and add col IS NOT NULL expressions to the set of constraints we hope to refute.
-
- 11 Jan, 2008 6 commits
-
-
Tom Lane authored
checking of argument compatibility right; although the problem is only exposed with multiple-input aggregates in which some arguments are polymorphic and some are not. Per bug #3852 from Sokolov Yura.
-
Tom Lane authored
for unhandled clause types ought to be 0.5, not 1.0. I fear I introduced this silliness due to misreading the intent of the very-poorly-structured code that was there when we inherited the file from Berkeley. The lack of sanity in this behavior was exposed by an example from Sim Zacks. (Arguably this is a bug fix and should be back-patched, but I'm a bit hesitant to introduce a possible planner behavior change in the back branches; it might detune queries that worked acceptably in the past.) While at it, make estimation for DistinctExpr do something marginally realistic, rather than just defaulting.
-
Bruce Momjian authored
> * Add ability to trigger on TRUNCATE > > http://archives.postgresql.org/pgsql-sql/2008-01/msg00050.php
-
Michael Meskes authored
-
Tom Lane authored
clauseless joins of relations that have unexploited join clauses. Rather than looking at every other base relation in the query, the correct thing is to examine the other relations in the "initial_rels" list of the current make_rel_from_joinlist() invocation, because those are what we actually have the ability to join against. This might be a subset of the whole query in cases where join_collapse_limit or from_collapse_limit or full joins have prevented merging the whole query into a single join problem. This is a bit untidy because we have to pass those rels down through a new PlannerInfo field, but it's necessary. Per bug #3865 from Oleg Kharin.
-
Tom Lane authored
finish archiving everything (when there's no error), and to eliminate various hazards as best we can. This fixes a previous 8.3 patch that caused the postmaster to kill and then restart the archiver during shutdown (!?). The new behavior is that the archiver is allowed to run unmolested until the bgwriter has exited; then it is sent SIGUSR2 to tell it to do a final archiving cycle and quit. We only SIGQUIT the archiver if we want a panic stop; this is important since SIGQUIT will also be sent to any active archive_command. The postmaster also now doesn't SIGQUIT the stats collector until the bgwriter is done, since the bgwriter can send stats messages in 8.3. The postmaster will not exit until both the archiver and stats collector are gone; this provides some defense (not too bulletproof) against conflicting archiver or stats collector processes being started by a new postmaster instance. We continue the prior practice that the archiver will check for postmaster death immediately before issuing any archive_command; that gives some additional protection against conflicting archivers. Also, modify the archiver process to notice SIGTERM and refuse to issue any more archive commands if it gets it. The postmaster doesn't ever send it SIGTERM; we assume that any such signal came from init and is a notice of impending whole-system shutdown. In this situation it seems imprudent to try to start new archive commands --- if they aren't extremely quick they're likely to get SIGKILL'd by init. All per discussion.
-
- 10 Jan, 2008 2 commits
-
-
Magnus Hagander authored
Hiroshi Saito
-
Bruce Momjian authored
postgresql.conf comment to match.
-
- 09 Jan, 2008 7 commits
-
-
Tom Lane authored
pg_convert_to. Per bug #3866 from Andrew Gilligan.
-
Tom Lane authored
VACUUM that is blocked waiting to get lock on the table being indexed. Per report and fix suggestion from Greg Stark.
-
Tom Lane authored
of poorer planning in 8.3 than 8.2: 1. After pushing a constant across an outer join --- ie, given "a LEFT JOIN b ON (a.x = b.y) WHERE a.x = 42", we can deduce that b.y is sort of equal to 42, in the sense that we needn't fetch any b rows where it isn't 42 --- loop to see if any additional deductions can be made. Previous releases did that by recursing, but I had mistakenly thought that this was no longer necessary given the EquivalenceClass machinery. 2. Allow pushing constants across outer join conditions even if the condition is outerjoin_delayed due to a lower outer join. This is safe as long as the condition is strict and we re-test it at the upper join. 3. Keep the outer-join clause even if we successfully push a constant across it. This is *necessary* in the outerjoin_delayed case, but even in the simple case, it seems better to do this to ensure that the join search order heuristics will consider the join as reasonable to make. Mark such a clause as having selectivity 1.0, though, since it's not going to eliminate very many rows after application of the constant condition. 4. Tweak have_relevant_eclass_joinclause to report that two relations are joinable when they have vars that are equated to the same constant. We won't actually generate any joinclause from such an EquivalenceClass, but again it seems that in such a case it's a good idea to consider the join as worth costing out. 5. Fix a bug in select_mergejoin_clauses that was exposed by these changes: we have to reject candidate mergejoin clauses if either side was equated to a constant, because we can't construct a canonical pathkey list for such a clause. This is an implementation restriction that might be worth fixing someday, but it doesn't seem critical to get it done for 8.3.
-
Magnus Hagander authored
builds of libpq in both 32 and 64-bit. Per gripe from Hiroshi Saito.
-
Neil Conway authored
and grpOperators fields were not emitted by _outAgg().
-
Alvaro Herrera authored
-
Bruce Momjian authored
are moved to SGML.
-
- 08 Jan, 2008 4 commits
-
-
Tom Lane authored
Also a couple of minor tweaks to try to future-proof the code a bit better against future locktag additions.
-
Bruce Momjian authored
-
Tom Lane authored
system headers before c.h. Per report from J6M.
-
Tom Lane authored
like that. Per report from J6M.
-
- 07 Jan, 2008 2 commits
-
-
Bruce Momjian authored
release notes.
-
Neil Conway authored
of Oid, and therefore should use the "%u" escape sequence rather than "%d".
-
- 06 Jan, 2008 1 commit
-
-
Tom Lane authored
constant ORDER/GROUP BY entries properly: http://archives.postgresql.org/pgsql-hackers/2001-04/msg00457.php The original solution to that was in fact no good, as demonstrated by today's report from Martin Pitt: http://archives.postgresql.org/pgsql-bugs/2008-01/msg00027.php We can't use the column-number-reference format for a constant that is a resjunk targetlist entry, a case that was unfortunately not thought of in the original discussion. What we can do instead (which did not work at the time, but does work in 7.3 and up) is to emit the constant with explicit ::typename decoration, even if it otherwise wouldn't need it. This is sufficient to keep the parser from thinking it's a column number reference, and indeed is probably what the user must have done to get such a thing into the querytree in the first place.
-
- 05 Jan, 2008 1 commit
-
-
Peter Eisentraut authored
-
- 04 Jan, 2008 1 commit
-
-
Bruce Momjian authored
* Allow AS in "SELECT col AS label" to be optional (not wanted) > http://archives.postgresql.org/pgsql-hackers/2003-04/msg00436.php
-
- 03 Jan, 2008 3 commits
-
-
Tom Lane authored
Security: CVE-2007-4769, CVE-2007-4772, CVE-2007-6067, CVE-2007-6600, CVE-2007-6601
-
Tom Lane authored
Security: CVE-2007-4769, CVE-2007-4772, CVE-2007-6067, CVE-2007-6600, CVE-2007-6601
-
Tom Lane authored
failed to cover all the ways in which a connection can be initiated in dblink. Plug the remaining holes. Also, disallow transient connections in functions for which that feature makes no sense (because they are only sensible as part of a sequence of operations on the same connection). Joe Conway Security: CVE-2007-6601
-