diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2010-08-01 19:16:55 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2010-08-01 19:16:55 +0000 |
commit | c472e780a375c2aaf88b95f7c36cf4d74f453679 (patch) | |
tree | f06d55143ea0897d31a3a2d1ca1ee1d1415ae6dc /src/tutorial/syscat.source | |
parent | 4a8fcfdefbbad470c038de543ff69753ba801d58 (diff) | |
download | postgresql-c472e780a375c2aaf88b95f7c36cf4d74f453679.tar.gz postgresql-c472e780a375c2aaf88b95f7c36cf4d74f453679.zip |
Fix an additional set of problems in GIN's handling of lossy page pointers.
Although the key-combining code claimed to work correctly if its input
contained both lossy and exact pointers for a single page in a single TID
stream, in fact this did not work, and could not work without pretty
fundamental redesign. Modify keyGetItem so that it will not return such a
stream, by handling lossy-pointer cases a bit more explicitly than we did
before.
Per followup investigation of a gripe from Artur Dabrowski.
An example of a query that failed given his data set is
select count(*) from search_tab where
(to_tsvector('german', keywords ) @@ to_tsquery('german', 'ee:* | dd:*')) and
(to_tsvector('german', keywords ) @@ to_tsquery('german', 'aa:*'));
Back-patch to 8.4 where the lossy pointer code was introduced.
Diffstat (limited to 'src/tutorial/syscat.source')
0 files changed, 0 insertions, 0 deletions