Sergio, The fix is attached. It will also appear in next release of Virtuoso Open Source.
Best Regards, Ivan Mikhailov OpenLink Software http://virtuoso.openlinksw.com
Index: libsrc/Wi/sparul2sql.c =================================================================== RCS file: /home/staff/us-cvs/virtuoso/libsrc/Wi/sparul2sql.c,v retrieving revision 1.6 diff -U 10 -r1.6 sparul2sql.c --- libsrc/Wi/sparul2sql.c 10 Jul 2008 15:55:59 -0000 1.6 +++ libsrc/Wi/sparul2sql.c 1 Oct 2008 18:54:08 -0000 @@ -147,20 +147,22 @@ return CTOR_DISJOIN_WHERE; case 0: case WHERE_L: case OPTIONAL_L: DO_BOX_FAST (SPART *, memb, memb_ctr, pattern->_.gp.members) { if (CTOR_DISJOIN_WHERE == sparp_ctor_fields_are_disjoin_with_where_pattern (sparp, ctor_fields, memb) ) return CTOR_DISJOIN_WHERE; } END_DO_BOX_FAST; return CTOR_MAY_INTERSECTS_WHERE; + case SELECT_L: + return CTOR_MAY_INTERSECTS_WHERE; default: GPF_T1 ("sparp_" "ctor_triple_is_disjoin_with_where_pattern (): wrong gp subtype"); } } default: GPF_T1 ("sparp_" "ctor_triple_is_disjoin_with_where_pattern (): wrong pattern type"); } return 0; /* never reached */ } typedef struct ctor_var_enumerator_s {