Update of /cvsroot/monetdb/sql/src/backends/monet4
In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv17920/src/backends/monet4

Modified Files:
        sql_gencode.mx 
Log Message:
use the new anti-select


Index: sql_gencode.mx
===================================================================
RCS file: /cvsroot/monetdb/sql/src/backends/monet4/sql_gencode.mx,v
retrieving revision 1.170
retrieving revision 1.171
diff -u -d -r1.170 -r1.171
--- sql_gencode.mx      18 Feb 2008 10:52:01 -0000      1.170
+++ sql_gencode.mx      6 Mar 2008 08:33:35 -0000       1.171
@@ -570,8 +570,7 @@
                                        len = snprintf(buf, BUFSIZ, "var s%d := 
s%d.%s(s%d);\n", -s->nr, l, cmd, r);
                                        break;
                                case cmp_notequal:
-                                       len = snprintf(buf, BUFSIZ, "var ns%d 
:= s%d.uselect(s%d);\n", -s->nr, l, r);
-                                       len += snprintf(buf + len, BUFSIZ, "var 
s%d := s%d.kdiff(s%d.uselect(%s(nil))).project(nil).kdiff(ns%d);\n", -s->nr, l, 
l, tail_type(s)->type->base.name, -s->nr);
+                                       len = snprintf(buf, BUFSIZ, "var s%d := 
s%d.antiuselect(s%d);\n", -s->nr, l, r);
                                        break;
                                case cmp_lt:
                                        len = snprintf(buf, BUFSIZ, "var s%d := 
s%d.%s(%s(nil), s%d, FALSE, FALSE);\n", -s->nr, l, cmd, 
tail_type(s)->type->base.name, r);
@@ -604,10 +603,14 @@
 
                        if (s->type == st_select2)
                                cmd = "select";
-                       else if (s->type == st_uselect2)
-                               cmd = "uselect";
-                       else
+                       else if (s->type == st_uselect2) {
+                               if (s->flag&ANTI) 
+                                       cmd = "antiuselect";
+                               else
+                                       cmd = "uselect";
+                       } else {
                                cmd = "join";
+                       }
 
                        buf = NEW_ARRAY(char, BUFSIZ + 1);
                        /* if st_join2 try to convert to bandjoin */
@@ -634,7 +637,7 @@
                                        r2 = 
backend_dumpstmt_(s->op3.stval->op2.stval, nr, sql);
                                cmd = "bandjoin";
                        }
-                       switch (s->flag) {
+                       switch (s->flag&3) {
                        case 0:
                                bits = ", FALSE, FALSE";
                                break;


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Monetdb-sql-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-sql-checkins

Reply via email to