- Jan 26, 2011
-
-
Tom Lane authored
We used to do that on pg_listener, but pg_listener is no more. Also add a bit more documentation for ShareRowExclusive mode.
-
- Jan 25, 2011
-
-
Robert Haas authored
Noah Misch
-
Tom Lane authored
There isn't any need to track this state on a table-wide basis, and trying to do so introduces undesirable semantic fuzziness. Move the flag to pg_index, where it clearly describes just a single index and can be immutable after index creation.
-
Tom Lane authored
This feature allows a unique or pkey constraint to be created using an already-existing unique index. While the constraint isn't very functionally different from the bare index, it's nice to be able to do that for documentation purposes. The main advantage over just issuing a plain ALTER TABLE ADD UNIQUE/PRIMARY KEY is that the index can be created with CREATE INDEX CONCURRENTLY, so that there is not a long interval where the table is locked against updates. On the way, refactor some of the code in DefineIndex() and index_create() so that we don't have to pass through those functions in order to create the index constraint's catalog entries. Also, in parse_utilcmd.c, pass around the ParseState pointer in struct CreateStmtContext to save on notation, and add error location pointers to some error reports that didn't have one before. Gurjeet Singh, reviewed by Steve Singer and Tom Lane
-
- Jan 24, 2011
-
-
Robert Haas authored
Thom Brown and Robert Haas
-
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 23, 2011
-
-
Heikki Linnakangas authored
with the 'tar' format, in that untarring a tar format archive produces a valid directory format archive. Joachim Wieland and Heikki Linnakangas
-
Magnus Hagander authored
-
Magnus Hagander authored
This tool makes it possible to do the pg_start_backup/ copy files/pg_stop_backup step in a single command. There are still some steps to be done before this is a complete backup solution, such as the ability to stream the required WAL logs, but it's still usable, and could do with some buildfarm coverage. In passing, make the checkpoint request optionally fast instead of hardcoding it. Magnus Hagander, reviewed by Fujii Masao and Dimitri Fontaine
-
Tom Lane authored
If wal_buffers is initially set to -1 (which is now the default), it's replaced by 1/32nd of shared_buffers, with a minimum of 8 (the old default) and a maximum of the XLOG segment size. The allowed range for manual settings is still from 4 up to whatever will fit in shared memory. Greg Smith, with implementation correction by me.
-
- Jan 22, 2011
- Jan 21, 2011
-
-
Robert Haas authored
Jeff Turner
-
Bruce Momjian authored
-
Bruce Momjian authored
-
- Jan 20, 2011
-
-
Robert Haas authored
Original patch by Fernando Ike, revived by Josh Kuperschmidt, reviewed by Andreas Karlsson, and in earlier versions by Tom Lane and Peter Eisentraut.
-
Robert Haas authored
Peter Geoghegan, reviewed by Stephen Frost
-
- Jan 19, 2011
-
-
Tom Lane authored
Thom Brown
-
- Jan 18, 2011
-
-
Bruce Momjian authored
Ray Stell Also fix some libpq title capitalization problems.
-
- Jan 14, 2011
-
-
Magnus Hagander authored
Makes it easier to parse mainly the BASE_BACKUP command with it's options, and avoids having to manually deal with quoted identifiers in the label (previously broken), and makes it easier to add new commands and options in the future. In passing, refactor the case statement in the walsender to put each command in it's own function.
-
Tom Lane authored
Fix broken test for pre-existing postmaster, caused by wrong code for appending lines to the lockfile; don't write a failed listen_address setting into the lockfile; don't arbitrarily change the location of the data directory in the lockfile compared to previous releases; provide more consistent and useful definitions of the socket path and listen_address entries; avoid assuming that pg_ctl has the same DEFAULT_PGSOCKET_DIR as the postmaster; assorted code style improvements.
-
- Jan 13, 2011
-
-
Bruce Momjian authored
by Robert Haas.
-
Peter Eisentraut authored
Instead, run them in the encoding that the locale selects, which is more representative of real use. Also document how locale and encoding for regression test runs can be selected.
-
Bruce Momjian authored
reviewed by Robert Haas.
-
- Jan 12, 2011
-
-
Robert Haas authored
This reverts commit a8a88679, committed by me earlier today (2011-01-12). This isn't safe inside an aborted transaction. Noted by Tom Lane.
-
Robert Haas authored
Stephen Frost, with some editorialization by me.
-
- Jan 11, 2011
-
-
Peter Eisentraut authored
-
Magnus Hagander authored
-
Magnus Hagander authored
Josh Kupershmidt
-
- Jan 10, 2011
-
-
Magnus Hagander authored
Add BASE_BACKUP command to walsender, allowing it to stream a base backup to the client (in tar format). The syntax is still far from ideal, that will be fixed in the switch to use a proper grammar for walsender. No client included yet, will come as a separate commit. Magnus Hagander and Heikki Linnakangas
-
- Jan 09, 2011
-
-
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
-
-
Tom Lane authored
The only use we have had for amindexnulls is in determining whether an index is safe to cluster on; but since the addition of the amclusterable flag, that usage is pretty redundant. In passing, clean up assorted sloppiness from the last patch that touched pg_am.h: Natts_pg_am was wrong, and ambuildempty was not documented.
-
Robert Haas authored
Josh Kupershmidt
-
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
-
-
Robert Haas authored
Itagaki Takahiro, edited by me.
-
- Jan 06, 2011
-
-
Peter Eisentraut authored
-
Peter Eisentraut authored
The previous example didn't make it clear whether array_upper returned the last element or the index of the last element.
-
Bruce Momjian authored
lo_insert.
-
- Jan 05, 2011
-
-
Magnus Hagander authored
This can be overriden by using NOREPLICATION on the CREATE ROLE statement, but by default they will have it, making it backwards compatible and "less surprising" (given that superusers normally override all checks).
-