Update of /cvsroot/monetdb/pathfinder/compiler/algebra
In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv3177/algebra

Modified Files:
        builtins.c 
Log Message:
-- Changed the implementation of except: SQL generated XQuery expression
   can now safely use EXCEPT ALL instead of EXCEPT as the left side of all
   difference operators is key.


Index: builtins.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/builtins.c,v
retrieving revision 1.47
retrieving revision 1.48
diff -u -d -r1.47 -r1.48
--- builtins.c  9 Jan 2007 16:00:53 -0000       1.47
+++ builtins.c  1 Mar 2007 13:22:37 -0000       1.48
@@ -2372,27 +2372,27 @@
 PFbui_op_except (const PFla_op_t *loop, bool ordering,
                  struct PFla_pair_t *args)
 {
-    PFla_op_t *distinct;
+    PFla_op_t *difference;
 
     (void) loop;
 
-    distinct = distinct (difference (
-                             project (args[0].rel,
-                                      proj (att_iter, att_iter),
-                                      proj (att_item, att_item)),
-                             project (args[1].rel,
-                                      proj (att_iter, att_iter),
-                                      proj (att_item, att_item))));
+    difference = difference (
+                     distinct (project (args[0].rel,
+                                        proj (att_iter, att_iter),
+                                        proj (att_item, att_item))),
+                     project (args[1].rel,
+                              proj (att_iter, att_iter),
+                              proj (att_item, att_item)));
     
     if (ordering)
         return (struct  PFla_pair_t) {
-            .rel = rownum (distinct,
+            .rel = rownum (difference,
                            att_pos, sortby (att_item), att_iter),
             /* result nodes can only originate from first argument */
             .frag = args[0].frag };
     else
         return (struct  PFla_pair_t) {
-            .rel = number (distinct, att_pos, att_iter),
+            .rel = number (difference, att_pos, att_iter),
             /* result nodes can only originate from first argument */
             .frag = args[0].frag };
 }


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Monetdb-pf-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-pf-checkins

Reply via email to