MonetDB: stratified_sampling - Merge with default.

2017-07-13 Thread Mark Raasveldt
Changeset: cb17f8cc3731 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=cb17f8cc3731
Added Files:
debian/libmonetdb-client9.install
debian/libmonetdb15.install
sql/backends/monet5/Tests/pyloader08.sql
sql/backends/monet5/Tests/pyloader08.stable.err
sql/backends/monet5/Tests/pyloader08.stable.out
sql/test/BugTracker-2017/Tests/groupby_assertion.Bug-6338.sql
sql/test/BugTracker-2017/Tests/handle-values-subqueries.Bug-6336.sql

sql/test/BugTracker-2017/Tests/handle-values-subqueries.Bug-6336.stable.err

sql/test/BugTracker-2017/Tests/handle-values-subqueries.Bug-6336.stable.out
sql/test/BugTracker-2017/Tests/multiplevalues.Bug-6336.sql
sql/test/BugTracker-2017/Tests/name-interference.Bug-6348.sql
sql/test/BugTracker-2017/Tests/spurious_error.Bug-6344.sql
Removed Files:
debian/libmonetdb-client8.install
debian/libmonetdb13.install
Modified Files:
.hgignore
.hgtags
ChangeLog-Archive
ChangeLog.Jul2017
MonetDB.spec
NT/monetdb_config.h.in
NT/rules.msc
clients/ChangeLog-Archive
clients/ChangeLog.Jul2017
clients/mapiclient/eventparser.c
clients/mapiclient/eventparser.h
clients/mapiclient/mhelp.c
clients/mapiclient/stethoscope.c
clients/mapilib/mapi.rc
clients/odbc/driver/driver.rc
clients/odbc/winsetup/setup.rc
common/stream/stream.c
common/stream/stream.h
configure.ag
debian/changelog
debian/control
gdk/ChangeLog-Archive
gdk/ChangeLog.Jul2017
gdk/gdk_value.c
gdk/libbat.rc
libversions
monetdb5/ChangeLog-Archive
monetdb5/ChangeLog.Jul2017
monetdb5/mal/mal_interpreter.c
monetdb5/mal/mal_profiler.c
monetdb5/mal/mal_runtime.c
monetdb5/mal/mal_type.c
monetdb5/modules/mal/Tests/inspect00.stable.out
monetdb5/modules/mal/calc.c
monetdb5/modules/mal/remote.c
monetdb5/optimizer/opt_dataflow.c
monetdb5/optimizer/opt_mergetable.c
monetdb5/optimizer/opt_pushselect.c
monetdb5/tools/libmonetdb5.rc
sql/ChangeLog-Archive
sql/ChangeLog.Jul2017
sql/backends/monet5/Tests/pyloader01.stable.out
sql/backends/monet5/Tests/pyloader02.stable.out
sql/backends/monet5/Tests/pyloader03.stable.out
sql/backends/monet5/Tests/pyloader04.stable.out
sql/backends/monet5/Tests/pyloader05.stable.out
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/pyapi_locatepython.bat
sql/backends/monet5/UDF/pyapi/pyloader.c
sql/backends/monet5/UDF/pyapi/type_conversion.c
sql/backends/monet5/mal_backend.c
sql/backends/monet5/rel_bin.c
sql/backends/monet5/sql.c
sql/backends/monet5/sql.h
sql/backends/monet5/sql_cat.c
sql/backends/monet5/sql_gencode.c
sql/backends/monet5/sql_scenario.c
sql/backends/monet5/sql_statement.c
sql/backends/monet5/vaults/fits/fits.c
sql/backends/monet5/vaults/netcdf/netcdf.c
sql/common/sql_types.c
sql/include/sql_catalog.h
sql/server/rel_distribute.c
sql/server/rel_distribute.h
sql/server/rel_dump.c
sql/server/rel_optimizer.c
sql/server/rel_psm.c
sql/server/rel_rel.c
sql/server/rel_schema.c
sql/server/rel_select.c
sql/server/rel_select.h
sql/server/rel_updates.c
sql/server/sql_parser.y
sql/storage/bat/bat_table.c
sql/storage/store.c

