- 22 Sep, 2009 3 commits
-
-
Peter Eisentraut authored
Author: Marko Kreen <markokr@gmail.com>
-
Tom Lane authored
to create a function for it. Procedural languages now have an additional entry point, namely a function to execute an inline code block. This seemed a better design than trying to hide the transient-ness of the code from the PL. As of this patch, only plpgsql has an inline handler, but probably people will soon write handlers for the other standard PLs. In passing, remove the long-dead LANCOMPILER option of CREATE LANGUAGE. Petr Jelinek
-
Tom Lane authored
Introduced in 8.4 rewrite of dependency.c. Per bug #5072 from Amit Khandekar.
-
- 21 Sep, 2009 3 commits
-
-
Peter Eisentraut authored
This is mainly to make the functionality consistent with the proposed \u escape syntax.
-
Bruce Momjian authored
Prevent creation of 16GB files during fsync testing; only create 16MB files; backpatch to 8.4.X.
-
Tom Lane authored
This is intentionally similar to the recently revised syntax for EXPLAIN options, ie, (name value, ...). The old syntax is still supported for backwards compatibility, but we intend that any options added in future will be provided only in the new syntax. Robert Haas, Emmanuel Cecchet
-
- 20 Sep, 2009 1 commit
-
-
Tom Lane authored
preinitialized local variables, this does not affect the function's semantics as seen by callers; allowing assignment simply avoids the need to create more local variables in some cases. In any case we were being rather inconsistent since only scalar parameters were getting marked constant. No documentation change, since parameters were never documented as being marked constant anyway. Steve Prentice
-
- 19 Sep, 2009 5 commits
-
-
Tom Lane authored
trying to parse COPY options exactly in psql's \copy support. Instead, just send the options as-is and let the backend sort it out. Emmanuel Cecchet
-
Tom Lane authored
-
Tom Lane authored
-
Peter Eisentraut authored
-
Andrew Dunstan authored
-
- 18 Sep, 2009 5 commits
-
-
Tom Lane authored
-
Tom Lane authored
tests into a small common subroutine, and eliminate an unnecessary difference in the order in which conditions are tested. Per a comment from Robert Haas.
-
Teodor Sigaev authored
only for secondary page split (i.e. for non-first columns of index) Patch by Paul Ramsey <pramsey@opengeo.org>
-
Michael Meskes authored
function that returns the current transaction status.
-
Peter Eisentraut authored
Instead of requiring translators to translate the entire SQL command synopses, change create_help.pl to only require them to translate the placeholders, and paste those into the synopsis using a printf mechanism. Make some small updates to the markup to make it easier to parse. Note: This causes msgmerge of gettext 0.17 to segfault. You will need the patch from https://savannah.gnu.org/bugs/?27474 to make it work. msgmerge usually only runs on babel.postgresql.org, however.
-
- 17 Sep, 2009 5 commits
-
-
Bruce Momjian authored
Update docs to clearly explain NULL value matching behavior, per Andrew. Backpatch to 8.4.X.
-
Peter Eisentraut authored
ignored because it can only be set at server start. In particular, hiding the main reason in the detail message was suboptimal.
-
Bruce Momjian authored
Clearify documentation of CVS's output of NULL values, per suggestion from Magnus. Backpatch to 8.4.X.
-
Peter Eisentraut authored
-
Tom Lane authored
is unique and is not referenced above the join. In this case the inner side doesn't affect the query result and can be thrown away entirely. Although perhaps nobody would ever write such a thing by hand, it's a reasonably common case in machine-generated SQL. The current implementation only recognizes the case where the inner side is a simple relation with a unique index matching the query conditions. This is enough for the use-cases that have been shown so far, but we might want to try to handle other cases later. Robert Haas, somewhat rewritten by Tom
-
- 16 Sep, 2009 1 commit
-
-
Peter Eisentraut authored
Author: Alexey Klyukin <alexk@commandprompt.com>
-
- 15 Sep, 2009 3 commits
-
-
Tom Lane authored
In practice these mistakes were always masked when full_page_writes was on, because XLogInsert would always choose to log the full page, and then ginRedoInsertListPage wouldn't try to do anything. But with full_page_writes off a WAL replay failure was certain. The GIN_INSERT_LISTPAGE record type could probably be eliminated entirely in favor of using XLOG_HEAP_NEWPAGE, but I refrained from doing that now since it would have required a significantly more invasive patch. In passing do a little bit of code cleanup, including making the accounting for free space on GIN list pages more precise. (This wasn't a bug as the errors were always in the conservative direction.) Per report from Simon. Back-patch to 8.4 which contains the identical code.
-
Michael Meskes authored
-
Tom Lane authored
if salt_len == 0. This seems to be mostly academic, since nearly all calling code paths guarantee nonempty salt; the only case that doesn't is PQencryptPassword where the caller could mistakenly pass an empty username. So, fix it but don't bother backpatching. Per ljb.
-
- 14 Sep, 2009 1 commit
-
-
Peter Eisentraut authored
-
- 13 Sep, 2009 4 commits
-
-
Tom Lane authored
append_history(), if libreadline is new enough to have those functions (they seem to be present at least since 4.2; but libedit may not have them). This gives significantly saner behavior when two or more sessions overlap in their use of the history file; although having two sessions exit at just the same time is still perilous to your history. The behavior of \s remains unchanged, ie, overwrite whatever was there. Per bug #5052 from Marek Wójtowicz.
-
Peter Eisentraut authored
Check calls of PyUnicode_AsEncodedString() for NULL return, probably because the encoding name is not known. Add special treatment for SQL_ASCII, which Python definitely does not know. Since using SQL_ASCII produces errors in the regression tests when non-ASCII characters are involved, we have to put back various regression test result variants.
-
Peter Eisentraut authored
per Joshua Tolley
-
Heikki Linnakangas authored
of checkpoint. Although the checkpoint has been written to WAL at that point already, so that all data is safe, and we'll retry removing the WAL segment at the next checkpoint, if such a failure persists we won't be able to remove any other old WAL segments either and will eventually run out of disk space. It's better to treat the failure as non-fatal, and move on to clean any other WAL segment and continue with any other end-of-checkpoint cleanup. We don't normally expect any such failures, but on Windows it can happen with some anti-virus or backup software that lock files without FILE_SHARE_DELETE flag. Also, the loop in pgrename() to retry when the file is locked was broken. If a file is locked on Windows, you get ERROR_SHARE_VIOLATION, not ERROR_ACCESS_DENIED, at least on modern versions. Fix that, although I left the check for ERROR_ACCESS_DENIED in there as well (presumably it was correct in some environment), and added ERROR_LOCK_VIOLATION to be consistent with similar checks in pgwin32_open(). Reduce the timeout on the loop from 30s to 10s, on the grounds that since it's been broken, we've effectively had a timeout of 0s and no-one has complained, so a smaller timeout is actually closer to the old behavior. A longer timeout would mean that if recycling a WAL file fails because it's locked for some reason, InstallXLogFileSegment() will hold ControlFileLock for longer, potentially blocking other backends, so a long timeout isn't totally harmless. While we're at it, set errno correctly in pgrename(). Backpatch to 8.2, which is the oldest version supported on Windows. The xlog.c changes would make sense on other platforms and thus on older versions as well, but since there's no such locking issues on other platforms, it's not worth it.
-
- 12 Sep, 2009 7 commits
-
-
Joe Conway authored
dblink generates orphaned connections when called with a connection string, fail_on_error = true, and an ERROR occurs. Discovery and patch by Tatsuhito Kasahara. Introduced in 8.4.
-
Peter Eisentraut authored
PL/Python now accepts Unicode objects where it previously only accepted string objects (for example, as return value). Unicode objects are converted to the PostgreSQL server encoding as necessary. This change is also necessary for future Python 3 support, which treats all strings as Unicode objects. Since this removes the error conditions that the plpython_unicode test file tested for, the alternative result files are no longer necessary.
-
Tom Lane authored
an explicit model of rescan costs being different from first-time costs. The costing of Material nodes in particular now has some visible relationship to the actual runtime behavior, where before it was essentially fantasy. This also fixes up a couple of places where different materialized plan types were treated differently for no very good reason (probably just oversights). A couple of the regression tests are affected, because the planner now chooses to put the other relation on the inside of a nestloop-with-materialize. So far as I can see both changes are sane, and the planner is now more consistently following the expectation that it should prefer to materialize the smaller of two relations. Per a recent discussion with Robert Haas.
-
Tom Lane authored
privileges by mentioning the possibility of granting membership in the owning role.
-
Tom Lane authored
If Apple doesn't fix that reasonably soon, we'll have to consider back-patching a workaround; but for now, just hack it in HEAD so that we can get buildfarm reports on HEAD from OS X machines. Per Jan Otto.
-
Peter Eisentraut authored
-
Tom Lane authored
In this case we generate two PathKey references to the expression (one for DISTINCT and one for ORDER BY) and they really need to refer to the same EquivalenceClass. However get_eclass_for_sort_expr was being overly paranoid and creating two different EC's. Correct behavior is to use the SortGroupRef index to decide whether two references to volatile expressions that are equal() (ie textually equivalent) should be considered the same. Backpatch to 8.4. Possibly this should be changed in 8.3 as well, but I'll refrain in the absence of evidence of a visible failure in that branch. Per bug #5049.
-
- 11 Sep, 2009 2 commits
-
-
Tom Lane authored
use that value when the backend is new enough to allow it. This responds to bug report from Keh-Cheng Chu pointing out that although 2 extra digits should be sufficient to dump and restore float8 exactly, it is possible to need 3 extra digits for float4 values.
-
Peter Eisentraut authored
per Bruno Guimarães Carneiro
-