postgresql/src/include/access
Tom Lane d4fe61b083 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.
2010-08-01 19:16:39 +00:00
..
attnum.h Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
clog.h Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
genam.h pgindent run for 9.0 2010-02-26 02:01:40 +00:00
gin.h Fix an additional set of problems in GIN's handling of lossy page pointers. 2010-08-01 19:16:39 +00:00
gist.h Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
gist_private.h Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
gistscan.h Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
hash.h Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
heapam.h Fix oversight in collecting values for cleanup_info records. 2010-04-21 17:20:56 +00:00
hio.h Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
htup.h pgindent run for 9.0 2010-02-26 02:01:40 +00:00
itup.h pgindent run for 9.0 2010-02-26 02:01:40 +00:00
multixact.h Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
nbtree.h pgindent run for 9.0, second run 2010-07-06 19:19:02 +00:00
printtup.h Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
reloptions.h Replace ALTER TABLE ... SET STATISTICS DISTINCT with a more general mechanism. 2010-01-22 16:40:19 +00:00
relscan.h pgindent run for 9.0 2010-02-26 02:01:40 +00:00
rewriteheap.h Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
rmgr.h Create a "relation mapping" infrastructure to support changing the relfilenodes 2010-02-07 20:48:13 +00:00
sdir.h Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
skey.h pgindent run for 9.0 2010-02-26 02:01:40 +00:00
slru.h pgindent run for 9.0 2010-02-26 02:01:40 +00:00
subtrans.h Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
sysattr.h Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
transam.h Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
tupconvert.h pgindent run for 9.0 2010-02-26 02:01:40 +00:00
tupdesc.h Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
tupmacs.h Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
tuptoaster.h pgindent run for 9.0 2010-02-26 02:01:40 +00:00
twophase.h Allow Hot Standby to begin from a shutdown checkpoint. 2010-04-13 14:17:46 +00:00
twophase_rmgr.h Replace the pg_listener-based LISTEN/NOTIFY mechanism with an in-memory queue. 2010-02-16 22:34:57 +00:00
valid.h Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
visibilitymap.h Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
xact.h pgindent run for 9.0 2010-02-26 02:01:40 +00:00
xlog.h Rename asyncCommitLSN to asyncXactLSN to reflect changed role in 9.0. 2010-07-29 22:27:27 +00:00
xlog_internal.h Introduce wal_level GUC to explicitly control if information needed for 2010-04-28 16:10:43 +00:00
xlogdefs.h Don't use O_DIRECT when writing WAL files if archiving or streaming is 2010-02-19 10:51:04 +00:00
xlogutils.h Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00