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