- Jan 08, 2011
-
-
Tom Lane authored
The underlying C code still needs work, but this at least gets its current regression test passing again.
-
Bruce Momjian authored
in pg_largeobject_metadata).
-
Bruce Momjian authored
-
Bruce Momjian authored
-
Bruce Momjian authored
because the old and new values are identical.
-
Bruce Momjian authored
-
Bruce Momjian authored
which is stored in pg_largeobject_metadata. No backpatch to 9.0 because you can't migrate from 9.0 to 9.0 with the same catversion (because of tablespace conflict), and a pre-9.0 migration to 9.0 has not large object permissions to migrate.
-
Bruce Momjian authored
Toast tables have identical pg_class.oid and pg_class.relfilenode, but for clarity it is good to preserve the pg_class.oid. Update comments regarding what is preserved, and do some variable/function renaming for clarity.
-
Tom Lane authored
-
Tom Lane authored
Per my recent proposal(s). Null key datums can now be returned by extractValue and extractQuery functions, and will be stored in the index. Also, placeholder entries are made for indexable items that are NULL or contain no keys according to extractValue. This means that the index is now always complete, having at least one entry for every indexed heap TID, and so we can get rid of the prohibition on full-index scans. A full-index scan is implemented much the same way as partial-match scans were already: we build a bitmap representing all the TIDs found in the index, and then drive the results off that. Also, introduce a concept of a "search mode" that can be requested by extractQuery when the operator requires matching to empty items (this is just as cheap as matching to a single key) or requires a full index scan (which is not so cheap, but it sure beats failing or giving wrong answers). The behavior remains backward compatible for opclasses that don't return any null keys or request a non-default search mode. Using these features, we can now make the GIN index opclass for anyarray behave in a way that matches the actual anyarray operators for &&, <@, @>, and = ... which it failed to do before in assorted corner cases. This commit fixes the core GIN code and ginarrayprocs.c, updates the documentation, and adds some simple regression test cases for the new behaviors using the array operators. The tsearch and contrib GIN opclass support functions still need to be looked over and probably fixed. Another thing I intend to fix separately is that this is pretty inefficient for cases where more than one scan condition needs a full-index search: we'll run duplicate GinScanEntrys, each one of which builds a large bitmap. There is some existing logic to merge duplicate GinScanEntrys but it needs refactoring to make it work for entries belonging to different scan keys. Note that most of gin.h has been split out into a new file gin_private.h, so that gin.h doesn't export anything that's not supposed to be used by GIN opclasses or the rest of the backend. I did quite a bit of other code beautification work as well, mostly fixing comments and choosing more appropriate names for things.
-
- Jan 07, 2011
-
-
Bruce Momjian authored
functions.
-
- Jan 06, 2011
-
-
Bruce Momjian authored
-
- Jan 05, 2011
-
-
Bruce Momjian authored
-
Bruce Momjian authored
handling. (metadata user ids still an open issue).
-
Bruce Momjian authored
-
Bruce Momjian authored
up pg_dump's calling of pg_upgrade_support functions.
-
Bruce Momjian authored
servers because, like pg_largeobject, it is a system table whose contents are not dumped by pg_dump --schema-only.
-
Bruce Momjian authored
-
Bruce Momjian authored
-
- Jan 02, 2011
-
-
Robert Haas authored
Foreign tables are a core component of SQL/MED. This commit does not provide a working SQL/MED infrastructure, because foreign tables cannot yet be queried. Support for foreign table scans will need to be added in a future patch. However, this patch creates the necessary system catalog structure, syntax support, and support for ancillary operations such as COMMENT and SECURITY LABEL. Shigeru Hanada, heavily revised by Robert Haas
-
- Jan 01, 2011
-
-
Bruce Momjian authored
-
Bruce Momjian authored
-
Bruce Momjian authored
pointers, which simplifies the code. This was not possible in 9.0 because everything was in a single nested struct, but is possible now. Per suggestion from Tom.
-
Bruce Momjian authored
-
- Dec 29, 2010
-
-
Tom Lane authored
Don't insist on pg_dumpall and psql being present in the old cluster, since they are not needed. Do insist on pg_resetxlog being present (in both old and new), since we need it. Also check for pg_config, but only in the new cluster. Remove the useless attempt to call pg_config in the old cluster; we don't need to know the old value of --pkglibdir. (In the case of a stripped-down migration installation there might be nothing there to look at anyway, so any future change that might reintroduce that need would have to be considered carefully.) Per my attempts to build a minimal previous-version installation to support pg_upgrade.
-
- Dec 27, 2010
-
-
Bruce Momjian authored
-
- Dec 22, 2010
-
-
Robert Haas authored
It appears that this will be faster for all but the shortest strings; at least one some platforms, memcmp() can use word-at-a-time comparisons. Noah Misch, somewhat pared down.
-
- Dec 19, 2010
-
-
Tom Lane authored
After parsing a parenthesized subexpression, we must pop all pending ANDs and NOTs off the stack, just like the case for a simple operand. Per bug #5793. Also fix clones of this routine in contrib/intarray and contrib/ltree, where input of types query_int and ltxtquery had the same problem. Back-patch to all supported versions.
-
- Dec 16, 2010
-
-
Tom Lane authored
This patch replaces Guttman's generalized split method with a simple sort-by-center-points algorithm. Since the data is only one-dimensional we don't really need the slow and none-too-stable Guttman method. This is in part a bug fix, since seg has the same size_alpha versus size_beta typo that was recently fixed in contrib/cube. It seems prudent to apply this rather aggressive fix only in HEAD, though. Back branches will just get the typo fix. Alexander Korotkov, reviewed by Yeb Havinga
-
- Dec 15, 2010
-
-
Bruce Momjian authored
documentation. (Many were left over from the old pg_migrator naming.)
-
- Dec 11, 2010
-
-
Tom Lane authored
1. Don't reimplement S_ISDIR() and S_ISREG() badly. 2. Don't reimplement access() badly. This code appears to have been copied from ancient versions of the corresponding backend routines, and not patched to incorporate subsequent fixes (see my commits of 2008-03-31 and 2010-01-14 respectively). It might be a good idea to change it to just *call* those routines, but for now I'll just transpose these fixes over.
-
- Dec 04, 2010
-
-
Tom Lane authored
Teodor Sigaev, with some revision by Tom
-
- Nov 29, 2010
-
-
Robert Haas authored
Fujii Masao
-
- Nov 27, 2010
-
-
Robert Haas authored
KaiGai Kohei, with a few changes by me.
-
- Nov 26, 2010
-
-
Tom Lane authored
Most of the functions that execute XPath queries leaked the data structures created by libxml2. This memory would not be recovered until end of session, so it mounts up pretty quickly in any serious use of the feature. Per report from Pavel Stehule, though this isn't his patch. Back-patch to all supported branches.
-
- Nov 25, 2010
-
-
Itagaki Takahiro authored
except creating new connections.
-
- Nov 23, 2010
-
-
Peter Eisentraut authored
-
- Nov 20, 2010
-
-
Robert Haas authored
This eliminates the need for inefficient implementions of this functionality in both contrib/dblink and contrib/tablefunc, so remove them. The upcoming patch implementing an in-core format() function will also require this functionality. In passing, add some regression tests.
-
- Nov 15, 2010
-
-
Robert Haas authored
Alexander Korotkov
-
Robert Haas authored
Itagaki Takahiro, with slight modifications.
-