- 02 12月, 2005 11 次提交
-
-
由 Bruce Momjian 提交于
-
由 Tom Lane 提交于
child plan nodes until we have acquired lock on the relation to scan. The relative order of initialization of plan nodes isn't real important in other cases, but it's critical here because one is supposed to lock a relation before its indexes, not vice versa. The original coding was at least vulnerable to deadlock against DROP INDEX, and perhaps worse things.
-
由 Bruce Momjian 提交于
< the heap. One way to allow this is to set a bit to index tuples > the heap. One way to allow this is to set a bit on index tuples < be cleared when a heap tuple is expired. < > be cleared when a heap tuple is expired. Another idea is to maintain > a bitmap of heap pages where all rows are visible to all backends, > and allow index lookups to reference that bitmap to avoid heap > lookups, perhaps the same bitmap we might add someday to determine > which heap pages need vacuuming.
-
由 Bruce Momjian 提交于
> [merge] 378a380 > [merge]
-
由 Bruce Momjian 提交于
-
由 Bruce Momjian 提交于
< * Add MERGE command that does UPDATE/DELETE, or on failure, INSERT (rules, < triggers?) > * Add SQL-standard MERGE command, typically used to merge two tables > > This is similar to UPDATE, then for unmatched rows, INSERT. > Whether concurrent access allows modifications which could cause > row loss is implementation independent. > > * Add REPLACE or UPSERT command that does UPDATE, or on failure, INSERT
-
由 Bruce Momjian 提交于
-
由 Bruce Momjian 提交于
-
由 Tom Lane 提交于
Also add a retry for Unixen returning EINTR, which hasn't been reported as an issue but at least theoretically could be. Patch by Qingqing Zhou, some minor adjustments by me.
-
由 Bruce Momjian 提交于
-
由 Tom Lane 提交于
Michael Fuhr.
-
- 01 12月, 2005 4 次提交
-
-
由 Neil Conway 提交于
-
由 Alvaro Herrera 提交于
-
由 Tom Lane 提交于
change errno. No reported bugs here, but why take a chance?
-
由 Tom Lane 提交于
#2075: consider an index redundant if any of its index conditions were already used, rather than if all of them were. Also, make the selectivity comparison a bit fuzzy, so that very small differences in estimated selectivities don't skew the results.
-
- 30 11月, 2005 1 次提交
-
-
由 Michael Meskes 提交于
- Made several variables "const char *" instead of "char *" as proposed by Qingqing Zhou <zhouqq@cs.toronto.edu>. - Replaced all strdup() calls by ECPGstrdup(). - Set ecpg library version to 5.2. - Set ecpg version to 4.2.1.
-
- 29 11月, 2005 11 次提交
-
-
由 Bruce Momjian 提交于
< #A hyphen, "-", marks changes that will appear in the upcoming 8.1 release.# > #A hyphen, "-", marks changes that will appear in the upcoming 8.2 release.#
-
由 Bruce Momjian 提交于
< * Remove Win32 rename/unlink looping if unnecessary
-
由 Alvaro Herrera 提交于
-
由 Tom Lane 提交于
the executor. This allows, for example, JDBC clients to use '?' bound parameters in these commands. Per gripe from Virag Saksena.
-
由 Tom Lane 提交于
it's worth probing the outer relation for emptiness before building the hash table. To wit, if we're rescanning a join previously performed, remember whether we found it nonempty the previous time, and don't bother with the probe if it was nonempty. This buys back the performance lost in examples like Mario Weilguni's.
-
由 Bruce Momjian 提交于
and IFNULL. Backpatch to 8.1.X.
-
由 Tom Lane 提交于
-
由 Bruce Momjian 提交于
> * Allow COMMENT ON to accept an expression rather than just a string
-
由 Tom Lane 提交于
After a proposal by Martijn van Oosterhout (not exactly his patch though).
-
由 Alvaro Herrera 提交于
Per suggestion from Tom Lane.
-
由 Tom Lane 提交于
one child or the other had a problem: they did not leave the node in a state that ExecReScanHashJoin would understand. In particular it would tend to fail to reset the child plans when needed. Per report from Mario Weilguni.
-
- 28 11月, 2005 4 次提交
-
-
由 Alvaro Herrera 提交于
crash when analyzing tables with expressional indexes. Per report from Frank van Vugt.
-
由 Alvaro Herrera 提交于
-
由 Tom Lane 提交于
ScalarArrayOpExpr when possible, that is, whenever there is an array type for the values of the expression list. This completes the project I've been working on to improve the speed of index searches with long IN lists, as per discussion back in mid-October. I did not force initdb, but until you do one you will see failures in the "rules" regression test, because some of the standard system views use IN and their compiled formats have changed.
-
由 Tom Lane 提交于
they were broken-out AND or OR lists. The least grotty way to do this seemed to be to set up a general mechanism for handling nodes as though they were ANDs or ORs. There's no other immediate use for it, but perhaps we might want to use the mechanism someday for things like BETWEEN SYMMETRIC.
-
- 27 11月, 2005 3 次提交
-
-
由 Tom Lane 提交于
per buildfarm report from platypus, even though older versions let it pass.
-
由 Tom Lane 提交于
"ctid IN (list)" will still work after we convert IN to ScalarArrayOpExpr. Make some minor efficiency improvements while at it, such as ensuring that multiple TIDs are fetched in physical heap order. And fix EXPLAIN so that it shows what's really going on for a TID scan.
-
由 Tom Lane 提交于
a palloc or two in the OpExpr case.
-
- 26 11月, 2005 3 次提交
-
-
由 Tom Lane 提交于
heapgettup.
-
由 Tom Lane 提交于
when we first read the page, rather than checking them one at a time. This allows us to take and release the buffer content lock just once per page, instead of once per tuple. Since it's a shared lock the contention penalty for holding the lock longer shouldn't be too bad. We can safely do this only when using an MVCC snapshot; else the assumption that visibility won't change over time is uncool. Therefore there are now two code paths depending on the snapshot type. I also made the same change in nodeBitmapHeapscan.c, where it can be done always because we only support MVCC snapshots for bitmap scans anyway. Also make some incidental cleanups in the APIs of these functions. Per a suggestion from Qingqing Zhou.
-
由 Tom Lane 提交于
qualification when the underlying operator is indexable and useOr is true. That is, indexkey op ANY (ARRAY[...]) is effectively translated into an OR combination of one indexscan for each array element. This only works for bitmap index scans, of course, since regular indexscans no longer support OR'ing of scans. There are still some loose ends to clean up before changing 'x IN (list)' to translate as a ScalarArrayOpExpr; for instance predtest.c ought to be taught about it. But this gets the basic functionality in place.
-
- 25 11月, 2005 1 次提交
-
-
由 Tom Lane 提交于
a TupleTableSlot: instead of calling ExecClearTuple, inline the needed operations, so that we can avoid redundant steps. In particular, when the old and new tuples are both on the same disk page, avoid releasing and re-acquiring the buffer pin --- this saves work in both the bufmgr and ResourceOwner modules. To make this improvement actually useful, partially revert a change I made on 2004-04-21 that caused SeqNext et al to call ExecClearTuple before ExecStoreTuple. The motivation for that, to avoid grabbing the BufMgrLock separately for releasing the old buffer and grabbing the new one, no longer applies. My profiling says that this saves about 5% of the CPU time for an all-in-memory seqscan.
-
- 24 11月, 2005 2 次提交
-
-
由 Bruce Momjian 提交于
-
由 Bruce Momjian 提交于
< > o Add -f to pg_dumpall
-