| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
| |
when there are extra resjunk columns in the child node. I found some
additional cases involving Append nodes that weren't handled by the
prior patch, and it's not clear how to fix them in the same way without
breaking inheritance cases. So the prudent path seems to be to narrow
the scope of the optimization.
|
| |
|
|
|
|
|
|
| |
has to recopy the input plan node's targetlist if it removes a
SubqueryScan node just below the non-projecting node. For simplicity
I made it recopy always. Per bug report from Allan Wang and Michael Fuhr.
|
|
|
|
|
| |
exactly match the client version number, and warn about major version
mismatches.
|
|
|
|
| |
Propagate hack that's in dirmod.c to copydir.c.
|
| |
|
| |
|
|
|
|
| |
Darcy Buskermolen
|
|
|
|
|
|
|
|
|
|
|
| |
on a page, as suggested by ITAGAKI Takahiro. Also, change a few places
that were using some other estimates of max-items-per-page to consistently
use MaxOffsetNumber. This is conservatively large --- we could have used
the new MaxHeapTuplesPerPage macro, or a similar one for index tuples ---
but those places are simply declaring a fixed-size buffer and assuming it
will work, rather than actively testing for overrun. It seems safer to
size these buffers in a way that can't overflow even if the page is
corrupt.
|
|
|
|
|
| |
a local array isn't guaranteed to have any particular alignment, and
so it could slow down the data transfer.
|
|
|
|
|
| |
context since the previous AllocSetReset. Original patch by Atsushi Ogawa,
editorialized on a little bit by Tom Lane.
|
| |
|
|
|
|
| |
Gavin Sherry
|
|
|
|
|
|
| |
assert-enabled builds). This is a temporary measure to see if we can
learn anything about those intermittent stats test failures in the
buildfarm.
|
|
|
|
| |
Per report from Jaime Casanova.
|
| |
|
|
|
|
| |
reality.
|
|
|
|
|
|
|
|
|
| |
saves nearly 700kB in the default shared memory segment size, which seems
worthwhile, and it is a feature that many users won't use anyway. Per
Heikki's argument, there is no point in a compromise value --- those who
are using 2PC at all will probably want it at least equal to max_connections.
But we can't set it to zero by default without breaking the prepared_xacts
regression test.
|
|
|
|
|
| |
it can be done right. Allow explicit use of absolute DataDir path.
Per Dave Page.
|
| |
|
|
|
|
|
|
| |
will use pthreadGC2.
Dave Page
|
|
|
|
| |
SYNC instruction.
|
|
|
|
|
| |
got an empty bitmap after any step; the remaining subplans can no longer
affect the result. Per a suggestion from Ilia Kantor.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
to cope with a group name when dumping from a pre-8.1 installation.
Per report from Stefan Kaltenbrunner.
|
|
|
|
| |
are cases where it appears to have zero run cost.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
so that the latter estimates the number of groups that grouping will
produce. This is needed because it is primarily query_planner that
makes the decision between fast-start and fast-finish plans, and in the
original coding it was unable to make more than a crude rule-of-thumb
choice when the query involved grouping. This revision helps us make
saner choices for queries like SELECT ... GROUP BY ... LIMIT, as in a
recent example from Mark Kirkwood. Also move the responsibility for
canonicalizing sort_pathkeys and group_pathkeys into query_planner;
this information has to be available anyway to support the first change,
and doing it this way lets us get rid of compare_noncanonical_pathkeys
entirely.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
to copy the whole plan tree before invoking adjust_plan_varnos(); else
if there is any multiply-linked substructure, the latter might increment
some Var's varno twice. Previously there were some retail copyObject
calls inside adjust_plan_varnos, but it seems a lot safer to just dup the
whole tree first. Also, set_inner_join_references was trying to avoid
work by not recursing if a BitmapHeapScan's bitmapqualorig contained no
outer references; which was OK at the time the code was written, I think,
but now that create_bitmap_scan_plan removes duplicate clauses from
bitmapqualorig it is possible for that field to be NULL while outer
references still remain in the qpqual and/or contained indexscan nodes.
For safety, always recurse even if the BitmapHeapScan looks to be outer
reference free. Per reports from Michael Fuhr and Oleg Bartunov.
|
|
|
|
|
| |
the reference I consulted yesterday said SC does a SYNC, but apparently
this is not true on newer MIPS processors, so be safe.
|
|
|
|
| |
but for sure it's not any more broken than the prior version.
|
|
|
|
| |
code as we use on other platforms when encoding is not UTF8.
|
|
|
|
| |
definitions on recent Linux systems, per Martin Pitt.
|
| |
|
|
|
|
|
|
| |
the parent table, even if the command that creates them is executed by
someone else (such as a superuser or a member of the owning role).
Per gripe from Michael Fuhr.
|
|
|
|
| |
cover more error codes. Per Petr Jelinek.
|
|
|
|
| |
constrained GCC inline version. Thiemo Seufer, by way of Martin Pitt.
|
|
|
|
|
|
|
|
|
| |
in interval_mul and interval_div. This avoids an optimization bug
in A Certain Company's compiler (and given their explanation, I wouldn't
be surprised if other compilers blow it too). Besides the code seems
more clear this way --- in the original formulation, you had to mentally
recognize the common subexpression in order to understand what was going
on.
|
| |
|
|
|
|
|
|
| |
IPv6 is obsoleted by recent Windows patch. Perform the runtime test
whenever HAVE_IPV6 is set. This should be OK since initdb can get
getaddrinfo from libpgport if needed.
|
| |
|
| |
|
|
|
|
|
| |
has to be tested dynamically if we want to make portable executables.
Chuck McDevitt and Andrew Dunstan.
|
|
|
|
|
| |
This might be overly conservative, but we know it does not work on amd64.
Per buildfarm results.
|
| |
|
| |
|