- 10 5月, 2006 3 次提交
-
-
由 Teodor Sigaev 提交于
insertion and deletion, modify gistSplit() to do not use buffers. TODO: gistvacuumcleanup and XLOG
-
由 Bruce Momjian 提交于
-
由 Bruce Momjian 提交于
-
- 08 5月, 2006 2 次提交
-
-
由 Bruce Momjian 提交于
fix a Win32 bug where pipe.c included a file that used FRONTEND, but it wasn't on the server-build list.
-
由 Tom Lane 提交于
into a single mostly-physical-order scan of the index. This requires some ticklish interlocking considerations, but should create no material performance impact on normal index operations (at least given the already-committed changes to make scans work a page at a time). VACUUM itself should get significantly faster in any index that's degenerated to a very nonlinear page order. Also, we save one pass over the index entirely, except in the case where there were no deletions to do and so only one pass happened anyway. Original patch by Heikki Linnakangas, rework by Tom Lane.
-
- 07 5月, 2006 5 次提交
-
-
由 Tom Lane 提交于
btgettuple and btgetmulti). This eliminates the problem of "re-finding" the exact stopping point, since the stopping point is effectively always a page boundary, and index items are never moved across pre-existing page boundaries. A small penalty is that the keys_are_unique optimization is effectively disabled (and, therefore, is removed in this patch), causing us to apply _bt_checkkeys() to at least one more tuple than necessary when looking up a unique key. However, the advantages for non-unique cases seem great enough to accept this tradeoff. Aside from simplifying and (sometimes) speeding up the indexscan code, this will allow us to reimplement btbulkdelete as a largely sequential scan instead of index-order traversal, thereby significantly reducing the cost of VACUUM. Those changes will come in a separate patch. Original patch by Heikki Linnakangas, rework by Tom Lane.
-
由 Bruce Momjian 提交于
-
由 Bruce Momjian 提交于
* %Disallow changing DEFAULT expression of a SERIAL column? > > This should be done only if the existing SERIAL problems cannot be > fixed. >
-
由 Bruce Momjian 提交于
custom format examples first.
-
由 Bruce Momjian 提交于
-
- 06 5月, 2006 6 次提交
-
-
由 Tom Lane 提交于
needNewCacheFile flag anymore, it can just be local in RelationCacheInitializePhase2.
-
由 Bruce Momjian 提交于
-
由 Bruce Momjian 提交于
support CRL certificates.
-
由 Bruce Momjian 提交于
patch reverted.
-
由 Bruce Momjian 提交于
for Sparc Robert Lor
-
由 Bruce Momjian 提交于
Backpatch to 8.1.X. Simon Burge
-
- 05 5月, 2006 7 次提交
-
-
由 Bruce Momjian 提交于
Robert Lor
-
由 Bruce Momjian 提交于
Robert Treat
-
由 Bruce Momjian 提交于
< * %Disallow changing default expression of a SERIAL column? > * %Disallow changing DEFAULT expression of a SERIAL column? 472a473,476 > * Add DEFAULT .. AS OWNER so permission checks are done as the table > owner > > This would be useful for SERIAL nextval() calls and CHECK constraints.
-
由 Tom Lane 提交于
got it. Per buildfarm failure on 'canary'.
-
由 Tom Lane 提交于
pg_freespacemap_relations --- while one could theoretically get that number by counting rows in pg_freespacemap_pages, it's surely the hard way to do it. Avoid expensive and inconvenient conversion to and from text format. Minor code and docs cleanup.
-
由 Tom Lane 提交于
it's not necessary to have three separate calls anymore. This patch also fixes things so we don't try to read pg_internal.init until after we've obtained lock on the target database; which was fairly harmless, but it's certainly cleaner this way.
-
由 Tom Lane 提交于
The former approach used ExclusiveLock on pg_database, which being a cluster-wide lock meant only one of these operations could proceed at a time; worse, it also blocked all incoming connections in ReverifyMyDatabase. Now that we have LockSharedObject(), we can use locks of different types applied to databases considered as objects. This allows much more flexible management of the interlocking: two CREATE DATABASEs need not block each other, and need not block connections except to the template database being used. Similarly DROP DATABASE doesn't block unrelated operations. The locking used in flatfiles.c is also much narrower in scope than before. Per recent proposal.
-
- 04 5月, 2006 2 次提交
-
-
由 Tom Lane 提交于
in various places that were previously doing ad hoc pg_database searches. This may speed up database-related privilege checks a little bit, but the main motivation is to eliminate the performance reason for having ReverifyMyDatabase do such a lot of stuff (viz, avoiding repeat scans of pg_database during backend startup). The locking reason for having that routine is about to go away, and it'd be good to have the option to break it up.
-
由 Teodor Sigaev 提交于
-
- 03 5月, 2006 4 次提交
-
-
由 Teodor Sigaev 提交于
-
由 Tom Lane 提交于
initPlan sets a parameter for another. This could not (I think) happen before 8.1, but it's possible now because the initPlans generated by MIN/MAX optimization might themselves use initPlans. We attach those initPlans as siblings of the MIN/MAX ones, not children, to avoid duplicate computation when multiple MIN/MAX aggregates are present; so this leads to the case of an initPlan needing the result of a sibling initPlan, which is not possible with ordinary query nesting. Hadn't been noticed because in most contexts having too much stuff listed in extParam is fairly harmless. Fixes "plan should not reference subplan's variable" bug reported by Catalin Pitis.
-
由 Tom Lane 提交于
This formulation requires every AM to provide amvacuumcleanup, unlike before, but it's surely a whole lot cleaner. Also, add an 'amstorage' column to pg_am so that we can get rid of hardwired knowledge in DefineOpClass().
-
由 Tom Lane 提交于
-
- 02 5月, 2006 6 次提交
-
-
由 Tom Lane 提交于
-
由 Tom Lane 提交于
-
由 Teodor Sigaev 提交于
-
由 Teodor Sigaev 提交于
text[], int4[], Tsearch2 support for GIN.
-
由 Tom Lane 提交于
the union of its child relations as well. This might have been a good idea when it was originally coded, but it's a fatally bad idea when inheritance is being used for partitioning. It's better to have no stats at all than completely misleading stats. Per report from Mark Liberman. The bug arguably exists all the way back, but I've only patched HEAD and 8.1 because we weren't particularly trying to support partitioning before 8.1. Eventually we ought to look at deriving union statistics instead of just punting, but for now the drop kick looks good.
-
由 Tom Lane 提交于
input datatypes given, and use this before trying OpernameGetCandidates. This is faster than the old method when there's an exact match, and it does not seem materially slower when there's not. And it definitely makes some of the callers cleaner, because they didn't really want to know about a list of candidates anyway. Per discussion with Atsushi Ogawa.
-
- 01 5月, 2006 2 次提交
-
-
由 Tom Lane 提交于
CONNECTION, fix a number of places that were missed (eg pg_dump support), avoid executing an extra search of pg_database during startup.
-
由 Tom Lane 提交于
support both FOR UPDATE and FOR SHARE in one command, as well as both NOWAIT and normal WAIT behavior. The more general code is actually simpler and cleaner.
-
- 30 4月, 2006 3 次提交
-
-
由 Bruce Momjian 提交于
> o -Allow per-database permissions to be set via GRANT
-
由 Bruce Momjian 提交于
Gevik Babakhani
-
由 Bruce Momjian 提交于
> * %Disallow changing default expression of a SERIAL column?
-