MonetDB: default - Use correct MAL module.

2017-04-03 Thread Sjoerd Mullender
Changeset: 4a6a877396f4 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=4a6a877396f4
Modified Files:
geom/monetdb5/geom.mal
Branch: default
Log Message:

Use correct MAL module.


diffs (17 lines):

diff --git a/geom/monetdb5/geom.mal b/geom/monetdb5/geom.mal
--- a/geom/monetdb5/geom.mal
+++ b/geom/monetdb5/geom.mal
@@ -666,11 +666,11 @@ comment "Returns the number of geometrie
 command NumRings(w:bat[:wkb], exterior:int) :bat[:int] address wkbNumRings_bat
 comment "Returns the number of interior rings+exterior on the first polygon of 
the geometry";
 function NumInteriorRings(w:bat[:wkb]) :bat[:int];
-   x := geom.NumRings(w, 0);
+   x := batgeom.NumRings(w, 0);
return x;
 end NumInteriorRings;
 function NRings(w:bat[:wkb]) :bat[:int];
-   x := geom.NumRings(w, 1);
+   x := batgeom.NumRings(w, 1);
return x;
 end NRings;
 
___
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list


MonetDB: Dec2016 - fixed bug 6254, ie make sure we push left out...

2017-04-03 Thread Niels Nes
Changeset: b6bb4fb088f2 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b6bb4fb088f2
Modified Files:
sql/server/rel_optimizer.c

sql/test/BugTracker-2017/Tests/crash_correlated_subqueries_in_select.Bug-6254.stable.out
Branch: Dec2016
Log Message:

fixed bug 6254, ie make sure we push left outer down if allowed.

fixed problem in apply renames, only rename on the side which
may have a conflict (ie uses the apply relation/expressions).


diffs (110 lines):

