| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
|
|
| |
recovered. I did not see any actual leak while testing this in CVS tip,
but 8.0 definitely has a problem with leaking the space temporarily
palloc'd by BufferSync(). In any case this seems a good idea to forestall
similar problems in future. Per report from Arjen van der Meijden.
|
|
|
|
| |
check for errors.
|
|
|
|
|
|
|
| |
to drop connections unceremoniously. Also some other marginal cleanups:
don't query getsockopt() repeatedly if it fails, and avoid having the
apparent definition of struct Port depend on which system headers you
might have included or not. Oliver Jowett and Tom Lane.
|
|
|
|
|
|
|
|
|
| |
> found in a pg_dump archive. It had problems with dollar-quote tags
broken across bufferload boundaries (this may explain bug report from
Rod Taylor), also with dollar-quote literals of the form $a$a$...,
and was also confused about the rules for backslash in double quoted
identifiers (ie, they're not special). Also put in placeholder support
for E'...' literals --- this will need more work later.
|
|
|
|
|
|
|
| |
really the source or destination of the archive. I think this will
resolve recent complaints that password prompting is broken in pg_restore
on Windows. Note that password prompting and reading from stdin is an
unworkable combination on Windows ... but that was true anyway.
|
|
|
|
|
|
|
|
|
| |
is certainly no longer immutable, but must indeed be marked volatile.
I wonder if it should use the value of now() (that is, transaction
start time) so that it could be marked stable. But it's probably not
important enough to be worth changing the code for ... indeed, I'm not
even going to force an initdb for this catalog change, seeing that we
just did one a few hours ago.
|
|
|
|
|
|
| |
is a non-finite timestamp, for consistency with related functions.
In other words: +infinity rotated to a different timezone is still
+infinity.
|
|
|
|
|
|
|
|
|
| |
in the zic database or zone names found in the date token table. This
preserves the old ability to do AT TIME ZONE 'PST' along with the new
ability to do AT TIME ZONE 'PST8PDT'. Per gripe from Bricklen Anderson.
Also, fix some inconsistencies in usage of TZ_STRLEN_MAX --- the old
code had the potential for one-byte buffer overruns, though given
alignment considerations it's unlikely there was any real risk.
|
|
|
|
|
|
| |
for procedural languages. This replaces the hard-wired table I had
originally proposed as a stopgap solution. For the moment, the initial
contents only include languages shipped with the core distribution.
|
|
|
|
| |
realizing that the regression tests could be affected.
|
|
|
|
|
| |
Among other changes, this reflects the recently passed change in USA
daylight savings rules.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
as per my recent proposal. For now the template data is hard-wired in
proclang.c --- this should be replaced later by a new shared system
catalog, but we don't want to force initdb during 8.1 beta. This change
lets us cleanly load existing dump files even if they contain outright
wrong information about a PL's support functions, such as a wrong path
to the shared library or a missing validator function. Also, we can
revert the recent kluges to make pg_dump dump PL support functions that
are stored in pg_catalog.
While at it, I removed the code in pg_regress that replaced $libdir
with a hardcoded path for temporary installations. This is no longer
needed given our support for relocatable installations.
|
|
|
|
|
|
|
|
| |
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.
|
| |
|