pgsql: Fix an additional set of problems in GIN's handling of lossy page
От | tgl@postgresql.org (Tom Lane) |
---|---|
Тема | pgsql: Fix an additional set of problems in GIN's handling of lossy page |
Дата | |
Msg-id | 20100801191655.494AA7541D5@cvs.postgresql.org обсуждение исходный текст |
Список | pgsql-committers |
Log Message: ----------- 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. Tags: ---- REL8_4_STABLE Modified Files: -------------- pgsql/src/backend/access/gin: ginget.c (r1.27.2.2 -> r1.27.2.3) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/gin/ginget.c?r1=1.27.2.2&r2=1.27.2.3) pgsql/src/include/access: gin.h (r1.34.2.2 -> r1.34.2.3) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/access/gin.h?r1=1.34.2.2&r2=1.34.2.3)
В списке pgsql-committers по дате отправления: