Changeset: 949febc75a2d for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=949febc75a2d
Branch: default
Log Message:

Merged with Oct2020


diffs (185 lines):

diff --git a/documentation/source/build.rst b/documentation/source/build.rst
--- a/documentation/source/build.rst
+++ b/documentation/source/build.rst
@@ -123,7 +123,6 @@ To compile MonetDB (as normal user)::
   cd MonetDB
   mkdir build
   cd build
-  cmake -G "Visual Studio 15 2017" 
-DCMAKE_TOOLCHAIN_FILE=/vcpkg/scripts/buildsystems/vcpkg.cmake 
-DCMAKE_INSTALL_PREFIX=%HOME%\install -A x64 -DTESTING=OFF ..
   cmake -G "Visual Studio 15 2017" 
-DCMAKE_TOOLCHAIN_FILE=/vcpkg/scripts/buildsystems/vcpkg.cmake 
-DCMAKE_INSTALL_PREFIX=%HOME%\install -A x64 ..
   cmake --build . --target ALL_BUILD
   cmake --build . --target INSTALL
diff --git a/monetdb5/modules/atoms/mtime.c b/monetdb5/modules/atoms/mtime.c
--- a/monetdb5/modules/atoms/mtime.c
+++ b/monetdb5/modules/atoms/mtime.c
@@ -82,10 +82,12 @@ MTIMEcurrent_timestamp(timestamp *ret)
 #define INIT_ITER(VAR, VAR_BAT) VAR = bat_iterator(VAR_BAT)
 
 #define APPEND_STR(MALFUNC) \
-       if (BUNappend(bn, res, false) != GDK_SUCCEED) { \
+       if (tfastins_nocheckVAR(bn, i, res, Tsize(bn)) != GDK_SUCCEED) { \
+               GDKfree(res); \
                msg = createException(SQL, "batmtime." MALFUNC, SQLSTATE(HY013) 
MAL_MALLOC_FAIL); \
                break; \
-       }
+       } \
+       GDKfree(res); \
 
 #define GET_NEXT_ITER(VAR) BUNtvar(VAR, i)
 
diff --git a/sql/server/rel_rel.c b/sql/server/rel_rel.c
--- a/sql/server/rel_rel.c
+++ b/sql/server/rel_rel.c
@@ -865,7 +865,7 @@ rel_groupby(mvc *sql, sql_rel *l, list *
                        sql_exp *e = en->data, *ne;
 
                        if ((ne=exps_find_exp(gexps, e)) == NULL ||
-                           strcmp(exp_relname(e),exp_relname(ne)) != 0 ||
+                           (exp_relname(e) && exp_relname(ne) && 
strcmp(exp_relname(e),exp_relname(ne)) != 0) ||
                            strcmp(exp_name(e),exp_name(ne)) != 0  )
                                append(gexps, e);
                }
diff --git a/sql/test/miscellaneous/Tests/groupby_error.sql 
b/sql/test/miscellaneous/Tests/groupby_error.sql
--- a/sql/test/miscellaneous/Tests/groupby_error.sql
+++ b/sql/test/miscellaneous/Tests/groupby_error.sql
@@ -222,3 +222,28 @@ INSERT INTO t VALUES (42);
 SELECT CAST(SUM(x) / COUNT(x) AS DECIMAL(13,1)) FROM t;
        -- 42.0
 ROLLBACK;
+
+START TRANSACTION;
+create table tab1 ("myk" int, "part" int, "tet" int);
+create table tab2 ("myk" int, "ups" varchar(32));
+insert into tab1 values (1,1,1), (2,2,2);
+insert into tab2 values (1, 'a'), (1, 'b');
+
+select
+  myalias0."part" as "part",
+  myalias0."tet" as "tet",
+  count(*) as mycount,
+  myalias0."tet" as track
+from
+  tab1 myalias0
+  left join tab2 myalias1
+  on myalias0."part" = myalias1."myk"
+group by
+  myalias0."part",
+  track,
+  myalias0."tet",
+  myalias1."ups";
+       -- 1 1 1 1
+       -- 2 2 1 2
+       -- 1 1 1 1
+ROLLBACK;
diff --git a/sql/test/miscellaneous/Tests/groupby_error.stable.err 
b/sql/test/miscellaneous/Tests/groupby_error.stable.err
--- a/sql/test/miscellaneous/Tests/groupby_error.stable.err
+++ b/sql/test/miscellaneous/Tests/groupby_error.stable.err
@@ -5,29 +5,7 @@ stderr of test 'groupby_error` in direct
 # 10:56:46 >  "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" 
"mapi_open=true" "--set" "mapi_port=36667" "--set" 
"mapi_usock=/var/tmp/mtest-13678/.s.monetdb.36667" "--set" "monet_prompt=" 
"--forcemito" 
"--dbpath=/home/ferreira/repositories/MonetDB-Apr2019/BUILD/var/MonetDB/mTests_sql_test_miscellaneous"
 "--set" "embedded_c=true"
 # 10:56:46 >  
 
