Changeset: bf1a803ee260 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=bf1a803ee260
Modified Files:
        .hgtags
        MonetDB.spec
        NT/monetdb_config.h.in
        NT/rules.msc
        clients/mapilib/mapi.rc
        clients/odbc/driver/driver.rc
        clients/odbc/winsetup/setup.rc
        configure.ag
        debian/changelog
        gdk/libbat.rc
        libversions
        monetdb5/tools/libmonetdb5.rc
        sql/server/rel_select.c
        sql/storage/store.c
        sql/test/BugTracker-2018/Tests/prepared-statement-with-udf.Bug-6650.sql
        
sql/test/BugTracker-2018/Tests/prepared-statement-with-udf.Bug-6650.stable.out
        vertoo.data
Branch: default
Log Message:

Merged with linear-hashing


diffs (184 lines):

diff --git a/.hgtags b/.hgtags
--- a/.hgtags
+++ b/.hgtags
@@ -750,3 +750,5 @@ e0719bdebf32967ca0a0043f556b3f48f93e0ce0
 8d4258444e2a0a809468fb85be7999a407d47e04 Nov2019_9
 e0719bdebf32967ca0a0043f556b3f48f93e0ce0 Nov2019_SP1_release
 8d4258444e2a0a809468fb85be7999a407d47e04 Nov2019_SP1_release
+c35ea84b568b792c5fd073f6a1e1a24372de0e20 Nov2019_11
+c35ea84b568b792c5fd073f6a1e1a24372de0e20 Nov2019_SP2_release
diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -105,7 +105,7 @@ Group: Applications/Databases
 License: MPLv2.0
 URL: https://www.monetdb.org/
 BugURL: https://bugs.monetdb.org/
-Source: 
https://www.monetdb.org/downloads/sources/Nov2019-SP1/%{name}-%{version}.tar.bz2
+Source: 
https://www.monetdb.org/downloads/sources/Nov2019-SP2/%{name}-%{version}.tar.bz2
 
 # we need systemd for the _unitdir macro to exist
 # we need checkpolicy and selinux-policy-devel for the SELinux policy
@@ -941,6 +941,15 @@ fi
 %postun -p /sbin/ldconfig
 
 %changelog
+* Tue Feb 11 2020 Sjoerd Mullender <sjo...@acm.org> - 11.35.11-20200211
+- Rebuilt.
+- BZ#6805: Using the cascade operator in a drop table statement ends in
+  an exit from the Monetdb shell.
+- BZ#6807: Median_avg and quantile_avg ignore NULL values
+- BZ#6815: query with ifthenelse() crashes mserver5
+- BZ#6816: Monetdb Crashes on INSERT statement after ALTER statement in
+  another connection
+
 * Wed Dec 18 2019 Sjoerd Mullender <sjo...@acm.org> - 11.35.9-20191218
 - Rebuilt.
 - BZ#6804: DNS resolution of 0.0.0.0 fails on recent Ubuntus
diff --git a/debian/changelog b/debian/changelog
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,15 @@
+monetdb (11.35.11) unstable; urgency=low
+
+  * Rebuilt.
+  * BZ#6805: Using the cascade operator in a drop table statement ends in
+    an exit from the Monetdb shell.
+  * BZ#6807: Median_avg and quantile_avg ignore NULL values
+  * BZ#6815: query with ifthenelse() crashes mserver5
+  * BZ#6816: Monetdb Crashes on INSERT statement after ALTER statement in
+    another connection
+
+ -- Sjoerd Mullender <sjo...@acm.org>  Tue, 11 Feb 2020 14:07:49 +0100
+
 monetdb (11.35.9) unstable; urgency=low
 
   * Rebuilt.
diff --git a/libversions b/libversions
--- a/libversions
+++ b/libversions
@@ -36,13 +36,13 @@
 
 # version of the GDK library (subdirectory gdk; also includes
 # common/options and common/utils)
-GDK_VERSION=19:2:0
+GDK_VERSION=19:3:0
 
 # version of the MAPI library (subdirectory clients/mapilib)
-MAPI_VERSION=12:2:0
+MAPI_VERSION=12:3:0
 
 # version of the MONETDB5 library (subdirectory monetdb5, not including extras 
or sql)
-MONETDB5_VERSION=28:3:0
+MONETDB5_VERSION=28:4:0
 
 # version of the STREAM library (subdirectory common/stream)
 STREAM_VERSION=13:3:0
