Update of /cvsroot/monetdb/sql/src/server
In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv27299/src/server

Modified Files:
        sql_atom.mx sql_mvc.mx sql_select.mx sql_statement.mx 
        sql_updates.mx 
Log Message:
count now returns wrd 


U sql_mvc.mx
Index: sql_mvc.mx
===================================================================
RCS file: /cvsroot/monetdb/sql/src/server/sql_mvc.mx,v
retrieving revision 1.209
retrieving revision 1.210
diff -u -d -r1.209 -r1.210
--- sql_mvc.mx  29 Aug 2008 17:03:46 -0000      1.209
+++ sql_mvc.mx  7 Sep 2008 14:27:59 -0000       1.210
@@ -558,7 +558,7 @@
        int i;
        mvc *m;
 
-       m = NEW(mvc);
+       m = ZNEW(mvc);
        if (mvc_debug)
                fprintf(stderr, "mvc_create\n");
 

U sql_atom.mx
Index: sql_atom.mx
===================================================================
RCS file: /cvsroot/monetdb/sql/src/server/sql_atom.mx,v
retrieving revision 1.60
retrieving revision 1.61
diff -u -d -r1.60 -r1.61
--- sql_atom.mx 29 Aug 2008 17:03:46 -0000      1.60
+++ sql_atom.mx 7 Sep 2008 14:27:58 -0000       1.61
@@ -117,6 +117,9 @@
                case TYPE_int:
                        a->data.val.ival = (int) val;
                        break;
+               case TYPE_wrd:
+                       a->data.val.wval = (wrd) val;
+                       break;
                case TYPE_lng:
                        a->data.val.lval = val;
                        break;
@@ -270,6 +273,9 @@
        case TYPE_lng:
                sprintf(buf, LLFMT, a->data.val.lval);
                break;
+       case TYPE_wrd:
+               sprintf(buf, SZFMT, a->data.val.wval);
+               break;
        case TYPE_int:
                sprintf(buf, "%d", a->data.val.ival);
                break;

U sql_statement.mx
Index: sql_statement.mx
===================================================================
RCS file: /cvsroot/monetdb/sql/src/server/sql_statement.mx,v
retrieving revision 1.169
retrieving revision 1.170
diff -u -d -r1.169 -r1.170
--- sql_statement.mx    17 Jul 2008 13:29:20 -0000      1.169
+++ sql_statement.mx    7 Sep 2008 14:28:00 -0000       1.170
@@ -229,6 +229,7 @@
 extern stmt *stmt_atom_string(char *s);
 extern stmt *stmt_atom_clob(char *S);
 extern stmt *stmt_atom_int(int i);
+extern stmt *stmt_atom_wrd(wrd i);
 extern stmt *stmt_atom_lng(lng l);
 extern stmt *stmt_bool(int b);
 extern stmt *stmt_filter(stmt *sel);
@@ -462,6 +463,18 @@
 }
 
 stmt *