sql/test/BugTracker-2009/Tests/copy_multiple_files.SF-2902320.stable.out.Windows

sql/test/BugTracker-2012/Tests/rewrite_like_into_likesubselect.Bug-3179.stable.out

sql/test/BugTracker-2016/Tests/memory-consumption-query-PLAN-25joins.Bug-3972.stable.out
sql/test/BugTracker-2017/Tests/All
sql/test/BugTracker-2017/Tests/crash-dce.Bug-6330.stable.out
sql/test/BugTracker/Tests/explain.SF-1739353.stable.out
sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out
sql/test/Dependencies/Tests/Dependencies.stable.out
sql/test/Dependencies/Tests/Dependencies.stable.out.int128
sql/test/SQLite_regress/sqllogictest/Tests/select3.test.stable.out

sql/test/SQLite_regress/sqllogictest/Tests/select3.test.stable.out.int128
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
sql/test/leaks/Tests/check1.stable.out
sql/test/leaks/Tests/check1.stable.out.int128
sql/test/leaks/Tests/select1.stable.out

MonetDB: stratified_sampling - Merge with default.

2017-06-29 Thread Mark Raasveldt
Changeset: 004835f67db3 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=004835f67db3
Added Files:
sql/test/BugTracker-2017/Tests/default-insert-update.Bug-6249.sql
Removed Files:
sql/test/pg_regress/Tests/oid.stable.out.oid32
sql/test/pg_regress/Tests/without_oid.stable.out.oid32
Modified Files:
sql/server/rel_dump.c
sql/server/rel_optimizer.c
sql/server/rel_updates.c
sql/server/sql_parser.y
sql/test/BugTracker-2017/Tests/All

sql/test/BugTracker-2017/Tests/crash-select_after_MAL_error.Bug-6332.stable.out
sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.int128
sql/test/testdb-upgrade/Tests/upgrade.stable.out.int128
Branch: stratified_sampling
Log Message:

Merge with default.


diffs (truncated from 19763 to 300 lines):

