- 08 3月, 2013 5 次提交
-
-
由 Heikki Linnakangas 提交于
-
由 Heikki Linnakangas 提交于
Alexander Korotkov, reviewed by Jeff Davis.
-
由 Heikki Linnakangas 提交于
The libpgcommon patch made that unnecessary, palloc and friends are now available in frontend programs too, mapped to plain old malloc. As pointed out by Alvaro Herrera.
-
由 Kevin Grittner 提交于
Fujii Masao
-
由 Tom Lane 提交于
The previous coding of this function could get into situations where it would never terminate, because successive passes would re-add EMPTY arcs that had been removed by the previous pass. Rewrite the function completely using a new algorithm that is guaranteed to terminate, and also seems to be usually faster than the old one. Per Tcl bugs 3604074 and 3606683. Tom Lane and Don Porter
-
- 07 3月, 2013 8 次提交
-
-
由 Heikki Linnakangas 提交于
If we were about to enter archive recovery after crash recovery, we scanned the archive for the latest tli history file, and set the recovery target timeline to that. However, when we actually tried to read the history file, we would not fetch the file from the archive, because we were not in archive recovery yet. To fix, make readTimeLineHistory and existsTimeLineHistory to always fetch the file from archive if archive recovery is requested, even if we're not in archive recovery yet. Backpatch to 9.2. Mitsumasa KONDO
-
由 Tom Lane 提交于
This saves several catalog lookups per reference. It's not all that exciting right now, because we'd managed to minimize the number of places that need to fetch the data; but the upcoming writable-foreign-tables patch needs this info in a lot more places.
-
由 Peter Eisentraut 提交于
-
由 Robert Haas 提交于
KaiGai Kohei
-
由 Peter Eisentraut 提交于
-
由 Tom Lane 提交于
It needs parsenodes.h to be compilable regardless of previous headers.
-
由 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.
-
由 Kevin Grittner 提交于
-
- 06 3月, 2013 5 次提交
-
-
由 Kevin Grittner 提交于
Per report and suggestion from Bernd Helmle
-
由 Andrew Dunstan 提交于
-
由 Peter Eisentraut 提交于
-
由 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.
-
由 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.
-
- 05 3月, 2013 2 次提交
-
-
由 Kevin Grittner 提交于
-
- 04 3月, 2013 6 次提交
-
-
由 Peter Eisentraut 提交于
reviewed by Satoshi Nagayasu
-
由 Kevin Grittner 提交于
-
由 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
-
由 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.
-
由 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
-
由 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.
-
- 03 3月, 2013 2 次提交
-
-
由 Peter Eisentraut 提交于
submitted by "Lyle"
-
由 Peter Eisentraut 提交于
Josh Kupershmidt
-
- 02 3月, 2013 2 次提交
-
-
由 Peter 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.
-
由 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
-
- 01 3月, 2013 1 次提交
-
-
由 Alvaro Herrera 提交于
Per gripe from Andres Freund
-
- 28 2月, 2013 7 次提交
-
-
由 Andrew Dunstan 提交于
This is a possibly vain attempt to fix a buffering issue observed for some MSVC builds.
-
由 Heikki Linnakangas 提交于
Thom Brown and me.
-
由 Heikki Linnakangas 提交于
The new file in src/port needs to be listed in Mkvcbuild.pm as well.
-
由 Heikki Linnakangas 提交于
Fujii Masao and me.
-
由 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.
-
由 Heikki Linnakangas 提交于
-
由 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.
-
- 27 2月, 2013 2 次提交
-
-
由 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.
-
由 Tom Lane 提交于
-