+stmt_atom_wrd(wrd i)
+{
+       sql_subtype t;
+
+       if (sizeof(wrd) == sizeof(int))
+               sql_find_subtype(&t, "wrd", 32, 0);
+       else
+               sql_find_subtype(&t, "wrd", 64, 0);
+       return stmt_atom(atom_int(&t, i));
+}
+
+stmt *
 stmt_atom_lng(lng l)
 {
        sql_subtype t;

U sql_select.mx
Index: sql_select.mx
===================================================================
RCS file: /cvsroot/monetdb/sql/src/server/sql_select.mx,v
retrieving revision 1.244
retrieving revision 1.245
diff -u -d -r1.244 -r1.245
--- sql_select.mx       6 Sep 2008 20:02:48 -0000       1.244
+++ sql_select.mx       7 Sep 2008 14:28:00 -0000       1.245
@@ -3489,7 +3489,7 @@
                        stmt *res, *s = ls->op1.lval->h->data;
                        sql_subaggr *cnt;
                        sql_subtype *bt = sql_bind_localtype("bit");
-                       sql_subtype *it = sql_bind_localtype("int");
+                       sql_subtype *it = sql_bind_localtype("wrd");
 
                        if (s->nrcols == 0) {
                                s = stmt_append(stmt_temp(tail_type(s)), 
stmt_dup(s));
@@ -3500,11 +3500,11 @@
                        if (sc->token == SQL_EXISTS) {
                                sql_subfunc *ne = 
sql_bind_func_result(sql->session->schema, "<>", it, it, bt);
 
-                               res = stmt_binop(res, stmt_atom_int(0), ne);
+                               res = stmt_binop(res, stmt_atom_wrd(0), ne);
                        } else {        /* NOT EXISTS */
                                sql_subfunc *e = 
sql_bind_func_result(sql->session->schema, "=", it, it, bt);
 
-                               res = stmt_binop(res, stmt_atom_int(0), e);
+                               res = stmt_binop(res, stmt_atom_wrd(0), e);
                        }
                        stmt_destroy(ls);
                        return res;

U sql_updates.mx
Index: sql_updates.mx
===================================================================
RCS file: /cvsroot/monetdb/sql/src/server/sql_updates.mx,v
retrieving revision 1.144
retrieving revision 1.145
diff -u -d -r1.144 -r1.145
--- sql_updates.mx      6 Sep 2008 20:02:50 -0000       1.144
+++ sql_updates.mx      7 Sep 2008 14:28:00 -0000       1.145
@@ -123,7 +123,7 @@
                                stmt_releqjoin_fill(s, stmt_bat(c->c, 
stmt_dup(ts), RDONLY), stmt_dup(inserts[c->c->colnr]->op2.stval));
                        }
                }
-               s = stmt_binop(stmt_aggr(s, NULL, cnt, 1), stmt_atom_int(0), 
ne);
+               s = stmt_binop(stmt_aggr(s, NULL, cnt, 1), stmt_atom_wrd(0), 
ne);
 
                /* 2e stage: find out if inserted are unique */
                if (idx_inserts->nrcols) {      /* insert columns not atoms */
@@ -168,7 +168,7 @@
                                s = stmt_aggr(s, NULL, cnt, 1);
                        }
                        /* s should be empty */
-                       s = stmt_binop(s, stmt_atom_int(0), ne);
+                       s = stmt_binop(s, stmt_atom_wrd(0), ne);
                } else {
                        s = stmt_bool(0);
                }
@@ -187,7 +187,7 @@
                        /* (count(ss) <> sum(ss)) */
                        sum = sql_bind_aggr(sql->session->schema, "sum", 
tail_type(ss));
                        ssum = stmt_aggr(ss, NULL, sum, 1);
-                       ssum = sql_Nop_(sql, "ifthenelse", sql_unop_(sql, NULL, 
"isnull", ssum), stmt_atom_lng(0), stmt_dup(ssum), NULL);
+                       ssum = sql_Nop_(sql, "ifthenelse", sql_unop_(sql, NULL, 
"isnull", ssum), stmt_atom_wrd(0), stmt_dup(ssum), NULL);
                        count_sum = stmt_binop(check_types(sql, 
tail_type(ssum), stmt_aggr(stmt_dup(ss), NULL, sql_dup_aggr(cnt), 1), 
type_equal), ssum, sql_dup_func(ne));
 
                        /* combine results */
@@ -217,7 +217,7 @@
        (void) sql;             /* unused! */
 
        if (s->key && s->nrcols == 0) {
-               s = stmt_binop(stmt_aggr(stmt_dup(idx_inserts), NULL, cnt, 1), 
stmt_atom_int(1), ne);
+               s = stmt_binop(stmt_aggr(stmt_dup(idx_inserts), NULL, cnt, 1), 
stmt_atom_wrd(1), ne);
        } else {
                /* releqjoin.count <> inserts[col1].count */
                stmt *ins = stmt_dup(inserts[0]->op2.stval);
@@ -578,7 +578,7 @@
                        stmt_releqjoin_fill(s, l, upd);
 
                }
