- 19 12月, 2008 1 次提交
-
-
由 Tom Lane 提交于
per recent discussions. In passing this also fixes a couple of bugs in the previous variadic-parameters patch.
-
- 16 12月, 2008 1 次提交
-
-
由 Tom Lane 提交于
to return NULL, instead of erroring out, if the target object is specified by OID and we can't find that OID in the catalogs. Since these functions operate internally on SnapshotNow rules, there is a race condition when using them in user queries: the query's MVCC snapshot might "see" a catalog row that's already committed dead, leading to a failure when the inquiry function is applied. Returning NULL should generally provide more convenient behavior. This issue has been complained of before, and in particular we are now seeing it in the regression tests due to another recent patch.
-
- 05 12月, 2008 1 次提交
-
-
由 Peter Eisentraut 提交于
Pavel Stehule, with some tweaks by Peter Eisentraut
-
- 03 12月, 2008 1 次提交
-
-
由 Heikki Linnakangas 提交于
heap page, where a set bit indicates that all tuples on the page are visible to all transactions, and the page therefore doesn't need vacuuming. It is stored in a new relation fork. Lazy vacuum uses the visibility map to skip pages that don't need vacuuming. Vacuum is also responsible for setting the bits in the map. In the future, this can hopefully be used to implement index-only-scans, but we can't currently guarantee that the visibility map is always 100% up-to-date. In addition to the visibility map, there's a new PD_ALL_VISIBLE flag on each heap page, also indicating that all tuples on the page are visible to all transactions. It's important that this flag is kept up-to-date. It is also used to skip visibility tests in sequential scans, which gives a small performance gain on seqscans.
-
- 29 11月, 2008 1 次提交
-
-
由 Tom Lane 提交于
to drop a table that is referenced by an open cursor. Fix unstable ecpg regression test result that was produced by this oversight.
-
- 27 11月, 2008 3 次提交
-
-
由 Heikki Linnakangas 提交于
-
由 Peter Eisentraut 提交于
business in core.
-
由 Peter Eisentraut 提交于
-
- 26 11月, 2008 1 次提交
-
-
由 Peter Eisentraut 提交于
-
- 20 11月, 2008 1 次提交
-
-
由 Peter Eisentraut 提交于
-
- 19 11月, 2008 1 次提交
-
-
由 Heikki Linnakangas 提交于
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.
-
- 15 11月, 2008 1 次提交
-
-
由 Tom Lane 提交于
if the user is superuser. This makes available to extension modules the same sort of trick being practiced by array_agg(). The reason for the superuser restriction is that you could crash the system by connecting up an incompatible pair of internal-using functions as an aggregate. It shouldn't interfere with any legitimate use, since you'd have to be superuser to create the internal-using transition and final functions anyway.
-
- 14 11月, 2008 2 次提交
-
-
由 Alvaro Herrera 提交于
heap_form_tuple. Since this removes the last remaining caller of heap_addheader, remove it. Extracted from the column privileges patch from Stephen Frost, with further code cleanups by me.
-
由 Tom Lane 提交于
for inserting tuples in increasing TID order. It's not clear whether this fully explains Ivan Sergio Borgonovo's complaint, but simple testing confirms that a scan that doesn't start at block 0 can slow GIN build by a factor of three or four. Backpatch to 8.3. Sync scan didn't exist before that.
-
- 13 11月, 2008 1 次提交
-
-
由 Peter Eisentraut 提交于
Rearrange the documentation a bit now that array_agg and xmlagg have similar semantics and issues. best of Robert Haas, Jeff Davis, Peter Eisentraut
-
- 11 11月, 2008 1 次提交
-
-
由 Alvaro Herrera 提交于
-
- 10 11月, 2008 1 次提交
-
-
由 Tom Lane 提交于
("there might be triggers") rather than an exact count. This is necessary catalog infrastructure for the upcoming patch to reduce the strength of locking needed for trigger addition/removal. Split out and committed separately for ease of reviewing/testing. In passing, also get rid of the unused pg_class columns relukeys, relfkeys, and relrefs, which haven't been maintained in many years and now have no chance of ever being maintained (because of wishing to avoid locking). Simon Riggs
-
- 02 11月, 2008 1 次提交
-
-
由 Tom Lane 提交于
and heap_deformtuple in favor of the newer functions heap_form_tuple et al (which do the same things but use bool control flags instead of arbitrary char values). Eliminate the former duplicate coding of these functions, reducing the deprecated functions to mere wrappers around the newer ones. We can't get rid of them entirely because add-on modules probably still contain many instances of the old coding style. Kris Jurka
-
- 29 10月, 2008 2 次提交
-
-
由 Peter Eisentraut 提交于
-
由 Peter Eisentraut 提交于
-
- 28 10月, 2008 1 次提交
-
-
由 Peter Eisentraut 提交于
Also, since WITH is now a reserved word, simplify the token merging code to only deal with WITH_TIME. by Tom Lane and myself
-
- 27 10月, 2008 2 次提交
-
-
由 Peter Eisentraut 提交于
-
由 Peter Eisentraut 提交于
-
- 23 10月, 2008 2 次提交
-
-
由 Peter Eisentraut 提交于
(INCLUDING/EXCLUDING DEFAULTS)
-
由 Peter Eisentraut 提交于
-
- 22 10月, 2008 1 次提交
-
-
由 Peter Eisentraut 提交于
OFFSET num {ROW|ROWS} FETCH {FIRST|NEXT} [num] {ROW|ROWS} ONLY
-
- 21 10月, 2008 1 次提交
-
-
由 Peter Eisentraut 提交于
alongside our traditional syntax.
-
- 20 10月, 2008 4 次提交
-
-
由 Peter Eisentraut 提交于
dropped or it was a mistake.
-
由 Peter Eisentraut 提交于
-
由 Peter Eisentraut 提交于
supported, to the extent that LOBs, arrays, and multisets are supported.
-
由 Peter Eisentraut 提交于
-
- 18 10月, 2008 2 次提交
-
-
由 Tom Lane 提交于
-
由 Peter Eisentraut 提交于
-
- 15 10月, 2008 2 次提交
-
-
由 Tom Lane 提交于
lengthof(SysAtt) not FirstLowInvalidHeapAttributeNumber, for consistency with the other uses of the SysAtt array, and to make it clearer that it doesn't walk off the end of that array.
-
由 Tom Lane 提交于
Formerly, the lack of any opclasses that could accept such data was enough of a defense, but now with a "record" opclass we need to check more carefully. (You can still use that opclass for an index, but you have to store a named composite type not an anonymous one.)
-
- 06 10月, 2008 1 次提交
-
-
由 Heikki Linnakangas 提交于
relation forks. While the file names are not visible to users, for those that do peek into the data directory, it's nice to have more descriptive names. Per Greg Stark's suggestion.
-
- 05 10月, 2008 1 次提交
-
-
由 Tom Lane 提交于
There are some unimplemented aspects: recursive queries must use UNION ALL (should allow UNION too), and we don't have SEARCH or CYCLE clauses. These might or might not get done for 8.4, but even without them it's a pretty useful feature. There are also a couple of small loose ends and definitional quibbles, which I'll send a memo about to pgsql-hackers shortly. But let's land the patch now so we can get on with other development. Yoshiyuki Asaba, with lots of help from Tatsuo Ishii and Tom Lane
-
- 30 9月, 2008 1 次提交
-
-
由 Heikki Linnakangas 提交于
free space information is stored in a dedicated FSM relation fork, with each relation (except for hash indexes; they don't use FSM). This eliminates the max_fsm_relations and max_fsm_pages GUC options; remove any trace of them from the backend, initdb, and documentation. Rewrite contrib/pg_freespacemap to match the new FSM implementation. Also introduce a new variant of the get_raw_page(regclass, int4, int4) function in contrib/pageinspect that let's you to return pages from any relation fork, and a new fsm_page_contents() function to inspect the new FSM pages.
-
- 22 9月, 2008 1 次提交
-
-
由 Tom Lane 提交于
instead of listing all the columns returned by the underlying function. initdb not forced since this patch doesn't actually change anything about the stored form of the views. It just means there's one less place to change if someone wants to add columns to them.
-
- 16 9月, 2008 1 次提交
-
-
由 Tom Lane 提交于
value. This means that hash index lookups are always lossy and have to be rechecked when the heap is visited; however, the gain in index compactness outweighs this when the indexed values are wide. Also, we only need to perform datatype comparisons when the hash codes match exactly, rather than for every entry in the hash bucket; so it could also win for datatypes that have expensive comparison functions. A small additional win is gained by keeping hash index pages sorted by hash code and using binary search to reduce the number of index tuples we have to look at. Xiao Meng This commit also incorporates Zdenek Kotala's patch to isolate hash metapages and hash bitmaps a bit better from the page header datastructures.
-