Changeset: 898bc5808d72 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=898bc5808d72
Modified Files:
        MonetDB.spec
        debian/changelog
        sql/backends/monet5/sql_gencode.c
        sql/server/sql_atom.c
        sql/server/sql_atom.h
Branch: default
Log Message:

Merge with Jan2014 branch.


diffs (185 lines):

diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -800,35 +800,6 @@ rm -fr $RPM_BUILD_ROOT
 %changelog
 * Sat Jan 25 2014 Sjoerd Mullender <sjo...@acm.org> - 11.17.3-20140125
 - Rebuilt.
-- BZ#3040: Wrong NULL behavior in EXCEPT and INTERSECT
-- BZ#3092: ODBC client doesn't support scalar function escape
-- BZ#3198: SIGSEGV insert_string_bat (b=0x7fffe419d0a0, n=0x7fffc4006010,
-  append=0) at gdk_batop.c:196
-- BZ#3210: Unexpected concurrency conflict when inserting to 2 tables
-  simultaneously and querying one of them
-- BZ#3273: Add support to Python DBAPI package for timetz, inet and
-  url types
-- BZ#3285: no such table 'queryHistory'
-- BZ#3298: GDKmmap messages and monetdb start db takes very long
-- BZ#3354: Introduce query time-out
-- BZ#3371: (i)like generates batloop instead of algebra.likesubselect
-- BZ#3372: Large group by queries never complete - server at 100%
-  cpu(all cores) until MonetDB stopped
-- BZ#3383: Bad performance with DISTINCT GROUP BY
-- BZ#3391: Bad performance with GROUP BY and FK with out aggregate
-  function
-- BZ#3393: "COPY .. INTO ..." - escape of string quotes
-- BZ#3399: server crashed on simple (malformed) query
-- BZ#3401: inconsistent/strange handling of invalid dates
-  (e.g. 2013-02-29) in where clause
-- BZ#3403: NOT NULL constraint can't be applied after deleting rows with
-  null values
-- BZ#3404: Assertion `h->storage == STORE_MMAP' failed.
-- BZ#3408: nested concat query crashed server
-- BZ#3411: (disguised) BETWEEN clause not recognised. Hence no rangejoin.
-- BZ#3412: Boolean expressions in WHERE clause, result in incorrect
-  resulsts
-- BZ#3417: Nested Common Table Expressions Crash
 - BZ#3418: Segmentation fault on a query from table expression
 - BZ#3419: Database does not start after upgrade
 - BZ#3423: Group by alias with distinct count doesn't work
diff --git a/debian/changelog b/debian/changelog
--- a/debian/changelog
+++ b/debian/changelog
@@ -7,6 +7,21 @@ monetdb (11.17.3-20140125) unstable; urg
 monetdb (11.17.3-20140125) unstable; urgency=low
 
   * Rebuilt.
+  * BZ#3418: Segmentation fault on a query from table expression
+  * BZ#3419: Database does not start after upgrade
+  * BZ#3423: Group by alias with distinct count doesn't work
+
+ -- Sjoerd Mullender <sjo...@acm.org>  Sat, 25 Jan 2014 14:06:27 +0100
+
+monetdb (11.17.1-20140114) unstable; urgency=low
+
+  * Rebuilt.
+
+ -- Sjoerd Mullender <sjo...@acm.org>  Tue, 14 Jan 2014 14:39:05 +0100
+
+monetdb (11.17.1-20140114) unstable; urgency=low
+
+  * Rebuilt.
   * BZ#3040: Wrong NULL behavior in EXCEPT and INTERSECT
   * BZ#3092: ODBC client doesn't support scalar function escape
   * BZ#3198: SIGSEGV insert_string_bat (b=0x7fffe419d0a0, n=0x7fffc4006010,
@@ -36,50 +51,6 @@ monetdb (11.17.3-20140125) unstable; urg
   * BZ#3412: Boolean expressions in WHERE clause, result in incorrect
     resulsts
   * BZ#3417: Nested Common Table Expressions Crash