-               s = stmt_binop(stmt_aggr(s, NULL, cnt, 1), stmt_atom_int(0), 
ne);
+               s = stmt_binop(stmt_aggr(s, NULL, cnt, 1), stmt_atom_wrd(0), 
ne);
 
                /* 2e stage: find out if the updated are unique */
                if (idx_updates->nrcols) {      /* update columns not atoms */
@@ -608,7 +608,7 @@
                        /* (count(ss) <> sum(ss)) */
                        sum = sql_bind_aggr(sql->session->schema, "sum", 
tail_type(ss));
                        ssum = stmt_aggr(ss, NULL, sum, 1);
-                       ssum = sql_Nop_(sql, "ifthenelse", sql_unop_(sql, NULL, 
"isnull", ssum), stmt_atom_lng(0), stmt_dup(ssum), NULL);
+                       ssum = sql_Nop_(sql, "ifthenelse", sql_unop_(sql, NULL, 
"isnull", ssum), stmt_atom_wrd(0), stmt_dup(ssum), NULL);
                        count_sum = stmt_binop(stmt_aggr(stmt_dup(ss), NULL, 
sql_dup_aggr(cnt), 1), check_types(sql, it, ssum, type_equal), 
sql_dup_func(ne));
 
                        /* combine results */
@@ -629,7 +629,7 @@
                stmt *s = stmt_join(o, stmt_reverse(h), cmp_equal);
 
                /* s should be empty */
-               s = stmt_binop(stmt_aggr(s, NULL, cnt, 1), stmt_atom_int(0), 
ne);
+               s = stmt_binop(stmt_aggr(s, NULL, cnt, 1), stmt_atom_wrd(0), 
ne);
 
                /* 2e stage: find out if updated are unique */
                if (h->nrcols) {        /* update columns not atoms */
@@ -645,7 +645,7 @@
                        /* (count(ss) <> sum(ss)) */
                        sum = sql_bind_aggr(sql->session->schema, "sum", 
tail_type(ss));
                        ssum = stmt_aggr(ss, NULL, sum, 1);
-                       ssum = sql_Nop_(sql, "ifthenelse", sql_unop_(sql, NULL, 
"isnull", ssum), stmt_atom_lng(0), stmt_dup(ssum), NULL);
+                       ssum = sql_Nop_(sql, "ifthenelse", sql_unop_(sql, NULL, 
"isnull", ssum), stmt_atom_wrd(0), stmt_dup(ssum), NULL);
                        count_sum = stmt_binop(check_types(sql, 
tail_type(ssum), stmt_aggr(stmt_dup(ss), NULL, sql_dup_aggr(cnt), 1), 
type_equal), ssum, sql_dup_func(ne));
 
                        /* combine results */
@@ -1177,7 +1177,7 @@
 
        if (output) {
                if (inserts[0]->op2.stval->nrcols == 0) {
-                       s = stmt_atom_int(1);
+                       s = stmt_atom_wrd(1);
                } else {
                        s = stmt_aggr(stmt_dup(inserts[0]->op2.stval), NULL, 
sql_bind_aggr(sql->session->schema, "count", NULL), 1);
                }
@@ -1469,7 +1469,7 @@
                stmt *cnt = stmt_aggr(stmt_dup(s->op1.lval->h->data), NULL, 
sql_bind_aggr(sql->session->schema, "count", NULL), 1);
                list_append(slist, stmt_affected_rows(cnt));
        } else {
-               list_append(slist, stmt_affected_rows(stmt_atom_int(1)));
+               list_append(slist, stmt_affected_rows(stmt_atom_wrd(1)));
        }
        return stmt_list(slist);
 }
@@ -1794,7 +1794,7 @@
                                        break;
                                default:        /*RESTRICT*/
                                        /* The overlap between deleted 
primaries and foreign should be empty */
-                                       s = stmt_binop(stmt_aggr(s, NULL, cnt, 
1), stmt_atom_int(0), ne);
+                                       s = stmt_binop(stmt_aggr(s, NULL, cnt, 
1), stmt_atom_wrd(0), ne);
                                        msg = sql_message( "DELETE: FOREIGN KEY 
constraint '%s.%s' violated", k->t->base.name, k->base.name);
                                        s = stmt_exception(s, msg, 00001);
                                        list_prepend(l, s);


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Monetdb-sql-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-sql-checkins

Reply via email to