]> granicus.if.org Git - postgresql/commit
Allow skipping some items in a multi-key GIN search.
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Wed, 29 Jan 2014 15:53:39 +0000 (17:53 +0200)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Wed, 29 Jan 2014 15:53:39 +0000 (17:53 +0200)
commite20c70cb0fa74d5bffa080e21a99b44bf0768667
treeb6cd59c6bdd84d64b7f2a66b9f9db2e0802c1568
parent2013e5eef7e08d924237c03196b76a9edf43254a
Allow skipping some items in a multi-key GIN search.

In a multi-key search, ie. something like "col @> 'foo' AND col @> 'bar'",
as soon as we find the next item that matches the first criteria, we don't
need to check the second criteria for TIDs smaller the first match. That
saves a lot of effort, especially if one of the terms is rare, while the
second occurs very frequently.

Based on ideas from Alexander Korotkov's fast scan patch.
src/backend/access/gin/ginget.c