MonetDB: default - Reapprove.

2018-08-09 Thread Sjoerd Mullender
Changeset: 701464c6121b for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=701464c6121b
Modified Files:
sql/test/emptydb/Tests/check.stable.out
sql/test/emptydb/Tests/check.stable.out.32bit
sql/test/emptydb/Tests/check.stable.out.int128
Branch: default
Log Message:

Reapprove.


diffs (36 lines):

diff --git a/sql/test/emptydb/Tests/check.stable.out 
b/sql/test/emptydb/Tests/check.stable.out
--- a/sql/test/emptydb/Tests/check.stable.out
+++ b/sql/test/emptydb/Tests/check.stable.out
@@ -1270,7 +1270,7 @@ select name, authorization, owner, syste
 select s.name, t.name, replace(replace(pcre_replace(pcre_replace(t.query, 
'--.*\n*', '', ''), '[ \t\n]+', ' ', ''), '( ', '('), ' )', ')') as query, 
tt.table_type_name as type, t.system, ca.action_name as commit_action, at.value 
as access from sys._tables t left outer join sys.schemas s on t.schema_id = 
s.id left outer join sys.table_types tt on t.type = tt.table_type_id left outer 
join (values (0, 'COMMIT'), (1, 'DELETE'), (2, 'PRESERVE'), (3, 'DROP'), (4, 
'ABORT')) as ca (action_id, action_name) on t.commit_action = ca.action_id left 
outer join (values (0, 'WRITABLE'), (1, 'READONLY'), (2, 'APPENDONLY')) as at 
(id, value) on t.access = at.id order by s.name, t.name;
 -- _columns
 select t.name, c.name, c.type, c.type_digits, c.type_scale, c."default", 
c."null", c.number, c.storage from sys._tables t, sys._columns c where t.id = 
c.table_id order by t.name, c.number;
--- partitioned tables
+-- partitioned tables (these three should be empty)
 select t.name, c.name, p.expression from sys.table_partitions p left outer 
join sys._tables t on p.table_id = t.id left outer join sys._columns c on 
p.column_id = c.id;
 select t.name, p.expression, r.minimum, r.maximum, r.with_nulls from 
sys.range_partitions r left outer join sys._tables t on t.id = r.table_id left 
outer join sys.table_partitions p on r.partition_id = p.id;
 select t.name, p.expression, v.value from sys.value_partitions v left outer 
join sys._tables t on t.id = v.table_id left outer join sys.table_partitions p 
on v.partition_id = p.id;
diff --git a/sql/test/emptydb/Tests/check.stable.out.32bit 
b/sql/test/emptydb/Tests/check.stable.out.32bit
--- a/sql/test/emptydb/Tests/check.stable.out.32bit
+++ b/sql/test/emptydb/Tests/check.stable.out.32bit
@@ -1270,7 +1270,7 @@ select name, authorization, owner, syste
 select s.name, t.name, replace(replace(pcre_replace(pcre_replace(t.query, 
'--.*\n*', '', ''), '[ \t\n]+', ' ', ''), '( ', '('), ' )', ')') as query, 
tt.table_type_name as type, t.system, ca.action_name as commit_action, at.value 
as access from sys._tables t left outer join sys.schemas s on t.schema_id = 
s.id left outer join sys.table_types tt on t.type = tt.table_type_id left outer 
join (values (0, 'COMMIT'), (1, 'DELETE'), (2, 'PRESERVE'), (3, 'DROP'), (4, 
'ABORT')) as ca (action_id, action_name) on t.commit_action = ca.action_id left 
outer join (values (0, 'WRITABLE'), (1, 'READONLY'), (2, 'APPENDONLY')) as at 
(id, value) on t.access = at.id order by s.name, t.name;
 -- _columns
 select t.name, c.name, c.type, c.type_digits, c.type_scale, c."default", 
c."null", c.number, c.storage from sys._tables t, sys._columns c where t.id = 
c.table_id order by t.name, c.number;
--- partitioned tables
+-- partitioned tables (these three should be empty)
 select t.name, c.name, p.expression from sys.table_partitions p left outer 
join sys._tables t on p.table_id = t.id left outer join sys._columns c on 
p.column_id = c.id;
 select t.name, p.expression, r.minimum, r.maximum, r.with_nulls from 
sys.range_partitions r left outer join sys._tables t on t.id = r.table_id left 
outer join sys.table_partitions p on r.partition_id = p.id;
 select t.name, p.expression, v.value from sys.value_partitions v left outer 
join sys._tables t on t.id = v.table_id left outer join sys.table_partitions p 
on v.partition_id = p.id;
diff --git a/sql/test/emptydb/Tests/check.stable.out.int128 
b/sql/test/emptydb/Tests/check.stable.out.int128
--- a/sql/test/emptydb/Tests/check.stable.out.int128
+++ b/sql/test/emptydb/Tests/check.stable.out.int128
@@ -1280,7 +1280,7 @@ select name, authorization, owner, syste
 select s.name, t.name, replace(replace(pcre_replace(pcre_replace(t.query, 
'--.*\n*', '', ''), '[ \t\n]+', ' ', ''), '( ', '('), ' )', ')') as query, 
tt.table_type_name as type, t.system, ca.action_name as commit_action, at.value 
as access from sys._tables t left outer join sys.schemas s on t.schema_id = 
s.id left outer join sys.table_types tt on t.type = tt.table_type_id left outer 
join (values (0, 'COMMIT'), (1, 'DELETE'), (2, 'PRESERVE'), (3, 'DROP'), (4, 
'ABORT')) as ca (action_id, action_name) on t.commit_action = ca.action_id left 
outer join (values (0, 'WRITABLE'), (1, 'READONLY'), (2, 'APPENDONLY')) as at 
(id, value) on t.access = at.id order by s.name, t.name;
 -- _columns
 select t.name, c.name, c.type, c.type_digits, c.type_scale, c."default", 

MonetDB: default - Check new *_partitions tables.

2018-08-09 Thread Sjoerd Mullender
Changeset: 307e773a28a6 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=307e773a28a6
Modified Files:
sql/test/emptydb/Tests/check.SQL.py
sql/test/emptydb/Tests/check.stable.out
sql/test/emptydb/Tests/check.stable.out.32bit
sql/test/emptydb/Tests/check.stable.out.int128
Branch: default
Log Message:

Check new *_partitions tables.


diffs (130 lines):

diff --git a/sql/test/emptydb/Tests/check.SQL.py 
b/sql/test/emptydb/Tests/check.SQL.py
--- a/sql/test/emptydb/Tests/check.SQL.py
+++ b/sql/test/emptydb/Tests/check.SQL.py
@@ -70,6 +70,10 @@ select name, authorization, owner, syste
 select s.name, t.name, replace(replace(pcre_replace(pcre_replace(t.query, 
'--.*\n*', '', ''), '[ \t\n]+', ' ', ''), '( ', '('), ' )', ')') as query, 
tt.table_type_name as type, t.system, ca.action_name as commit_action, at.value 
as access from sys._tables t left outer join sys.schemas s on t.schema_id = 
s.id left outer join sys.table_types tt on t.type = tt.table_type_id left outer 
join (values (0, 'COMMIT'), (1, 'DELETE'), (2, 'PRESERVE'), (3, 'DROP'), (4, 
'ABORT')) as ca (action_id, action_name) on t.commit_action = ca.action_id left 
outer join (values (0, 'WRITABLE'), (1, 'READONLY'), (2, 'APPENDONLY')) as at 
(id, value) on t.access = at.id order by s.name, t.name;
 -- _columns
 select t.name, c.name, c.type, c.type_digits, c.type_scale, c."default", 
