| Commit message (Collapse) | Author | Age |
... | |
| |
|
|
|
|
|
|
|
|
|
|
| |
lists are now plain old garden-variety Lists, allocated with palloc,
rather than specialized expansible-array data allocated with malloc.
This substantially simplifies their handling and eliminates several
sources of memory leakage.
Several basic types of erroneous queries (syntax error, attempt to
insert a duplicate key into a unique index) now demonstrably leak
zero bytes per query.
|
|
|
|
| |
real affect now.
|
|
|
|
| |
code, instead of not-very-bulletproof stuff they had before.
|
|
|
|
|
|
|
|
|
|
| |
about certain to fail anytime it decided the relation to be hashed was
too big to fit in memory --- the code for 'batching' a series of hashjoins
had multiple errors. I've fixed the easier problems. A remaining big
problem is that you can get 'hashtable out of memory' if the code's
guesstimate about how much overflow space it will need turns out wrong.
That will require much more extensive revisions to fix, so I'm committing
these fixes now before I start on that problem.
|
|
|
|
| |
Things are better now.
|
|
|
|
|
|
|
| |
expression context (ie, not at the top level of a WHERE clause). Examples
like this one work now:
SELECT name, value FROM t1 as touter WHERE
(value/(SELECT AVG(value) FROM t1 WHERE name = touter.name)) > 0.75;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
indexes.
1. Index Scan using plural indexids never scan backward
as to the order of indexids.
2. The cursor using Index scan is not usable after moving
past the end.
This patch solves above bugs.
Moreover the change of _bt_first() would be useful to extend
ORDER BY patch by Jan Wieck for all descending order cases.
Hiroshi Inoue
|
|
|
|
|
|
|
| |
hashjoin's hashFunc() so that it does the right thing with pass-by-value
data types (the old code would always return 0 for int2 or char values,
which would work but would slow things down a lot). Extend opr_sanity
regress test to catch more kinds of errors.
|
| |
|
| |
|
|
|
|
| |
is pass-by-value.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
change functionality, but makes the code more ANSI C'ish.
My AIX xlc compiler barfs on all of these. Can someone please
review and apply to current.
<<port.patch>>
Thanks
Andreas
|
| |
|
|
|
|
|
|
| |
Try select t1.x from t1, t2 where t1.y = 1 and t2.y = 1
- t2 scan target list will be empty and so no one tuple
will be returned...
|
|
|
|
| |
From: Horak Daniel <horak@mmp.plzen-city.cz>
|
|
|
|
| |
right sides have different data types.
|
| |
|
| |
|
|
|
|
|
|
| |
Enable by defining
CFLAGS+= -DENABLE_OUTER_JOINS -DEXEC_MERGEJOINDEBUG
in your Makefile.custom
|
| |
|
| |
|
|
|
|
|
|
| |
Ok. I made patches replacing all of "#if FALSE" or "#if 0" to "#ifdef
NOT_USED" for current. I have tested these patches in that the
postgres binaries are identical.
|
| |
|
| |
|
|
|
|
|
|
|
| |
Removed CURRENT keyword for rule queries and changed rules regression
accordingly. CURRENT has beed announced to disappear in v6.5.
Jan
|
|
|
|
|
|
|
|
|
| |
qualification expression trees in the execution state. Prevents from
memory exhaustion on INSERT, UPDATE or COPY to tables that have CHECK
constraints. Speedup against the variant using freeObject() is more than
factor 2.
Jan
|
|
|
|
| |
Jan
|
|
|
|
|
|
| |
current QuerySnapshot could be NULL.
Jan
|
|
|
|
|
|
|
|
| |
test after new AllocSet code.
Activated optimal AllocSet blocksize and chunk limit.
Jan
|
|
|
|
| |
Jan
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Fix for BEFORE ROW UPDATE triggers: result tuple may be different
(due to concurrent update) from one initially produced by top level plan.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
instead of SPI_execp() for simple expressions.
Jan
|
| |
|
|
|
|
|
| |
only once per SELECT, not once per tuple. 10% here, 10% there,
pretty soon you're talking about real speedups ...
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
so that fetching an attribute value needs only one SearchSysCacheTuple call
instead of two redundant searches. This speeds up a large SELECT by about
ten percent, and probably will help GROUP BY and SELECT DISTINCT too.
|