| Commit message (Collapse) | Author | Age |
|
|
|
|
| |
ReleaseAndReadBuffer during GIST index searches. We already did this
in btree and rtree, might as well do it here too.
|
|
|
|
| |
from LockRelease() and LockReleaseAll() into it. From Heikki Linnakangas.
|
|
|
|
|
| |
database: aggregates should be dumped in the same pass as operators,
not in the same pass as functions.
|
|
|
|
|
| |
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.
|
|
|
|
| |
* Update inet/cidr data types with newest Bind patches
|
| |
|
|
|
|
|
|
|
|
| |
tests. Contributed by Koju Iijima, review from Neil Conway, Gavin Sherry
and Tom Lane.
Also, fix error in description of WITH CHECK OPTION clause in the CREATE
VIEW reference page: it should be "CASCADED", not "CASCADE".
|
|
|
|
| |
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 ...
|
|
|
|
|
|
| |
initially NULL. For 8.0 we changed the main executor to have this
behavior in an UPDATE of an array column, but plpgsql's equivalent case
was overlooked. Per report from Sven Willenberger.
|
|
|
|
|
| |
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.
|
|
|
|
| |
defining List.
|
|
|
|
|
| |
Solaris and should be a little faster anyway, since in most scenarios
all but perhaps the last path component will already exist.
|
|
|
|
| |
functions of the aggregate, at both aggregate creation and execution times.
|
|
|
|
|
|
| |
utils/cache/lsyscache.c where it can be used by other things. Also
cleans up both get_usesysid() and get_grosysid() a bit. From Stephen
Frost.
|
|
|
|
|
| |
Relation. Patch from Alvaro Herrera, minor editorializing by
Neil Conway.
|
|
|
|
|
| |
does not match what the query expected. From Brendan Jurd, minor
editorializing by Neil Conway.
|
|
|
|
|
|
|
|
| |
command. This is useful because we can allow truncation of tables
referenced by foreign keys, so long as the referencing table is
truncated in the same command.
Alvaro Herrera
|
|
|
|
| |
Tom.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
column values in -d mode. Per report from Marty Scholes. This doesn't
completely solve the issue, because we still need multiple copies of the
field value, but at least one copy can be got rid of painlessly ...
|
|
|
|
| |
when using stdout/stdin on Windows.
|
|
|
|
| |
APPDATA directory on Windows. Magnus Hagander
|
|
|
|
| |
Also clean up incredibly poor style in TocIDRequired() usage.
|
| |
|
|
|
|
| |
struct used in a typedef.
|
|
|
|
|
| |
constraints on domain types are properly enforced, even if the newly
added column has no default value. Per bug #1433.
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Lowercase some uppercase tags so tools is more reliable at finding
problems.
|
|
|
|
|
| |
tablespace instead of the index's own), except when the index was created
as a constraint. Report and fix by Tanida Yutaka.
|
|
|
|
|
|
| |
pre-7.3 pg_dump archive files: namespace isn't there, and in some cases
te->tag may already be quotified. Per report from Alan Pevec and
followup testing.
|
| |
|
|
|
|
|
|
| |
pass if "default_with_oids" is set to false. I took the approach of
explicitly adding WITH OIDS to the CREATE TABLEs where necessary, rather
than tweaking the default_with_oids GUC var.
|
| |
|
|
|
|
| |
expression types.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(1) Keep a pin on the scan's current buffer and mark buffer. This
avoids the need to do a ReadBuffer() for each tuple produced by the
scan. Since ReadBuffer() is expensive, this is a significant win.
(2) Convert a ReleaseBuffer(); ReadBuffer() pair into
ReleaseAndReadBuffer(). Surely not a huge win, but it saves a lock
acquire/release...
(3) Remove a bunch of duplicated code in rtget.c; make rtnext() handle
both the "initial result" and "subsequent result" cases.
(4) Add support for index tuple killing
(5) Remove rtscancache(): it is dead code, for the same reason that
gistscancache() is dead code (an index scan ought not be invoked with
NoMovementScanDirection).
The end result is about a 10% improvement in rtree index scan perf,
according to contrib/rtree_gist/bench.
|
|
|
|
| |
good style and to satisfy sparse. From Alvaro Herrera.
|
| |
|
| |
|
| |
|