Changeset: cf92419450ef for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=cf92419450ef
Added Files:
sql/test/BugTracker-2019/Tests/disallow_duplicate_column_aliases.Bug-6723.sql
sql/test/BugTracker-2019/Tests/disallow_duplicate_column_aliases.Bug-6723.stable.err
sql/test/BugTracker-2019/Tests/disallow_duplicate_column_aliases.Bug-6723.stable.out
sql/test/BugTracker-2019/Tests/select_window_function_and_asterisk.Bug-6722.sql
sql/test/BugTracker-2019/Tests/select_window_function_and_asterisk.Bug-6722.stable.err
sql/test/BugTracker-2019/Tests/select_window_function_and_asterisk.Bug-6722.stable.out
Modified Files:
monetdb5/modules/mal/pcre.c
sql/server/rel_optimizer.c
sql/storage/bat/bat_storage.c
sql/test/BugTracker-2008/Tests/auto_coersion_bug.SF-2075157.stable.out
sql/test/BugTracker-2019/Tests/All
sql/test/analytics/Tests/analytics09.stable.out
sql/test/pg_regress/Tests/select_views.stable.out
Branch: default
Log Message:
Merge with Apr2019 branch.
diffs (truncated from 373 to 300 lines):
diff --git a/monetdb5/modules/mal/pcre.c b/monetdb5/modules/mal/pcre.c
--- a/monetdb5/modules/mal/pcre.c
+++ b/monetdb5/modules/mal/pcre.c
@@ -574,7 +574,7 @@ pcre_likeselect(BAT **bnp, BAT *b, BAT *
pcre_extra *pe;
const char *error;
int errpos;
- int ovector[10];
+ int ovector[9];
#else
int options = REG_NEWLINE | REG_NOSUB | REG_EXTENDED;
regex_t re;
@@ -637,7 +637,7 @@ pcre_likeselect(BAT **bnp, BAT *b, BAT *
p = SORTfndfirst(s, &b->hseqbase);
candlist = (const oid *) Tloc(s, p);
#ifdef HAVE_LIBPCRE
-#define BODY (pcre_exec(re, pe, v, (int) strlen(v), 0, 0, ovector, 10) >=
0)
+#define BODY (pcre_exec(re, pe, v, (int) strlen(v), 0, 0, ovector, 9) >= 0)
#else
#define BODY (regexec(&re, v, (size_t) 0, NULL, 0) != REG_NOMATCH)
#endif
@@ -1518,10 +1518,10 @@ str
PCREindex(int *res, const pcre *pattern, const str *s)
{
#ifdef HAVE_LIBPCRE
- int v[2];
+ int v[3];
v[0] = v[1] = *res = 0;
- if (pcre_exec(pattern, NULL, *s, (int) strlen(*s), 0, 0, v, 2) >= 0) {
+ if (pcre_exec(pattern, NULL, *s, (int) strlen(*s), 0, 0, v, 3) >= 0) {
*res = v[1];
}
return MAL_SUCCEED;
diff --git a/sql/storage/bat/bat_storage.c b/sql/storage/bat/bat_storage.c
--- a/sql/storage/bat/bat_storage.c
+++ b/sql/storage/bat/bat_storage.c
@@ -1904,7 +1904,7 @@ clear_delta(sql_trans *tr, sql_delta *ba
}
if (bat->ibid) {
b = temp_descriptor(bat->ibid);
- if(b) {
+ if (b && !isEbat(b)) {
sz += BATcount(b);
bat_clear(b);
BATcommit(b);
@@ -1914,6 +1914,7 @@ clear_delta(sql_trans *tr, sql_delta *ba
if (bat->bid) {
b = temp_descriptor(bat->bid);
if(b) {
+ assert(!isEbat(b));
sz += BATcount(b);
/* for transactions we simple switch to ibid only */
if (tr != gtrans) {
@@ -1929,7 +1930,7 @@ clear_delta(sql_trans *tr, sql_delta *ba
}
if (bat->uibid) {
b = temp_descriptor(bat->uibid);
- if(b) {
+ if (b && !isEbat(b)) {
bat_clear(b);
BATcommit(b);
bat_destroy(b);
@@ -1937,7 +1938,7 @@ clear_delta(sql_trans *tr, sql_delta *ba
}
if (bat->uvbid) {
b = temp_descriptor(bat->uvbid);
- if(b) {
+ if(b && !isEbat(b)) {
bat_clear(b);
BATcommit(b);
bat_destroy(b);
@@ -2138,7 +2139,7 @@ clear_dbat(sql_trans *tr, sql_dbat *bat)
}
if (bat->dbid) {
BAT *b = temp_descriptor(bat->dbid);
- if(b) {
+ if(b && !isEbat(b)) {
sz += BATcount(b);
bat_clear(b);
BATcommit(b);
diff --git a/sql/test/BugTracker-2019/Tests/All
b/sql/test/BugTracker-2019/Tests/All
--- a/sql/test/BugTracker-2019/Tests/All
+++ b/sql/test/BugTracker-2019/Tests/All
@@ -17,3 +17,5 @@ correlated-subquery-aggregation.Bug-6714
merge-statement-aliases.Bug-6715
insert-into-select.Bug-6718
copy-into-unicode-quote.Bug-6716
+select_window_function_and_asterisk.Bug-6722
+disallow_duplicate_column_aliases.Bug-6723
diff --git
a/sql/test/BugTracker-2019/Tests/disallow_duplicate_column_aliases.Bug-6723.sql
b/sql/test/BugTracker-2019/Tests/disallow_duplicate_column_aliases.Bug-6723.sql
new file mode 100644
--- /dev/null
+++
b/sql/test/BugTracker-2019/Tests/disallow_duplicate_column_aliases.Bug-6723.sql
@@ -0,0 +1,8 @@
+select 1 as T, 2 as T;
+select a.* from (select 1 as T, 2 as T) a;
+with wa as (select 1 as T, 2 as T) select wa.* from wa;
+
+select 1,2,3 as "L2";
+select a.* from (select 1,2,3 as "L2") a;
+with wa as (select 1,2,3 as "L2") select wa.* from wa;
+
diff --git
a/sql/test/BugTracker-2019/Tests/disallow_duplicate_column_aliases.Bug-6723.stable.err
b/sql/test/BugTracker-2019/Tests/disallow_duplicate_column_aliases.Bug-6723.stable.err
new file mode 100644
--- /dev/null
+++
b/sql/test/BugTracker-2019/Tests/disallow_duplicate_column_aliases.Bug-6723.stable.err
@@ -0,0 +1,56 @@
+stderr of test 'disallow_duplicate_column_aliases.Bug-6723` in directory
'sql/test/BugTracker-2019` itself:
+
+
+# 13:22:42 >
+# 13:22:42 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set"
"mapi_open=true" "--set" "mapi_port=33477" "--set"
"mapi_usock=/var/tmp/mtest-15745/.s.monetdb.33477" "--set" "monet_prompt="
"--forcemito"
"--dbpath=/export/scratch1/dinther/INSTALL/var/MonetDB/mTests_sql_test_BugTracker-2019"
"--set" "embedded_c=true"
+# 13:22:42 >
+
+# builtin opt gdk_dbpath =
/export/scratch1/dinther/INSTALL/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 = 33477
+# cmdline opt mapi_usock = /var/tmp/mtest-15745/.s.monetdb.33477
+# cmdline opt monet_prompt =
+# cmdline opt gdk_dbpath =
/export/scratch1/dinther/INSTALL/var/MonetDB/mTests_sql_test_BugTracker-2019
+# cmdline opt embedded_c = true
+
+# 13:22:43 >
+# 13:22:43 > "mclient" "-lsql" "-ftest" "-tnone" "-Eutf-8" "-i" "-e"
"--host=/var/tmp/mtest-15745" "--port=33477"
+# 13:22:43 >
+
+MAPI = (monetdb) /var/tmp/mtest-15745/.s.monetdb.33477
+QUERY = select 1 as T, 2 as T;
+ERROR = !SELECT: Duplicate column name or alias 'T' not allowed
+CODE = 42000
+MAPI = (monetdb) /var/tmp/mtest-15745/.s.monetdb.33477
+QUERY = select a.* from (select 1 as T, 2 as T) a;
+ERROR = !SELECT: Duplicate column name or alias 'T' not allowed
+CODE = 42000
+MAPI = (monetdb) /var/tmp/mtest-15745/.s.monetdb.33477
+QUERY = with wa as (select 1 as T, 2 as T) select wa.* from wa;
+ERROR = !SELECT: Duplicate column name or alias 'T' not allowed
+CODE = 42000
+MAPI = (monetdb) /var/tmp/mtest-15745/.s.monetdb.33477
+QUERY = select 1,2,3 as "L2";
+ERROR = !SELECT: Duplicate column name or alias 'L2' not allowed
+CODE = 42000
+MAPI = (monetdb) /var/tmp/mtest-15745/.s.monetdb.33477
+QUERY = select a.* from (select 1,2,3 as "L2") a;
+ERROR = !SELECT: Duplicate column name or alias 'L2' not allowed
+CODE = 42000
+MAPI = (monetdb) /var/tmp/mtest-15745/.s.monetdb.33477
+QUERY = with wa as (select 1,2,3 as "L2") select wa.* from wa;
+ERROR = !SELECT: Duplicate column name or alias 'L2' not allowed
+CODE = 42000
+
+# 13:22:43 >
+# 13:22:43 > "Done."
+# 13:22:43 >
+
diff --git
a/sql/test/BugTracker-2019/Tests/disallow_duplicate_column_aliases.Bug-6723.stable.out
b/sql/test/BugTracker-2019/Tests/disallow_duplicate_column_aliases.Bug-6723.stable.out
new file mode 100644
--- /dev/null
+++
b/sql/test/BugTracker-2019/Tests/disallow_duplicate_column_aliases.Bug-6723.stable.out
@@ -0,0 +1,31 @@
+stdout of test 'disallow_duplicate_column_aliases.Bug-6723` in directory
'sql/test/BugTracker-2019` itself:
+
+
+# 13:22:42 >
+# 13:22:42 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set"
"mapi_open=true" "--set" "mapi_port=33477" "--set"
"mapi_usock=/var/tmp/mtest-15745/.s.monetdb.33477" "--set" "monet_prompt="
"--forcemito"
"--dbpath=/export/scratch1/dinther/INSTALL/var/MonetDB/mTests_sql_test_BugTracker-2019"
"--set" "embedded_c=true"
+# 13:22:42 >
+
+# MonetDB 5 server v11.33.4 (hg id: 0e77729ef717+)
+# This is an unreleased version
+# Serving database 'mTests_sql_test_BugTracker-2019', using 4 threads
+# Compiled for x86_64-unknown-linux-gnu/64bit with 128bit integers
+# Found 31.305 GiB available main-memory.
+# Copyright (c) 1993 - July 2008 CWI.
+# Copyright (c) August 2008 - 2019 MonetDB B.V., all rights reserved
+# Visit https://www.monetdb.org/ for further information
+# Listening for connection requests on mapi:monetdb://catskill.da.cwi.nl:33477/
+# Listening for UNIX domain connection requests on
mapi:monetdb:///var/tmp/mtest-15745/.s.monetdb.33477
+# MonetDB/GIS module loaded
+# MonetDB/SQL module loaded
+
+Ready.
+
+# 13:22:43 >
+# 13:22:43 > "mclient" "-lsql" "-ftest" "-tnone" "-Eutf-8" "-i" "-e"
"--host=/var/tmp/mtest-15745" "--port=33477"
+# 13:22:43 >
+
+
+# 13:22:43 >
+# 13:22:43 > "Done."
+# 13:22:43 >
+
diff --git
a/sql/test/BugTracker-2019/Tests/select_window_function_and_asterisk.Bug-6722.sql
b/sql/test/BugTracker-2019/Tests/select_window_function_and_asterisk.Bug-6722.sql
new file mode 100644
--- /dev/null
+++
b/sql/test/BugTracker-2019/Tests/select_window_function_and_asterisk.Bug-6722.sql
@@ -0,0 +1,26 @@
+create table test_6722 (part string, qty double);
+insert into test_6722 values ('a', 18), ('a', 13),('a', 16),('b', 15),('b',
16),('c', 17),('c', 18),('c', 12),('d', 12),('d', 12);
+
+select
+ dense_rank() over (order by part, qty) as rank_id,
+ row_number() over (order by part, qty) as row_id,
+ *
+from test_6722
+order by part, qty;
+
+select
+ (dense_rank() over (order by part, qty)) as rank_id,
+ *,
+ (row_number() over (order by part, qty)) as row_id
+from test_6722
+order by part, qty;
+
+select
+ *,
+ (dense_rank() over (order by part, qty)) as rank_id,
+ (row_number() over (order by part, qty)) as row_id
+from test_6722
+order by part, qty;
+
+drop table test_6722;
+
diff --git
a/sql/test/BugTracker-2019/Tests/select_window_function_and_asterisk.Bug-6722.stable.err
b/sql/test/BugTracker-2019/Tests/select_window_function_and_asterisk.Bug-6722.stable.err
new file mode 100644
--- /dev/null
+++
b/sql/test/BugTracker-2019/Tests/select_window_function_and_asterisk.Bug-6722.stable.err
@@ -0,0 +1,35 @@
+stderr of test 'select_window_function_and_asterisk.Bug-6722` in directory
'sql/test/BugTracker-2019` itself:
+
+
+# 13:01:42 >
+# 13:01:42 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set"
"mapi_open=true" "--set" "mapi_port=31714" "--set"
"mapi_usock=/var/tmp/mtest-13851/.s.monetdb.31714" "--set" "monet_prompt="
"--forcemito"
"--dbpath=/export/scratch1/dinther/INSTALL/var/MonetDB/mTests_sql_test_BugTracker-2019"
"--set" "embedded_r=yes" "--set" "embedded_py=2" "--set" "embedded_c=true"
+# 13:01:42 >
+
+# builtin opt gdk_dbpath =
/export/scratch1/dinther/INSTALL/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 = 31714
+# cmdline opt mapi_usock = /var/tmp/mtest-13851/.s.monetdb.31714
+# cmdline opt monet_prompt =
+# cmdline opt gdk_dbpath =
/export/scratch1/dinther/INSTALL/var/MonetDB/mTests_sql_test_BugTracker-2019
+# cmdline opt embedded_r = yes
+# cmdline opt embedded_py = 2
+# cmdline opt embedded_c = true
+#main thread:!ERROR:MALException:client.quit:Server stopped
+
+# 13:01:42 >
+# 13:01:42 > "mclient" "-lsql" "-ftest" "-tnone" "-Eutf-8" "-i" "-e"
"--host=/var/tmp/mtest-13851" "--port=31714"
+# 13:01:42 >
+
+
+# 13:01:42 >
+# 13:01:42 > "Done."
+# 13:01:42 >
+
diff --git
a/sql/test/BugTracker-2019/Tests/select_window_function_and_asterisk.Bug-6722.stable.out
b/sql/test/BugTracker-2019/Tests/select_window_function_and_asterisk.Bug-6722.stable.out
new file mode 100644
--- /dev/null
+++
b/sql/test/BugTracker-2019/Tests/select_window_function_and_asterisk.Bug-6722.stable.out
@@ -0,0 +1,97 @@
+stdout of test 'select_window_function_and_asterisk.Bug-6722` in directory
'sql/test/BugTracker-2019` itself:
+
+
+# 13:01:42 >
+# 13:01:42 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set"
"mapi_open=true" "--set" "mapi_port=31714" "--set"
"mapi_usock=/var/tmp/mtest-13851/.s.monetdb.31714" "--set" "monet_prompt="
"--forcemito"
"--dbpath=/export/scratch1/dinther/INSTALL/var/MonetDB/mTests_sql_test_BugTracker-2019"
"--set" "embedded_r=yes" "--set" "embedded_py=2" "--set" "embedded_c=true"
+# 13:01:42 >
+
+# MonetDB 5 server v11.33.4 (hg id: 0e77729ef717+)
+# This is an unreleased version
+# Serving database 'mTests_sql_test_BugTracker-2019', using 4 threads
+# Compiled for x86_64-unknown-linux-gnu/64bit with 128bit integers
+# Found 31.305 GiB available main-memory.
+# Copyright (c) 1993 - July 2008 CWI.
+# Copyright (c) August 2008 - 2019 MonetDB B.V., all rights reserved
+# Visit https://www.monetdb.org/ for further information
+# Listening for connection requests on mapi:monetdb://catskill.da.cwi.nl:31714/
+# Listening for UNIX domain connection requests on
mapi:monetdb:///var/tmp/mtest-13851/.s.monetdb.31714
+# MonetDB/GIS module loaded
+# MonetDB/SQL module loaded
+# MonetDB/Python2 module loaded
+# MonetDB/R module loaded
+
+Ready.
+
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list