| Commit message (Collapse) | Author | Age |
... | |
| |
|
| |
|
|
|
|
|
|
| |
non-NULL during the guts of plpgsql_exec_trigger() and
plpgsql_exec_function(). Therefore, we can remove the NULL check,
per discussion on -patches.
|
|
|
|
|
|
|
|
|
| |
listed in the column's most-common-values statistics entry. This gives
us an exact selectivity result for the portion of the column population
represented by the MCV list, which can be a big leg up in accuracy if
that's a large fraction of the population. The heuristics involving
pattern contents and prefix are applied only to the part of the population
not included in the MCV list.
|
|
|
|
| |
typedefs.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
one argument at a time and then inserting the argument into a Python
list via PyList_SetItem(). This "steals" the reference to the argument:
that is, the reference to the new list member is now held by the Python
list itself. This works fine, except if an elog occurs. This causes the
function's PG_CATCH() block to be invoked, which decrements the
reference counts on both the current argument and the list of arguments.
If the elog happens to occur during the second or subsequent iteration
of the loop, the reference count on the current argument will be
decremented twice.
The fix is simple: set the local pointer to the current argument to NULL
immediately after adding it to the argument list. This ensures that the
Py_XDECREF() in the PG_CATCH() block doesn't double-decrement.
|
|
|
|
|
|
| |
operator names. This is needed when dumping operator definitions that have
COMMUTATOR (or similar) links to operators in other schemas.
Apparently Daniel Whitter is the first person ever to try this :-(
|
|
|
|
| |
behavior.
|
|
|
|
|
| |
and change two elogs into ereports because they could actually occur
in practice.
|
|
|
|
|
|
| |
declares routines in plperl.c and spi_internal.c used in other files.
Along the way, also stop perl from hijacking stdio and other stuff on Windows.
|
|
|
|
|
| |
difference between USE_ASSERT_CHECKING and not: the assert_enabled
variable is always there.
|
|
|
|
| |
Stefan Kaltenbrunner.
|
|
|
|
|
|
|
| |
and nail a couple more system indexes into cache. This doesn't make
any difference in normal system operation, but when forcing constant
cache resets it's difficult to get through the rules regression test
without these changes.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
access information about the prepared statements that are available
in the current session. Original patch from Joachim Wieland, various
improvements by Neil Conway.
The "statement" column of the view contains the literal query string
sent by the client, without any rewriting or pretty printing. This
means that prepared statements created via SQL will be prefixed with
"PREPARE ... AS ", whereas those prepared via the FE/BE protocol will
not. That is unfortunate, but discussion on -patches did not yield an
efficient way to improve this, and there is some merit in returning
exactly what the client sent to the backend.
Catalog version bumped, regression tests updated.
|
|
|
|
|
|
| |
use it. While it normally has been opened earlier during btree index
build, testing shows that it's possible for the link to be closed again
if an sinval reset occurs while the index is being built.
|
| |
|
|
|
|
|
|
|
|
|
| |
dead and have become unreferenced. Before 8.1, such members were left
for AtEOXact_CatCache() to clean up, but now AtEOXact_CatCache isn't
supposed to have anything to do. In an assert-enabled build this bug
leads to an assertion failure at transaction end, but in a non-assert
build the dead member is effectively just a small memory leak.
Per report from Jeremy Drake.
|
|
|
|
| |
an INSERT target list during rule rewriting. Per report from John Supplee.
|
| |
|
|
|
|
|
|
|
| |
rather than elog(FATAL), when there is no more room in ShmemBackendArray.
This is a security issue since too many connection requests arriving close
together could cause the postmaster to shut down, resulting in denial of
service. Reported by Yoshiyuki Asaba, fixed by Magnus Hagander.
|
|
|
|
|
| |
The consequences of overwriting a non-empty page are bad enough that
we should not omit this test in production builds.
|
|
|
|
|
|
|
|
|
| |
the relation but it finds a pre-existing valid buffer. The buffer does not
correspond to any page known to the kernel, so we *must* do smgrextend to
ensure that the space becomes allocated. The 7.x branches all do this
correctly, but the corner case got lost somewhere during 8.0 bufmgr rewrites.
(My fault no doubt :-( ... I think I assumed that such a buffer must be
not-BM_VALID, which is not so.)
|
| |
|
| |
|
|
|
|
|
| |
http://archives.postgresql.org/pgsql-hackers/2006-01/msg00151.php for the
complete plan.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
an LWLock instead of a spinlock. This hardly matters on Unix machines
but should improve startup performance on Windows (or any port using
EXEC_BACKEND). Per previous discussion.
|
|
|
|
| |
expressional indexes. Per report from Brian Hirt.
|
|
|
|
| |
per http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=343616 via Martin Pitt.
|
|
|
|
|
| |
returning the rowtype it's supposed to return. Per reports from David Niblett
and Michael Fuhr.
|
|
|
|
| |
optimization.
|
|
|
|
|
| |
call for every stats packet read to adjust select() timeout. Other
stylistic improvements.
|
| |
|
| |
|
|
|
|
| |
buffers lower than or equal to a value we already know is good, but use that value instead. This will make it easier to adjust the trial values and/or formulae in future if necessary.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
from Andrus Moor. The former state-machine-style coding wasn't actually
doing much except obscuring the control flow, and it didn't extend
readily to fix this case, so I just took it out. Also, add a
YY_FLUSH_BUFFER call to ensure the lexer is reset correctly if the
previous scan failed partway through the file.
|
|
|
|
|
| |
are inconsistent with the rest of the .po files, and apparently cause
problems for Sun's cc. Per report on IRC from "bitvector2".
|
|
|
|
| |
formerly "RETRIEVE", and so forth.
|
|
|
|
|
|
|
|
|
| |
a little bit, and set the minimum buffers-per-connection ratio to 10 not
5. I folded the two test routines into one to counteract the illusion
that the tests can be twiddled independently, and added some documentation
pointing out the necessary connection between the sets of values tested.
Fixes strange choices of parameters that I noticed CVS tip making on
Darwin with Apple's undersized default SHMMAX.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
they can be easily distinguished from SQL commands.
|
|
|
|
| |
Pierre Girard
|
|
|
|
|
|
| |
selection of a field from the result of a function returning RECORD.
I believe this case is new in 8.1; it's due to the addition of OUT parameters.
Per example from Michael Fuhr.
|