Changeset: a7b901ee13f2 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=a7b901ee13f2 Added Files: clients/R/Tests/deps-install.timeout Modified Files: clients/R/Tests/dbapply.R clients/R/Tests/deps-install.R clients/R/Tests/deps-test.R clients/R/Tests/deps-test.timeout clients/R/Tests/dplyr-flights.R clients/R/Tests/dplyr-flights.stable.err clients/R/Tests/install.R sql/server/rel_updates.c sql/storage/store.c sql/test/Tests/seq-default.stable.out sql/test/seq-default.sql sql/test/testdb-upgrade/Tests/upgrade.stable.out.powerpc64.int128 Branch: default Log Message:
Merge with Aug2018 diffs (255 lines): diff --git a/clients/R/Tests/dbapply.R b/clients/R/Tests/dbapply.R --- a/clients/R/Tests/dbapply.R +++ b/clients/R/Tests/dbapply.R @@ -1,3 +1,5 @@ +cat("#~BeginProfilingOutput~#\n", file=stderr()) + if (Sys.getenv("TSTTRGDIR") != "") { .libPaths(c(.libPaths(), paste0(Sys.getenv("TSTTRGDIR"),"/rlibdir"))) } @@ -81,4 +83,6 @@ print(res) dbRemoveTable(con,tname) stopifnot(identical(FALSE, dbExistsTable(con,tname))) +cat("#~EndProfilingOutput~#\n", file=stderr()) + print("SUCCESS") diff --git a/clients/R/Tests/deps-install.R b/clients/R/Tests/deps-install.R --- a/clients/R/Tests/deps-install.R +++ b/clients/R/Tests/deps-install.R @@ -1,6 +1,6 @@ # autoinstall DBI and digest, we need those to install MonetDB.R options(warn = -1) -packages_required <- c("digest", "DBI") +packages_required <- c("digest", "DBI", "devtools") cat("#~BeginProfilingOutput~#\n", file=stderr()) cat("#~BeginProfilingOutput~#\n", file=stdout()) diff --git a/clients/R/Tests/deps-install.timeout b/clients/R/Tests/deps-install.timeout new file mode 100644 --- /dev/null +++ b/clients/R/Tests/deps-install.timeout @@ -0,0 +1,1 @@ +2 diff --git a/clients/R/Tests/deps-test.R b/clients/R/Tests/deps-test.R --- a/clients/R/Tests/deps-test.R +++ b/clients/R/Tests/deps-test.R @@ -1,4 +1,4 @@ -packages_required <- c("assertthat","testthat","survey","nycflights13","RSQLite","dbplyr","dplyr","gdata","callr","devtools","DBItest") +packages_required <- c("assertthat","testthat","survey","nycflights13","RSQLite","dbplyr","dplyr","gdata","callr","DBItest") install_or_upgrade_packages <- function(lp) { np <- lp[!(lp %in% installed.packages()[,"Package"])] diff --git a/clients/R/Tests/deps-test.timeout b/clients/R/Tests/deps-test.timeout --- a/clients/R/Tests/deps-test.timeout +++ b/clients/R/Tests/deps-test.timeout @@ -1,1 +1,1 @@ -5 +20 diff --git a/clients/R/Tests/dplyr-flights.R b/clients/R/Tests/dplyr-flights.R --- a/clients/R/Tests/dplyr-flights.R +++ b/clients/R/Tests/dplyr-flights.R @@ -1,3 +1,5 @@ +cat("#~BeginProfilingOutput~#\n", file=stderr()) + ff <- textConnection("asdf", open="w") # hide output from connect and attach since it would blow up the test output # dangerous since it might hide useful warnings @@ -118,5 +120,6 @@ so(flights %>% ) %>% filter(arr > 30 | dep > 30)) +cat("#~EndProfilingOutput~#\n", file=stderr()) print("SUCCESS") diff --git a/clients/R/Tests/dplyr-flights.stable.err b/clients/R/Tests/dplyr-flights.stable.err --- a/clients/R/Tests/dplyr-flights.stable.err +++ b/clients/R/Tests/dplyr-flights.stable.err @@ -30,7 +30,6 @@ stderr of test 'dplyr-flights` in direct # 11:44:05 > "R" "--vanilla" "--slave" "--args" "30588" # 11:44:05 > -Identifier(s) "year", "month", "day", "hour", "minute" are reserved SQL keywords and need(s) to be quoted in queries. # 11:44:15 > # 11:44:15 > "Done." diff --git a/clients/R/Tests/install.R b/clients/R/Tests/install.R --- a/clients/R/Tests/install.R +++ b/clients/R/Tests/install.R @@ -2,13 +2,7 @@ options(warn = -1) cat("#~BeginProfilingOutput~#\n", file=stderr()) cat("#~BeginProfilingOutput~#\n", file=stdout()) -install_submodule_git <- function(x, ...) { - install_dir <- tempfile() - system(paste("git clone --recursive --depth 1", shQuote(x), -shQuote(install_dir))) - devtools::install(install_dir, ...) -} -install_submodule_git("https://github.com/hannesmuehleisen/MonetDBLite-R") +devtools::install_github("hannesmuehleisen/MonetDBLite-R") cat("#~EndProfilingOutput~#\n", file=stderr()) cat("#~EndProfilingOutput~#\n", file=stdout()) 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 @@ -32,7 +32,7 @@ insert_value(mvc *sql, sql_column *c, sq e = rel_parse_val(sql, sa_message(sql->sa, "select cast(%s as %s);", c->def, typestr), sql->emode, NULL); _DELETE(typestr); if (!e || (e = rel_check_type(sql, &c->type, e, type_equal)) == NULL) - return NULL; + return sql_error(sql, 02, SQLSTATE(HY005) "INSERT INTO: default expression could not be evaluated"); return e; } else { return sql_error(sql, 02, SQLSTATE(42000) "INSERT INTO: column '%s' has no valid default value", c->base.name); @@ -363,7 +363,7 @@ rel_inserts(mvc *sql, sql_table *t, sql_ _DELETE(typestr); e = rel_parse_val(sql, q, sql->emode, NULL); if (!e || (e = rel_check_type(sql, &c->type, e, type_equal)) == NULL) - return NULL; + return sql_error(sql, 02, SQLSTATE(HY005) "INSERT INTO: default expression could not be evaluated"); } else { atom *a = atom_general(sql->sa, &c->type, NULL); e = exp_atom(sql->sa, a); @@ -575,6 +575,8 @@ insert_into(mvc *sql, dlist *qname, dlis return sql_error(sql, 02, SQLSTATE(21S01) "INSERT INTO: query result doesn't match number of columns in table '%s'", tname); r->exps = rel_inserts(sql, t, r, collist, rowcount, 0); + if(!r->exps) + return NULL; return rel_insert_table(sql, t, tname, r); } @@ -1557,8 +1559,11 @@ copyfrom(mvc *sql, dlist *qname, dlist * return rel; if (reorder) rel = rel_project(sql->sa, rel, rel_inserts(sql, t, rel, collist, 1, 1)); - else + else { rel->exps = rel_inserts(sql, t, rel, collist, 1, 0); + if(!rel->exps) + return NULL; + } rel = rel_insert_table(sql, t, tname, rel); if (rel && locked) rel->flag |= UPD_LOCKED; diff --git a/sql/storage/store.c b/sql/storage/store.c --- a/sql/storage/store.c +++ b/sql/storage/store.c @@ -4033,10 +4033,11 @@ sql_trans_drop_all_dependencies(sql_tran (void) sql_trans_drop_table(tr, s, dep_id, DROP_CASCADE); break; case COLUMN_DEPENDENCY : - t_id = sql_trans_get_dependency_type(tr, dep_id, TABLE_DEPENDENCY); - t = find_sql_table_id(s, t_id); - (void) sql_trans_drop_column(tr, t, dep_id, DROP_CASCADE); - t = NULL; + if((t_id = sql_trans_get_dependency_type(tr, dep_id, TABLE_DEPENDENCY)) > 0) { + t = find_sql_table_id(s, t_id); + (void) sql_trans_drop_column(tr, t, dep_id, DROP_CASCADE); + t = NULL; + } break; case VIEW_DEPENDENCY : (void) sql_trans_drop_table(tr, s, dep_id, DROP_CASCADE ); @@ -4267,8 +4268,8 @@ sys_drop_column(sql_trans *tr, sql_colum seq_name[strlen(seq_name)-1] = '\0'; n = cs_find_name(&syss->seqs, seq_name); seq = find_sql_sequence(syss, seq_name); - if (seq && sql_trans_get_dependency_type(tr, seq->base.id, BEDROPPED_DEPENDENCY)) { - sys_drop_sequence(tr, seq, drop_action); + if (seq && sql_trans_get_dependency_type(tr, seq->base.id, BEDROPPED_DEPENDENCY) > 0) { + sys_drop_sequence(tr, seq, drop_action); seq->base.wtime = syss->base.wtime = tr->wtime = tr->wstime; cs_del(&syss->seqs, n, seq->base.flag); } diff --git a/sql/test/Tests/seq-default.stable.out b/sql/test/Tests/seq-default.stable.out --- a/sql/test/Tests/seq-default.stable.out +++ b/sql/test/Tests/seq-default.stable.out @@ -36,8 +36,6 @@ Ready. [ 2005-09-23 12:34:26.736000, 4 ] [ 2005-09-23 12:34:26.736000, 5 ] [ 2005-09-23 12:34:26.736000, 6 ] -TABLE sys.seqdeftest -SEQUENCE sys.test_seq #drop table seqdeftest; #drop sequence test_seq; #create table seqdeftest ( @@ -68,10 +66,6 @@ SEQUENCE sys.test_seq [ 2005-10-01, 4, 4, 106 ] [ 2005-10-01, 5, 5, 108 ] [ 2005-10-01, 6, 6, 110 ] -SEQUENCE sys.seq_8499 -SEQUENCE sys.seq_8501 -SEQUENCE sys.seq_8503 -TABLE sys.seqdeftest #drop table seqdeftest; #CREATE SEQUENCE seq_5700 AS INTEGER; #CREATE TABLE kvk ( @@ -108,9 +102,6 @@ TABLE sys.seqdeftest % 1, 1, 5 # length [ 3, 3, "dries" ] [ 4, 4, "viers" ] -TABLE sys.kvk -TABLE sys.kvk_cp -SEQUENCE sys.seq_5700 #drop TABLE kvk; #insert into kvk_cp(kvk, bedrijfsnaam) values (5, 'vijfs'); [ 1 ] @@ -122,10 +113,7 @@ SEQUENCE sys.seq_5700 [ 3, 3, "dries" ] [ 4, 4, "viers" ] [ 5, 5, "vijfs" ] -TABLE sys.kvk_cp -SEQUENCE sys.seq_5700 #drop TABLE kvk_cp; -SEQUENCE sys.seq_5700 #drop SEQUENCE seq_5700; #ROLLBACK; diff --git a/sql/test/seq-default.sql b/sql/test/seq-default.sql --- a/sql/test/seq-default.sql +++ b/sql/test/seq-default.sql @@ -10,12 +10,9 @@ insert into seqdeftest(ts) values ('2005 insert into seqdeftest(ts) values ('2005-09-23 12:34:26.736'); select * from seqdeftest; -\dts - drop table seqdeftest; drop sequence test_seq; - create table seqdeftest ( d date, id serial, @@ -32,11 +29,8 @@ insert into seqdeftest(d) values ('2005- insert into seqdeftest(d) values ('2005-10-01'); select * from seqdeftest; -\dts - drop table seqdeftest; - -- create a user created sequence with name pattern 'seq_####' similar to the system generated sequences as in the above table seqdeftest CREATE SEQUENCE seq_5700 AS INTEGER; CREATE TABLE kvk ( @@ -60,8 +54,6 @@ insert into kvk_cp(kvk, bedrijfsnaam) va insert into kvk_cp(kvk, bedrijfsnaam) values (4, 'viers'); select * from kvk_cp; -\dts - -- when dropping the tables the user defined sequence should *not* be dropped implicitly drop TABLE kvk; @@ -70,7 +62,6 @@ select * from kvk_cp; drop TABLE kvk_cp; -- the user created sequence should not have been implicitly dropped at this point -\dts drop SEQUENCE seq_5700; ROLLBACK; _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list