summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-03-07Adjust nls.mk for split out of wait_error.cPeter Eisentraut
2013-03-06Fix missing #include in commands/matview.h.Tom Lane
It needs parsenodes.h to be compilable regardless of previous headers.
2013-03-06WAL-log the extension of a new empty MV heap which is being populated.Kevin Grittner
This page with no tuples is used to distinguish an MV containing a zero-row resultset of its backing query from an MV which has not been populated by its backing query. Unless WAL-logged, recovery and hot standby don't work correctly with what should be an empty but scannable materialized view. Fixes bugs reported by Fujii Masao in testing MVs on hot standby.
2013-03-06Add docs for pg_matviews, which were missed in the initial MV commit.Kevin Grittner
2013-03-06Fix broken pg_dump for 9.0 and 9.1 caused by the MV patch.Kevin Grittner
Per report and suggestion from Bernd Helmle
2013-03-06Fix message typo.Andrew Dunstan
2013-03-06pg_ctl: Add comma to messagePeter Eisentraut
2013-03-06Remove dependency on the DLL of pythonxx.def file.Andrew Dunstan
This confused Cygwin's make because of the colon in the path. The DLL isn't likely to change under us so preserving the dependency doesn't gain us much, and it's useful to be able to do a native Windows build with the Cygwin mingw toolset. Noah Misch.
2013-03-05Fix to_char() to use ASCII-only case-folding rules where appropriate.Tom Lane
formatting.c used locale-dependent case folding rules in some code paths where the result isn't supposed to be locale-dependent, for example to_char(timestamp, 'DAY'). Since the source data is always just ASCII in these cases, that usually didn't matter ... but it does matter in Turkish locales, which have unusual treatment of "i" and "I". To confuse matters even more, the misbehavior was only visible in UTF8 encoding, because in single-byte encodings we used pg_toupper/pg_tolower which don't have locale-specific behavior for ASCII characters. Fix by providing intentionally ASCII-only case-folding functions and using these where appropriate. Per bug #7913 from Adnan Dursun. Back-patch to all active branches, since it's been like this for a long time.
2013-03-05Bump catversion because of new function in the materialized view patch.Kevin Grittner
2013-03-04Fix overflow check in tm2timestamp (this time for sure).Tom Lane
I fixed this code back in commit 841b4a2d5, but didn't think carefully enough about the behavior near zero, which meant it improperly rejected 1999-12-31 24:00:00. Per report from Magnus Hagander.
2013-03-04psql: Let \l accept a patternPeter Eisentraut
reviewed by Satoshi Nagayasu
2013-03-04Remove accidentally-committed .orig file.Kevin Grittner
2013-03-04Fix map_sql_value_to_xml_value() to treat domains like their base types.Tom Lane
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
2013-03-04Add a materialized view relations.Kevin Grittner
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.
2013-03-04Get rid of any toast table when converting a table to a view.Tom Lane
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
2013-03-03Fix SQL function execution to be safe with long-lived FmgrInfos.Tom Lane
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.
2013-03-03doc: Small tweak for consistencyPeter Eisentraut
submitted by "Lyle"
2013-03-03doc: A few awkward phrasing fixesPeter Eisentraut
Josh Kupershmidt
2013-03-02Exclude utils/probes.h and pg_trace.h from cpluspluscheckPeter Eisentraut
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.
2013-03-02Eliminate memory leaks in plperl's spi_prepare() function.Tom Lane
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
2013-02-28Improve pg_upgrade commentary on multixact changeAlvaro Herrera
Per gripe from Andres Freund
2013-02-28Flush stderr and stdout in isolation tester.Andrew Dunstan
This is a possibly vain attempt to fix a buffering issue observed for some MSVC builds.
2013-02-27Remove spurious "the", and add a missing one.Heikki Linnakangas
Thom Brown and me.
2013-02-27Fix MSVC build.Heikki Linnakangas
The new file in src/port needs to be listed in Mkvcbuild.pm as well.
2013-02-27Fix typo in "pg_xlogdump --help" and error message.Heikki Linnakangas
Fujii Masao and me.
2013-02-27Cannot use WL_SOCKET_WRITEABLE without WL_SOCKET_READABLE.Heikki Linnakangas
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.
2013-02-27Add standard file header comment to quotes.c.Heikki Linnakangas
2013-02-27Add support for piping COPY to/from an external program.Heikki Linnakangas
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.
2013-02-27Add missing error check in regexp parser.Tom Lane
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.
2013-02-26Add missing .gitignore file.Tom Lane
2013-02-26Clean up "stopgap" implementation of timestamptz_to_str().Tom Lane
Use correct type for "result", fix bogus strftime argument, don't use unnecessary static variables, improve comments. Andres Freund and Tom Lane
2013-02-26Install headers from the new src/include/common subdirectory.Tom Lane
This got missed in commit 8396447cdbdff0b62914748de2fec04281dc9114. Andres Freund
2013-02-26Remove the check for COPY TO STDIN and COPY FROM STDOUT from ecpg.Heikki Linnakangas
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.
2013-02-25doc: Fix markup typoPeter Eisentraut
2013-02-25Only quote libpq connection string values that need quoting.Heikki Linnakangas
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.
2013-02-25Add -d option to pg_dumpall, for specifying a connection string.Heikki Linnakangas
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.
2013-02-25Add -d/--dbname option to pg_dump.Heikki Linnakangas
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.
2013-02-25Redo MSVC build implementation for pg_xlogdump.Andrew Dunstan
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.
2013-02-25Add -d option to pg_basebackup and pg_receivexlog, for connection string.Heikki Linnakangas
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.
2013-02-25Provide MSVC build setup for pg_xlogdump.Andrew Dunstan
2013-02-24doc: Remove PostgreSQL version number from xml2 deprecation noticePeter Eisentraut
It is obviously no longer true.
2013-02-24Fix build of contrib/pg_xlogdump.Tom Lane
rmgrdesc.c is not auto-generated now, though it apparently was the last time the Makefile was updated.
2013-02-24Correct tense in log messagePeter Eisentraut
2013-02-23Rename postgres_fdw's use_remote_explain option to use_remote_estimate.Tom Lane
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.
2013-02-23doc: Add more compatibility information for triggersPeter Eisentraut
Louis-Claude Canon and Josh Kupershmidt
2013-02-23Add quotes to messagesPeter Eisentraut
2013-02-22contrib/Makefile also needs updatedAlvaro Herrera
Erik Rijkers
2013-02-22Fix some typos and grammatical mistakesAlvaro Herrera
... as well a update copyrights statements to 2013. Noted by Thom Brown and Peter Geoghegan
2013-02-22Fix copy-and-pasteoAlvaro Herrera
Harmless, but it's certainly better like this. Noticed by Andres Freund