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
 {

Reply via email to