MonetDB: stratified_sampling - Merge with default.
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.
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.
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