| Commit message (Collapse) | Author | Age |
|
|
|
| |
backend exit. Per report from Bruce.
|
|
|
|
|
|
|
|
|
| |
is still alive. This improves our odds of not getting fooled by an
unrelated process when checking a stale lock file. Other checks already
in place, plus one newly added in checkDataDir(), ensure that we cannot
attempt to usurp the place of a postmaster belonging to a different userid,
so there is no need to error out. Add comments indicating the importance
of these other checks.
|
|
|
|
| |
Per Neil.
|
|
|
|
|
|
|
| |
locale is C.
Backpatch to 8.0.X because some operating systems were throwing errors
for such operations, rather than ignoring the locale when it was C.
|
|
|
|
|
| |
who for some reason isn't marked usecreatedb. Per report from Alexander
Pravking. Also fix sloppy coding in have_createdb_privilege().
|
|
|
|
|
|
|
|
| |
elog if the former has trouble writing its file. Code review for
Magnus' patch to redirect stderr to syslog on Windows (Bruce's version
seems right, but did some minor prettification).
Backpatch both changes to 8.0 branch.
|
|
|
|
|
|
|
|
|
| |
simpler 2Q algorithm, to avoid possible problems with the pending patent
on ARC. Testing so far suggests that there is little if any performance
loss from doing this.
Note that this patch is going into the 8.0 branch only; a much more
extensive revision is planned for HEAD.
|
|
|
|
|
|
| |
no held locks. This maintains the invariant that proclocks are present
only for procs that are holding or awaiting a lock; when this is not
true, LockRelease will fail. Per report from Stephen Clouse.
|
|
|
|
|
|
| |
indexscans involving partial indexes. These would always be dominated
by a simple indexscan on such an index, so there's no point in considering
them. Fixes overoptimism in a patch I applied last October.
|
|
|
|
|
|
| |
it was in 7.4, and add some comments explaining why it has to be this way.
I broke it for OR'd index predicates in a fit of code cleanup last summer.
Per example from Sergey Koshcheyev.
|
|
|
|
|
| |
CHECKPOINT and some other commands in the context of a standalone
backend. Allow a standalone backend to do its own checkpoints.
|
|
|
|
|
| |
into the sub-SELECT targetlist when it appears in the context
INSERT INTO foo SELECT $1 ... Per report from Abhijit Menon-Sen.
|
| |
|
| |
|
|
|
|
|
|
| |
that return tuples (such as EXPLAIN). Per gripe from Michael Fuhr.
Side effect: fix an old bug that unintentionally disabled backward scans
for all SPI-created cursors.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
column with a default expression. In that situation, we need to rewrite
the heap relation. To evaluate the new default expression, we use
ExecEvalExpr(); however, this can allocate memory in the current memory
context, and ATRewriteTable() does not switch out of the active portal's
heap memory context. The end result is a rather large memory leak (on
the order of gigabytes for a reasonably sized table).
This patch changes ATRewriteTable() to switch to the per-tuple memory
context before beginning the per-tuple loop. It also removes an explicit
heap_freetuple() in the loop, since that is no longer needed.
In an unrelated change, I noticed the code was scanning through the
attributes of the new tuple descriptor for each tuple of the old table.
I changed this to use precomputation, which should slightly speed up
the loop.
Thanks to steve@deefs.net for reporting the leak.
|
|
|
|
|
|
|
| |
there are corner cases involving dropping toasted columns in which the
previous coding would fail, too: the new version of the table might not
have any TOAST table, but we'd still propagate possibly-wide values of
dropped columns forward.
|
|
|
|
|
| |
This refactoring does not change any algorithms or data structures, just
remove visibility of the ARC datastructures from other source files.
|
|
|
|
| |
two arguments. Per suggestions from A. Ogawa.
|
|
|
|
|
|
|
|
| |
form of CASE (eg, CASE 0 WHEN 1 THEN ...) can be constant-folded as it
was in 7.4. Also, avoid constant-folding result expressions that are
certainly unreachable --- the former coding was a bit cavalier about this
and could generate unexpected results for all-constant CASE expressions.
Add regression test cases. Per report from Vlad Marchenko.
|
|
|
|
| |
command counter more than necessary. Per report from Michael Fuhr.
|
|
|
|
|
|
|
| |
estimate to less than the number of values estimated for any one grouping
Var, as suggested by Manfred. This is intuitively right, and what's
more it puts the plan choices in the subselect regression test back the
way they were before ...
|
|
|
|
|
| |
fix bug with inconsistent selection of default mask length for
"class D" addresses. Per report from Steve Atkins.
|
| |
|
|
|
|
|
|
|
|
|
| |
clamp the estimated number of groups to table row count over 10, instead
of table row count; this reflects a heuristic that people probably won't
group over a near-unique set of columns, and the knowledge that we don't
currently have any way to estimate the correlation of the columns better
than guessing. This change creates a trivial plan change in one of the
regression tests.
|
|
|
|
|
|
| |
look at the actual aggregate transition datatypes and the actual overhead
needed by nodeAgg.c, instead of using pessimistic round numbers.
Per a discussion with Michael Tiemann.
|
|
|
|
| |
functions of the aggregate, at both aggregate creation and execution times.
|
|
|
|
|
|
| |
to avoid problems when a cursor depends on objects created or changed in
the same subtransaction. We'd like to do better someday, but this seems
the only workable answer for 8.0.1.
|
|
|
|
| |
it agrees with the default value of max_stack_depth.
|
| |
|
|
|
|
|
| |
enforced properly when there is no explicit default value for the new
column. Per report from Craig Perras.
|
| |
|
| |
|
|
|
|
|
| |
left input's sorting, because null rows may be inserted at various points.
Per report from Ferenc Lutischá¸n.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
failure in SelectConfigFiles(). Cosmetic issue, but ...
|
| |
|
| |
|
|
|
|
|
|
|
| |
got it wrong when the JOIN was in an outer query level. Per example from
Laurie Burrow. Also fix same issue in markTargetListOrigin. I think the
latter is only a latent bug since we currently don't apply markTargetListOrigin
except at the outer level ... but should do it right anyway.
|
|
|
|
|
| |
of an sprintf() as a source string. Demonstrably does not work with
recent gcc and/or glibc on some platforms.
|
|
|
|
| |
version of Kerberos. Per report from Reinhard Max.
|
|
|
|
|
|
| |
CASE 'a' WHEN 'a' THEN 1 ELSE 2 END. This worked in 7.4 and before
but had been broken due to premature freezing of the type of the test
expression. Per gripe from GÄbor SzÃcs.
|
|
|
|
|
| |
telling when it has been exceeded. Per trouble report from
Jean-GÅrard Pailloncy.
|
|
|
|
| |
GERMAN datestyles. Ancient bug reported by Terry Lee Tucker.
|
|
|
|
|
|
| |
so that we can get the size of a shared inval message back down to what it
was in 7.4 (and simplify the logic too). Phase 2 of fixing the
'SMgrRelation hashtable corrupted' problem.
|
|
|
|
|
|
| |
is the minimum required fix. I want to look next at taking advantage of
it by simplifying the message semantics in the shared inval message queue,
but that part can be held over for 8.1 if it turns out too ugly.
|