c."null", c.number, c.storage from sys._tables t, sys._columns c where t.id = 
c.table_id order by t.name, c.number;
+-- partitioned tables (these three should be empty)
+select t.name, c.name, p.expression from sys.table_partitions p left outer 
join sys._tables t on p.table_id = t.id left outer join sys._columns c on 
p.column_id = c.id;
+select t.name, p.expression, r.minimum, r.maximum, r.with_nulls from 
sys.range_partitions r left outer join sys._tables t on t.id = r.table_id left 
outer join sys.table_partitions p on r.partition_id = p.id;
+select t.name, p.expression, v.value from sys.value_partitions v left outer 
join sys._tables t on t.id = v.table_id left outer join sys.table_partitions p 
on v.partition_id = p.id;
 -- external functions that don't reference existing MAL function (should be 
empty)
 with funcs as (select name, pcre_replace(func, '--.*\n*', '', '') as func, 
schema_id from sys.functions), x (sname, name, modfunc) as (select s.name, 
f.name, replace(pcre_replace(f.func, '.*external name (.*);.*', '$1', 'ims'), 
'"', '') from funcs f left outer join sys.schemas s on f.schema_id = s.id where 
f.func ilike '% external name %') select * from x where x.modfunc not in 
(select m.module || '.' || m."function" from sys.malfunctions() m);
 -- args
@@ -101,7 +105,6 @@ for i in range(0, MAXARGS):
 out += ", %s%d" % (a, i)
 out += ";"
 