diff --git a/sql/server/rel_dump.c b/sql/server/rel_dump.c
--- a/sql/server/rel_dump.c
+++ b/sql/server/rel_dump.c
@@ -1182,7 +1182,9 @@ rel_read(mvc *sql, char *r, int *pos, li
 
gexps = read_exps(sql, nrel, NULL, NULL, r, pos, '[', 0);
skipWS(r, pos);
-   exps = read_exps(sql, nrel, NULL, NULL, r, pos, '[', 1);
+   exps = read_exps(sql, nrel, NULL, gexps, r, pos, '[', 1);
+   if (!exps)
+   return NULL;
 
rel = rel_groupby(sql, nrel, gexps);
rel->exps = exps;
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
@@ -2461,7 +2461,8 @@ static sql_exp *
 math_unsafe_fixup( mvc *sql, sql_exp *e, sql_exp *cond, int lr )
 {
list *args = e->l;
-   if (args->h->next)
+
+   if (args && args->h && args->h->next)
return math_unsafe_fixup_binop(sql, e, args->h->data, 
args->h->next->data, cond, lr);
else
return math_unsafe_fixup_unop(sql, e, args->h->data, cond, lr);
diff --git a/sql/server/rel_updates.c b/sql/server/rel_updates.c
--- a/sql/server/rel_updates.c
+++ b/sql/server/rel_updates.c
@@ -23,6 +23,12 @@ insert_value(mvc *sql, sql_column *c, sq
 {
if (s->token == SQL_NULL) {
return exp_atom(sql->sa, atom_general(sql->sa, >type, NULL));
+   } else if (s->token == SQL_DEFAULT) {
+   if (c->def) {
+   return rel_parse_val(sql, sa_message(sql->sa, "select 
CAST(%s AS %s);", c->def, c->type.type->sqlname), sql->emode);
+   } else {
+   return sql_error(sql, 02, "INSERT INTO: column '%s' has 
no valid default value", c->base.name);
+   }
} else {
int is_last = 0;
exp_kind ek = {type_value, card_value, FALSE};
@@ -971,11 +977,19 @@ update_table(mvc *sql, dlist *qname, dli
int status = sql->session->status;
exp_kind ek = {type_value, 
(single)?card_column:card_relation, FALSE};
 
-   if (single) 
+   if(single && a->token == SQL_DEFAULT) {
+   char *colname = 
assignment->h->next->data.sval;
+   sql_column *col = mvc_bind_column(sql, 
t, colname);
+   if (col->def) {
+   v = rel_parse_val(sql, 
sa_message(sql->sa, "select CAST(%s AS %s);", col->def, 
col->type.type->sqlname), sql->emode);
+   } else {
+   return sql_error(sql, 02, 
"UPDATE: column '%s' has no valid default value", col->base.name);
+   }
+   } else if (single) {
v = rel_value_exp(sql, _val, a, 
sql_sel, ek);
-   else
+   } else {
rel_val = rel_subquery(sql, NULL, a, 
ek, APPLY_JOIN);
-
+   }
if (!v) {
sql->errstr[0] = 0;
sql->session->status = status;
diff --git a/sql/server/sql_parser.y b/sql/server/sql_parser.y
--- a/sql/server/sql_parser.y
+++ b/sql/server/sql_parser.y
@@ -2893,6 +2893,7 @@ simple_atom:
 
 insert_atom:
 simple_atom
+ |  DEFAULT{ $$ = _symbol_create(SQL_DEFAULT, NULL ); }
  ;
 
 value:
@@ -2913,7 +2914,12 @@ assignment_commalist:
  ;
 
 assignment:
-   column '=' search_condition
+   column '=' DEFAULT
+   { dlist *l = L();
+ append_symbol(l, _symbol_create(SQL_DEFAULT, NULL ) );
+ append_string(l, $1);
+ $$ = _symbol_create_list( SQL_ASSIGN, l); }
+ |  column '=' search_condition
{ dlist *l = L();
  append_symbol(l, $3 );
  append_string(l, $1);
diff --git 

MonetDB: stratified_sampling - Merge with default.

2017-06-28 Thread Mark Raasveldt
Changeset: bbe9fc330cfc for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=bbe9fc330cfc
Added Files:
ChangeLog.Jul2017
NT/mkgeomwxs.py
NT/mkodbcwxs.py
NT/mksqlwxs.py
buildtools/ChangeLog.Jul2017
clients/ChangeLog.Jul2017
clients/Tests/mclient-uri.SQL.bat
clients/Tests/mclient-uri.SQL.sh
clients/Tests/mclient-uri.stable.err
clients/Tests/mclient-uri.stable.out
clients/Tests/mclient-uri.stable.out.Windows
clients/mapilib/ChangeLog.Jul2017
common/stream/ChangeLog.Jul2017
gdk/ChangeLog.Jul2017
geom/ChangeLog.Jul2017
monetdb5/ChangeLog.Jul2017
monetdb5/modules/mal/wlc.c
monetdb5/modules/mal/wlc.h
monetdb5/modules/mal/wlc.mal
monetdb5/optimizer/opt_wlc.c
monetdb5/optimizer/opt_wlc.h
sql/ChangeLog.Jul2017
sql/backends/monet5/Tests/dbextra_lock_test.py
sql/backends/monet5/Tests/dbextra_lock_test.stable.err
sql/backends/monet5/Tests/dbextra_lock_test.stable.out
sql/backends/monet5/wlr.c
sql/backends/monet5/wlr.h
sql/backends/monet5/wlr.mal
sql/scripts/60_wlcr.sql

sql/test/BugTracker-2015/Tests/crash_timestamp_convert.Bug-3816.stable.err.Windows

sql/test/BugTracker-2015/Tests/crash_timestamp_convert.Bug-3816.stable.out.Windows
sql/test/BugTracker-2016/Tests/storagemodel.stable.out.Darwin
sql/test/BugTracker-2016/Tests/storagemodel.stable.out.FreeBSD
sql/test/BugTracker-2017/Tests/all_minus_count_star.Bug-6297.sql
sql/test/BugTracker-2017/Tests/all_minus_count_star.Bug-6297.stable.err
sql/test/BugTracker-2017/Tests/all_minus_count_star.Bug-6297.stable.out
sql/test/BugTracker-2017/Tests/coalesc-limit.Bug-6316.sql
sql/test/BugTracker-2017/Tests/coalesc-limit.Bug-6316.stable.err
sql/test/BugTracker-2017/Tests/coalesc-limit.Bug-6316.stable.out
sql/test/BugTracker-2017/Tests/crash-dce.Bug-6330.sql
sql/test/BugTracker-2017/Tests/crash-dce.Bug-6330.stable.err
sql/test/BugTracker-2017/Tests/crash-dce.Bug-6330.stable.out
sql/test/BugTracker-2017/Tests/crash-select_after_MAL_error.Bug-6332.sql

sql/test/BugTracker-2017/Tests/crash-select_after_MAL_error.Bug-6332.stable.err

sql/test/BugTracker-2017/Tests/crash-select_after_MAL_error.Bug-6332.stable.out

sql/test/BugTracker-2017/Tests/crash_correlated_subqueries_not_in_select.Bug-6290.sql

sql/test/BugTracker-2017/Tests/crash_correlated_subqueries_not_in_select.Bug-6290.stable.err

sql/test/BugTracker-2017/Tests/crash_correlated_subqueries_not_in_select.Bug-6290.stable.out

sql/test/BugTracker-2017/Tests/crash_function_returning_sample.Bug-6291.sql

sql/test/BugTracker-2017/Tests/crash_function_returning_sample.Bug-6291.stable.err

sql/test/BugTracker-2017/Tests/crash_function_returning_sample.Bug-6291.stable.out
sql/test/BugTracker-2017/Tests/crash_in_in_handling.Bug-6260.sql
sql/test/BugTracker-2017/Tests/crash_in_in_handling.Bug-6260.stable.err
sql/test/BugTracker-2017/Tests/crash_in_in_handling.Bug-6260.stable.out

sql/test/BugTracker-2017/Tests/create_table_as-missing_not_null.Bug-6329.sql

sql/test/BugTracker-2017/Tests/create_table_as-missing_not_null.Bug-6329.stable.err

sql/test/BugTracker-2017/Tests/create_table_as-missing_not_null.Bug-6329.stable.out
sql/test/BugTracker-2017/Tests/delete_from_merge_table.Bug-3743.sql

sql/test/BugTracker-2017/Tests/delete_from_merge_table.Bug-3743.stable.err

sql/test/BugTracker-2017/Tests/delete_from_merge_table.Bug-3743.stable.out

sql/test/BugTracker-2017/Tests/distinct_minus_count_distinct.Bug-6296.sql

sql/test/BugTracker-2017/Tests/distinct_minus_count_distinct.Bug-6296.stable.err

sql/test/BugTracker-2017/Tests/distinct_minus_count_distinct.Bug-6296.stable.out
sql/test/BugTracker-2017/Tests/exist-bigint-missing.Bug-6315.sql
sql/test/BugTracker-2017/Tests/exist-bigint-missing.Bug-6315.stable.err
sql/test/BugTracker-2017/Tests/exist-bigint-missing.Bug-6315.stable.out
sql/test/BugTracker-2017/Tests/function_and_mergetable.Bug-6288.sql

sql/test/BugTracker-2017/Tests/function_and_mergetable.Bug-6288.stable.err

sql/test/BugTracker-2017/Tests/function_and_mergetable.Bug-6288.stable.out
sql/test/BugTracker-2017/Tests/lateral.Bug-6310.sql
sql/test/BugTracker-2017/Tests/lateral.Bug-6310.stable.err
sql/test/BugTracker-2017/Tests/lateral.Bug-6310.stable.out
sql/test/BugTracker-2017/Tests/lateral02.Bug-6314.sql
sql/test/BugTracker-2017/Tests/lateral02.Bug-6314.stable.err
sql/test/BugTracker-2017/Tests/lateral02.Bug-6314.stable.out
sql/test/BugTracker-2017/Tests/limit.bug-6322.sql