- 18 Dec, 2011 4 commits
-
-
Michael Meskes authored
suite for ecpg.
-
Michael Meskes authored
Ever since we introduced real prepared statements this should work for different connections. The old solution just emulating prepared statements, though, wasn't able to handle this. Closes: #6309
-
Bruce Momjian authored
-
Tom Lane authored
Should've thought of that one earlier.
-
- 17 Dec, 2011 9 commits
-
-
Tom Lane authored
These entries could never be matched to an index clause because they don't have the index datatype on the left-hand side of the operator. (Their commutators are in the opclass, which is sensible, but that doesn't mean these operators should be.) Spotted by a test that I recently added to opr_sanity to catch exactly this type of thinko. AFAICT there is no code in gistproc.c that is specifically meant to cover these cases, so nothing to remove at that level.
-
Tom Lane authored
-
Tom Lane authored
SP-GiST is comparable to GiST in flexibility, but supports non-balanced partitioned search structures rather than balanced trees. As described at PGCon 2011, this new indexing structure can beat GiST in both index build time and query speed for search problems that it is well matched to. There are a number of areas that could still use improvement, but at this point the code seems committable. Teodor Sigaev and Oleg Bartunov, with considerable revisions by Tom Lane
-
Andrew Dunstan authored
-
Andrew Dunstan authored
Per gripe from Thom Brown.
-
Tom Lane authored
-
Robert Haas authored
Heikki Linnakangas had the idea of rearranging GetSnapshotData to avoid checking for sub-XIDs when no top-level XID is present. This patch does that plus further a bit of further, related rearrangement. Benchmarking show a significant improvement on unlogged tables at higher concurrency levels, and mostly indifferent result on permanent tables (which are presumably bottlenecked elsewhere). Most of the benefit seems to come from using the new NormalTransactionIdPrecedes() macro rather than the function call TransactionIdPrecedes().
-
Andrew Dunstan authored
Valid values are --pre-data, data and post-data. The option can be given more than once. --schema-only is equivalent to --section=pre-data --section=post-data. --data-only is equivalent to --section=data. Andrew Dunstan, reviewed by Joachim Wieland and Josh Berkus.
-
- 16 Dec, 2011 4 commits
-
-
Heikki Linnakangas authored
-
Andrew Dunstan authored
This works the same as include, except that an error is not thrown if the file is missing. Instead the fact that it's missing is logged. Greg Smith, reviewed by Euler Taveira de Oliveira.
-
Robert Haas authored
If the referrent of a name changes while we're waiting for the lock, we must recheck permissons. We also now check the relkind before locking, since it's easy to do that long the way. Patch by me; review by Noah Misch.
-
Robert Haas authored
Previously, renaming a table, sequence, view, index, foreign table, column, or trigger checked permissions before locking the object, which meant that if permissions were revoked during the lock wait, we would still allow the operation. Similarly, if the original object is dropped and a new one with the same name is created, the operation will be allowed if we had permissions on the old object; the permissions on the new object don't matter. All this is now fixed. Along the way, attempting to rename a trigger on a foreign table now gives the same error message as trying to create one there in the first place (i.e. that it's not a table or view) rather than simply stating that no trigger by that name exists. Patch by me; review by Noah Misch.
-
- 15 Dec, 2011 3 commits
-
-
Robert Haas authored
Fixes an oversight in commit fc6d1006. Noted by Tom Lane.
-
Robert Haas authored
-
Peter Eisentraut authored
Lots of repetitive code was moved into new functions PLy_spi_subtransaction_{begin,commit,abort}. Jan Urbański
-
- 14 Dec, 2011 4 commits
-
-
Andrew Dunstan authored
Suggested solution from Tom Lane. Problem discovered, probably not for the first time, while testing the mingw-w64 32 bit compiler. Backpatched to all live branches.
-
Andrew Dunstan authored
-
Andrew Dunstan authored
Andrew Dunstan, reviewed by Josh Berkus, Robert Haas and Peter Geoghegan. This allows dumping of a table definition but not its data, on a per table basis. Table name patterns are supported just as for --exclude-table.
-
Heikki Linnakangas authored
Yeb Havinga, reviewed by Kevin Grittner, with small changes by me.
-
- 12 Dec, 2011 2 commits
-
-
Tom Lane authored
Removing this bit from xl_info allows us to restore the old limit of four (not three) separate pages touched by a WAL record, which is needed for the upcoming SP-GiST feature, and will likely be useful elsewhere in future. When we implemented XLR_BKP_REMOVABLE in 2007, we had to do it like that because no special WAL-visible action was taken when starting a backup. However, now we force a segment switch when starting a backup, so a compressing WAL archiver (such as pglesslog) that uses the state shown in the current page header will not be fooled as to removability of backup blocks. The only downside is that the archiver will not return to compressing mode for up to one WAL page after the backup is over, which is a small price to pay for getting back the extra xl_info bit. In any case the archiver could look for XLOG_BACKUP_END records if it thought it was worth the trouble to do so. Bump XLOG_PAGE_MAGIC since this is effectively a change in WAL format.
-
Heikki Linnakangas authored
I forgot to change the functions to use the PG_GETARG_INET_PP() macro, when I changed DatumGetInetP() to unpack the datum, like Datum*P macros usually do. Also, I screwed up the definition of the PG_GETARG_INET_PP() macro, and didn't notice because it wasn't used. This fixes the memory leak when sorting inet values, as reported by Jochen Erwied and debugged by Andres Freund. Backpatch to 8.3, like the previous patch that broke it.
-
- 10 Dec, 2011 3 commits
-
-
Andrew Dunstan authored
Remove some dead code, conditionally declare some items or call some code, and fix one or two declarations.
-
Andrew Dunstan authored
-
Andrew Dunstan authored
Original patch by Lars Kanis, reviewed by Nishiyama Tomoaki and tweaked some by me. This compiler, or at least the latest version of it, is currently broken, and only passes the regression tests if built with -O0.
-
- 09 Dec, 2011 4 commits
-
-
Robert Haas authored
Marti Raudsepp, with additional paranoia by me.
-
Peter Eisentraut authored
-
Heikki Linnakangas authored
we don't reach consistency before replaying all of the WAL. Rename the variable to reachedConsistency, to make its intention clearer. In master, that was an active bug because of the recent patch to immediately PANIC if a reference to a missing page is found in WAL after reaching consistency, as Tom Lane's test case demonstrated. In 9.1 and 9.0, the only consequence was a misleading "consistent recovery state reached at %X/%X" message in the log at the beginning of crash recovery (the database is not consistent at that point yet). In 8.4, the log message was not printed in crash recovery, even though there was a similar reachedMinRecoveryPoint local variable that was also set early. So, backpatch to 9.1 and 9.0.
-
Heikki Linnakangas authored
lost. The only way we detect that at the moment is when write() fails when we try to write to the socket. Florian Pflug with small changes by me, reviewed by Greg Jaskiewicz.
-
- 07 Dec, 2011 6 commits
-
-
Peter Eisentraut authored
Thomas Munro
-
Tom Lane authored
Make sure all calls are protected by HAVE_READLINK, and get the buffer overflow tests right. Be a bit more paranoid about string length in _tarWriteHeader(), too.
-
Magnus Hagander authored
This situation won't set errno, so using %m will give an incorrect error message.
-
Magnus Hagander authored
We don't have any such platforms now, but might in the future. Also, detect cases when a tablespace symlink points to a path that is longer than we can handle, and give a warning.
-
Magnus Hagander authored
Instead, add a function pg_tablespace_location(oid) used to return the same information, and do this by reading the symbolic link. Doing it this way makes it possible to relocate a tablespace when the database is down by simply changing the symbolic link.
-
Tom Lane authored
This patch creates an API whereby a btree index opclass can optionally provide non-SQL-callable support functions for sorting. In the initial patch, we only use this to provide a directly-callable comparator function, which can be invoked with a bit less overhead than the traditional SQL-callable comparator. While that should be of value in itself, the real reason for doing this is to provide a datatype-extensible framework for more aggressive optimizations, as in Peter Geoghegan's recent work. Robert Haas and Tom Lane
-
- 06 Dec, 2011 1 commit
-
-
Robert Haas authored
Noted during post-commit review by by Noah Misch.
-