- 04 Mar, 2013 4 commits
-
-
Kevin Grittner authored
-
Tom Lane authored
This was already the case for domains over arrays, but not for domains over certain built-in types such as boolean. The special formatting rules for those types should apply to domains over them as well. Per discussion. While this is a bug fix, it's also a behavioral change that seems likely to trip up some applications. So no back-patch. Pavel Stehule
-
Kevin Grittner authored
A materialized view has a rule just like a view and a heap and other physical properties like a table. The rule is only used to populate the table, references in queries refer to the materialized data. This is a minimal implementation, but should still be useful in many cases. Currently data is only populated "on demand" by the CREATE MATERIALIZED VIEW and REFRESH MATERIALIZED VIEW statements. It is expected that future releases will add incremental updates with various timings, and that a more refined concept of defining what is "fresh" data will be developed. At some point it may even be possible to have queries use a materialized in place of references to underlying tables, but that requires the other above-mentioned features to be working first. Much of the documentation work by Robert Haas. Review by Noah Misch, Thom Brown, Robert Haas, Marko Tiikkaja Security review by KaiGai Kohei, with a decision on how best to implement sepgsql still pending.
-
Tom Lane authored
Also make sure other fields of the view's pg_class entry are appropriate for a view; it shouldn't have relfrozenxid set for instance. This ancient omission isn't believed to have any serious consequences in versions 8.4-9.2, so no backpatch. But let's fix it before it does bite us in some serious way. It's just luck that the case doesn't cause problems for autovacuum. (It did cause problems in 8.3, but that's out of support.) Andres Freund
-
- 03 Mar, 2013 3 commits
-
-
Tom Lane authored
fmgr_sql had been designed on the assumption that the FmgrInfo it's called with has only query lifespan. This is demonstrably unsafe in connection with range types, as shown in bug #7881 from Andrew Gierth. Fix things so that we re-generate the function's cache data if the (sub)transaction it was made in is no longer active. Back-patch to 9.2. This might be needed further back, but it's not clear whether the case can realistically arise without range types, so for now I'll desist from back-patching further.
-
Peter Eisentraut authored
submitted by "Lyle"
-
Peter Eisentraut authored
Josh Kupershmidt
-
- 02 Mar, 2013 2 commits
-
-
Peter Eisentraut authored
They can include sys/sdt.h from SystemTap, which itself contains C++ code and so won't compile with a C++ compiler under extern "C" linkage.
-
Tom Lane authored
Careless use of TopMemoryContext for I/O function data meant that repeated use of spi_prepare and spi_freeplan would leak memory at the session level, as per report from Christian Schröder. In addition, spi_prepare leaked a lot of transient data within the current plperl function's SPI Proc context, which would be a problem for repeated use of spi_prepare within a single plperl function call; and it wasn't terribly careful about releasing permanent allocations in event of an error, either. In passing, clean up some copy-and-pasteos in query-lookup error messages. Alex Hunsaker and Tom Lane
-
- 28 Feb, 2013 2 commits
-
-
Alvaro Herrera authored
Per gripe from Andres Freund
-
Andrew Dunstan authored
This is a possibly vain attempt to fix a buffering issue observed for some MSVC builds.
-
- 27 Feb, 2013 7 commits
-
-
Heikki Linnakangas authored
Thom Brown and me.
-
Heikki Linnakangas authored
The new file in src/port needs to be listed in Mkvcbuild.pm as well.
-
Heikki Linnakangas authored
Fujii Masao and me.
-
Heikki Linnakangas authored
In copy-out mode, the frontend should not send any messages until the backend has finished streaming, by sending a CopyDone message. I'm not sure if it would be legal for the client to send a new query before receiving the CopyDone message from the backend, but trying to support that would require bigger changes to the backend code structure. Fixes an assertion failure reported by Fujii Masao.
-
Heikki Linnakangas authored
-
Heikki Linnakangas authored
This includes backend "COPY TO/FROM PROGRAM '...'" syntax, and corresponding psql \copy syntax. Like with reading/writing files, the backend version is superuser-only, and in the psql version, the program is run in the client. In the passing, the psql \copy STDIN/STDOUT syntax is subtly changed: if you the stdin/stdout is quoted, it's now interpreted as a filename. For example, "\copy foo from 'stdin'" now reads from a file called 'stdin', not from standard input. Before this, there was no way to specify a filename called stdin, stdout, pstdin or pstdout. This creates a new function in pgport, wait_result_to_str(), which can be used to convert the exit status of a process, as returned by wait(3), to a human-readable string. Etsuro Fujita, reviewed by Amit Kapila.
-
Tom Lane authored
parseqatom() failed to check for an error return (NULL result) from its recursive call to parsebranch(), and in consequence could crash with a null-pointer dereference after an error return. This bug has been there since day one, but wasn't noticed before, probably because most error cases in parsebranch() didn't actually lead to returning NULL. Add the missing error check, and also tweak parsebranch() to exit in a less indirect fashion after a call to parseqatom() fails. Report by Tomasz Karlik, fix by me.
-
- 26 Feb, 2013 4 commits
-
-
Tom Lane authored
-
Tom Lane authored
Use correct type for "result", fix bogus strftime argument, don't use unnecessary static variables, improve comments. Andres Freund and Tom Lane
-
Heikki Linnakangas authored
The backend grammar treats STDIN and STDOUT completely interchangeable, so that the above accepted. Arguably that was a mistake the backend grammar, but it's not ecpg's business to second guess that.
-
- 25 Feb, 2013 7 commits
-
-
Peter Eisentraut authored
-
Heikki Linnakangas authored
There's no harm in excessive quoting per se, but it makes the strings nicer to read. The values can get quite unwieldy, when they're first quoted within within single-quotes when included in the connection string, and then all the single-quotes are escaped when the connection string is passed as a shell argument.
-
Heikki Linnakangas authored
Like with pg_basebackup and pg_receivexlog, it's a bit strange to call the option -d/--dbname, when in fact you cannot pass a database name in it. Original patch by Amit Kapila, heavily modified by me.
-
Heikki Linnakangas authored
You could already pass a database name just by passing it as the last option, without -d. This is an alias for that, like the -d/--dbname option in psql and many other client applications. For consistency.
-
Andrew Dunstan authored
The previous commit didn't work on MSVC editions earlier than Visual Studio 2011, apparently. This works by copying files into the contrib directory, and making provision to clean them up, which should work on all editions.
-
Heikki Linnakangas authored
Without this, there's no way to pass arbitrary libpq connection parameters to these applications. It's a bit strange that the option is called -d/--dbname, when in fact you can *not* pass a database name in it, but it's consistent with other client applications where a connection string is also passed using -d. Original patch by Amit Kapila, heavily modified by me.
-
Andrew Dunstan authored
-
- 24 Feb, 2013 3 commits
-
-
Peter Eisentraut authored
It is obviously no longer true.
-
Tom Lane authored
rmgrdesc.c is not auto-generated now, though it apparently was the last time the Makefile was updated.
-
Peter Eisentraut authored
-
- 23 Feb, 2013 3 commits
-
-
Tom Lane authored
The new name was originally my typo, but per discussion it seems like a better name anyway. So make the code match the docs, not vice versa.
-
Peter Eisentraut authored
Louis-Claude Canon and Josh Kupershmidt
-
Peter Eisentraut authored
-
- 22 Feb, 2013 5 commits
-
-
Alvaro Herrera authored
Erik Rijkers
-
Alvaro Herrera authored
... as well a update copyrights statements to 2013. Noted by Thom Brown and Peter Geoghegan
-
Alvaro Herrera authored
Harmless, but it's certainly better like this. Noticed by Andres Freund
-
Alvaro Herrera authored
This program relies on rm_desc backend routines and the xlogreader infrastructure to emit human-readable rendering of WAL records. Author: Andres Freund, with many reworks by Álvaro Reviewed (in a much earlier version) by Peter Eisentraut
-
Tom Lane authored
Include eval costs of local conditions in remote-estimate mode, and don't assume the remote eval cost is zero in local-estimate mode. (The best we can do with that at the moment is to assume a seqscan, which may well be wildly pessimistic ... but zero won't do at all.) To get a reasonable local estimate, we need to know the relpages count for the remote rel, so improve the ANALYZE code to fetch that rather than just setting the foreign table's relpages field to zero.
-