-# builtin opt  gdk_dbpath = 
/home/ferreira/repositories/MonetDB-Apr2019/BUILD/var/monetdb5/dbfarm/demo
-# builtin opt  monet_prompt = >
-# builtin opt  monet_daemon = no
-# builtin opt  mapi_port = 50000
-# builtin opt  mapi_open = false
-# builtin opt  mapi_autosense = false
-# builtin opt  sql_optimizer = default_pipe
-# builtin opt  sql_debug = 0
-# cmdline opt  gdk_nr_threads = 0
-# cmdline opt  mapi_open = true
-# cmdline opt  mapi_port = 36667
-# cmdline opt  mapi_usock = /var/tmp/mtest-13678/.s.monetdb.36667
-# cmdline opt  monet_prompt = 
-# cmdline opt  gdk_dbpath = 
/home/ferreira/repositories/MonetDB-Apr2019/BUILD/var/MonetDB/mTests_sql_test_miscellaneous
-# cmdline opt  embedded_c = true
-#client2:!ERROR:ParseException:SQLparser:42000!SELECT: cannot use non GROUP BY 
column 'parent.number' in query results without an aggregate function
-#main thread:!ERROR:MALException:client.quit:Server stopped
-
-# 10:56:47 >  
-# 10:56:47 >  "mclient" "-lsql" "-ftest" "-tnone" "-Eutf-8" "-i" "-e" 
"--host=/var/tmp/mtest-13678" "--port=36667"
-# 10:56:47 >  
-
-MAPI  = (monetdb) /var/tmp/mtest-13678/.s.monetdb.36667
+MAPI  = (monetdb) /var/tmp/mtest-915189/.s.monetdb.30839
 QUERY = SELECT parent."sys_id" FROM "kagami_dump"."test_task" parent INNER 
JOIN "kagami_dump"."test_task" child ON child."parent" = parent."sys_id" GROUP 
BY parent."sys_id" HAVING count(child."sys_id") >= 1 ORDER BY parent."number"; 
--error, parent."number" requires an aggregate function
 ERROR = !SELECT: no such column 'parent.number'
 CODE  = 42S22
diff --git a/sql/test/miscellaneous/Tests/groupby_error.stable.out 
b/sql/test/miscellaneous/Tests/groupby_error.stable.out
--- a/sql/test/miscellaneous/Tests/groupby_error.stable.out
+++ b/sql/test/miscellaneous/Tests/groupby_error.stable.out
@@ -552,6 +552,35 @@ project (
 % 15 # length
 [ 42.0 ]
 #ROLLBACK;
+#START TRANSACTION;
+#create table tab1 ("myk" int, "part" int, "tet" int);
+#create table tab2 ("myk" int, "ups" varchar(32));
+#insert into tab1 values (1,1,1), (2,2,2);
+[ 2    ]
+#insert into tab2 values (1, 'a'), (1, 'b');
+[ 2    ]
+#select
+#  myalias0."part" as "part",
+#  myalias0."tet" as "tet",
+#  count(*) as mycount,
+#  myalias0."tet" as track
+#from
+#  tab1 myalias0
+#  left join tab2 myalias1
+#  on myalias0."part" = myalias1."myk"
+#group by
+#  myalias0."part",
+#  track,
+#  myalias0."tet",
+#  myalias1."ups";
+% .,   .,      .,      . # table_name
+% part,        tet,    mycount,        track # name
+% int, int,    bigint, int # type
+% 1,   1,      1,      1 # length
+[ 1,   1,      1,      1       ]
+[ 1,   1,      1,      1       ]
+[ 2,   2,      1,      2       ]
+#ROLLBACK;
 
 # 10:56:47 >  
 # 10:56:47 >  "Done."
diff --git a/sql/test/miscellaneous/Tests/simple_selects.sql 
b/sql/test/miscellaneous/Tests/simple_selects.sql
--- a/sql/test/miscellaneous/Tests/simple_selects.sql
+++ b/sql/test/miscellaneous/Tests/simple_selects.sql
@@ -205,3 +205,5 @@ select cast(interval '3' second as clob)
        -- 3.000
 
 select cast(13121 as varchar(2147483647)) || cast(231231 as 
varchar(2147483647)); --error, too big
+
+select date_to_str(a,'%y/%m/%d') from (values (date '2012-02-11'), (date 
'2012-02-12'),(date '2012-02-13')) as a(a);
diff --git a/sql/test/miscellaneous/Tests/simple_selects.stable.out 
b/sql/test/miscellaneous/Tests/simple_selects.stable.out
--- a/sql/test/miscellaneous/Tests/simple_selects.stable.out
+++ b/sql/test/miscellaneous/Tests/simple_selects.stable.out
@@ -392,6 +392,14 @@ stdout of test 'simple_selects` in direc
 % clob # type
 % 5 # length
 [ "3.000"      ]
+#select date_to_str(a,'%y/%m/%d') from (values (date '2012-02-11'), (date 
'2012-02-12'),(date '2012-02-13')) as a(a);
+% .%5 # table_name
+% %5 # name
+% clob # type
+% 8 # length
+[ "12/02/11"   ]
+[ "12/02/12"   ]
+[ "12/02/13"   ]
 
 # 17:31:38 >  
 # 17:31:38 >  "Done."
diff --git a/tools/monetdbe/monetdbe.h b/tools/monetdbe/monetdbe.h
--- a/tools/monetdbe/monetdbe.h
+++ b/tools/monetdbe/monetdbe.h
@@ -32,7 +32,7 @@ typedef int64_t monetdbe_cnt;
 typedef struct {
        unsigned char day;
        unsigned char month;
-       int year;
+       short year;
 } monetdbe_data_date;
 
 typedef struct {
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to