- 04 1月, 2007 7 次提交
-
-
由 Bruce Momjian 提交于
-
由 Tom Lane 提交于
an optarg). Add some comments noting that code in three different files has to be kept in sync. Fix erroneous description of -S switch (it sets work_mem not silent_mode), and do some light copy-editing elsewhere in postgres-ref.
-
由 Tom Lane 提交于
form '^(foo)$'. Before, these could never be optimized into indexscans. The recent changes to make psql and pg_dump generate such patterns (for \d commands and -t and related switches, respectively) therefore represented a big performance hit for people with large pg_class catalogs, as seen in recent gripe from Erik Jones. While at it, be more paranoid about case-sensitivity checking in multibyte encodings, and fix some other corner cases in which a regex might be interpreted too liberally.
-
由 Bruce Momjian 提交于
document why this happens. Remove exp() errno check because not needed.
-
由 Tom Lane 提交于
-
由 Tom Lane 提交于
-
由 Tom Lane 提交于
having md.c return a success/failure boolean to smgr.c, which was just going to elog anyway, let md.c issue the elog messages itself. This allows better error reporting, particularly in cases such as "short read" or "short write" which Peter was complaining of. Also, remove the kluge of allowing mdread() to return zeroes from a read-beyond-EOF: this is now an error condition except when InRecovery or zero_damaged_pages = true. (Hash indexes used to require that behavior, but no more.) Also, enforce that mdwrite() is to be used for rewriting existing blocks while mdextend() is to be used for extending the relation EOF. This restriction lets us get rid of the old ad-hoc defense against creating huge files by an accidental reference to a bogus block number: we'll only create new segments in mdextend() not mdwrite() or mdread(). (Again, when InRecovery we allow it anyway, since we need to allow updates of blocks that were later truncated away.) Also, clean up the original makeshift patch for bug #2737: move the responsibility for padding relation segments to full length into md.c.
-
- 03 1月, 2007 11 次提交
-
-
由 Bruce Momjian 提交于
only return Nan and set errno for pow/exp overflow/underflow.
-
由 Bruce Momjian 提交于
platforms set errno, and we already have a check macro that detects under/overflow, so there is no reason for platform-specific code anymore.
-
由 D'Arcy J.M. Cain 提交于
-
由 Bruce Momjian 提交于
-
由 Bruce Momjian 提交于
with other places.
-
由 Bruce Momjian 提交于
isinf(), fall through to our own infinity checks.
-
由 Tom Lane 提交于
code path in tablecmds.c that wasn't exercised at all before.
-
由 Bruce Momjian 提交于
infrastructure.
-
由 Bruce Momjian 提交于
The purpose is to allow autovacuum-esq conditional vacuuming and clustering using SQL to discover the required stats. No documentation updates required. Catalog version updated. Glen Parker
-
由 Bruce Momjian 提交于
-
由 Bruce Momjian 提交于
valid result from a computation if one of the input values was infinity. The previous code assumed an operation that returned infinity was an overflow. Handle underflow/overflow consistently, and add checks for aggregate overflow. Consistently prevent Inf/Nan from being cast to integer data types. Fix INT_MIN % -1 to prevent overflow. Update regression results for new error text. Per report from Roman Kononov.
-
- 01 1月, 2007 1 次提交
-
-
由 Tom Lane 提交于
pg_opclass during LookupOpclassInfo(), I'd turned pg_opclass_oid_index into a critical system index. However the problem could only manifest during a backend's first attempt to load opclass data, and then only if it had successfully loaded pg_internal.init and subsequently received a relcache flush; which made it impossible to reproduce in sequential tests and darn hard even in parallel tests. Memo to self: when exercising cache flush scenarios, must disable LookupOpclassInfo's internal cache too.
-
- 31 12月, 2006 2 次提交
-
-
由 Tom Lane 提交于
about typmod representation for standard types out into type-specific typmod I/O functions. Teodor Sigaev, with some editorialization by Tom Lane.
-
由 Bruce Momjian 提交于
-
- 30 12月, 2006 2 次提交
- 29 12月, 2006 7 次提交
-
-
由 Peter Eisentraut 提交于
-
由 Tom Lane 提交于
or contradictory keys even in cross-data-type scenarios. This is another benefit of the opfamily rewrite: we can find the needed comparison operators now.
-
由 Bruce Momjian 提交于
< * Add a GUC to control whether BEGIN inside a transcation should abort < the transaction.
-
由 Tom Lane 提交于
for use with constraint exclusion. We can prove those cases now...
-
由 Tom Lane 提交于
predicate operators. The hard stuff turns out to be already done in the previous commit, we need merely open the floodgates...
-
由 Bruce Momjian 提交于
< * Move some /contrib modules out to their own project sites < < Particularly, move GPL-licensed /contrib/userlock and < /contrib/dbmirror/clean_pending.pl. <
-
- 28 12月, 2006 10 次提交
-
-
由 Peter Eisentraut 提交于
-
由 Peter Eisentraut 提交于
-
由 Tom Lane 提交于
the 8.1 SQL function definition for it. Per report from Rajesh Kumar Mallah, such a DBA error doesn't seem at all improbable, and the cost of checking for it is not very high compared to the cost of running this function. (It would have been better to change the C name of the function so it wouldn't be called by the old SQL definition, but it's too late for that now in the 8.2 branch.)
-
由 Tom Lane 提交于
do this for ordinary SQL commands, so it seems consistent to do it for backslash commands too. Per gripe from Rajesh Kumar Mallah.
-
由 Tom Lane 提交于
-
由 Tom Lane 提交于
Per Thorkil Olesen.
-
由 Bruce Momjian 提交于
multi-line comments to the next line.
-
由 Tom Lane 提交于
of increasing size, instead of one at a time. This reduces the memory management overhead when num_temp_buffers is large: in the previous coding we would actually waste 50% of the space used for temp buffers, because aset.c would round the individual requests up to 16K. Problem noted while studying a performance issue reported by Steven Flatt. Back-patch as far as 8.1 --- older versions used few enough local buffers that the issue isn't significant for them.
-
由 Tom Lane 提交于
has a small maxBlockSize: the maximum request size that we will treat as a "chunk" needs to be limited to fit in maxBlockSize. Otherwise we will round up the request size to the next power of 2, wasting space, which is a bit pointless if we aren't going to make the blocks big enough to fit additional stuff in them. The example motivating this is local buffer management, which makes repeated allocations of 8K (one BLCKSZ buffer) in TopMemoryContext, which has maxBlockSize = 8K because for the most part allocations there are small. This leads to each local buffer actually eating 16K of space, which adds up when there are thousands of them. I intend to change localbuf.c to aggregate its requests, which will prevent this particular misbehavior, but it seems likely that similar scenarios could arise elsewhere, so fixing the core problem seems wise as well.
-
由 Tom Lane 提交于
PQdsplen()) normally, instead of replacing them by \uXXXX sequences. Assume that they in fact occupy zero screen space for formatting purposes. Per gripe from Michael Fuhr and ensuing discussion.
-