MonetDB: default - Reapprove.
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.
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:
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...
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
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.
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.
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...
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.
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.
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.
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.
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.
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;", ""