Can get GiST RECHECK clause to work
От | Mark Cave-Ayland |
---|---|
Тема | Can get GiST RECHECK clause to work |
Дата | |
Msg-id | 8F4A22E017460A458DB7BBAB65CA6AE50265F2@openmanage обсуждение исходный текст |
Ответы |
Re: Can get GiST RECHECK clause to work
|
Список | pgsql-hackers |
Hi everyone, I'm trying to mark a GiST index as lossy using the RECHECK operator as part of some work on PostGIS, but what happens is that the original operator function is never reapplied to the results of the index scan. The operator class and operator definitions looks like this: CREATE OPERATOR && ( LEFTARG = GEOMETRY, RIGHTARG = GEOMETRY, PROCEDURE = geometry_overlap, COMMUTATOR = '&&', RESTRICT = postgis_gist_sel, JOIN = positionjoinsel ); and: CREATE OPERATOR CLASS gist_geometry_opsDEFAULT FOR TYPE geometry USING gist ASOPERATOR 1 << RECHECK,OPERATOR 2 &< RECHECK,OPERATOR 3 && RECHECK,OPERATOR 4 &> RECHECK,OPERATOR 5 >> RECHECK,OPERATOR 6 ~= RECHECK,OPERATOR 7 ~ RECHECK,OPERATOR 8 @ RECHECK,FUNCTION 1 ggeometry_consistent(internal, geometry, int4),FUNCTION 2 gbox_union (bytea, internal),FUNCTION 3 ggeometry_compress (internal),FUNCTION 4 rtree_decompress (internal),FUNCTION 5 gbox_penalty (internal, internal, internal),FUNCTION 6 gbox_picksplit (internal, internal),FUNCTION 7 gbox_same (box, box, internal); What I'm expecting is that since RECHECK is specified, PostgreSQL will identify the index entries using the && operator and then call geometry_overlap() function with the full tuples from the heap. However, it seems geometry_overlap() is never called from an index scan made using the && operator :( Can anyone point out where I'm going wrong? Many thanks, Mark. --- Mark Cave-Ayland Webbased Ltd. Tamar Science Park Derriford Plymouth PL6 8BX England Tel: +44 (0)1752 764445 Fax: +44 (0)1752 764446 This email and any attachments are confidential to the intended recipient and may also be privileged. If you are not the intended recipient please delete it from your system and notify the sender. You should not copy it or use it for any purpose nor disclose or distribute its contents to any other person.
В списке pgsql-hackers по дате отправления: