- 10 Mar, 2008 6 commits
-
-
Tom Lane authored
treating them as zero. Simon Riggs
-
Tom Lane authored
NOTICE-grade messages are not logged by default. Per pgsql-hackers discussion back on 21-Nov-2007.
-
Tom Lane authored
Simon Riggs
-
Tom Lane authored
Itagaki Takahiro
-
Tom Lane authored
FSMPageData (6 bytes) instead of PageFreeSpaceInfo (8 or 16 bytes) for the temporary array of page-free-space information. Itagaki Takahiro
-
Tom Lane authored
the same chance of being selected as do numbers between them. Problem noted by Greg Stark; fix by Alexey Klyukin.
-
- 09 Mar, 2008 2 commits
-
-
Tom Lane authored
With the addition of multiple autovacuum workers, our choices were to delete the check, document the interaction with autovacuum_max_workers, or complicate the check to try to hide that interaction. Since this restriction has never been adequate to ensure backends can't run out of pinnable buffers, it doesn't really have enough excuse to live to justify the second or third choices. Per discussion of a complaint from Andreas Kling (see also bug #3888). This commit also removes several documentation references to this restriction, but I'm not sure I got them all.
-
Tom Lane authored
pattern-examination heuristic method to purely histogram-driven selectivity at histogram size 100, we compute both estimates and use a weighted average. The weight put on the heuristic estimate decreases linearly with histogram size, dropping to zero for 100 or more histogram entries. Likewise in ltreeparentsel(). After a patch by Greg Stark, though I reorganized the logic a bit to give the caller of histogram_selectivity() more control.
-
- 08 Mar, 2008 5 commits
-
-
Tom Lane authored
of the generated range condition var >= 'foo' AND var < 'fop' as being less than what eqsel() would estimate for var = 'foo'. This is intuitively reasonable and it gets rid of the need for some entirely ad-hoc coding we formerly used to reject bogus estimates. The basic problem here is that if the prefix is more than a few characters long, the two boundary values are too close together to be distinguishable by comparison to the column histogram, resulting in a selectivity estimate of zero, which is often not very sane. Change motivated by an example from Peter Eisentraut. Arguably this is a bug fix, but I'll refrain from back-patching it for the moment.
-
Tom Lane authored
it accumulates the set of changes to be made and then applies them. It had to accumulate the set of changes anyway to prepare a WAL record for the pruning action, so this isn't an enormous change; the only new complexity is to not doubly mark tuples that are visited twice in the scan. The main advantage is that we can substantially reduce the scope of the critical section in which the changes are applied, thus avoiding PANIC in foreseeable cases like running out of memory in inval.c. A nice secondary advantage is that it is now far clearer that WAL replay will actually do the same thing that the original pruning did. This commit doesn't do anything about the open problem that CacheInvalidateHeapTuple doesn't have the right semantics for a CTID change caused by collapsing out a redirect pointer. But whatever we do about that, it'll be a good idea to not do it inside a critical section.
-
Bruce Momjian authored
> > * Consider a function-based API for '@@' full text searches > > http://archives.postgresql.org/pgsql-hackers/2007-11/msg00511.php >
-
Andrew Dunstan authored
The loop is split into two parts, inside quotes, and outside quotes, saving some instructions in both parts. Heikki Linnakangas
-
Tom Lane authored
available output buffer when presented with corrupt input. Some testing suggests that this slows the decompression loop about 1%, which seems an acceptable price to pay for more robustness. (Curiously, the penalty seems to be *less* on not-very-compressible data, which I didn't expect since the overhead per output byte ought to be more in the literal-bytes path.) Patch from Zdenek Kotala. I fixed a corner case and did some renaming of variables to make the routine more readable.
-
- 07 Mar, 2008 17 commits
-
-
Tom Lane authored
were discussed last year, but we felt it was too late in the 8.3 cycle to change the code immediately. Specifically, the patch: * Reduces the minimum datum size to be considered for compression from 256 to 32 bytes, as suggested by Greg Stark. * Increases the required compression rate for compressed storage from 20% to 25%, again per Greg's suggestion. * Replaces force_input_size (size above which compression is forced) with a maximum size to be considered for compression. It was agreed that allowing large inputs to escape the minimum-compression-rate requirement was not bright, and that indeed we'd rather have a knob that acted in the other direction. I set this value to 1MB for the moment, but it could use some performance studies to tune it. * Adds an early-failure path to the compressor as suggested by Jan: if it's been unable to find even one compressible substring in the first 1KB (parameterizable), assume we're looking at incompressible input and give up. (Possibly this logic can be improved, but I'll commit it as-is for now.) * Improves the toasting heuristics so that when we have very large fields with attstorage 'x' or 'e', we will push those out to toast storage before considering inline compression of shorter fields. This also responds to a suggestion of Greg's, though my original proposal for a solution was a bit off base because it didn't fix the problem for large 'e' fields. There was some discussion in the earlier threads of exposing some of the compression knobs to users, perhaps even on a per-column basis. I have not done anything about that here. It seems to me that if we are changing around the parameters, we'd better get some experience and be sure we are happy with the design before we set things in stone by providing user-visible knobs.
-
Bruce Momjian authored
> > * Add a function like pg_get_indexdef() that report more detailed index > information > > http://archives.postgresql.org/pgsql-bugs/2007-12/msg00166.php >
-
Bruce Momjian authored
> > > o Prevent autovacuum from running if an old transaction is still > running from the last vacuum > > http://archives.postgresql.org/pgsql-hackers/2007-11/msg00899.php >
-
Bruce Momjian authored
> > * Allow text search dictionary to filter out only stop words > > http://archives.postgresql.org/pgsql-patches/2007-11/msg00081.php
-
Bruce Momjian authored
> > * Consider allowing higher priority queries to have referenced buffer > cache pages stay in memory longer > > http://archives.postgresql.org/pgsql-hackers/2007-11/msg00562.php
-
Bruce Momjian authored
> > * Improve referential integrity checks > > http://archives.postgresql.org/pgsql-performance/2005-10/msg00458.php
-
Bruce Momjian authored
> o Store per-table autovacuum settings in pg_class.reloptions. > > http://archives.postgresql.org/pgsql-hackers/2007-02/msg01440.php > http://archives.postgresql.org/pgsql-hackers/2008-01/msg00724.php
-
Bruce Momjian authored
* Allow multiple identical NOTIFY events to always be communicated to the client, rather than sent as a single notification to the listener http://archives.postgresql.org/pgsql-general/2008-01/msg00057.php
-
Bruce Momjian authored
> o Add SQLSTATE severity to PGconn return status > > http://archives.postgresql.org/pgsql-interfaces/2007-11/msg00015.php
-
Tom Lane authored
TopMemoryContext, rather than scattered through executor per-query contexts. This poses no danger of memory leak since the ResourceOwner mechanism guarantees release of no-longer-needed items. It is needed because the per-query context might already be released by the time we try to clean up the hash scan list. Report by ykhuang, diagnosis by Heikki. Back-patch to 8.0, where the ResourceOwner-based cleanup was introduced. The given test case does not fail before 8.2, probably because we rearranged transaction abort processing somehow; but this coding is undoubtedly risky so I'll patch 8.0 and 8.1 anyway.
-
Bruce Momjian authored
> o Have \l+ show database size, if permissions allow > > Ideally it will not generate an error for invalid permissions >
-
Bruce Momjian authored
> > * Add comments on system tables/columns using the information in > catalogs.sgml > > Ideally the information would be pulled from the SGML file > automatically. >
-
Teodor Sigaev authored
a unused memory holes in tsquery. Per report by Richard Huxton <dev@archonet.com>. It was working well because in fact tsquery->size is not used for any kind of operation except comparing tsqueries. So, in HEAD it's enough to fix to_tsquery function, but for previous version it's needed to remove optimization in CompareTSQ to prevent requirement of renew all stored tsquery.
-
Bruce Momjian authored
-
Bruce Momjian authored
< o Require all check constraints to be inherited > o Require all CHECK constraints to be inherited
-
Bruce Momjian authored
> > o Require all check constraints to be inherited > > http://archives.postgresql.org/pgsql-bugs/2007-04/msg00026.php
-
Bruce Momjian authored
> o Have \d show foreign keys that reference a table's primary key > > http://archives.postgresql.org/pgsql-hackers/2007-04/msg00424.php > > o Have \d show child tables that inherit from the specified parent
-
- 06 Mar, 2008 10 commits
-
-
Bruce Momjian authored
* Consider compressing indexes by storing key values duplicated in several rows as a single index entry > http://archives.postgresql.org/pgsql-patches/2007-03/msg00163.php
-
Bruce Momjian authored
* Add SQL:2003 WITH RECURSIVE (hierarchical) queries to SELECT > http://archives.postgresql.org/pgsql-patches/2007-03/msg00139.php
-
Bruce Momjian authored
* Consider compressing indexes by storing key values duplicated in several rows as a single index entry > > http://archives.postgresql.org/pgsql-hackers/2006-12/msg00341.php > http://archives.postgresql.org/pgsql-hackers/2007-02/msg01264.php > http://archives.postgresql.org/pgsql-hackers/2007-03/msg00465.php >
-
Bruce Momjian authored
* Add SQL:2003 WITH RECURSIVE (hierarchical) queries to SELECT > http://archives.postgresql.org/pgsql-hackers/2007-01/msg01375.php
-
Bruce Momjian authored
Back patch to 8.3.X.
-
Bruce Momjian authored
> > * Allow client certificate names to be checked against the client > hostname > > This is already implemented in > libpq/fe-secure.c::verify_peer_name_matches_certificate() but the code > is commented out.
-
Bruce Momjian authored
-
Bruce Momjian authored
> > * Reduce memory usage of aggregates in set returning functions > > http://archives.postgresql.org/pgsql-performance/2008-01/msg00031.php >
-
Bruce Momjian authored
> > o Prevent escape string warnings when object names have > backslashes > > http://archives.postgresql.org/pgsql-hackers/2008-01/msg00227.php >
-
Bruce Momjian authored
> * Prevent malicious functions from being executed with the permissions > of unsuspecting users > > Index functions are safe, so VACUUM and ANALYZE are safe too. > Triggers, CHECK and DEFAULT expressions, and rules are still vulnerable. > http://archives.postgresql.org/pgsql-hackers/2008-01/msg00268.php
-