-# substring used a bunch of time in the queries below
 out += '''
 -- auths
 select name, grantor from sys.auths;
diff --git a/sql/test/emptydb/Tests/check.stable.out 
b/sql/test/emptydb/Tests/check.stable.out
--- a/sql/test/emptydb/Tests/check.stable.out
+++ b/sql/test/emptydb/Tests/check.stable.out
@@ -1270,6 +1270,10 @@ select name, authorization, owner, syste
 select s.name, t.name, replace(replace(pcre_replace(pcre_replace(t.query, 
'--.*\n*', '', ''), '[ \t\n]+', ' ', ''), '( ', '('), ' )', ')') as query, 
tt.table_type_name as type, t.system, ca.action_name as commit_action, at.value 
as access from sys._tables t left outer join sys.schemas s on t.schema_id = 
s.id left outer join sys.table_types tt on t.type = tt.table_type_id left outer 
join (values (0, 'COMMIT'), (1, 'DELETE'), (2, 'PRESERVE'), (3, 'DROP'), (4, 
'ABORT')) as ca (action_id, action_name) on t.commit_action = ca.action_id left 
outer join (values (0, 'WRITABLE'), (1, 'READONLY'), (2, 'APPENDONLY')) as at 
(id, value) on t.access = at.id order by s.name, t.name;
 -- _columns
 select t.name, c.name, c.type, c.type_digits, c.type_scale, c."default", 
c."null", c.number, c.storage from sys._tables t, sys._columns c where t.id = 
c.table_id order by t.name, c.number;
+-- partitioned tables
+select t.name, c.name, p.expression from sys.table_partitions p left outer 
join sys._tables t on p.table_id = t.id left outer join sys._columns c on 
p.column_id = c.id;
+select t.name, p.expression, r.minimum, r.maximum, r.with_nulls from 
sys.range_partitions r left outer join sys._tables t on t.id = r.table_id left 
outer join sys.table_partitions p on r.partition_id = p.id;
+select t.name, p.expression, v.value from sys.value_partitions v left outer 
join sys._tables t on t.id = v.table_id left outer join sys.table_partitions p 
on v.partition_id = p.id;
 -- external functions that don't reference existing MAL function (should be 
empty)
 with funcs as (select name, pcre_replace(func, '--.*\n*', '', '') as func, 
schema_id from sys.functions), x (sname, name, modfunc) as (select s.name, 
f.name, replace(pcre_replace(f.func, '.*external name (.*);.*', '$1', 'ims'), 
'"', '') from funcs f left outer join 

MonetDB: Mar2018 - extended test for bug 6638:

2018-08-09 Thread Stefan Manegold
Changeset: c995f2b40b4c for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c995f2b40b4c
Modified Files:

sql/test/BugTracker-2018/Tests/multi-column-hash-wrongly-NIL.Bug-6638.sql

sql/test/BugTracker-2018/Tests/multi-column-hash-wrongly-NIL.Bug-6638.stable.err

sql/test/BugTracker-2018/Tests/multi-column-hash-wrongly-NIL.Bug-6638.stable.out
Branch: Mar2018
Log Message:

extended test for bug 6638:
multi-column constraint (unique, primary key) checking is also affected;
here, the result of mkey.bulk_rotate_xor_hash() is consumed by 
algebra.thetaselect(),
hence, also this one would need to be made to match on NILs
(in fact, the C code has this feature; IMHO not triggerable by simple
MAL command argument as with algebra.join() ...)


diffs (44 lines):

diff --git 
a/sql/test/BugTracker-2018/Tests/multi-column-hash-wrongly-NIL.Bug-6638.sql 
b/sql/test/BugTracker-2018/Tests/multi-column-hash-wrongly-NIL.Bug-6638.sql
--- a/sql/test/BugTracker-2018/Tests/multi-column-hash-wrongly-NIL.Bug-6638.sql
+++ b/sql/test/BugTracker-2018/Tests/multi-column-hash-wrongly-NIL.Bug-6638.sql
@@ -69,5 +69,9 @@ select * from s9;
 select * from r9 natural join s9 order by x,y;
 select * from s9 natural join r9 order by x,y;
 
+alter table r2 add constraint ab_unique unique (a,b);
+insert into r2 (a,b) values (219902322,0);
+select * from r2;
+
 rollback;
 
diff --git 
a/sql/test/BugTracker-2018/Tests/multi-column-hash-wrongly-NIL.Bug-6638.stable.err
 
b/sql/test/BugTracker-2018/Tests/multi-column-hash-wrongly-NIL.Bug-6638.stable.err
--- 
a/sql/test/BugTracker-2018/Tests/multi-column-hash-wrongly-NIL.Bug-6638.stable.err
+++ 
b/sql/test/BugTracker-2018/Tests/multi-column-hash-wrongly-NIL.Bug-6638.stable.err
@@ -28,6 +28,14 @@ stderr of test 'multi-column-hash-wrongl
 # 16:21:04 >  "mclient" "-lsql" "-ftest" "-tnone" "-Eutf-8" "-i" "-e" 
"--host=/var/tmp/mtest-9105" "--port=34059"
 # 16:21:04 >  
 
+MAPI  = (monetdb) /var/tmp/mtest-16700/.s.monetdb.33530
+QUERY = insert into r2 (a,b) values (219902322,0);
+ERROR = !INSERT INTO: UNIQUE constraint 'r2.ab_unique' violated
+CODE  = M0M29
+MAPI  = (monetdb) /var/tmp/mtest-16700/.s.monetdb.33530
+QUERY = select * from r2;
+ERROR = !Current transaction is aborted (please ROLLBACK)
+CODE  = 25005
 
 # 16:21:04 >  
 # 16:21:04 >  "Done."
diff --git 
a/sql/test/BugTracker-2018/Tests/multi-column-hash-wrongly-NIL.Bug-6638.stable.out
 
b/sql/test/BugTracker-2018/Tests/multi-column-hash-wrongly-NIL.Bug-6638.stable.out
--- 
a/sql/test/BugTracker-2018/Tests/multi-column-hash-wrongly-NIL.Bug-6638.stable.out
+++ 
b/sql/test/BugTracker-2018/Tests/multi-column-hash-wrongly-NIL.Bug-6638.stable.out
@@ -730,6 +730,9 @@ Ready.
 [ 0,   0,  0,  0,  0,  0,  72057594037927936,  0,  
0,  -19,19  ]
 [ 0,   0,  0,  0,  0,  0,  0,  72057594037927936,  
0,  -20,20  ]
 [ 0,   0,  0,  0,  0,  0,  0,  0,  
72057594037927936,  -21,21  ]
+#alter table r2 add contraint ab_unique unique (a,b);
+#insert into r2 (a,b) values (219902322,0);
+#select * from r2;
 #rollback;
 
 # 16:21:04 >  
___
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list


MonetDB: Aug2018 - Avoid confusing JSON syntax errors with SQL s...

2018-08-09 Thread Ying Zhang
Changeset: 28f2f4d0e6f7 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=28f2f4d0e6f7
Modified Files:
monetdb5/modules/atoms/json.c
sql/test/json/Tests/parsing.stable.err
Branch: Aug2018
Log Message:

Avoid confusing JSON syntax errors with SQL syntax errors


diffs (162 lines):

diff --git a/monetdb5/modules/atoms/json.c b/monetdb5/modules/atoms/json.c
--- a/monetdb5/modules/atoms/json.c
+++ b/monetdb5/modules/atoms/json.c
@@ -800,7 +800,7 @@ JSONtoken(JSON *jt, const char *j, const
if (jt->error)
return idx;
if (jt->elm[nxt].kind != JSON_ELEMENT) {
-   jt->error = createException(MAL, "json.parser", 
"Syntax error : element expected");
+   jt->error = createException(MAL, "json.parser", 
"JSON syntax error: element expected");
return idx;
}
JSONappend(jt, idx, nxt);
@@ -811,13 +811,13 @@ JSONtoken(JSON *jt, const char *j, const
if (*j == '}')
break;
if (*j != '}' && *j != ',') {
-   jt->error = createException(MAL, "json.parser", 
"Syntax error : ','  or '}' expected");
+   jt->error = createException(MAL, "json.parser", 
"JSON syntax error: ','  or '}' expected");
return idx;
}
j++;
}
if (*j != '}') {
-   jt->error = createException(MAL, "json.parser", "Syntax 
error : '}' expected");
+   jt->error = createException(MAL, "json.parser", "JSON 
syntax error: '}' expected");
return idx;
} else
j++;
@@ -868,18 +868,18 @@ JSONtoken(JSON *jt, const char *j, const
if (*j == ']')
break;
if (jt->elm[nxt].kind == JSON_ELEMENT) {
-   jt->error = createException(MAL, "json.parser", 
"Syntax error : Array value expected");
+   jt->error = createException(MAL, "json.parser", 
"JSON syntax error: Array value expected");
return idx;
}
if (*j != ']' && *j != ',') {
-   jt->error = createException(MAL, "json.parser", 
"Syntax error : ','  or ']' expected");
+   jt->error = createException(MAL, "json.parser", 
"JSON syntax error: ','  or ']' expected");
return idx;
}
j++;
skipblancs(j);
}
if (*j != ']') {
-   jt->error = createException(MAL, "json.parser", "Syntax 
error : ']' expected");
+   jt->error = createException(MAL, "json.parser", "JSON 
syntax error: ']' expected");
} else
j++;
*next = j;
@@ -916,7 +916,7 @@ JSONtoken(JSON *jt, const char *j, const
jt->elm[idx].valuelen = 4;
return idx;
}
-   jt->error = createException(MAL, "json.parser", "Syntax error: 
NULL expected");
+   jt->error = createException(MAL, "json.parser", "JSON syntax 
error: NULL expected");
return idx;
case 't':
if (strncmp("true", j, 4) == 0) {
@@ -926,7 +926,7 @@ JSONtoken(JSON *jt, const char *j, const
jt->elm[idx].valuelen = 4;
return idx;
}
-   jt->error = createException(MAL, "json.parser", "Syntax error: 
True expected");
+   jt->error = createException(MAL, "json.parser", "JSON syntax 
error: True expected");
return idx;
case 'f':
if (strncmp("false", j, 5) == 0) {
@@ -936,7 +936,7 @@ JSONtoken(JSON *jt, const char *j, const
jt->elm[idx].valuelen = 5;
return idx;
}
-   jt->error = createException(MAL, "json.parser", "Syntax error: 
False expected");
+   jt->error = createException(MAL, "json.parser", "JSON syntax 
error: False expected");
return idx;
default:
if (*j == '-' || (*j >= '0' && *j <= '9')) {
@@ -948,7 +948,7 @@ JSONtoken(JSON *jt, const char *j, const
jt->elm[idx].valuelen = *next - jt->elm[idx].value;
return idx;
}
-   jt->error = createException(MAL, "json.parser", "Syntax error: 
value expected");
+   jt->error = createException(MAL, "json.parser", "JSON syntax 

MonetDB: Mar2018 - added test for bug 6638

2018-08-09 Thread Stefan Manegold
Changeset: 7eb1f93159c8 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=7eb1f93159c8
Added Files:

sql/test/BugTracker-2018/Tests/multi-column-hash-wrongly-NIL.Bug-6638.sql

sql/test/BugTracker-2018/Tests/multi-column-hash-wrongly-NIL.Bug-6638.stable.err

sql/test/BugTracker-2018/Tests/multi-column-hash-wrongly-NIL.Bug-6638.stable.out
Modified Files:
sql/test/BugTracker-2018/Tests/All
Branch: Mar2018
Log Message:

added test for bug 6638
"(sequences of) mkey.bulk_rotate_xor_hash() can generate NIL from non-NIL 
making multi-col joins return wrong results"


diffs (truncated from 869 to 300 lines):

diff --git a/sql/test/BugTracker-2018/Tests/All 
b/sql/test/BugTracker-2018/Tests/All
--- a/sql/test/BugTracker-2018/Tests/All
+++ b/sql/test/BugTracker-2018/Tests/All
@@ -74,3 +74,4 @@ singleton-stddev.Bug-6627
 create_table_if_not_exists_returns_42000.Bug-6629
 sqlitelogictest-cast-null-add.Bug-6630
 ilike-foregin-characters.Bug-6633
+multi-column-hash-wrongly-NIL.Bug-6638
diff --git 
a/sql/test/BugTracker-2018/Tests/multi-column-hash-wrongly-NIL.Bug-6638.sql 
b/sql/test/BugTracker-2018/Tests/multi-column-hash-wrongly-NIL.Bug-6638.sql
new file mode 100644
--- /dev/null
+++ b/sql/test/BugTracker-2018/Tests/multi-column-hash-wrongly-NIL.Bug-6638.sql
@@ -0,0 +1,73 @@
+
+-- sample value constellationa where multi-column joins drop results
+-- (false-negatives) because (sequences of) mkey.bulk_rotate_xor_hash()
+-- produce NIL (which then does not match/join)
+
+start transaction;
+
+create table r2 (a bigint, b bigint, x bigint generated always as identity 
primary key);
+insert into r2 (a,b) values 
(11,21),(12,22),(13,23),(219902322,0),(0,219902322),(6597069766656,1),(1,6597069766656),(4398046511104,-9223372036854775807),(-9223372036854775807,4398046511104),(1,-9223372036850581504),(-9223372036850581504,1),(-1,9223372036854775807),(9223372036854775807,-1);
+create table s2 as (select a, b, -x as y from r2 order by x desc) with data;
+select * from r2;
+select * from s2;
+select * from r2 natural join s2 order by x,y;
+select * from s2 natural join r2 order by x,y;
+
+create table r3 (a bigint, b bigint, c bigint, x bigint generated always as 
identity primary key);
+insert into r3 (a,b,c) values 
(11,21,31),(12,22,32),(13,23,33),(2147483648,0,0),(0,2147483648,0),(0,0,2147483648),(140737488355328,0,0),(0,140737488355328,0),(0,0,140737488355328);
+create table s3 as (select a, b, c, -x as y from r3 order by x desc) with data;
+select * from r3;
+select * from s3;
+select * from r3 natural join s3 order by x,y;
+select * from s3 natural join r3 order by x,y;
+
+create table r4 (a bigint, b bigint, c bigint, d bigint, x bigint generated 
always as identity primary key);
+insert into r4 (a,b,c,d) values 
(11,21,31,41),(12,22,32,42),(13,23,33,43),(16777216,0,0,0),(0,16777216,0,0),(0,0,16777216,0),(0,0,0,16777216),(1125899906842624,0,0,0),(0,1125899906842624,0,0),(0,0,1125899906842624,0),(0,0,0,1125899906842624);
+create table s4 as (select a, b, c, d, -x as y from r4 order by x desc) with 
data;
+select * from r4;
+select * from s4;
+select * from r4 natural join s4 order by x,y;
+select * from s4 natural join r4 order by x,y;
+
+create table r5 (a bigint, b bigint, c bigint, d bigint, e bigint, x bigint 
generated always as identity primary key);
+insert into r5 (a,b,c,d,e) values 
(11,21,31,41,51),(12,22,32,42,52),(13,23,33,43,53),(524288,0,0,0,0),(0,524288,0,0,0),(0,0,524288,0,0),(0,0,0,524288,0),(0,0,0,0,524288),(4503599627370496,0,0,0,0),(0,4503599627370496,0,0,0),(0,0,4503599627370496,0,0),(0,0,0,4503599627370496,0),(0,0,0,0,4503599627370496);
+create table s5 as (select a, b, c, d, e, -x as y from r5 order by x desc) 
with data;
+select * from r5;
+select * from s5;
+select * from r5 natural join s5 order by x,y;
+select * from s5 natural join r5 order by x,y;
+
+create table r6 (a bigint, b bigint, c bigint, d bigint, e bigint, f bigint, x 
bigint generated always as identity primary key);
+insert into r6 (a,b,c,d,e,f) values 
(11,21,31,41,51,61),(12,22,32,42,52,62),(13,23,33,43,53,63),(8192,0,0,0,0,0),(0,8192,0,0,0,0),(0,0,8192,0,0,0),(0,0,0,8192,0,0),(0,0,0,0,8192,0),(0,0,0,0,0,8192),(9007199254740992,0,0,0,0,0),(0,9007199254740992,0,0,0,0),(0,0,9007199254740992,0,0,0),(0,0,0,9007199254740992,0,0),(0,0,0,0,9007199254740992,0),(0,0,0,0,0,9007199254740992);
+create table s6 as (select a, b, c, d, e, f, -x as y from r6 order by x desc) 
with data;
+select * from r6;
+select * from s6;
+select * from r6 natural join s6 order by x,y;
+select * from s6 natural join r6 order by x,y;
+
+create table r7 (a bigint, b bigint, c bigint, d bigint, e bigint, f bigint, g 
bigint, x bigint generated always as identity primary key);
+insert into r7 (a,b,c,d,e,f,g) values 

MonetDB: rename-sql - New test.

2018-08-09 Thread Pedro Ferreira
Changeset: cf53b2ff6d18 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=cf53b2ff6d18
Added Files:
sql/test/rename/Tests/rename04.sql
sql/test/rename/Tests/rename04.stable.err
Modified Files:
sql/test/rename/Tests/All
Branch: rename-sql
Log Message:

New test.


diffs (88 lines):

diff --git a/sql/test/rename/Tests/All b/sql/test/rename/Tests/All
--- a/sql/test/rename/Tests/All
+++ b/sql/test/rename/Tests/All
@@ -1,3 +1,4 @@
 rename01
 rename02
 rename03
+rename04
diff --git a/sql/test/rename/Tests/rename04.sql 
b/sql/test/rename/Tests/rename04.sql
new file mode 100644
--- /dev/null
+++ b/sql/test/rename/Tests/rename04.sql
@@ -0,0 +1,35 @@
+create table "trychangeme" (something int);
+insert into "trychangeme" values (1);
+
+start transaction;
+
+insert into "trychangeme" values (2);
+select "something" from "trychangeme";
+alter table "trychangeme" rename to "anothername";
+select "something" from "anothername";
+select "name" from sys.tables where "name" in ('trychangeme', 'anothername');
+insert into "anothername" values (3);
+select "something" from "anothername";
+
+savepoint sp1;
+
+insert into "anothername" values (4);
+select "something" from "anothername";
+alter table "anothername" alter column "something" rename to "somethingelse";
+select "somethingelse" from "anothername";
+select "name" from sys.columns where "table_id" in (select "id" from 
sys.tables where "name" = 'anothername');
+
+rollback to savepoint sp1;
+
+insert into "anothername" values (5);
+select "something" from "anothername";
+select "name" from sys.columns where "table_id" in (select "id" from 
sys.tables where "name" = 'anothername');
+
+rollback;
+
+select "name" from sys.tables where "name" in ('trychangeme', 'anothername');
+insert into "trychangeme" values (6);
+select "something" from "trychangeme";
+
+drop table "trychangeme";
+select "name" from sys.tables where "name" in ('trychangeme', 'anothername');
diff --git a/sql/test/rename/Tests/rename04.stable.err 
b/sql/test/rename/Tests/rename04.stable.err
new file mode 100644
--- /dev/null
+++ b/sql/test/rename/Tests/rename04.stable.err
@@ -0,0 +1,35 @@
+stderr of test 'rename04` in directory 'sql/test/rename` itself:
+
+
+# 10:21:04 >  
+# 10:21:04 >  "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" 
"mapi_open=true" "--set" "mapi_port=39810" "--set" 
"mapi_usock=/var/tmp/mtest-30073/.s.monetdb.39810" "--set" "monet_prompt=" 
"--forcemito" 
"--dbpath=/home/ferreira/repositories/MonetDB-rename-sql/BUILD/var/MonetDB/mTests_sql_test_rename"
 "--set" "embedded_c=true"
+# 10:21:04 >  
+
+# builtin opt  gdk_dbpath = 
/home/ferreira/repositories/MonetDB-rename-sql/BUILD/var/monetdb5/dbfarm/demo
+# builtin opt  gdk_debug = 0
+# builtin opt  gdk_vmtrim = no
+# builtin opt  monet_prompt = >
+# builtin opt  monet_daemon = no
+# builtin opt  mapi_port = 5
+# 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 = 39810
+# cmdline opt  mapi_usock = /var/tmp/mtest-30073/.s.monetdb.39810
+# cmdline opt  monet_prompt = 
+# cmdline opt  gdk_dbpath = 
/home/ferreira/repositories/MonetDB-rename-sql/BUILD/var/MonetDB/mTests_sql_test_rename
+# cmdline opt  embedded_c = true
+# cmdline opt  gdk_debug = 553648138
+
+# 10:21:05 >  
+# 10:21:05 >  "mclient" "-lsql" "-ftest" "-tnone" "-Eutf-8" "-i" "-e" 
"--host=/var/tmp/mtest-30073" "--port=39810"
+# 10:21:05 >  
+
+
+# 10:21:06 >  
+# 10:21:06 >  "Done."
+# 10:21:06 >  
+
___
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list


MonetDB: default - Merge with Aug2018 branch.

2018-08-09 Thread Sjoerd Mullender
Changeset: 898b61461a57 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=898b61461a57
Modified Files:
gdk/gdk.h
gdk/gdk_bbp.c
sql/storage/bat/bat_logger.c
sql/storage/store.c
sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.int128
sql/test/emptydb-upgrade/Tests/upgrade.stable.out.int128
sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.int128
sql/test/testdb-upgrade/Tests/upgrade.stable.out.int128
Branch: default
Log Message:

Merge with Aug2018 branch.


diffs (truncated from 36871 to 300 lines):

diff --git a/gdk/gdk.h b/gdk/gdk.h
--- a/gdk/gdk.h
+++ b/gdk/gdk.h
@@ -2662,7 +2662,7 @@ gdk_export void VIEWbounds(BAT *b, BAT *
for (hb = HASHget(h, hash_##TYPE(h, v));\
 hb != HASHnil(h);  \
 hb = HASHgetlink(h,hb))\
-   if (* (const TYPE *) v == * (const TYPE *) BUNtloc(bi, hb))
+   if (* (const TYPE *) (v) == * (const TYPE *) BUNtloc(bi, hb))
 
 #define HASHloop_bte(bi, h, hb, v) HASHloop_TYPE(bi, h, hb, v, bte)
 #define HASHloop_sht(bi, h, hb, v) HASHloop_TYPE(bi, h, hb, v, sht)
diff --git a/gdk/gdk_bbp.c b/gdk/gdk_bbp.c
--- a/gdk/gdk_bbp.c
+++ b/gdk/gdk_bbp.c
@@ -2437,14 +2437,14 @@ BBPshare(bat parent)
bool lock = locked_by == 0 || locked_by != MT_getpid();
 
assert(parent > 0);
+   (void) incref(parent, true, lock);
if (lock)
MT_lock_set((parent));
-   (void) incref(parent, true, 0);
++BBP_cache(parent)->batSharecnt;
assert(BBP_refs(parent) > 0);
-   (void) incref(parent, false, 0);
if (lock)
MT_lock_unset((parent));
+   (void) incref(parent, false, lock);
 }
 
 static inline int
diff --git a/sql/storage/bat/bat_logger.c b/sql/storage/bat/bat_logger.c
--- a/sql/storage/bat/bat_logger.c
+++ b/sql/storage/bat/bat_logger.c
@@ -11,6 +11,9 @@
 #include "bat_utils.h"
 #include "sql_types.h" /* EC_POS */
 
+#define CATALOG_JUL2015 52200
+#define CATALOG_MAR2018 52201
+
 logger *bat_logger = NULL;
 logger *bat_logger_shared = NULL;
 
@@ -19,44 +22,44 @@ logger *bat_logger_shared = NULL;
 static gdk_return
 bl_preversion(int oldversion, int newversion)
 {
-#define CATALOG_JUL2015 52200
-
(void)newversion;
+#ifdef CATALOG_JUL2015
if (oldversion == CATALOG_JUL2015) {
/* upgrade to Jun2016 releases */
catalog_version = oldversion;
geomversion_set();
return GDK_SUCCEED;
}
+#endif
+
+#ifdef CATALOG_MAR2018
+   if (oldversion == CATALOG_MAR2018) {
+   /* upgrade to Aug2018 releases */
+   catalog_version = oldversion;
+   return GDK_SUCCEED;
+   }
+#endif
 
return GDK_FAIL;
 }
 
-static char *
-N( char *buf, char *pre, char *schema, char *post)
-{
-   if (pre)
-   snprintf(buf, 64, "%s_%s_%s", pre, schema, post);
-   else
-   snprintf(buf, 64, "%s_%s", schema, post);
-   return buf;
-}
+#define N(schema, table, column)   schema "_" table "_" column
 
 static gdk_return
 bl_postversion( void *lg) 
 {
(void)lg;
 
+#ifdef CATALOG_JUL2015
if (catalog_version <= CATALOG_JUL2015) {
BAT *b;
BATiter bi;
BAT *te, *tne;
BUN p, q;
int geomUpgrade = 0;
-   char *s = "sys", n[64];
geomcatalogfix_fptr func;
 
-   te = temp_descriptor(logger_find_bat(lg, N(n, NULL, s, 
"types_eclass")));
+   te = temp_descriptor(logger_find_bat(lg, N("sys", "types", 
"eclass")));
if (te == NULL)
return GDK_FAIL;
bi = bat_iterator(te);
@@ -78,7 +81,7 @@ bl_postversion( void *lg)
}
bat_destroy(te);
if (BATsetaccess(tne, BAT_READ) != GDK_SUCCEED ||
-   logger_add_bat(lg, tne, N(n, NULL, s, "types_eclass")) != 
GDK_SUCCEED) {
+   logger_add_bat(lg, tne, N("sys", "types", "eclass")) != 
GDK_SUCCEED) {
bat_destroy(tne);
return GDK_FAIL;
}
@@ -87,7 +90,7 @@ bl_postversion( void *lg)
/* in the past, the args.inout column may have been
 * incorrectly upgraded to a bit instead of a bte
 * column */
-   te = temp_descriptor(logger_find_bat(lg, N(n, NULL, s, 
"args_inout")));
+   te = temp_descriptor(logger_find_bat(lg, N("sys", "args", 
"inout")));
if (te == NULL)
return GDK_FAIL;
if (te->ttype == TYPE_bit) {
@@ -107,7 +110,7 @@ bl_postversion( void *lg)
}
}
if (BATsetaccess(tne, BAT_READ) != GDK_SUCCEED ||
-  

MonetDB: Aug2018 - Fix upgrade of sys._tables column readonly to...

2018-08-09 Thread Sjoerd Mullender
Changeset: 0ef5289e9211 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=0ef5289e9211
Modified Files:
sql/storage/bat/bat_logger.c
sql/storage/store.c
sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.int128
sql/test/emptydb-upgrade/Tests/upgrade.stable.out.int128
sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.int128
sql/test/testdb-upgrade/Tests/upgrade.stable.out.int128
Branch: Aug2018
Log Message:

Fix upgrade of sys._tables column readonly to access.
This upgrade happened a long time ago, but was not properly
implemented in the catalog.


diffs (truncated from 36839 to 300 lines):

diff --git a/sql/storage/bat/bat_logger.c b/sql/storage/bat/bat_logger.c
--- a/sql/storage/bat/bat_logger.c
+++ b/sql/storage/bat/bat_logger.c
@@ -11,6 +11,9 @@
 #include "bat_utils.h"
 #include "sql_types.h" /* EC_POS */
 
+#define CATALOG_JUL2015 52200
+#define CATALOG_MAR2018 52201
+
 logger *bat_logger = NULL;
 logger *bat_logger_shared = NULL;
 
@@ -19,44 +22,44 @@ logger *bat_logger_shared = NULL;
 static gdk_return
 bl_preversion(int oldversion, int newversion)
 {
-#define CATALOG_JUL2015 52200
-
(void)newversion;
+#ifdef CATALOG_JUL2015
if (oldversion == CATALOG_JUL2015) {
/* upgrade to Jun2016 releases */
catalog_version = oldversion;
geomversion_set();
return GDK_SUCCEED;
}
+#endif
+
+#ifdef CATALOG_MAR2018
+   if (oldversion == CATALOG_MAR2018) {
+   /* upgrade to Aug2018 releases */
+   catalog_version = oldversion;
+   return GDK_SUCCEED;
+   }
+#endif
 
return GDK_FAIL;
 }
 
-static char *
-N( char *buf, char *pre, char *schema, char *post)
-{
-   if (pre)
-   snprintf(buf, 64, "%s_%s_%s", pre, schema, post);
-   else
-   snprintf(buf, 64, "%s_%s", schema, post);
-   return buf;
-}
+#define N(schema, table, column)   schema "_" table "_" column
 
 static gdk_return
 bl_postversion( void *lg) 
 {
(void)lg;
 
+#ifdef CATALOG_JUL2015
if (catalog_version <= CATALOG_JUL2015) {
BAT *b;
BATiter bi;
BAT *te, *tne;
BUN p, q;
int geomUpgrade = 0;
-   char *s = "sys", n[64];
geomcatalogfix_fptr func;
 
-   te = temp_descriptor(logger_find_bat(lg, N(n, NULL, s, 
"types_eclass")));
+   te = temp_descriptor(logger_find_bat(lg, N("sys", "types", 
"eclass")));
if (te == NULL)
return GDK_FAIL;
bi = bat_iterator(te);
@@ -78,7 +81,7 @@ bl_postversion( void *lg)
}
bat_destroy(te);
if (BATsetaccess(tne, BAT_READ) != GDK_SUCCEED ||
-   logger_add_bat(lg, tne, N(n, NULL, s, "types_eclass")) != 
GDK_SUCCEED) {
+   logger_add_bat(lg, tne, N("sys", "types", "eclass")) != 
GDK_SUCCEED) {
bat_destroy(tne);
return GDK_FAIL;
}
@@ -87,7 +90,7 @@ bl_postversion( void *lg)
/* in the past, the args.inout column may have been
 * incorrectly upgraded to a bit instead of a bte
 * column */
-   te = temp_descriptor(logger_find_bat(lg, N(n, NULL, s, 
"args_inout")));
+   te = temp_descriptor(logger_find_bat(lg, N("sys", "args", 
"inout")));
if (te == NULL)
return GDK_FAIL;
if (te->ttype == TYPE_bit) {
@@ -107,7 +110,7 @@ bl_postversion( void *lg)
}
}
if (BATsetaccess(tne, BAT_READ) != GDK_SUCCEED ||
-   logger_add_bat(lg, tne, N(n, NULL, s, 
"args_inout")) != GDK_SUCCEED) {
+   logger_add_bat(lg, tne, N("sys", "args", "inout")) 
!= GDK_SUCCEED) {
bat_destroy(tne);
bat_destroy(te);
return GDK_FAIL;
@@ -118,7 +121,7 @@ bl_postversion( void *lg)
 
/* test whether the catalog contains information
 * regarding geometry types */
-   b = BATdescriptor((bat) logger_find_bat(lg, N(n, NULL, s, 
"types_systemname")));
+   b = BATdescriptor((bat) logger_find_bat(lg, N("sys", "types", 
"systemname")));
if (b == NULL)
return GDK_FAIL;
bi = bat_iterator(b);
@@ -138,7 +141,7 @@ bl_postversion( void *lg)
if (!geomUpgrade) {
/* test whether the catalog contains
 * information about geometry columns */
-   b = BATdescriptor((bat) logger_find_bat(lg, N(n, NULL, 
s, "_columns_type")));
+   b = 

MonetDB: Aug2018 - Don't take lock before entering incref.

2018-08-09 Thread Sjoerd Mullender
Changeset: 301996c4409d for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=301996c4409d
Modified Files:
gdk/gdk_bbp.c
Branch: Aug2018
Log Message:

Don't take lock before entering incref.
incref may have to call itself recursively in case a view is involved;
this recursive call will try to take a lock which could be the one
that we lock here (it's on a different BAT, but BATs share locks).


diffs (20 lines):

diff --git a/gdk/gdk_bbp.c b/gdk/gdk_bbp.c
--- a/gdk/gdk_bbp.c
+++ b/gdk/gdk_bbp.c
@@ -2437,14 +2437,14 @@ BBPshare(bat parent)
bool lock = locked_by == 0 || locked_by != MT_getpid();
 
assert(parent > 0);
+   (void) incref(parent, true, lock);
if (lock)
MT_lock_set((parent));
-   (void) incref(parent, true, 0);
++BBP_cache(parent)->batSharecnt;
assert(BBP_refs(parent) > 0);
-   (void) incref(parent, false, 0);
if (lock)
MT_lock_unset((parent));
+   (void) incref(parent, false, lock);
 }
 
 static inline int
___
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list


MonetDB: Aug2018 - Add parentheses.

2018-08-09 Thread Sjoerd Mullender
Changeset: 81f1349aed91 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=81f1349aed91
Modified Files:
gdk/gdk.h
Branch: Aug2018
Log Message:

Add parentheses.


diffs (12 lines):

diff --git a/gdk/gdk.h b/gdk/gdk.h
--- a/gdk/gdk.h
+++ b/gdk/gdk.h
@@ -2662,7 +2662,7 @@ gdk_export void VIEWbounds(BAT *b, BAT *
for (hb = HASHget(h, hash_##TYPE(h, v));\
 hb != HASHnil(h);  \
 hb = HASHgetlink(h,hb))\
-   if (* (const TYPE *) v == * (const TYPE *) BUNtloc(bi, hb))
+   if (* (const TYPE *) (v) == * (const TYPE *) BUNtloc(bi, hb))
 
 #define HASHloop_bte(bi, h, hb, v) HASHloop_TYPE(bi, h, hb, v, bte)
 #define HASHloop_sht(bi, h, hb, v) HASHloop_TYPE(bi, h, hb, v, sht)
___
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list


MonetDB: system-functions - Merge with default branch.

2018-08-09 Thread Sjoerd Mullender
Changeset: aac58bc29581 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=aac58bc29581
Added Files:
sql/server/rel_propagate.c
sql/server/rel_propagate.h
sql/server/sql_partition.c
sql/server/sql_partition.h
sql/test/BugTracker-2018/Tests/ilike-foreign-characters.Bug-6633.sql

sql/test/BugTracker-2018/Tests/ilike-foreign-characters.Bug-6633.stable.err

sql/test/BugTracker-2018/Tests/ilike-foreign-characters.Bug-6633.stable.out
sql/test/merge-partitions/Tests/All
sql/test/merge-partitions/Tests/mergepart00.sql
sql/test/merge-partitions/Tests/mergepart00.stable.err
sql/test/merge-partitions/Tests/mergepart00.stable.out
sql/test/merge-partitions/Tests/mergepart01.sql
sql/test/merge-partitions/Tests/mergepart01.stable.err
sql/test/merge-partitions/Tests/mergepart01.stable.out
sql/test/merge-partitions/Tests/mergepart02.sql
sql/test/merge-partitions/Tests/mergepart02.stable.err
sql/test/merge-partitions/Tests/mergepart02.stable.out
sql/test/merge-partitions/Tests/mergepart03.sql
sql/test/merge-partitions/Tests/mergepart03.stable.err
sql/test/merge-partitions/Tests/mergepart03.stable.out
sql/test/merge-partitions/Tests/mergepart04.sql
sql/test/merge-partitions/Tests/mergepart04.stable.err
sql/test/merge-partitions/Tests/mergepart04.stable.out
sql/test/merge-partitions/Tests/mergepart05.sql
sql/test/merge-partitions/Tests/mergepart05.stable.err
sql/test/merge-partitions/Tests/mergepart05.stable.out
sql/test/merge-partitions/Tests/mergepart06.sql
sql/test/merge-partitions/Tests/mergepart06.stable.err
sql/test/merge-partitions/Tests/mergepart06.stable.out
sql/test/merge-partitions/Tests/mergepart07.sql
sql/test/merge-partitions/Tests/mergepart07.stable.err
sql/test/merge-partitions/Tests/mergepart07.stable.out
sql/test/merge-partitions/Tests/mergepart08.sql
sql/test/merge-partitions/Tests/mergepart08.stable.err
sql/test/merge-partitions/Tests/mergepart08.stable.out
sql/test/merge-partitions/Tests/mergepart09.sql
sql/test/merge-partitions/Tests/mergepart09.stable.err
sql/test/merge-partitions/Tests/mergepart09.stable.out
sql/test/merge-partitions/Tests/mergepart10.sql
sql/test/merge-partitions/Tests/mergepart10.stable.err
sql/test/merge-partitions/Tests/mergepart10.stable.out
sql/test/merge-partitions/Tests/mergepart11.sql
sql/test/merge-partitions/Tests/mergepart11.stable.err
sql/test/merge-partitions/Tests/mergepart11.stable.out
sql/test/merge-partitions/Tests/mergepart12.sql
sql/test/merge-partitions/Tests/mergepart12.stable.err
sql/test/merge-partitions/Tests/mergepart12.stable.out
sql/test/merge-partitions/Tests/mergepart13.sql
sql/test/merge-partitions/Tests/mergepart13.stable.err
sql/test/merge-partitions/Tests/mergepart13.stable.out
sql/test/merge-partitions/Tests/mergepart14.sql
sql/test/merge-partitions/Tests/mergepart14.stable.err
sql/test/merge-partitions/Tests/mergepart14.stable.out
sql/test/merge-partitions/Tests/mergepart15.sql
sql/test/merge-partitions/Tests/mergepart15.stable.err
sql/test/merge-partitions/Tests/mergepart15.stable.out
sql/test/merge-partitions/Tests/mergepart16.sql
sql/test/merge-partitions/Tests/mergepart16.stable.err
sql/test/merge-partitions/Tests/mergepart16.stable.out
sql/test/merge-partitions/Tests/mergepart17.sql
sql/test/merge-partitions/Tests/mergepart17.stable.err
sql/test/merge-partitions/Tests/mergepart17.stable.out
sql/test/merge-partitions/Tests/mergepart18.sql
sql/test/merge-partitions/Tests/mergepart18.stable.err
sql/test/merge-partitions/Tests/mergepart18.stable.out
sql/test/merge-partitions/Tests/mergepart19.sql
sql/test/merge-partitions/Tests/mergepart19.stable.err
sql/test/merge-partitions/Tests/mergepart19.stable.out
sql/test/merge-partitions/Tests/mergepart20.sql
sql/test/merge-partitions/Tests/mergepart20.stable.err
sql/test/merge-partitions/Tests/mergepart20.stable.out
sql/test/merge-partitions/Tests/mergepart21.sql
sql/test/merge-partitions/Tests/mergepart21.stable.err
sql/test/merge-partitions/Tests/mergepart21.stable.out
sql/test/merge-partitions/Tests/mergepart22.sql
sql/test/merge-partitions/Tests/mergepart22.stable.err
sql/test/merge-partitions/Tests/mergepart22.stable.out
sql/test/merge-partitions/Tests/mergepart23.py
sql/test/merge-partitions/Tests/mergepart23.stable.err
sql/test/merge-partitions/Tests/mergepart23.stable.out
sql/test/merge-partitions/Tests/mergepart24.sql

MonetDB: rename-sql - Merge with default.

2018-08-09 Thread Pedro Ferreira
Changeset: 53f02cef283c for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=53f02cef283c
Modified Files:
buildtools/autogen/autogen.py
buildtools/autogen/autogen/am.py
buildtools/autogen/autogen/msc.py
clients/mapiclient/mnc.c
common/stream/stream_socket.h
common/utils/mutils.c
common/utils/mutils.h
configure.ag
gdk/gdk.h
gdk/gdk_logger.c
gdk/gdk_posix.c
gdk/gdk_posix.h
gdk/gdk_private.h
gdk/gdk_system.h
gdk/gdk_utils.c
monetdb5/modules/mal/mal_mapi.c
monetdb5/modules/mal/remote.c
monetdb5/tools/Makefile.ag
Branch: rename-sql
Log Message:

Merge with default.


diffs (truncated from 736 to 300 lines):

diff --git a/buildtools/autogen/autogen.py b/buildtools/autogen/autogen.py
--- a/buildtools/autogen/autogen.py
+++ b/buildtools/autogen/autogen.py
@@ -163,7 +163,7 @@ def filter(st):
 return st + '\n'
 return ''
 
-OutList.sort(key=lambda x: x.count(os.sep))
+OutList.sort(key=lambda x: x.count('/'))
 OutList = map(filter, OutList)
 OutListFd = open("acout.in", "w")
 OutListFd.writelines(OutList)
diff --git a/buildtools/autogen/autogen/am.py b/buildtools/autogen/autogen/am.py
--- a/buildtools/autogen/autogen/am.py
+++ b/buildtools/autogen/autogen/am.py
@@ -762,6 +762,8 @@ def am_library(fd, var, libmap, am):
 if 'MODULE' in libmap:
 ldflags.append('-module')
 ldflags.append('-avoid-version')
+if 'NOINST' not in libmap:
+ldflags.append('@NO_UNDEFINED@')
 if "LDFLAGS" in libmap:
 for x in libmap["LDFLAGS"]:
 ldflags.append(x)
diff --git a/buildtools/autogen/autogen/msc.py 
b/buildtools/autogen/autogen/msc.py
--- a/buildtools/autogen/autogen/msc.py
+++ b/buildtools/autogen/autogen/msc.py
@@ -123,25 +123,24 @@ def msc_libdir(fd, var, values, msc):
 def msc_mtsafe(fd, var, values, msc):
 fd.write("CFLAGS=$(CFLAGS) $(thread_safe_flag_spec)\n")
 
-def msc_add_srcdir(path, msc, prefix =""):
-dir = path
+def msc_add_srcdir(dir, msc, prefix = ""):
 if dir[0] == '$':
 return ""
 elif not os.path.isabs(dir):
-dir = "$(srcdir)/" + dir
+return prefix + "$(srcdir)\\" + dir.replace('/', '\\')
 else:
 return ""
-return prefix+dir.replace('/', '\\')
 
 def msc_translate_dir(path, msc):
-dir = path
-rest = ""
-if path.find('/') >= 0:
-dir, rest = path.split('/', 1)
+path = path.replace('/' , '\\')
+if path.find('\\') >= 0:
+dir, rest = path.split('\\', 1)
+else:
+dir, rest = path, ''
 if dir == "top_builddir":
 dir = "$(TOPDIR)"
 elif dir == "top_srcdir":
-dir = "$(TOPDIR)/.."
+dir = "$(TOPDIR)\\.."
 elif dir == "builddir":
 dir = "."
 elif dir == "srcdir":
@@ -155,12 +154,12 @@ def msc_translate_dir(path, msc):
 dir = "$("+dir+")"
 if rest:
 dir = dir+ "\\" + rest
-return dir.replace('/', '\\')
+return dir
 
 def msc_translate_file(path, msc):
 if os.path.isfile(os.path.join(msc['cwd'], path)):
-return "$(srcdir)\\" + path
-return path
+path = "$(srcdir)/" + path
+return path.replace('/', '\\')
 
 def msc_space_sep_list(l):
 res = ""
@@ -321,8 +320,8 @@ def msc_dep(fd, tar, deplist, msc):
 msc['_IN'].append(y)
 getsrc = ""
 src = msc_translate_dir(msc_translate_ext(msc_translate_file(deplist[0], 
msc)), msc)
-if os.path.split(src)[0]:
-getsrc = '\t$(INSTALL) "%s" "%s"\n' % (src, os.path.split(src)[1])
+if '\\' in src:
+getsrc = '\t$(INSTALL) "%s" "%s"\n' % (src, src.split('\\')[-1])
 if ext == "tab.h":
 fd.write(getsrc)
 x, de = split_filename(deplist[0])
diff --git a/clients/mapiclient/mnc.c b/clients/mapiclient/mnc.c
--- a/clients/mapiclient/mnc.c
+++ b/clients/mapiclient/mnc.c
@@ -30,7 +30,7 @@
 #ifdef HAVE_SYS_SOCKET_H
 # include 
 #endif
-#ifdef NATIVE_WIN32
+#ifdef HAVE_WINSOCK_H
 # include 
 #endif
 #ifdef HAVE_NETDB_H
diff --git a/common/stream/stream_socket.h b/common/stream/stream_socket.h
--- a/common/stream/stream_socket.h
+++ b/common/stream/stream_socket.h
@@ -15,7 +15,7 @@
 #ifdef HAVE_SYS_SOCKET_H
 #include 
 #endif
-#ifdef NATIVE_WIN32
+#ifdef HAVE_WINSOCK_H
 # include 
 #endif
 
diff --git a/common/utils/mutils.c b/common/utils/mutils.c
--- a/common/utils/mutils.c
+++ b/common/utils/mutils.c
@@ -444,7 +444,7 @@ get_bin_path(void)
 {
/* getting the path to the executable's binary, isn't all that
 * simple, unfortunately */
-#ifdef WIN32
+#ifdef NATIVE_WIN32
if (GetModuleFileName(NULL, _bin_path,
  (DWORD) sizeof(_bin_path)) != 0)
return _bin_path;
@@ -479,7 +479,7 @@ get_bin_path(void)
if (realpath(execn, _bin_path) != NULL)
return(_bin_path);
}
-#else  /* try Linux approach */
+#else  /* try Linux 

MonetDB: default - Merge with Aug2018 branch.

2018-08-09 Thread Sjoerd Mullender
Changeset: 265482faa751 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=265482faa751
Modified Files:
clients/Tests/MAL-signatures.stable.out
clients/Tests/MAL-signatures.stable.out.int128
clients/mapiclient/dump.c
clients/mapiclient/mclient.c
clients/mapiclient/msqldump.h
sql/backends/monet5/Tests/pyloader07.stable.out.32bit
sql/backends/monet5/generator/90_generator.sql
sql/backends/monet5/generator/90_generator_hge.sql
sql/backends/monet5/generator/generator.mal
sql/backends/monet5/generator/generator_hge.mal
sql/test/BugTracker-2015/Tests/sql2pcre.Bug-3800.stable.out
sql/test/Tests/systemfunctions.stable.out
sql/test/Tests/systemfunctions.stable.out.int128
sql/test/emptydb/Tests/check.stable.out
sql/test/emptydb/Tests/check.stable.out.32bit
sql/test/emptydb/Tests/check.stable.out.int128
Branch: default
Log Message:

Merge with Aug2018 branch.


diffs (truncated from 1081 to 300 lines):

diff --git a/clients/Tests/MAL-signatures.stable.out 
b/clients/Tests/MAL-signatures.stable.out
--- a/clients/Tests/MAL-signatures.stable.out
+++ b/clients/Tests/MAL-signatures.stable.out
@@ -10024,19 +10024,19 @@ Ready.
 [ "generator", "join", "pattern generator.join(gen:bat[:int], low:bat[:int], 
hgh:bat[:int], li:bit, ri:bit) (l:bat[:oid], r:bat[:oid]) ",  
"VLTgenerator_rangejoin;",  ""  ]
 [ "generator", "join", "pattern generator.join(gen:bat[:lng], low:bat[:lng], 
hgh:bat[:lng], li:bit, ri:bit) (l:bat[:oid], r:bat[:oid]) ",  
"VLTgenerator_rangejoin;",  ""  ]
 [ "generator", "join", "pattern generator.join(gen:bat[:sht], low:bat[:sht], 
hgh:bat[:sht], li:bit, ri:bit) (l:bat[:oid], r:bat[:oid]) ",  
"VLTgenerator_rangejoin;",  ""  ]
-[ "generator", "parameters",   "pattern generator.parameters(first:bte, 
last:bte):bat[:bte] ", "VLTgenerator_noop;",   ""  ]
-[ "generator", "parameters",   "pattern generator.parameters(first:bte, 
last:bte, step:bte):bat[:bte] ",   "VLTgenerator_noop;",   ""  ]
-[ "generator", "parameters",   "pattern generator.parameters(first:dbl, 
last:dbl):bat[:dbl] ", "VLTgenerator_noop;",   ""  ]
-[ "generator", "parameters",   "pattern generator.parameters(first:dbl, 
last:dbl, step:dbl):bat[:dbl] ",   "VLTgenerator_noop;",   ""  ]
-[ "generator", "parameters",   "pattern generator.parameters(first:flt, 
last:flt):bat[:flt] ", "VLTgenerator_noop;",   ""  ]
-[ "generator", "parameters",   "pattern generator.parameters(first:flt, 
last:flt, step:flt):bat[:flt] ",   "VLTgenerator_noop;",   ""  ]
-[ "generator", "parameters",   "pattern generator.parameters(first:int, 
last:int):bat[:int] ", "VLTgenerator_noop;",   ""  ]
-[ "generator", "parameters",   "pattern generator.parameters(first:int, 
last:int, step:int):bat[:int] ",   "VLTgenerator_noop;",   ""  ]
-[ "generator", "parameters",   "pattern generator.parameters(first:lng, 
last:lng):bat[:lng] ", "VLTgenerator_noop;",   ""  ]
-[ "generator", "parameters",   "pattern generator.parameters(first:lng, 
last:lng, step:lng):bat[:lng] ",   "VLTgenerator_noop;",   ""  ]
-[ "generator", "parameters",   "pattern generator.parameters(first:sht, 
last:sht):bat[:sht] ", "VLTgenerator_noop;",   ""  ]
-[ "generator", "parameters",   "pattern generator.parameters(first:sht, 
last:sht, step:sht):bat[:sht] ",   "VLTgenerator_noop;",   ""  ]
-[ "generator", "parameters",   "pattern generator.parameters(first:timestamp, 
last:timestamp, step:lng):bat[:timestamp] ", "VLTgenerator_noop;",   
"Retain the table definition, but don't materialize"]
+[ "generator", "parameters",   "pattern generator.parameters(first:bte, 
limit:bte):bat[:bte] ","VLTgenerator_noop;",   ""  ]
+[ "generator", "parameters",   "pattern generator.parameters(first:bte, 
limit:bte, step:bte):bat[:bte] ",  "VLTgenerator_noop;",   ""  ]
+[ "generator", "parameters",   "pattern generator.parameters(first:dbl, 
limit:dbl):bat[:dbl] ","VLTgenerator_noop;",   ""  ]
+[ "generator", "parameters",   "pattern generator.parameters(first:dbl, 
limit:dbl, step:dbl):bat[:dbl] ",  "VLTgenerator_noop;",   ""  ]
+[ "generator", "parameters",   "pattern generator.parameters(first:flt, 
limit:flt):bat[:flt] ","VLTgenerator_noop;",   ""  ]
+[ "generator", "parameters",   "pattern generator.parameters(first:flt, 
limit:flt, step:flt):bat[:flt] ",  "VLTgenerator_noop;",   ""  ]
+[ "generator", "parameters",   "pattern generator.parameters(first:int, 
limit:int):bat[:int] ","VLTgenerator_noop;",   ""  ]
+[ "generator", "parameters",   "pattern generator.parameters(first:int, 
limit:int, step:int):bat[:int] ",  "VLTgenerator_noop;",   ""  ]
+[ "generator", "parameters",   "pattern generator.parameters(first:lng, 
limit:lng):bat[:lng] ","VLTgenerator_noop;",   ""