diff --git a/sql/server/rel_select.c b/sql/server/rel_select.c
--- a/sql/server/rel_select.c
+++ b/sql/server/rel_select.c
@@ -675,10 +675,10 @@ rel_named_table_function(sql_query *quer
        }
 
        if (sq) {
-               for (node *n = sq->exps->h, *m = sf->res->h ; n && m ; n = 
n->next, m = m->next) {
+               for (node *n = sq->exps->h, *m = sf->func->ops->h ; n && m ; n 
= n->next, m = m->next) {
                        sql_exp *e = (sql_exp*) n->data;
-                       sql_subtype *t = (sql_subtype*) m->data;
-                       if (!exp_subtype(e) && rel_set_type_param(sql, t, sq, 
e, 0) < 0)
+                       sql_arg *a = (sql_arg*) m->data;
+                       if (!exp_subtype(e) && rel_set_type_param(sql, 
&(a->type), sq, e, 0) < 0)
                                return NULL;
                }
        }
@@ -6023,10 +6023,10 @@ rel_loader_function(sql_query *query, sy
                return sql_error(sql, 02, SQLSTATE(42000) "SELECT: no such 
operator '%s'", fname);
 
        if (sq) {
-               for (node *n = sq->exps->h, *m = sf->res->h ; n && m ; n = 
n->next, m = m->next) {
+               for (node *n = sq->exps->h, *m = sf->func->ops->h ; n && m ; n 
= n->next, m = m->next) {
                        sql_exp *e = (sql_exp*) n->data;
-                       sql_subtype *t = (sql_subtype*) m->data;
-                       if (!exp_subtype(e) && rel_set_type_param(sql, t, sq, 
e, 0) < 0)
+                       sql_arg *a = (sql_arg*) m->data;
+                       if (!exp_subtype(e) && rel_set_type_param(sql, 
&(a->type), sq, e, 0) < 0)
                                return NULL;
                }
        }
diff --git a/sql/storage/store.c b/sql/storage/store.c
--- a/sql/storage/store.c
+++ b/sql/storage/store.c
@@ -3012,10 +3012,10 @@ sql_trans_copy_part( sql_trans *tr, sql_
 
        base_init(tr->sa, &npt->base, pt->base.id, TR_NEW, npt->base.name);
 
-       if (isNonPartitionedTable(t))
+       if (isRangePartitionTable(t) || isListPartitionTable(t))
+               dup_sql_type(tr, t->s, &(pt->tpe), &(npt->tpe));
+       else
                npt->tpe = pt->tpe;
-       else
-               dup_sql_type(tr, t->s, &(pt->tpe), &(npt->tpe));
        npt->with_nills = pt->with_nills;
        npt->t = t;
 
@@ -3131,10 +3131,10 @@ part_dup(sql_trans *tr, int flags, sql_p
        sql_table *pt = find_sql_table(mt->s, op->base.name);
 
        base_init(sa, &p->base, op->base.id, tr_flag(&op->base, flags), 
op->base.name);
-       if (isNonPartitionedTable(mt))
+       if (isRangePartitionTable(mt) || isListPartitionTable(mt))
+               dup_sql_type(tr, mt->s, &(op->tpe), &(p->tpe));
+       else
                p->tpe = op->tpe;
-       else
-               dup_sql_type(tr, mt->s, &(op->tpe), &(p->tpe));
        p->with_nills = op->with_nills;
        p->t = mt;
        assert(isMergeTable(mt) || isReplicaTable(mt));
@@ -4516,10 +4516,10 @@ reset_part(sql_trans *tr, sql_part *ft, 
                                assert(isMergeTable(fmt) || 
isReplicaTable(fmt));
                                ft->t = fmt;
                        }
-                       if (isNonPartitionedTable(mt) || !s)
+                       if (s && (isRangePartitionTable(mt) || 
isListPartitionTable(mt)))
+                               dup_sql_type(tr, s, &(pft->tpe), &(ft->tpe));
+                       else
                                ft->tpe = pft->tpe;
-                       else
-                               dup_sql_type(tr, s, &(pft->tpe), &(ft->tpe));
                } else {
                        ft->t = NULL;
                        ft->tpe = pft->tpe;
diff --git 
a/sql/test/BugTracker-2018/Tests/prepared-statement-with-udf.Bug-6650.sql 
b/sql/test/BugTracker-2018/Tests/prepared-statement-with-udf.Bug-6650.sql
--- a/sql/test/BugTracker-2018/Tests/prepared-statement-with-udf.Bug-6650.sql
+++ b/sql/test/BugTracker-2018/Tests/prepared-statement-with-udf.Bug-6650.sql
@@ -10,4 +10,8 @@ prepare with something as (select a from
 exec **('a', 'a');
 drop function get_onet;
 drop table onet;
+
+CREATE FUNCTION twoargs(input1 INT, input2 CLOB) RETURNS TABLE (outt CLOB) 
BEGIN RETURN TABLE(SELECT input1 || input2); END;
+prepare select 1 from twoargs(?,?);
+
 rollback;
diff --git 
a/sql/test/BugTracker-2018/Tests/prepared-statement-with-udf.Bug-6650.stable.out
 
b/sql/test/BugTracker-2018/Tests/prepared-statement-with-udf.Bug-6650.stable.out
--- 
a/sql/test/BugTracker-2018/Tests/prepared-statement-with-udf.Bug-6650.stable.out
+++ 
b/sql/test/BugTracker-2018/Tests/prepared-statement-with-udf.Bug-6650.stable.out
@@ -120,6 +120,16 @@ stdout of test 'prepared-statement-with-
 [ "a", "b",    "c",    "a"     ]
 #drop function get_onet;
 #drop table onet;
+#CREATE FUNCTION twoargs(input1 INT, input2 CLOB) RETURNS TABLE (outt CLOB) 
BEGIN RETURN TABLE(SELECT input1 || input2); END;
+#prepare select 1 from twoargs(?,?);
+#prepare select 1 from twoargs(?,?);
+% .prepare,    .prepare,       .prepare,       .prepare,       .prepare,       
.prepare # table_name
+% type,        digits, scale,  schema, table,  column # name
+% varchar,     int,    int,    str,    str,    str # type
+% 7,   2,      1,      0,      0,      0 # length
+[ "tinyint",   1,      0,      "",     "",     ""      ]
+[ "int",       32,     0,      NULL,   NULL,   NULL    ]
+[ "clob",      0,      0,      NULL,   NULL,   NULL    ]
 #rollback;
 
 # 13:30:56 >  
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to