| Commit message (Collapse) | Author | Age |
|
|
|
|
|
| |
RHS that can't be unique-ified --- join_is_legal has to check that before
deciding to build a join, else we'll have an unimplementable joinrel.
Per report from Greg Stark.
|
| |
|
|
|
|
|
|
|
|
|
| |
a mismatching installation. Pick a default port number calculated from the
version number, and try a few times with other numbers if that one doesn't
work. Check if we can connect to the port before starting our own postmaster,
to detect some other server already running there. To simplify the code,
drop --temp-port option and use --port for both temp-install and pre-installed
case.
|
|
|
|
| |
the sample contains just a one tsvector, containing only one lexeme.
|
| |
|
|
|
|
|
| |
as soon as the first page fills up, and is marked as (almost) full,
though.
|
|
|
|
| |
business in core.
|
| |
|
| |
|
|
|
|
|
|
| |
DestReceiver created during postquel_start needs to be destroyed during
postquel_end. In a moment of brain fade I had assumed this would be taken
care of by FreeQueryDesc, but it's not (and shouldn't be).
|
| |
|
| |
|
|
|
|
| |
interval style into ecpg.
|
|
|
|
| |
versions of gcc.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
page build target. This covers from-source, Debian, and Fedora
installation variants.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
results (ie, an empty "broken" buffer) if memory overrun occurs anywhere
along the way to filling the buffer. The previous coding would just silently
discard portions of the intended buffer contents, as exhibited in trouble
report from Sam Mason. Also, tweak psql's main loop to correctly detect
and report such overruns. There's probably much more that should be done
in this line, but this is a start.
|
|
|
|
|
|
|
|
| |
by hand. As an added bonus, the new code is smaller and more understandable,
and the ugly loops are gone.
This had been discussed all along but never implemented. It became clear that
it really needed to be fixed after a bug report by Pavan Deolasee.
|
|
|
|
|
|
|
|
|
| |
libpq. As noted by Peter, adding this variable created a risk of unexpected
connection failures when talking to older server versions, and since it
doesn't do anything you can't do with PGOPTIONS, it doesn't seem really
necessary. Removing it does occasion a few extra lines in pg_regress.c,
but saving a getenv() call per libpq connection attempt is perhaps worth
that anyway.
|
|
|
|
| |
complaints about empty object files on some platforms, eg Darwin.
|
|
|
|
|
| |
of our way to ignore the exit status). If this ever really happens, worst
case you will not see the "score" at the bottom of the test run.
|
|
|
|
| |
it out for now so the buildfarm recovers.
|
|
|
|
|
|
| |
The information on why the shared libraries are built the way they are
was not relevant to end users and has been made a mailing list archive
link in Makefile.shlib.
|
|
|
|
|
| |
This uses the function fnmatch() which is not available on all platforms
(notably Windows), so import the implementation from NetBSD into src/port.
|
|
|
|
| |
Jim Cox and Peter Eisentraut
|
|
|
|
|
|
|
|
| |
the bgwriter immediately. This covers the case where the bgwriter is still
starting up, as seen in a recent buildfarm failure. In future it might also
assist with clean recovery after a bgwriter termination and restart ---
right now the postmaster treats early bgwriter exit as a system crash,
but that might not always be so.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
though it is an inner rather than outer join type. This essentially means
that we don't bother to separate "pushed down" qual conditions from actual
join quals at a semijoin plan node; which is okay because the restrictions of
SQL syntax make it impossible to have a pushed-down qual that references the
inner side of a semijoin. This allows noticeably better optimization of
IN/EXISTS cases than we had before, since the equivalence-class machinery can
now use those quals. Also fix a couple of other mistakes that had essentially
disabled the ability to unique-ify the inner relation and then join it to just
a subset of the left-hand relations. An example case using the regression
database is
select * from tenk1 a, tenk1 b
where (a.unique1,b.unique2) in (select unique1,unique2 from tenk1 c);
which is planned reasonably well by 8.3 and earlier but had been forcing a
cartesian join of a/b in CVS HEAD.
|
| |
|
|
|
|
| |
a comma separated string.
|
| |
|
|
|
|
|
|
| |
db_user_namespace is enabled.
Also document this limitation.
|
|
|
|
|
|
|
|
| |
as LIKE. I oversimplified this code when removing support for plan-time
determination of index operator lossiness back in April --- I had thought
create_bitmap_subplan could stop returning two separate lists of qual
conditions, but it still must so that we can treat special operators
correctly in create_bitmap_scan_plan. Per report from Rushabh Lathia.
|
|
|
|
|
| |
%s to unescape them. Fixes a potential security issue (in as yet
unreleased code)
|
|
|
|
| |
clearly stated that we are aware that we're ignoring it.
|
| |
|
|
|
|
| |
database (only for SSL connections, obviously).
|
|
|
|
| |
instead of just relying on the root certificate file to be present.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
truncations in FSM code, call FreeSpaceMapTruncateRel from smgr_redo. To
make that cleaner from modularity point of view, move the WAL-logging one
level up to RelationTruncate, and move RelationTruncate and all the
related WAL-logging to new src/backend/catalog/storage.c file. Introduce
new RelationCreateStorage and RelationDropStorage functions that are used
instead of calling smgrcreate/smgrscheduleunlink directly. Move the
pending rel deletion stuff from smgrcreate/smgrscheduleunlink to the new
functions. This leaves smgr.c as a thin wrapper around md.c; all the
transactional stuff is now in storage.c.
This will make it easier to add new forks with similar truncation logic,
like the visibility map.
|
|
|
|
|
| |
Actually, it can't but some compilers are not smart enough.
Per Peter Eisentraut gripe.
|
|
|
|
|
|
| |
Sort the output by command name. This previously only worked by source
file name, which doesn't always match the command name exactly. And it
certainly won't work for multiple refnames.
|
|
|
|
|
| |
somewhat reasonably. It's not perfect, but it beats the kluge
proposed in the auto-explain patch ...
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Refactor explain.c slightly to export a convenient-to-use subroutine
for printing EXPLAIN results.
* Provide hooks for plugins to get control at ExecutorStart and ExecutorEnd
as well as ExecutorRun.
* Add some minimal support for tracking the total runtime of ExecutorRun.
This code won't actually do anything unless a plugin prods it to.
* Change the API of the DefineCustomXXXVariable functions to allow nonzero
"flags" to be specified for a custom GUC variable. While at it, also make
the "bootstrap" default value for custom GUCs be explicitly specified as a
parameter to these functions. This is to eliminate confusion over where the
default comes from, as has been expressed in the past by some users of the
custom-variable facility.
* Refactor GUC code a bit to ensure that a custom variable gets initialized to
something valid (like its default value) even if the placeholder value was
invalid.
|
|
|
|
| |
Andrew Chernow
|
|
|
|
|
|
| |
getpeerucred() function.
Author: Garick Hamlin <ghamlin@isc.upenn.edu>
|
|
|
|
| |
Performance is increased from 50% up to 10^3 times depending on data.
|