-  * BZ#3418: Segmentation fault on a query from table expression
-  * BZ#3419: Database does not start after upgrade
-  * BZ#3423: Group by alias with distinct count doesn't work
-
- -- Sjoerd Mullender <sjo...@acm.org>  Sat, 25 Jan 2014 14:06:27 +0100
-
-monetdb (11.17.1-20140114) unstable; urgency=low
-
-  * Rebuilt.
-
- -- Sjoerd Mullender <sjo...@acm.org>  Tue, 14 Jan 2014 14:39:05 +0100
-
-monetdb (11.17.1-20140114) unstable; urgency=low
-
-  * Rebuilt.
-  * BZ#3040: Wrong NULL behavior in EXCEPT and INTERSECT
-  * BZ#3092: ODBC client doesn't support scalar function escape
-  * BZ#3198: SIGSEGV insert_string_bat (b=0x7fffe419d0a0, n=0x7fffc4006010,
-    append=0) at gdk_batop.c:196
-  * BZ#3210: Unexpected concurrency conflict when inserting to 2 tables
-    simultaneously and querying one of them
-  * BZ#3273: Add support to Python DBAPI package for timetz, inet and
-    url types
-  * BZ#3285: no such table 'queryHistory'
-  * BZ#3298: GDKmmap messages and monetdb start db takes very long
-  * BZ#3354: Introduce query time-out
-  * BZ#3371: (i)like generates batloop instead of algebra.likesubselect
-  * BZ#3372: Large group by queries never complete - server at 100%
-    cpu(all cores) until MonetDB stopped
-  * BZ#3383: Bad performance with DISTINCT GROUP BY
-  * BZ#3391: Bad performance with GROUP BY and FK with out aggregate
-    function
-  * BZ#3393: "COPY .. INTO ..." - escape of string quotes
-  * BZ#3399: server crashed on simple (malformed) query
-  * BZ#3401: inconsistent/strange handling of invalid dates
-    (e.g. 2013-02-29) in where clause
-  * BZ#3403: NOT NULL constraint can't be applied after deleting rows with
-    null values
-  * BZ#3404: Assertion `h->storage == STORE_MMAP' failed.
-  * BZ#3408: nested concat query crashed server
-  * BZ#3411: (disguised) BETWEEN clause not recognised. Hence no rangejoin.
-  * BZ#3412: Boolean expressions in WHERE clause, result in incorrect
-    resulsts
-  * BZ#3417: Nested Common Table Expressions Crash
 
  -- Sjoerd Mullender <sjo...@acm.org>  Tue, 14 Jan 2014 14:39:02 +0100
 
diff --git a/sql/backends/monet5/sql_gencode.c 
b/sql/backends/monet5/sql_gencode.c
--- a/sql/backends/monet5/sql_gencode.c
+++ b/sql/backends/monet5/sql_gencode.c
@@ -752,10 +752,14 @@ static int
                                }
                        } else {
                                char *buf = GDKmalloc(SMALLBUFSIZ);
-
-                               (void) snprintf(buf, SMALLBUFSIZ, "A%d", 
s->flag);
+                               
                                q = newAssignment(mb);
-                               q = pushArgumentId(mb, q, buf);
+                               if (sql->mvc->argc && 
sql->mvc->args[s->flag]->varid >= 0) {
+                                       q = pushArgument(mb, q, 
sql->mvc->args[s->flag]->varid);
+                               } else {
+                                       (void) snprintf(buf, SMALLBUFSIZ, 
"A%d", s->flag);
+                                       q = pushArgumentId(mb, q, buf);
+                               }
                        }
                        s->nr = getDestVar(q);
                } break;
@@ -2165,7 +2169,7 @@ backend_callinline(backend *be, Client c
 
        curInstr = getInstrPtr(curBlk, 0);
 
-       if (m->argc) {          /* we shouldn't come here as we aren't caching 
statements */
+       if (m->argc) {  
                int argc = 0;
 
                for (; argc < m->argc; argc++) {
@@ -2174,7 +2178,7 @@ backend_callinline(backend *be, Client c
                        int varid = 0;
 
                        curInstr = newAssignment(curBlk);
-                       varid = getDestVar(curInstr);
+                       a->varid = varid = getDestVar(curInstr);
                        renameVariable(curBlk, varid, "A%d", argc);
                        setVarType(curBlk, varid, type);
                        setVarUDFtype(curBlk, varid);
@@ -2229,7 +2233,7 @@ backend_dumpproc(backend *be, Client c, 
                        int varid = 0;
 
                        snprintf(arg, SMALLBUFSIZ, "A%d", argc);
-                       varid = newVariable(mb, _STRDUP(arg), type);
+                       a->varid = varid = newVariable(mb, _STRDUP(arg), type);
                        curInstr = pushArgument(mb, curInstr, varid);
                        setVarType(mb, varid, type);
                        setVarUDFtype(mb, 0);
diff --git a/sql/server/sql_atom.c b/sql/server/sql_atom.c
--- a/sql/server/sql_atom.c
+++ b/sql/server/sql_atom.c
@@ -32,6 +32,7 @@ atom_create( sql_allocator *sa )
 
        memset(&a->data, 0, sizeof(a->data));
        a->d = dbl_nil;
+       a->varid = -1;
        return a;
 }
 
diff --git a/sql/server/sql_atom.h b/sql/server/sql_atom.h
--- a/sql/server/sql_atom.h
+++ b/sql/server/sql_atom.h
@@ -28,6 +28,7 @@ typedef struct atom {
        sql_subtype tpe;
        ValRecord data;
        dbl d;
+       int varid;/* used during code generation only */
 } atom;
 
 #define atom_null(a) (((atom*)a)->isnull)
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to