diff --git a/sql/server/rel_optimizer.c b/sql/server/rel_optimizer.c
--- a/sql/server/rel_optimizer.c
+++ b/sql/server/rel_optimizer.c
@@ -8149,7 +8149,8 @@ rel_find_conflicts(mvc *sql, sql_rel *re
case op_project:
if (rel->l)
exps_find_conflicts(sql, rel->exps, exps, conflicts);
-   rel->l = rel_find_conflicts(sql, rel->l, exps, conflicts);
+   if (rel->l && rel_uses_exps(rel->l, exps))
+   rel->l = rel_find_conflicts(sql, rel->l, exps, 
conflicts);
/* if project produces given names, then we have a conflict */
if (rel->l)
exps_mark_conflicts(sql, rel->exps, conflicts, 0); 
@@ -8173,7 +8174,7 @@ rel_find_conflicts(mvc *sql, sql_rel *re
 
case op_union: 
case op_inter: 
-   case op_except: 
+   case op_except:
exps_find_conflicts(sql, rel->exps, exps, conflicts);
rel->l = rel_find_conflicts(sql, rel->l, exps, conflicts);
if (!is_semi(rel->op))
@@ -8358,7 +8359,7 @@ rel_apply_rewrite(int *changes, mvc *sql
return l;
}
}
-   if (rel->flag == APPLY_LOJ && (r->op == op_select || is_join(r->op))) {
+   if (rel->flag == APPLY_LOJ && ((r->op == op_select && 
exps_uses_exps(r->exps, rel->exps)) || is_join(r->op))) {
sql_rel *nr, *ns;
 
nr = rel_project(sql->sa, rel_dup(r), 
diff --git 
a/sql/test/BugTracker-2017/Tests/crash_correlated_subqueries_in_select.Bug-6254.stable.out
 
b/sql/test/BugTracker-2017/Tests/crash_correlated_subqueries_in_select.Bug-6254.stable.out
--- 
a/sql/test/BugTracker-2017/Tests/crash_correlated_subqueries_in_select.Bug-6254.stable.out
+++ 
b/sql/test/BugTracker-2017/Tests/crash_correlated_subqueries_in_select.Bug-6254.stable.out
@@ -23,13 +23,68 @@ stdout of test 'crash_correlated_subquer
 Ready.
 # SQL catalog created, loading sql scripts once
 
-# 14:28:48 >  
-# 14:28:48 >  "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" 
"--host=/var/tmp/mtest-6451" "--port=33692"
-# 14:28:48 >  
+# 10:01:40 >  
+# 10:01:40 >  "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" 
"--host=/var/tmp/mtest-24581" "--port=30412"
+# 10:01:40 >  
 
+#CREATE VIEW sys.view_stats AS
+#SELECT s.name AS schema_nm, s.id AS schema_id, t.name AS table_nm, t.id AS 
table_id, t.system AS is_system_view
+#, (SELECT CAST(COUNT(*) as int) FROM sys.columns c WHERE c.table_id = t.id) 
AS "# columns"
+# FROM sys.tables t JOIN sys.schemas s ON t.schema_id = s.id
+#WHERE query IS NOT NULL
+#; --ORDER BY s.name, t.name;
+#SELECT * FROM sys.view_stats;
+% .view_stats, .view_stats,.view_stats,.view_stats,.view_stats,
.view_stats # table_name
+% schema_nm,   schema_id,  table_nm,   table_id,   is_system_view, 
"# columns" # name
+% varchar, int,varchar,int,boolean,int # type
+% 3,   4,  17, 4,  5,  2 # length
+[ "sys",   2000,   "tables",   5956,   true,   9   ]
+[ "sys",   2000,   "columns",  5966,   true,   10  ]
+[ "sys",   2000,   "users",5988,   true,   3   ]
+[ "sys",   2000,   "querylog_catalog", 6221,   true,   8   ]
+[ "sys",   2000,   "querylog_calls",   6232,   true,   9   ]
+[ "sys",   2000,   "querylog_history", 6250,   true,   16  ]
+[ "sys",   2000,   "tracelog", 6289,   true,   13  ]
+[ "sys",   2000,   "sessions", 6432,   true,   6   ]
+[ "sys",   2000,   "optimizers",   6499,   true,   3   ]
+[ "sys",   2000,   "environment",  6507,   true,   2   ]
+[ "sys",   2000,   "queue",6557,   true,   8   ]
+[ "sys",   2000,   "rejects",  6587,   true,   4   ]
+[ "sys",   2000,   "geometry_columns", 6914,   true,   7   ]
+[ "sys",   2000,   "storage",  7743,   true,   17  ]
+[ "sys",   2000,   "storagemodel", 7875,   true,   13  ]
+[ "sys",   2000,   "tablestoragemodel",7885,   true,   8   ]
+[ "sys",   2000,   "view_stats",   8548,   false,  6   ]
+#SELECT * FROM sys.view_stats WHERE is_system_view;
+% .view_stats, .view_stats,.view_stats,.view_stats,.view_stats,
.view_stats # table_name
+% schema_nm,   schema_id,  table_nm,   table_id,   is_system_view, 
"# columns" # name
+% varchar, int,varchar,int,boolean,int # type

MonetDB: Dec2016 - Missing semicolons.

2017-04-03 Thread Sjoerd Mullender
Changeset: 4a70be7270f4 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=4a70be7270f4
Modified Files:
geom/monetdb5/geom.mal
Branch: Dec2016
Log Message:

Missing semicolons.


diffs (21 lines):

diff --git a/geom/monetdb5/geom.mal b/geom/monetdb5/geom.mal
--- a/geom/monetdb5/geom.mal
+++ b/geom/monetdb5/geom.mal
@@ -158,7 +158,7 @@ comment "Returns the number of interior 
 function NumInteriorRings(w:wkb) :int;
x := NumRings(w, 0);
return x;
-end NumInteriorRings
+end NumInteriorRings;
 function NRings(w:wkb) :int;
x := NumRings(w, 1);
return x;
@@ -668,7 +668,7 @@ comment "Returns the number of interior 
 function NumInteriorRings(w:bat[:wkb]) :bat[:int];
x := NumRings(w, 0);
return x;
-end NumInteriorRings
+end NumInteriorRings;
 function NRings(w:bat[:wkb]) :bat[:int];
x := NumRings(w, 1);
return x;
___
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list


MonetDB: default - Merge with Dec2016 branch.

2017-04-03 Thread Sjoerd Mullender
Changeset: 9d9a7c26dd06 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=9d9a7c26dd06
Added Files:

sql/test/BugTracker-2017/Tests/crash_correlated_subqueries_in_select.Bug-6254.sql

sql/test/BugTracker-2017/Tests/crash_correlated_subqueries_in_select.Bug-6254.stable.err

sql/test/BugTracker-2017/Tests/crash_correlated_subqueries_in_select.Bug-6254.stable.out
Modified Files:
geom/monetdb5/geom.mal
sql/server/rel_optimizer.c
sql/test/BugTracker-2017/Tests/All
sql/test/orderidx/Tests/oidx_all_types.sql
sql/test/orderidx/Tests/oidx_all_types.stable.out
Branch: default
Log Message:

Merge with Dec2016 branch.


diffs (261 lines):

diff --git a/sql/server/rel_optimizer.c b/sql/server/rel_optimizer.c
--- a/sql/server/rel_optimizer.c
+++ b/sql/server/rel_optimizer.c
@@ -8149,7 +8149,8 @@ rel_find_conflicts(mvc *sql, sql_rel *re
case op_project:
if (rel->l)
exps_find_conflicts(sql, rel->exps, exps, conflicts);
-   rel->l = rel_find_conflicts(sql, rel->l, exps, conflicts);
+   if (rel->l && rel_uses_exps(rel->l, exps))
+   rel->l = rel_find_conflicts(sql, rel->l, exps, 
conflicts);
/* if project produces given names, then we have a conflict */
if (rel->l)
exps_mark_conflicts(sql, rel->exps, conflicts, 0); 
@@ -8173,7 +8174,7 @@ rel_find_conflicts(mvc *sql, sql_rel *re
 
case op_union: 
case op_inter: 
-   case op_except: 
+   case op_except:
exps_find_conflicts(sql, rel->exps, exps, conflicts);
rel->l = rel_find_conflicts(sql, rel->l, exps, conflicts);
if (!is_semi(rel->op))
@@ -8358,7 +8359,7 @@ rel_apply_rewrite(int *changes, mvc *sql
return l;
}
}
-   if (rel->flag == APPLY_LOJ && (r->op == op_select || is_join(r->op))) {
+   if (rel->flag == APPLY_LOJ && ((r->op == op_select && 
exps_uses_exps(r->exps, rel->exps)) || is_join(r->op))) {
sql_rel *nr, *ns;
 
nr = rel_project(sql->sa, rel_dup(r), 
diff --git a/sql/test/BugTracker-2017/Tests/All 
b/sql/test/BugTracker-2017/Tests/All
--- a/sql/test/BugTracker-2017/Tests/All
+++ b/sql/test/BugTracker-2017/Tests/All
@@ -39,3 +39,4 @@ modulo.Bug-6225
 one-plus-nil.Bug-6243
 with-alias-bug.6246
 crash_after_oidx_on_sys_statistics.Bug-6251
+crash_correlated_subqueries_in_select.Bug-6254
diff --git 
a/sql/test/BugTracker-2017/Tests/crash_correlated_subqueries_in_select.Bug-6254.sql
 
b/sql/test/BugTracker-2017/Tests/crash_correlated_subqueries_in_select.Bug-6254.sql
new file mode 100644
--- /dev/null
+++ 
b/sql/test/BugTracker-2017/Tests/crash_correlated_subqueries_in_select.Bug-6254.sql
@@ -0,0 +1,16 @@
+CREATE VIEW sys.view_stats AS
+SELECT s.name AS schema_nm, s.id AS schema_id, t.name AS table_nm, t.id AS 
table_id, t.system AS is_system_view
+, (SELECT CAST(COUNT(*) as int) FROM sys.columns c WHERE c.table_id = t.id) AS 
"# columns"
+ FROM sys.tables t JOIN sys.schemas s ON t.schema_id = s.id
+WHERE query IS NOT NULL
+; --ORDER BY s.name, t.name;
+
+SELECT * FROM sys.view_stats;
+-- prints worrying output in console
+SELECT * FROM sys.view_stats WHERE is_system_view;
+-- crash
+SELECT * FROM sys.view_stats WHERE NOT is_system_view;
+-- crash
+
+DROP VIEW sys.view_stats;
+
diff --git 
a/sql/test/BugTracker-2017/Tests/crash_correlated_subqueries_in_select.Bug-6254.stable.err
 
b/sql/test/BugTracker-2017/Tests/crash_correlated_subqueries_in_select.Bug-6254.stable.err
new file mode 100644
--- /dev/null
+++ 
b/sql/test/BugTracker-2017/Tests/crash_correlated_subqueries_in_select.Bug-6254.stable.err
@@ -0,0 +1,36 @@
+stderr of test 'crash_correlated_subqueries_in_select.Bug-6254` in directory 
'sql/test/BugTracker-2017` itself:
+
+
+# 14:28:48 >  
+# 14:28:48 >  "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" 
"mapi_open=true" "--set" "mapi_port=33692" "--set" 
"mapi_usock=/var/tmp/mtest-6451/.s.monetdb.33692" "--set" "monet_prompt=" 
"--forcemito" 
"--dbpath=/export/scratch2/dinther/INSTALL/var/MonetDB/mTests_sql_test_BugTracker-2017"
 "--set" "embedded_r=yes" "--set" "embedded_py=true"
+# 14:28:48 >  
+
+# builtin opt  gdk_dbpath = 
/export/scratch2/dinther/INSTALL/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 = 33692
+# cmdline opt  mapi_usock = /var/tmp/mtest-6451/.s.monetdb.33692
+# cmdline opt  monet_prompt = 
+# cmdline opt  gdk_dbpath = 
/export/scratch2/dinther/INSTALL/var/MonetDB/mTests_sql_t

MonetDB: default - Correctly apply aliasing for LIMIT in subquer...

2017-04-03 Thread Mark Raasveldt
Changeset: ddfb1de0af03 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=ddfb1de0af03
Modified Files:
sql/server/rel_rel.c
sql/server/rel_select.c
Branch: default
Log Message:

Correctly apply aliasing for LIMIT in subqueries.


diffs (35 lines):

diff --git a/sql/server/rel_rel.c b/sql/server/rel_rel.c
--- a/sql/server/rel_rel.c
+++ b/sql/server/rel_rel.c
@@ -274,7 +274,8 @@ rel_bind_column2( mvc *sql, sql_rel *rel
   is_sort(rel) ||
   is_semi(rel->op) ||
   is_apply(rel->op) ||
-  is_select(rel->op)) {
+  is_select(rel->op) || 
+  is_topn(rel->op)) {
if (rel->l)
return rel_bind_column2(sql, rel->l, tname, cname, f);
}
diff --git a/sql/server/rel_select.c b/sql/server/rel_select.c
--- a/sql/server/rel_select.c
+++ b/sql/server/rel_select.c
@@ -227,8 +227,16 @@ rel_table_optname(mvc *sql, sql_rel *sq,
}
}
if (!columnrefs && sq->exps) {
-   node *ne = sq->exps->h;
-
+   node *ne;
+   if (is_topn(sq->op)) {
+   // if the current node is a LIMIT statement
+   // we perform the alias on the underlying 
projection
+   assert(sq->l);
+   assert(is_project(((sql_rel*)sq->l)->op));
+   ne = ((sql_rel*)sq->l)->exps->h;
+   } else {
+   ne = sq->exps->h;
+   }
for (; ne; ne = ne->next) {
sql_exp *e = ne->data;
 
___
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list


MonetDB: default - Approve actually correct output for subquerie...

2017-04-03 Thread Mark Raasveldt
Changeset: 5112dd6f6f35 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=5112dd6f6f35
Modified Files:
sql/test/Tests/subqueries.stable.out
Branch: default
Log Message:

Approve actually correct output for subqueries test now that aliasing works 
properly.


diffs (30 lines):

diff --git a/sql/test/Tests/subqueries.stable.out 
b/sql/test/Tests/subqueries.stable.out
--- a/sql/test/Tests/subqueries.stable.out
+++ b/sql/test/Tests/subqueries.stable.out
@@ -64,7 +64,7 @@ Ready.
 #INSERT INTO _subqueries VALUES (0), (1), (2), (3), (4), (5), (6), (7), (8), 
(9);
 [ 10   ]
 #SELECT * FROM (SELECT * FROM _subqueries LIMIT 5) AS result;
-% sys._subqueries # table_name
+% sys.result # table_name
 % i # name
 % int # type
 % 1 # length
@@ -74,7 +74,7 @@ Ready.
 [ 3]
 [ 4]
 #SELECT * FROM (SELECT * FROM _subqueries ORDER BY i DESC LIMIT 5) AS result;
-% sys._subqueries # table_name
+% sys.result # table_name
 % i # name
 % int # type
 % 1 # length
@@ -84,7 +84,7 @@ Ready.
 [ 6]
 [ 5]
 #SELECT * FROM (SELECT * FROM _subqueries ORDER BY i DESC LIMIT 5 OFFSET 2) AS 
result;
-% sys._subqueries # table_name
+% sys.result # table_name
 % i # name
 % int # type
 % 1 # length
___
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list


MonetDB: iot - Merged with default

2017-04-03 Thread Pedro Ferreira
Changeset: 5933599e4ad6 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=5933599e4ad6
Added Files:
sql/backends/monet5/Tests/pyloader06.stable.out.Windows
sql/backends/monet5/Tests/pyloader07.stable.out.Windows
sql/jdbc/tests/Tests/BugResultSetMetaData_Bug_6183.SQL.bat
sql/jdbc/tests/Tests/BugResultSetMetaData_Bug_6183.SQL.sh
sql/jdbc/tests/Tests/BugResultSetMetaData_Bug_6183.stable.err
sql/jdbc/tests/Tests/BugResultSetMetaData_Bug_6183.stable.out
sql/test/BugTracker-2016/Tests/groupby_on_column_expression.Bug-3832.sql

sql/test/BugTracker-2016/Tests/groupby_on_column_expression.Bug-3832.stable.err

sql/test/BugTracker-2016/Tests/groupby_on_column_expression.Bug-3832.stable.out
sql/test/BugTracker-2017/Tests/cast_boolean_to_string.Bug-6110.sql

sql/test/BugTracker-2017/Tests/cast_boolean_to_string.Bug-6110.stable.err

sql/test/BugTracker-2017/Tests/cast_boolean_to_string.Bug-6110.stable.out

sql/test/BugTracker-2017/Tests/crash_after_oidx_on_sys_statistics.Bug-6251.sql

sql/test/BugTracker-2017/Tests/crash_after_oidx_on_sys_statistics.Bug-6251.stable.err

sql/test/BugTracker-2017/Tests/crash_after_oidx_on_sys_statistics.Bug-6251.stable.out

sql/test/BugTracker-2017/Tests/crash_correlated_subqueries_in_select.Bug-6254.sql

sql/test/BugTracker-2017/Tests/crash_correlated_subqueries_in_select.Bug-6254.stable.err

sql/test/BugTracker-2017/Tests/crash_correlated_subqueries_in_select.Bug-6254.stable.out
sql/test/BugTracker-2017/Tests/create_view_order_by.Bug-3465.sql
sql/test/BugTracker-2017/Tests/create_view_order_by.Bug-3465.stable.err
sql/test/BugTracker-2017/Tests/create_view_order_by.Bug-3465.stable.out
sql/test/BugTracker-2017/Tests/insert_self_ref_FK.Bug-6131.sql
sql/test/BugTracker-2017/Tests/insert_self_ref_FK.Bug-6131.stable.err
sql/test/BugTracker-2017/Tests/insert_self_ref_FK.Bug-6131.stable.out
sql/test/BugTracker-2017/Tests/modulo.Bug-6225.sql
sql/test/BugTracker-2017/Tests/modulo.Bug-6225.stable.err
sql/test/BugTracker-2017/Tests/modulo.Bug-6225.stable.out
sql/test/BugTracker-2017/Tests/one-plus-nil.Bug-6243.sql
sql/test/BugTracker-2017/Tests/one-plus-nil.Bug-6243.stable.err
sql/test/BugTracker-2017/Tests/one-plus-nil.Bug-6243.stable.out
sql/test/BugTracker-2017/Tests/unknown_col_in_order_by.Bug-3535.sql

sql/test/BugTracker-2017/Tests/unknown_col_in_order_by.Bug-3535.stable.err

sql/test/BugTracker-2017/Tests/unknown_col_in_order_by.Bug-3535.stable.out
sql/test/BugTracker-2017/Tests/with-alias-bug.6246.sql
sql/test/BugTracker-2017/Tests/with-alias-bug.6246.stable.err
sql/test/BugTracker-2017/Tests/with-alias-bug.6246.stable.out
sql/test/orderidx/Tests/oidx_all_types.sql
sql/test/orderidx/Tests/oidx_all_types.stable.err
sql/test/orderidx/Tests/oidx_all_types.stable.out
sql/test/orderidx/Tests/oidx_hge_type.sql
sql/test/orderidx/Tests/oidx_hge_type.stable.err
sql/test/orderidx/Tests/oidx_hge_type.stable.out.int128
sql/test/testdb-upgrade-chain-hge/Tests/dump.SQL.py.src
sql/test/testdb-upgrade-chain-hge/Tests/upgrade.SQL.py.src
sql/test/testdb-upgrade-chain/Tests/dump.SQL.py.src
sql/test/testdb-upgrade-chain/Tests/upgrade.SQL.py.src
sql/test/testdb-upgrade-hge/Tests/dump.SQL.py.src
sql/test/testdb-upgrade-hge/Tests/upgrade.SQL.py.src
sql/test/testdb-upgrade/Tests/dump.SQL.py.src
Removed Files:
monetdb5/optimizer/opt_statistics.c
monetdb5/optimizer/opt_statistics.h
sql/test/testdb-upgrade-chain-hge/Tests/dump.SQL.py
sql/test/testdb-upgrade-chain-hge/Tests/upgrade.SQL.py
sql/test/testdb-upgrade-chain/Tests/dump.SQL.py
sql/test/testdb-upgrade-chain/Tests/upgrade.SQL.py
sql/test/testdb-upgrade-hge/Tests/dump.SQL.py
sql/test/testdb-upgrade-hge/Tests/upgrade.SQL.py
sql/test/testdb-upgrade/Tests/dump.SQL.py
Modified Files:
.hgtags
MonetDB.spec
NT/installer32/MonetDB-ODBC-Installer.vdproj
NT/installer32/MonetDB5-Geom-Module.vdproj
NT/installer32/MonetDB5-SQL-Installer.vdproj
NT/installer64/MonetDB-ODBC-Installer.vdproj
NT/installer64/MonetDB5-Geom-Module.vdproj
NT/installer64/MonetDB5-SQL-Installer.vdproj
NT/monetdb_config.h.in
NT/rules.msc
clients/R/Tests/All
clients/R/Tests/copy_into_fwf.stable.out
clients/R/Tests/dbapply.stable.out
clients/R/Tests/dbi.R
clients/R/Tests/dbi.stable.out
clients/R/Tests/deps-test.R
clients/R/Tests/dplyr-flights.R
clients/R/Tests/dplyr-flights.stable.out
clients/R/Tests/dplyr.R
clients/R/Tests/dplyr.stable.err
clients/R/Tests/dplyr.sta

MonetDB: data-vaults - Merge with default

2017-04-03 Thread Panagiotis Koutsourakis
Changeset: 2b675ba267c7 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=2b675ba267c7
Added Files:

sql/test/BugTracker-2017/Tests/crash_after_oidx_on_sys_statistics.Bug-6251.sql

sql/test/BugTracker-2017/Tests/crash_after_oidx_on_sys_statistics.Bug-6251.stable.err

sql/test/BugTracker-2017/Tests/crash_after_oidx_on_sys_statistics.Bug-6251.stable.out
sql/test/BugTracker-2017/Tests/one-plus-nil.Bug-6243.sql
sql/test/BugTracker-2017/Tests/one-plus-nil.Bug-6243.stable.err
sql/test/BugTracker-2017/Tests/one-plus-nil.Bug-6243.stable.out
sql/test/BugTracker-2017/Tests/with-alias-bug.6246.sql
sql/test/BugTracker-2017/Tests/with-alias-bug.6246.stable.err
sql/test/BugTracker-2017/Tests/with-alias-bug.6246.stable.out
sql/test/orderidx/Tests/oidx_all_types.sql
sql/test/orderidx/Tests/oidx_all_types.stable.err
sql/test/orderidx/Tests/oidx_all_types.stable.out
sql/test/orderidx/Tests/oidx_hge_type.sql
sql/test/orderidx/Tests/oidx_hge_type.stable.err
sql/test/orderidx/Tests/oidx_hge_type.stable.out.int128
Modified Files:
.hgtags
MonetDB.spec
clients/Tests/MAL-signatures.stable.out
clients/Tests/MAL-signatures.stable.out.int128
clients/Tests/exports.stable.out
debian/changelog
gdk/gdk_calc.c
gdk/gdk_heap.c
gdk/gdk_logger.c
gdk/gdk_utils.c
geom/monetdb5/geom.c
geom/monetdb5/geom.mal
geom/monetdb5/geom_upgrade.c
libversions
monetdb5/extras/rapi/converters.c.h
monetdb5/extras/rapi/rapi.c
monetdb5/mal/mal_authorize.c
monetdb5/mal/mal_builder.c
monetdb5/mal/mal_client.c
monetdb5/mal/mal_dataflow.c
monetdb5/mal/mal_errors.h
monetdb5/mal/mal_exception.c
monetdb5/mal/mal_import.c
monetdb5/mal/mal_instruction.c
monetdb5/mal/mal_session.c
monetdb5/modules/atoms/blob.c
monetdb5/modules/atoms/blob.mal
monetdb5/modules/atoms/mtime.c
monetdb5/modules/atoms/url.c
monetdb5/modules/atoms/uuid.c
monetdb5/modules/kernel/bat5.c
monetdb5/modules/kernel/batstr.c
monetdb5/modules/kernel/status.c
monetdb5/modules/mal/batExtensions.c
monetdb5/modules/mal/bbp.c
monetdb5/modules/mal/clients.c
monetdb5/modules/mal/inspect.c
monetdb5/modules/mal/mal_mapi.c
monetdb5/modules/mal/mat.c
monetdb5/modules/mal/mdb.c
monetdb5/modules/mal/oltp.c
monetdb5/modules/mal/pcre.c
monetdb5/modules/mal/querylog.c
monetdb5/modules/mal/remote.c
monetdb5/modules/mal/sysmon.c
monetdb5/modules/mal/tablet.c
monetdb5/modules/mal/tokenizer.c
monetdb5/modules/mal/txtsim.c
monetdb5/optimizer/opt_evaluate.c
monetdb5/optimizer/opt_macro.c
monetdb5/optimizer/opt_mergetable.c
monetdb5/optimizer/opt_mitosis.c
monetdb5/optimizer/opt_pipes.c
monetdb5/optimizer/opt_support.c
monetdb5/optimizer/opt_wrapper.c
monetdb5/scheduler/srvpool.c
sql/backends/monet5/LSST/lsst.c
sql/backends/monet5/Tests/pyloader04.stable.err
sql/backends/monet5/UDF/cudf/udf.c
sql/backends/monet5/UDF/pyapi/connection.c
sql/backends/monet5/UDF/pyapi/connection.h
sql/backends/monet5/UDF/pyapi/conversion.c
sql/backends/monet5/UDF/pyapi/conversion.h
sql/backends/monet5/UDF/pyapi/convert_loops.h
sql/backends/monet5/UDF/pyapi/emit.c
sql/backends/monet5/UDF/pyapi/emit.h
sql/backends/monet5/UDF/pyapi/formatinput.c
sql/backends/monet5/UDF/pyapi/formatinput.h
sql/backends/monet5/UDF/pyapi/pyapi.c
sql/backends/monet5/UDF/pyapi/pyapi.h
sql/backends/monet5/UDF/pyapi/pyheader.h
sql/backends/monet5/UDF/pyapi/pyloader.c
sql/backends/monet5/UDF/pyapi/pytypes.c
sql/backends/monet5/UDF/pyapi/pytypes.h
sql/backends/monet5/UDF/pyapi/type_conversion.c
sql/backends/monet5/UDF/pyapi/type_conversion.h
sql/backends/monet5/UDF/pyapi/undef.h
sql/backends/monet5/UDF/pyapi/unicode.c
sql/backends/monet5/UDF/pyapi/unicode.h
sql/backends/monet5/rel_bin.c
sql/backends/monet5/sql.c
sql/backends/monet5/sql_cat.c
sql/backends/monet5/sql_execute.c
sql/backends/monet5/sql_gencode.c
sql/backends/monet5/sql_optimizer.c
sql/backends/monet5/sql_result.c
sql/backends/monet5/sql_scenario.c
sql/backends/monet5/sql_statement.c
sql/backends/monet5/sql_upgrades.c
sql/backends/monet5/sql_user.c
sql/backends/monet5/vaults/bam/bam_globals.h
sql/backends/monet5/vaults/bam/bam_loader.c
sql/backends/monet5/vaults/fits/fits.c
sql/backends/monet5/vaults/lidar/lidar.c
sql/benchmarks/tpc

MonetDB: data-vaults - Merge with default

2017-04-03 Thread Panagiotis Koutsourakis
Changeset: ab1c7a9bdeb7 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=ab1c7a9bdeb7
Added Files:

sql/test/BugTracker-2017/Tests/crash_correlated_subqueries_in_select.Bug-6254.sql

sql/test/BugTracker-2017/Tests/crash_correlated_subqueries_in_select.Bug-6254.stable.err

sql/test/BugTracker-2017/Tests/crash_correlated_subqueries_in_select.Bug-6254.stable.out
Modified Files:
geom/monetdb5/geom.mal
sql/server/rel_optimizer.c
sql/test/BugTracker-2017/Tests/All
sql/test/orderidx/Tests/oidx_all_types.sql
sql/test/orderidx/Tests/oidx_all_types.stable.out
Branch: data-vaults
Log Message:

Merge with default


diffs (278 lines):

diff --git a/geom/monetdb5/geom.mal b/geom/monetdb5/geom.mal
--- a/geom/monetdb5/geom.mal
+++ b/geom/monetdb5/geom.mal
@@ -666,11 +666,11 @@ comment "Returns the number of geometrie
 command NumRings(w:bat[:wkb], exterior:int) :bat[:int] address wkbNumRings_bat
 comment "Returns the number of interior rings+exterior on the first polygon of 
the geometry";
 function NumInteriorRings(w:bat[:wkb]) :bat[:int];
-   x := geom.NumRings(w, 0);
+   x := batgeom.NumRings(w, 0);
return x;
 end NumInteriorRings;
 function NRings(w:bat[:wkb]) :bat[:int];
-   x := geom.NumRings(w, 1);
+   x := batgeom.NumRings(w, 1);
return x;
 end NRings;
 
diff --git a/sql/server/rel_optimizer.c b/sql/server/rel_optimizer.c
--- a/sql/server/rel_optimizer.c
+++ b/sql/server/rel_optimizer.c
@@ -8149,7 +8149,8 @@ rel_find_conflicts(mvc *sql, sql_rel *re
case op_project:
if (rel->l)
exps_find_conflicts(sql, rel->exps, exps, conflicts);
-   rel->l = rel_find_conflicts(sql, rel->l, exps, conflicts);
+   if (rel->l && rel_uses_exps(rel->l, exps))
+   rel->l = rel_find_conflicts(sql, rel->l, exps, 
conflicts);
/* if project produces given names, then we have a conflict */
if (rel->l)
exps_mark_conflicts(sql, rel->exps, conflicts, 0); 
@@ -8173,7 +8174,7 @@ rel_find_conflicts(mvc *sql, sql_rel *re
 
case op_union: 
case op_inter: 
-   case op_except: 
+   case op_except:
exps_find_conflicts(sql, rel->exps, exps, conflicts);
rel->l = rel_find_conflicts(sql, rel->l, exps, conflicts);
if (!is_semi(rel->op))
@@ -8358,7 +8359,7 @@ rel_apply_rewrite(int *changes, mvc *sql
return l;
}
}
-   if (rel->flag == APPLY_LOJ && (r->op == op_select || is_join(r->op))) {
+   if (rel->flag == APPLY_LOJ && ((r->op == op_select && 
exps_uses_exps(r->exps, rel->exps)) || is_join(r->op))) {
sql_rel *nr, *ns;
 
nr = rel_project(sql->sa, rel_dup(r), 
diff --git a/sql/test/BugTracker-2017/Tests/All 
b/sql/test/BugTracker-2017/Tests/All
--- a/sql/test/BugTracker-2017/Tests/All
+++ b/sql/test/BugTracker-2017/Tests/All
@@ -39,3 +39,4 @@ modulo.Bug-6225
 one-plus-nil.Bug-6243
 with-alias-bug.6246
 crash_after_oidx_on_sys_statistics.Bug-6251
+crash_correlated_subqueries_in_select.Bug-6254
diff --git 
a/sql/test/BugTracker-2017/Tests/crash_correlated_subqueries_in_select.Bug-6254.sql
 
b/sql/test/BugTracker-2017/Tests/crash_correlated_subqueries_in_select.Bug-6254.sql
new file mode 100644
--- /dev/null
+++ 
b/sql/test/BugTracker-2017/Tests/crash_correlated_subqueries_in_select.Bug-6254.sql
@@ -0,0 +1,16 @@
+CREATE VIEW sys.view_stats AS
+SELECT s.name AS schema_nm, s.id AS schema_id, t.name AS table_nm, t.id AS 
table_id, t.system AS is_system_view
+, (SELECT CAST(COUNT(*) as int) FROM sys.columns c WHERE c.table_id = t.id) AS 
"# columns"
+ FROM sys.tables t JOIN sys.schemas s ON t.schema_id = s.id
+WHERE query IS NOT NULL
+; --ORDER BY s.name, t.name;
+
+SELECT * FROM sys.view_stats;
+-- prints worrying output in console
+SELECT * FROM sys.view_stats WHERE is_system_view;
+-- crash
+SELECT * FROM sys.view_stats WHERE NOT is_system_view;
+-- crash
+
+DROP VIEW sys.view_stats;
+
diff --git 
a/sql/test/BugTracker-2017/Tests/crash_correlated_subqueries_in_select.Bug-6254.stable.err
 
b/sql/test/BugTracker-2017/Tests/crash_correlated_subqueries_in_select.Bug-6254.stable.err
new file mode 100644
--- /dev/null
+++ 
b/sql/test/BugTracker-2017/Tests/crash_correlated_subqueries_in_select.Bug-6254.stable.err
@@ -0,0 +1,36 @@
+stderr of test 'crash_correlated_subqueries_in_select.Bug-6254` in directory 
'sql/test/BugTracker-2017` itself:
+
+
+# 14:28:48 >  
+# 14:28:48 >  "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" 
"mapi_open=true" "--set" "mapi_port=33692" "--set" 
"mapi_usock=/var/tmp/mtest-6451/.s.monetdb.33692" "--set" "monet_prompt=" 
"--forcemito" 
"--dbpath=/export/scratch2/dinther/INSTALL/var/MonetDB/mTests_sql_test_BugTracker-2017"
 "--set" "embedded_r=yes" "--set" "embedded_py=true"
+# 14:28:48 >  
+
+# builtin opt  gdk_db

MonetDB: default - add some protection against missing statements

2017-04-03 Thread Niels Nes
Changeset: aa675cc447d9 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=aa675cc447d9
Modified Files:
monetdb5/optimizer/opt_pushselect.c
Branch: default
Log Message:

add some protection against missing statements


diffs (12 lines):

diff --git a/monetdb5/optimizer/opt_pushselect.c 
b/monetdb5/optimizer/opt_pushselect.c
--- a/monetdb5/optimizer/opt_pushselect.c
+++ b/monetdb5/optimizer/opt_pushselect.c
@@ -481,7 +481,7 @@ OPTpushselectImplementation(Client cntxt
if (isSlice(p) && p->retc == 1) {
int var = getArg(p, 1);
InstrPtr q = old[vars[var]];
-   if (getModuleId(q) == sqlRef && getFunctionId(q) == 
projectdeltaRef) {
+   if (q && getModuleId(q) == sqlRef && getFunctionId(q) 
== projectdeltaRef) {
InstrPtr r = copyInstruction(p);
InstrPtr s = copyInstruction(q);
 
___
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list


MonetDB: default - More defensive code.

2017-04-03 Thread Niels Nes
Changeset: 813ff78d8a15 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=813ff78d8a15
Modified Files:
monetdb5/optimizer/opt_pushselect.c
Branch: default
Log Message:

More defensive code.


diffs (17 lines):

diff --git a/monetdb5/optimizer/opt_pushselect.c 
b/monetdb5/optimizer/opt_pushselect.c
--- a/monetdb5/optimizer/opt_pushselect.c
+++ b/monetdb5/optimizer/opt_pushselect.c
@@ -545,11 +545,11 @@ OPTpushselectImplementation(Client cntxt
int var = getArg(p, 1);
InstrPtr q = old[vars[var]];
 
-   if (q->token == ASSIGNsymbol) {
+   if (q && q->token == ASSIGNsymbol) {
var = getArg(q, 1);
q = old[vars[var]]; 
}
-   if (getModuleId(q) == sqlRef && getFunctionId(q) == 
deltaRef) {
+   if (q && getModuleId(q) == sqlRef && getFunctionId(q) 
== deltaRef) {
InstrPtr r = copyInstruction(p);
InstrPtr s = copyInstruction(p);
InstrPtr t = copyInstruction(p);
___
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list