- 08 7月, 2011 1 次提交
-
-
由 Tom Lane 提交于
Previous patch only covered the ALTER TABLE changes, not changes in other commands; and it neglected to revert the documentation changes.
-
- 07 7月, 2011 4 次提交
-
-
由 Heikki Linnakangas 提交于
If there's a dangerous structure T0 ---> T1 ---> T2, and T2 commits first, we need to abort something. If T2 commits before both conflicts appear, then it should be caught by OnConflict_CheckForSerializationFailure. If both conflicts appear before T2 commits, it should be caught by PreCommit_CheckForSerializationFailure. But that is actually run when T2 *prepares*. Fix that in OnConflict_CheckForSerializationFailure, by treating a prepared T2 as if it committed already. This is mostly a problem for prepared transactions, which are in prepared state for some time, but also for regular transactions because they also go through the prepared state in the SSI code for a short moment when they're committed. Kevin Grittner and Dan Ports
-
由 Andrew Dunstan 提交于
-
由 Andrew Dunstan 提交于
In the process, remove almost all knowledge of individual .y and .l files, and instead get invocation settings from the relevant make files. The exception is plpgsql's gram.y, which has a target with a different name. It is hoped that this will make the scripts more future-proof, so that they won't require adjustment every time we add a new .l or .y file. The logic is also notably less tortured than that forced on us by the idiosyncrasies of the Windows command processor. The .bat files are kept as thin wrappers for the perl scripts.
-
由 Tom Lane 提交于
get_op_btree_interpretation assumed this in order to save some duplication of code, but it's not true in general anymore because we added <> support to btree_gist. (We still assume it for btree opclasses, though.) Also, essentially the same logic was baked into predtest.c. Get rid of that duplication by generalizing get_op_btree_interpretation so that it can be used by predtest.c. Per bug report from Denis de Bernardy and investigation by Jeff Davis, though I didn't use Jeff's patch exactly as-is. Back-patch to 9.1; we do not support this usage before that.
-
- 06 7月, 2011 9 次提交
-
-
由 Robert Haas 提交于
\ir is short for "include relative"; when used from a script, the supplied pathname will be interpreted relative to the input file, rather than to the current working directory. Gurjeet Singh, reviewed by Josh Kupershmidt, with substantial further cleanup by me.
-
由 Robert Haas 提交于
Most queries end with a backslash, but not a newline, so try to standardize on that, for the convenience of people using psql -E to extract queries. Josh Kupershmidt, reviewed by Merlin Moncure.
-
由 Tom Lane 提交于
This was already a runtime failure condition, but it's better to check at validation time if possible. Lightly modified version of a patch by Shigeru Hanada.
-
由 Tom Lane 提交于
This is useful since a validator might want to require certain options to be provided. The passed array is an empty text array in this case. Per suggestion by Laurenz Albe, though this is not quite his patch.
-
由 Peter Eisentraut 提交于
-
由 Tom Lane 提交于
As noted by Laurenz Albe, our SGML tools deal rather oddly with chapters having just one <sect1>. Perhaps the tooling could be fixed, but really the design of this chapter's introduction is pretty bogus anyhow. Split it into a true introduction and a <sect1> about the FDW functions, so that it reads better and dodges the lack-of-a-chapter-TOC problem.
-
由 Peter Eisentraut 提交于
-
由 Tom Lane 提交于
Modified version of a patch by Shigeru Hanada.
-
由 Tom Lane 提交于
handleCopyIn incremented pset.lineno for each line of COPY data read from a file. This is correct when reading from the current script file (i.e., we are doing COPY FROM STDIN followed by in-line data), but it's wrong if the data is coming from some other file. Per bug #6083 from Steve Haslam. Back-patch to all supported versions.
-
- 05 7月, 2011 7 次提交
-
-
由 Magnus Hagander 提交于
Per bug #6089, noted by Sidney Cadot
-
由 Peter Eisentraut 提交于
-
由 Peter Eisentraut 提交于
-
由 Peter Eisentraut 提交于
On re-reading the standard, this field is only used for distinct or reference types.
-
由 Heikki Linnakangas 提交于
-
由 Alvaro Herrera 提交于
This lets us stop including rel.h into execnodes.h, which is a widely used header.
-
由 Alvaro Herrera 提交于
The bug that caused this to be discovered is that the code was trying to dereference a NULL or ill-defined pointer, as reported by Michael Mueller; but what it was doing was wrong anyway, per Heikki. This patch is Heikki's suggested fix.
-
- 04 7月, 2011 9 次提交
-
-
由 Peter Eisentraut 提交于
-
由 Tom Lane 提交于
-
由 Heikki Linnakangas 提交于
postmaster.log", or nohup. There was a small issue with LINUX_OOM_ADJ and silent_mode, namely that with silent_mode the postmaster process incorrectly used the OOM settings meant for backend processes. We certainly could've fixed that directly, but since silent_mode was redundant anyway, we might as well just remove it.
-
由 Simon Riggs 提交于
-
由 Simon Riggs 提交于
Locks on inheritance parent remain at lower level, as they were before. Remove entry from 9.1 release notes.
-
由 Tom Lane 提交于
Somehow, column rolconfig got removed from the documentation of the pg_roles view in the 9.0 cycle, although the column is actually still there. In 9.1, we'd also forgotten to document the rolreplication column. Spotted by Sakamoto Masahiko.
-
由 Tom Lane 提交于
Per suggestion from Josh Kupershmidt.
-
由 Robert Haas 提交于
Unlike the relistemp field which it replaced, relpersistence must be set correctly quite early during the table creation process, as we rely on it quite early on for a number of purposes, including security checks. Normally, this is set based on whether the user enters CREATE TABLE, CREATE UNLOGGED TABLE, or CREATE TEMPORARY TABLE, but a relation may also be made implicitly temporary by creating it in pg_temp. This patch fixes the handling of that case, and also disables creation of unlogged tables in temporary tablespace (such table indeed skip WAL-logging, but we reject an explicit specification) and creation of relations in the temporary schemas of other sessions (which is not very sensible, and didn't work right anyway). Report by Amit Khandekar.
-
由 Tom Lane 提交于
Certain subdirectories do not get built if corresponding options are not selected at configure time. However, "make distprep" should visit such directories anyway, so that constructing derived files to be included in the tarball happens without requiring all configure options to be given in the tarball build script. Likewise, it's better if cleanup actions unconditionally visit all directories (for example, this ensures proper cleanup if someone has done a manual make in such a subdirectory). To handle this, set up a convention that subdirectories that are conditionally included in SUBDIRS should be added to ALWAYS_SUBDIRS instead when they are excluded. Back-patch to 9.1, so that plpython's spiexceptions.h will get provided in 9.1 tarballs. There don't appear to be any instances where distprep actions got missed in previous releases, and anyway this fix requires gmake 3.80 so we don't want to apply it before 9.1.
-
- 03 7月, 2011 2 次提交
-
-
由 Andrew Dunstan 提交于
-
由 Magnus Hagander 提交于
This is the proper fix for bug #6082 about pg_stat_reset_shared(NULL) causing a crash, and it reverts commit 79aa4453 on head. The workaround of throwing an error from inside the function is left on backbranches (including 9.1) since this change requires a new initdb.
-
- 02 7月, 2011 3 次提交
-
-
由 Tom Lane 提交于
Maybe some compilers are smart enough to not complain about the previous coding ... but mine isn't.
-
由 Bruce Momjian 提交于
talk about client access.
-
由 Bruce Momjian 提交于
client connections during the upgrade. Also rename data/bin/port environment variables to being with 'PG'. Also no longer honor PGPORT.
-
- 30 6月, 2011 5 次提交
-
-
由 Alvaro Herrera 提交于
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.
-
由 Alvaro Herrera 提交于
Extracted from a patch by Bernd Helmle
-
由 Tom Lane 提交于
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 提交于
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 提交于
Non-lossy case was already handled correctly. Kevin Grittner
-