Changeset: c7db5b897c71 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c7db5b897c71
Added Files:
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-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/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/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:
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:
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.stable.out
clients/mapiclient/mclient.c
gdk/gdk_atoms.c
gdk/gdk_atoms.h
gdk/gdk_heap.c
gdk/gdk_orderidx.c
gdk/gdk_private.h
gdk/gdk_utils.c
monetdb5/mal/mal_builder.c
monetdb5/mal/mal_instruction.c
monetdb5/modules/atoms/str.c
monetdb5/modules/mal/querylog.c
monetdb5/optimizer/opt_dataflow.c
monetdb5/optimizer/opt_deadcode.c
monetdb5/optimizer/opt_emptybind.c
monetdb5/optimizer/opt_evaluate.c
monetdb5/optimizer/opt_pipes.c
monetdb5/optimizer/opt_support.c
monetdb5/optimizer/opt_wrapper.c
sql/backends/monet5/sql_execute.c
sql/backends/monet5/sql_gencode.c
sql/backends/monet5/sql_upgrades.c
sql/jdbc/tests/Tests/All
sql/jdbc/tests/Tests/BugDecimalRound_Bug_3561.stable.out
sql/test/BugTracker-2017/Tests/All
sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out
sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out
sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.int128
sql/test/emptydb-upgrade-hge/Tests/upgrade.stable.out.int128
sql/test/emptydb-upgrade/Tests/upgrade.stable.out
sql/test/emptydb-upgrade/Tests/upgrade.stable.out.int128
sql/test/malloc_fail/Tests/All
sql/test/malloc_fail/Tests/mallocs.SQL.py
sql/test/testdb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out
sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.int128
sql/test/testdb-upgrade-hge/Tests/upgrade.stable.out.int128
sql/test/testdb-upgrade/Tests/upgrade.stable.out
sql/test/testdb-upgrade/Tests/upgrade.stable.out.int128
Branch: python3udf
Log Message:
Merge with default.
diffs (truncated from 3611 to 300 lines):
diff --git a/clients/R/Tests/copy_into_fwf.stable.out
b/clients/R/Tests/copy_into_fwf.stable.out
--- a/clients/R/Tests/copy_into_fwf.stable.out
+++ b/clients/R/Tests/copy_into_fwf.stable.out
@@ -24,11 +24,8 @@ Ready.
# 16:40:23 > "R" "--vanilla" "--slave" "--args" "30658"
# 16:40:23 >
-[1] TRUE
<MonetDBResult>
SQL CREATE TABLE mtcars (mpg DOUBLE PRECISION, cyl DOUBLE PRECISION, disp
DOUBLE PRECISION, hp DOUBLE PRECISION, drat DOUBLE PRECISION, wt DOUBLE
PRECISION, qsec DOUBLE PRECISION, vs DOUBLE PRECISION, am DOUBLE PRECISION,
gear DOUBLE PRECISION, carb DOUBLE PRECISION)
- ROWS Fetched: 0 [complete]
- Changed: NA
mpg cyl disp hp drat wt qsec vs am gear carb
1 21.0 6 160.0 110 3.90 2.620 16.46 0 1 4 4
2 21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 4
@@ -62,7 +59,6 @@ 29 15.8 8 351.0 264 4.22 3.170 14.50
30 19.7 6 145.0 175 3.62 2.770 15.50 0 1 5 6
31 15.0 8 301.0 335 3.54 3.570 14.60 0 1 5 8
32 21.4 4 121.0 109 4.11 2.780 18.60 1 1 4 2
-[1] TRUE
[1] "SUCCESS"
# 16:40:23 >
diff --git a/clients/R/Tests/dbapply.stable.out
b/clients/R/Tests/dbapply.stable.out
--- a/clients/R/Tests/dbapply.stable.out
+++ b/clients/R/Tests/dbapply.stable.out
@@ -29,14 +29,10 @@ Ready.
# 11:43:14 > "R" "--vanilla" "--slave" "--args" "35780"
# 11:43:14 >
-[1] TRUE
-[1] TRUE
-[1] TRUE
[1] 32
[1] TRUE
[1] 32
[1] 42
-[1] TRUE
[1] "SUCCESS"
# 11:43:21 >
diff --git a/clients/R/Tests/dbi.R b/clients/R/Tests/dbi.R
--- a/clients/R/Tests/dbi.R
+++ b/clients/R/Tests/dbi.R
@@ -43,6 +43,7 @@ dbRemoveTable(con,tname)
stopifnot(identical(dbExistsTable(con,tname),FALSE))
# write test table iris
+# iris is one of the built-in datasets in R
data(iris)
dbWriteTable(con,tname,iris)
@@ -65,16 +66,22 @@ stopifnot(identical(res@env$success,TRUE
stopifnot(dbColumnInfo(res)[[1,1]] == "Species")
stopifnot(dbColumnInfo(res)[[2,1]] == "Sepal.Width")
-stopifnot(dbGetRowCount(res) == 150 && res@env$info$rows == 150)
+stopifnot(dbGetRowCount(res) == 0)
data <- dbFetch(res,10)
+stopifnot(dbGetRowCount(res) == 10)
+
+
stopifnot(dim(data)[[1]] == 10)
stopifnot(dim(data)[[2]] == 2)
stopifnot(res@env$delivered == 10)
stopifnot(dbHasCompleted(res) == FALSE)
data2 <- dbFetch(res,-1)
+
+stopifnot(dbGetRowCount(res) == 150)
+
stopifnot(dim(data2)[[1]] == 140)
stopifnot(dbHasCompleted(res) == TRUE)
diff --git a/clients/R/Tests/dbi.stable.out b/clients/R/Tests/dbi.stable.out
--- a/clients/R/Tests/dbi.stable.out
+++ b/clients/R/Tests/dbi.stable.out
@@ -44,42 +44,12 @@ Ready.
# loading sql script: 90_generator.sql
# loading sql script: 99_system.sql
-# 12:26:31 >
-# 12:26:31 > "R" "--vanilla" "--slave" "--args" "31372"
-# 12:26:31 >
+# 15:00:13 >
+# 15:00:13 > "R" "--vanilla" "--slave" "--args" "34632"
+# 15:00:13 >
-[1] TRUE
-[1] TRUE
-[1] TRUE
-[1] TRUE
-[1] TRUE
[1] "\"Need to quote this table name\"" "monetdbtest"
[3] "othermethod"
-[1] TRUE
-[1] TRUE
-[1] TRUE
-[1] TRUE
-[1] TRUE
-[1] TRUE
-[1] TRUE
-[1] TRUE
-[1] TRUE
-[1] TRUE
-[1] TRUE
-[1] TRUE
-[1] TRUE
-[1] TRUE
-[1] TRUE
-[1] TRUE
-[1] TRUE
-[1] TRUE
-[1] TRUE
-[1] TRUE
-[1] TRUE
-[1] TRUE
-[1] TRUE
-[1] TRUE
-[1] TRUE
[1] "SUCCESS"
# 12:26:33 >
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,10 +1,18 @@
-packages_required <- c('Rcpp', 'dplyr', 'Lahman', 'nycflights13')
+packages_required <- c('Rcpp', 'dplyr', 'Lahman', 'nycflights13', 'gdata',
'survey')
install_or_upgrade_packages <- function(lp) {
np <- lp[!(lp %in% installed.packages()[,"Package"])]
repos <- 'http://cran.rstudio.com/'
if(length(np)) install.packages(np, repos=repos, quiet=T)
update.packages(repos=repos, ask=F, oldPkgs=lp, quiet=T)
+
+ # dev dplyr
+ if (packageVersion("devtools") < 1.6) {
+ install.packages("devtools")
+ }
+ devtools::install_github("hadley/lazyeval")
+ devtools::install_github("hadley/dplyr")
+
}
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
@@ -20,7 +20,7 @@ so <- function(x) {
}
my_db <- MonetDBLite::src_monetdb(dbname=dbname, port=dbport, wait=T)
-if (!DBI::dbExistsTable(my_db$con , 'flights')) DBI::dbWriteTable( my_db$con ,
'flights' , nycflights13::flights , csvdump=T, overwrite=T)
+if (!DBI::dbExistsTable(con_acquire(my_db) , 'flights')) DBI::dbWriteTable(
con_acquire(my_db) , 'flights' , nycflights13::flights , csvdump=T, overwrite=T)
flights <- tbl( my_db , 'flights')
dim(flights)
@@ -28,8 +28,9 @@ so(flights)
so(filter(flights, month == 1, day == 1))
so(filter(flights, month == 1 | month == 2))
-so(arrange(flights, year, month, day))
-so(arrange(flights, desc(arr_delay)))
+# MonetDBLite has ORDER BY in subqueries, but standalone MonetDB does not.
+# so(arrange(flights, year, month, day))
+# so(arrange(flights, desc(arr_delay)))
so(select(flights, year, month, day))
so(select(flights, year:day))
so(select(flights, -(year:day)))
@@ -117,4 +118,5 @@ so(flights %>%
) %>%
filter(arr > 30 | dep > 30))
+
print("SUCCESS")
diff --git a/clients/R/Tests/dplyr-flights.stable.out
b/clients/R/Tests/dplyr-flights.stable.out
--- a/clients/R/Tests/dplyr-flights.stable.out
+++ b/clients/R/Tests/dplyr-flights.stable.out
@@ -29,10 +29,7 @@ Ready.
# 11:44:05 > "R" "--vanilla" "--slave" "--args" "30588"
# 11:44:05 >
-[1] TRUE
-[1] 336776 19
-[1] 42 19
-[1] 42 19
+[1] NA 19
[1] 42 19
[1] 42 19
[1] 42 19
diff --git a/clients/R/Tests/dplyr.R b/clients/R/Tests/dplyr.R
--- a/clients/R/Tests/dplyr.R
+++ b/clients/R/Tests/dplyr.R
@@ -15,38 +15,47 @@ if (length(args) > 1)
dbname <- args[[2]]
dps <- MonetDBLite::src_monetdb(dbname=dbname, port=dbport)
-copy_lahman(dps)
+if (!DBI::dbExistsTable(con_acquire(dps), "AllstarFull")) copy_lahman(dps)
}))
+printn <- 10
+printsth <- function(s) {
+ print(nrow(collect(head(s, printn))))
+ printn <<- printn+1
+}
+
# the remainder is pretty much the example from the manpage.
# Methods -------------------------------------------------------------------
batting <- tbl(dps, "Batting")
length(dim(batting)) == 2
+length(colnames(batting)) > 1
-length(colnames(batting)) > 1
-nrow(head(batting, n=10L))
+printsth(batting)
# co* verbs
-cc <- collapse(batting)
-cc <- collect(batting)
-# cc <- compute(batting)
-# head(cc)
+c1 <- collapse(batting)
+c2 <- collect(batting)
+c3 <- compute(batting)
+
+printsth(c1)
+printsth(c2)
+printsth(c3)
# Data manipulation verbs ---------------------------------------------------
-nrow(head(filter(batting, yearID > 2005, G > 130), n=11L))
-nrow(head(select(batting, playerID:lgID), n=12L))
-nrow(head(arrange(batting, playerID, desc(yearID)), n=13L))
+printsth(filter(batting, yearID > 2005, G > 130))
+printsth(select(batting, playerID:lgID))
+#printsth(arrange(batting, playerID, desc(yearID)))
length(summarise(batting, G = mean(G), n = n())) > 1
-nrow(head(mutate(batting, rbi2 = if(!is.null(AB) & AB > 0) 1.0 * R / AB else
0), n=14L))
+printsth(mutate(batting, rbi2 = if(!is.null(AB) & AB > 0) 1.0 * R / AB else 0))
# note that all operations are lazy: they don't do anything until you
# request the data, either by `print()`ing it (which shows the first ten
# rows), by looking at the `head()`, or `collect()` the results locally.
-nrow(head(collect(filter(batting, yearID > 2010)), n=15L))
+printsth(filter(batting, yearID > 2010))
# Group by operations -------------------------------------------------------
# To perform operations by group, create a grouped object with group_by
@@ -69,13 +78,13 @@ hof <- select(filter(tbl(dps, "HallOfFam
invisible(suppressMessages( {
# Match players and their hall of fame data
-print(nrow(head(inner_join(player_info, hof), n=20L)))
+printsth(inner_join(player_info, hof))
# Keep all players, match hof data where available
-print(nrow(head(left_join(player_info, hof), n=21L)))
+printsth(left_join(player_info, hof))
# Find only players in hof
-print(nrow(head(semi_join(player_info, hof), n=22L)))
+printsth(semi_join(player_info, hof))
# Find players not in hof
-print(nrow(head(anti_join(player_info, hof), n=23L)))
+printsth(anti_join(player_info, hof))
}))
# TODO: set ops
@@ -84,14 +93,14 @@ print(nrow(head(anti_join(player_info, h
# You can also provide sql as is, using the sql function:
batting2008 <- tbl(dps,
sql('SELECT * FROM "Batting" WHERE "yearID" = 2008'))
-nrow(head(batting2008, n=26L))
+printsth(batting2008)
# sample functions
-print(nrow(sample_n(player_info, 24L)))
-print(nrow(head(sample_frac(player_info, .5), n=25L)))
+printsth(sample_n(player_info, 24L))
+printsth(sample_frac(player_info, .5))
-DBI::dbWriteTable(dps$con, "mtcars", mtcars)
+DBI::dbWriteTable(con_acquire(dps), "mtcars", mtcars, overwrite=T)
my_tbl <- tbl(dps, "mtcars")
# https://github.com/hadley/dplyr/issues/1165
@@ -100,29 +109,14 @@ aa <- my_tbl %>%
summarise( n = n() ) %>% collect()
print(nrow(aa))
-# this works fin
+# this works fine
aa <- my_tbl %>%
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list