- 25 Oct, 2010 3 commits
-
-
Tom Lane authored
-
Andrew Dunstan authored
-
Tom Lane authored
After much expenditure of effort, we've got this to the point where the performance penalty is pretty minimal in typical cases. Andrew Dunstan, reviewed by Brendan Jurd, Dean Rasheed, and Tom Lane
-
- 24 Oct, 2010 1 commit
-
-
Peter Eisentraut authored
A name starting with a dot can be used to match a suffix of the actual host name (e.g., .example.com matches foo.example.com).
-
- 22 Oct, 2010 3 commits
-
-
Robert Haas authored
Spotted by Alexander Korotkov. Along the way, remove a misleading comment line.
-
Heikki Linnakangas authored
the docs to reflect that OFF is now unreserved. Spotted by Tom Lane.
-
Heikki Linnakangas authored
as a variable or column name, and it's not reserved in recent versions of the SQL spec either. This became particularly annoying in 9.0, before that PL/pgSQL replaced variable names in queries with parameter markers, so it was possible to use OFF and many other backend parser keywords as variable names. Because of that, backpatch to 9.0.
-
- 21 Oct, 2010 2 commits
-
-
Bruce Momjian authored
-
Tom Lane authored
This patch eliminates various bizarre behaviors caused by sloppy thinking about the difference between a domain type and its underlying array type. In particular, the operation of updating one element of such an array has to be considered as yielding a value of the underlying array type, *not* a value of the domain, because there's no assurance that the domain's CHECK constraints are still satisfied. If we're intending to store the result back into a domain column, we have to re-cast to the domain type so that constraints are re-checked. For similar reasons, such a domain can't be blindly matched to an ANYARRAY polymorphic parameter, because the polymorphic function is likely to apply array-ish operations that could invalidate the domain constraints. For the moment, we just forbid such matching. We might later wish to insert an automatic downcast to the underlying array type, but such a change should also change matching of domains to ANYELEMENT for consistency. To ensure that all such logic is rechecked, this patch removes the original hack of setting a domain's pg_type.typelem field to match its base type; the typelem will always be zero instead. In those places where it's really okay to look through the domain type with no other logic changes, use the newly added get_base_element_type function in place of get_element_type. catversion bumped due to change in pg_type contents. Per bug #5717 from Richard Huxton and subsequent discussion.
-
- 20 Oct, 2010 14 commits
-
-
Tom Lane authored
-
Bruce Momjian authored
-
Heikki Linnakangas authored
following NULL check was never reached. This problem was found by Coccinelle (null_ref.cocci from coccicheck). Marti Raudsepp
-
Tom Lane authored
outside a transaction. This repairs brain fade in my patch of 2009-08-30: the reason we had been storing oldest-database name, not OID, in ShmemVariableCache was of course to avoid having to do a catalog lookup at times when it might be unsafe. This error explains why Aleksandr Dushein is having trouble getting out of an XID wraparound state in bug #5718, though not how he got into that state in the first place. I suspect pg_upgrade is at fault there.
-
Alvaro Herrera authored
This call was present in the aboriginal code from Berkeley, and has never been touched; it may very well be that it was there to mask effects of bugs in other places and it may no longer be necessary. The removal has been foreseen in a code comment since 2007; this seems to be a good time to test this hypothesis.
-
Tom Lane authored
The trick is to not try to build executables directly from .c files, but to always build the intermediate .o files. For obscure reasons, Darwin's version of gcc will leave debug cruft behind in the first case but not the second. Per complaint from Robert Haas.
-
Robert Haas authored
-
Robert Haas authored
Jan Otto, reviewed by Peter Geoghegan
-
Bruce Momjian authored
-
Bruce Momjian authored
-
Tom Lane authored
-
Bruce Momjian authored
-
Bruce Momjian authored
pg_upgrade slowness for 150k tables.
-
Bruce Momjian authored
scandir() with a pattern for every table. Optimization after report of pg_upgrade slowness with 150k tables.
-
- 19 Oct, 2010 9 commits
-
-
Bruce Momjian authored
-
Bruce Momjian authored
than packing everything into 'ctx' and passing that to every function.
-
Tom Lane authored
A couple of places in the planner need to generate whole-row Vars, and were cutting corners by setting vartype = RECORDOID in the Vars, even in cases where there's an identifiable named composite type for the RTE being referenced. While we mostly got away with this, it failed when there was also a parser-generated whole-row reference to the same RTE, because the two Vars weren't equal() due to the difference in vartype. Fix by providing a subroutine the planner can call to generate whole-row Vars the same way the parser does. Per bug #5716 from Andrew Tipton. Back-patch to 9.0 where one of the bogus calls was introduced (the other one is new in HEAD).
-
Bruce Momjian authored
-
Bruce Momjian authored
Backpatch to 9.0.X.
-
Bruce Momjian authored
recent wal_sync_method doc paragraph to be clearer.
-
Robert Haas authored
Alexander Korotkov, heavily revised by me.
-
Robert Haas authored
Report and diagnosis by Peter Eisentraut.
-
Bruce Momjian authored
Backpatch to 9.0.X.
-
- 18 Oct, 2010 5 commits
-
-
Peter Eisentraut authored
-
Bruce Momjian authored
be empty. Because of binary migration usage, it might not be empty.
-
Robert Haas authored
Peter Eisentraut's recent patch to allow host names in pg_hba.conf changed the contents of pg_hba.conf.sample Fujii Masao
-
Tom Lane authored
The GIN code has absolutely no business exporting GIN-specific functions with names as generic as compareItemPointers() or newScanKey(); that's just trouble waiting to happen. I got annoyed about this again just now and decided to fix it. This commit ensures that all global symbols defined in access/gin/ have names including "gin" or "Gin". There were a couple of cases, like names involving "PostingItem", where arguably the names were already sufficiently nongeneric; but I figured as long as I was risking creating merge problems for unapplied GIN patches I might as well impose a uniform policy. I didn't touch any static symbol names. There might be some places where it'd be appropriate to rename some static functions to match siblings that are exported, but I'll leave that for another time.
-
Tom Lane authored
The better estimate requires more statistics than we previously stored: in particular, counts of "entry" versus "data" pages within the index, as well as knowledge of the number of distinct key values. We collect this information during initial index build and update it during VACUUM, storing the info in new fields on the index metapage. No initdb is required because these fields will read as zeroes in a pre-existing index, and the new gincostestimate code is coded to behave (reasonably) sanely if they are zeroes. Teodor Sigaev, reviewed by Jan Urbanski, Tom Lane, and Itagaki Takahiro.
-
- 17 Oct, 2010 1 commit
-
-
Magnus Hagander authored
Look only at the non-localized part of the output from "vcbuild /?", which is used to determine the version of Visual Studio in use. Different languages seem to localize different amounts of the string, but we assume the part "Microsoft Visual C++" won't be modified.
-
- 16 Oct, 2010 2 commits
-
-
Tom Lane authored
-
Alvaro Herrera authored
a corresponding "to" character. Author: Josh Kupershmidt
-