- 30 Jun, 2011 1 commit
-
-
Alvaro Herrera authored
This means that they can initially be added to a large existing table without checking its initial contents, but new tuples must comply to them; a separate pass invoked by ALTER TABLE / VALIDATE can verify existing data and ensure it complies with the constraint, at which point it is marked validated and becomes a normal part of the table ecosystem. An non-validated CHECK constraint is ignored in the planner for constraint_exclusion purposes; when validated, cached plans are recomputed so that partitioning starts working right away. This patch also enables domains to have unvalidated CHECK constraints attached to them as well by way of ALTER DOMAIN / ADD CONSTRAINT / NOT VALID, which can later be validated with ALTER DOMAIN / VALIDATE CONSTRAINT. Thanks to Thom Brown, Dean Rasheed and Jaime Casanova for the various reviews, and Robert Hass for documentation wording improvement suggestions. This patch was sponsored by Enova Financial.
-
- 29 Jun, 2011 6 commits
-
-
Alvaro Herrera authored
Extracted from a patch by Bernd Helmle
-
Tom Lane authored
Such a condition is unsatisfiable in combination with any other type of btree-indexable condition (since we assume btree operators are always strict). 8.3 and 8.4 had an explicit test for this, which I removed in commit 29c4ad98, mistakenly thinking that the case would be subsumed by the more general handling of IS (NOT) NULL added in that patch. Put it back, and improve the comments about it, and add a regression test case. Per bug #6079 from Renat Nasyrov, and analysis by Dean Rasheed.
-
Heikki Linnakangas authored
more consistent that way, since all the other PredicateLock* calls are made in various heapam.c and index AM functions. The call in nodeSeqscan.c was unnecessarily aggressive anyway, there's no need to try to lock the relation every time a tuple is fetched, it's enough to do it once. This has the user-visible effect that if a seq scan is initialized in the executor, but never executed, we now acquire the predicate lock on the heap relation anyway. We could avoid that by taking the lock on the first heap_getnext() call instead, but it doesn't seem worth the trouble given that it feels more natural to do it in heap_beginscan(). Also, remove the retail PredicateLockTuple() calls from heap_getnext(). In a seqscan, started with heap_begin(), we're holding a whole-relation predicate lock on the heap so there's no need to lock the tuples individually. Kevin Grittner and me
-
Heikki Linnakangas authored
Non-lossy case was already handled correctly. Kevin Grittner
-
Magnus Hagander authored
Per bug #6082, reported by Steve Haslam
-
Peter Eisentraut authored
We had previously (af26857a) established the U.S. spellings as standard.
-
- 28 Jun, 2011 6 commits
-
-
Simon Riggs authored
XLOG_XACT_COMMIT_COMPACT leaves out invalidation messages and relfilenodes, saving considerable space for the vast majority of transaction commits. XLOG_XACT_COMMIT keeps same definition as XLOG_PAGE_MAGIC 0xD067 and earlier. Leonardo Francalanci and Simon Riggs
-
Alvaro Herrera authored
Add rel.h to some files that now need it.
-
Alvaro Herrera authored
The previous coding was ugly, as it marked special tokens as such in the wrong stage, relying on workarounds to figure out if they had been quoted in the original or not. This made it impossible to have specific keywords be recognized as such only in certain positions in HBA lines, for example. Fix by restructuring the parser code so that it remembers whether tokens were quoted or not. This eliminates widespread knowledge of possible known keywords for all fields. Also improve memory management in this area, to use memory contexts that are reset as a whole instead of using retail pfrees; this removes a whole lotta crufty (and probably slow) code. Instead of calling strlen() three times in next_field_expand on the returned token to find out whether there was a comma (and strip it), pass back the info directly from the callee, which is simpler. In passing, update historical artifacts in hba.c API. Authors: Brendan Jurd, Alvaro Herrera Reviewed by Pavel Stehule
-
Peter Eisentraut authored
Fill in the collation columns of the views attributes, columns, domains, and element_types. Also update collation information in sql_implementation_info.
-
Peter Eisentraut authored
-
Robert Haas authored
This lays the groundwork for an upcoming patch to streamline the handling of DROP commands. KaiGai Kohei
-
- 27 Jun, 2011 7 commits
-
-
Simon Riggs authored
WAL records of type XLOG_BTREE_REUSE_PAGE were generated using a latestRemovedXid one higher than actually needed because xid used was page opaque->btpo.xact rather than an actually removed xid. Noticed on an otherwise quiet system by Noah Misch. Noah Misch and Simon Riggs
-
Robert Haas authored
Since the names try_relation_openrv() and try_heap_openrv() don't seem quite appropriate, rename the functions to relation_openrv_extended() and heap_openrv_extended(). This is also more general, if we have a future need for additional parameters that are of interest to only a few callers. This is infrastructure for a forthcoming patch to allow get_object_address() to take a missing_ok argument as well. Patch by me, review by Noah Misch.
-
Robert Haas authored
My previous attempt was quite a bit less than half-baked with respect to heap_update().
-
Robert Haas authored
As noted by Christian Ullrich.
-
Robert Haas authored
It's been like this since HOT was originally introduced, but the logic is complex enough that this is a recipe for bugs, as we've already found out with SSI. So refactor heap_hot_search_buffer() so that it can satisfy the needs of index_getnext(), and make index_getnext() use that rather than duplicating the logic. This change was originally proposed by Heikki Linnakangas as part of a larger refactoring oriented towards allowing index-only scans. I extracted and adjusted this part, since it seems to have independent merit. Review by Jeff Davis.
-
Peter Eisentraut authored
-
Peter Eisentraut authored
DEF_PGPORT already comes in from pg_config.h, so we don't need to pass it in again with a -D option. Apparently a leftover from the shell script conversion.
-
- 26 Jun, 2011 7 commits
-
-
Peter Eisentraut authored
This doesn't actually change the resulting set of strings, but better be correct.
-
Peter Eisentraut authored
The --flag argument can be used to tell xgettext the arguments of which functions should be flagged with c-format in the PO files, instead of guessing based on the presence of format specifiers, which fails if no format specifiers are present but the translation accidentally introduces one. Appropriate flag settings have been added for each message catalog. based on a patch by Christoph Berg for bug #6066
-
Peter Eisentraut authored
Put gettext trigger words that are common to the backend and backend modules into a makefile variable to include everywhere, to avoid error-prone repetitions.
-
Peter Eisentraut authored
-
Peter Eisentraut authored
Since it's globally defined in c.h, it should be treated as a gettext trigger everywhere.
-
Peter Eisentraut authored
It currently doesn't make a difference, but it's inconsistent with most other usage, and it might interfere with a future patch, so I'll change it all in a separate commit. Also, replace tabs with spaces for alignment.
-
Peter Eisentraut authored
-
- 25 Jun, 2011 1 commit
-
-
Joe Conway authored
use DBLINK_GET_NAMED_CONN rather than DBLINK_GET_CONN. Problem found by Peter Eisentraut and patch by Fujii Masao.
-
- 24 Jun, 2011 1 commit
-
-
Robert Haas authored
Explain that querying pg_locks does not simultaneously lock both the normal lock manager and the predicate lock manager. Per discussion with Kevin Grittner.
-
- 23 Jun, 2011 5 commits
-
-
Bruce Momjian authored
Backpatch to 9.1 and 9.0.
-
Peter Eisentraut authored
-
Peter Eisentraut authored
-
Tom Lane authored
s/const//g wasn't exactly what I was suggesting here ... parameter declarations of the form "const structtype *param" are good and useful, so put those occurrences back. Likewise, avoid casting away the const in a "const void *" parameter.
-
Bruce Momjian authored
major version. Backpatch to 9.1. Dan McGee
-
- 22 Jun, 2011 6 commits
-
-
Bruce Momjian authored
-
Tom Lane authored
-
Bruce Momjian authored
-
Bruce Momjian authored
binary directory has been validated. Backpatch to 9.1. Dan McGee
-
Bruce Momjian authored
Backpatch to 9.1 and 9.0. Dan McGee
-