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
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list