- Feb 01, 2011
-
-
Bruce Momjian authored
database, not in the os-user database, per report from Magnus.
-
- Jan 27, 2011
-
-
Tom Lane authored
contrib/intarray's gettoken() uses a fixed-size buffer to collect an integer's digits, and did not guard against overrunning the buffer. This is at least a backend crash risk, and in principle might allow arbitrary code execution. The code didn't check for overflow of the integer value either, which while not presenting a crash risk was still bad. Thanks to Apple Inc's security team for reporting this issue and supplying the fix. Security: CVE-2010-4015
-
- Jan 26, 2011
-
-
Bruce Momjian authored
-
Bruce Momjian authored
-
Bruce Momjian authored
always 8k writes, per suggestion from Tom. Also adjust open_sync output layout.
-
- Jan 25, 2011
-
-
Bruce Momjian authored
-
Bruce Momjian authored
it is 8k as expected.
-
Bruce Momjian authored
-
- Jan 24, 2011
-
-
Robert Haas authored
Joey Adams
-
Robert Haas authored
Robert Haas, with a few suggestions from Thom Brown
-
Robert Haas authored
This is still pretty rough - among other things, the documentation needs work, and the messages need a visit from the style police - but this gets the basic framework in place. KaiGai Kohei
-
- Jan 22, 2011
-
-
Tom Lane authored
Reduce #includes to minimum actually needed; in particular include postgres_fe.h not postgres.h, so as to stop build failures on some platforms. Use get_progname() instead of hardwired program name; improve error checking for command line syntax; bring error messages into line with style guidelines; include strerror result in die() cases.
-
Tom Lane authored
Per buildfarm.
-
Tom Lane authored
Un-break Windows build (I hope) by making the HAVE_FSYNC_WRITETHROUGH code match the backend. Fix incorrect program help message. static-ize all functions.
-
Tom Lane authored
Actually rename the program, rather than just claiming we did. Hook it into the build system. Get rid of useless dependency on libpq. Clean up #include list and messy whitespace.
-
- Jan 21, 2011
-
-
Bruce Momjian authored
-
Bruce Momjian authored
-
- Jan 10, 2011
-
-
Bruce Momjian authored
remove them. Also other renaming.
-
Tom Lane authored
No actual change in functionality ... just get rid of uselessly complex code to pass the number of keys via extra_data.
-
- Jan 09, 2011
-
-
Tom Lane authored
In particular, make hstore @> '' succeed for all hstores, likewise hstore ?& '{}'. Previously the results were inconsistent and could depend on whether you were using a GiST index, GIN index, or seqscan.
-
Tom Lane authored
-
Tom Lane authored
This applies the fix for bug #5784 to remaining places where we wish to reject nulls in user-supplied arrays. In all these places, there's no reason not to allow a null bitmap to be present, so long as none of the current elements are actually null. I did not change some other places where we are looking at system catalog entries or aggregate transition values, as the presence of a null bitmap in such an array would be suspicious.
-
Tom Lane authored
The array containment operators now behave per mathematical expectation for empty arrays (ie, an empty array is contained in anything). Both these operators and the query_int operators now work as expected in GiST and GIN index searches, rather than having corner cases where the index searches gave different answers. Also, fix unexpected failures where the operators would claim that an array contained nulls, when in fact there was no longer any null present (similar to bug #5784). The restriction to not have nulls is still there, as removing it would take a lot of added code complexity and probably slow things down significantly. Also, remove the arbitrary restriction to 1-D arrays; unlike the other restriction, this was buying us nothing performance-wise. Assorted cosmetic improvements and marginal performance improvements, too.
-
- Jan 08, 2011
-
-
Bruce Momjian authored
up relations, but rather order old/new relations and use the same array index value for both. This should speed up pg_upgrade for databases with many relations.
-
Bruce Momjian authored
-
Bruce Momjian authored
that we restore by oid; they can be handled like regular tables when creating the file mapping structure.
-
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).
-