Changeset: a2b9e148eef0 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=a2b9e148eef0
Added Files:
clients/R/Tests/dplyr-flights.R
clients/R/Tests/dplyr-flights.reqtest
clients/R/Tests/dplyr-flights.stable.err
clients/R/Tests/dplyr-flights.stable.out
Modified Files:
clients/R/Tests/All
clients/R/Tests/dbapply.reqtests
clients/R/Tests/install-dependencies.sh
clients/R/Tests/survey.reqtests
Branch: default
Log Message:
R Connector: New dplyr test case based on dplyr documentation
diffs (286 lines):
diff --git a/clients/R/Tests/All b/clients/R/Tests/All
--- a/clients/R/Tests/All
+++ b/clients/R/Tests/All
@@ -2,6 +2,5 @@ HAVE_LIBR?install
HAVE_LIBR?dbi
HAVE_LIBR?survey
HAVE_LIBR?dplyr
+HAVE_LIBR?dplyr-flights
HAVE_LIBR?dbapply
-
-
diff --git a/clients/R/Tests/dbapply.reqtests b/clients/R/Tests/dbapply.reqtests
--- a/clients/R/Tests/dbapply.reqtests
+++ b/clients/R/Tests/dbapply.reqtests
@@ -1,1 +1,2 @@
install
+dbi
diff --git a/clients/R/Tests/dplyr-flights.R b/clients/R/Tests/dplyr-flights.R
new file mode 100644
--- /dev/null
+++ b/clients/R/Tests/dplyr-flights.R
@@ -0,0 +1,128 @@
+ll <- NULL
+if (Sys.getenv("TSTTRGDIR") != "") {
+ ll <- paste0(Sys.getenv("TSTTRGDIR"),"/rlibdir")
+}
+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
+# so if things go south it might be a good idea to uncomment the cat(dd) below
+dd <- capture.output( suppressMessages ( {
+
+library(MonetDB.R,quietly=T,lib.loc=ll)
+library(dplyr,quietly=T)
+library(nycflights13,quietly=T)
+
+options(monetdb.profile=F)
+
+args <- commandArgs(trailingOnly = TRUE)
+dbport <- 50000
+dbname <- "mTests_clients_R"
+if (length(args) > 0)
+ dbport <- args[[1]]
+if (length(args) > 1)
+ dbname <- args[[2]]
+}))
+
+so <- function(x) {
+ print(dim(collect(head(x, 42))))
+}
+
+my_db <- src_monetdb(dbname=dbname, port=dbport, wait=T)
+if (!dbExistsTable(my_db$con , 'flights')) dbWriteTable( my_db$con , 'flights'
, flights , csvdump=T, overwrite=T)
+flights <- tbl( my_db , 'flights')
+
+dim(flights)
+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)))
+so(select(flights, year, month, day))
+so(select(flights, year:day))
+so(select(flights, -(year:day)))
+so(select(flights, tail_num = tailnum))
+so(rename(flights, tail_num = tailnum))
+so(distinct(select(flights, tailnum)))
+
+so(distinct(select(flights, origin, dest)))
+so(mutate(flights,
+ gain = arr_delay - dep_delay,
+ speed = distance / air_time * 60))
+
+
+so(mutate(flights,
+ gain = arr_delay - dep_delay,
+ gain_per_hour = (arr_delay - dep_delay) / (air_time / 60)
+))
+
+so(transmute(flights,
+ gain = arr_delay - dep_delay,
+ gain_per_hour = (arr_delay - dep_delay) / (air_time / 60)
+))
+
+so(summarise(flights,
+ delay = mean(dep_delay)))
+
+so(sample_n(flights, 10))
+so(sample_frac(flights, 0.01))
+
+# slice is not supported for reldbs as per dplyr doc
+# slice(flights, 1:10)
+# filter(flights, between(row_number(), 1, 10))
+
+destinations <- group_by(flights, dest)
+
+so(summarise(destinations,
+ planes = n_distinct(tailnum),
+ flights = n()
+))
+
+by_tailnum <- group_by(flights, tailnum)
+delay <- summarise(by_tailnum,
+ count = n(),
+ dist = mean(distance),
+ delay = mean(arr_delay))
+
+delay <- collect(filter(delay, count > 20, dist < 2000))
+so(delay)
+
+daily <- group_by(flights, year, month, day)
+so(per_day <- summarise(daily, flights = n()))
+so(per_month <- summarise(per_day, flights = sum(flights)))
+so(per_yr <- summarise(per_month, flights = sum(flights)))
+
+a1 <- group_by(flights, year, month, day)
+a2 <- select(a1, arr_delay, dep_delay)
+
+
+a3 <- summarise(a2,
+ arr = mean(arr_delay),
+ dep = mean(dep_delay))
+
+
+a4 <- filter(a3, arr > 30 | dep > 30)
+so(a4)
+
+so(filter(
+ summarise(
+ select(
+ group_by(flights, year, month, day),
+ arr_delay, dep_delay
+ ),
+ arr = mean(arr_delay),
+ dep = mean(dep_delay)
+ ),
+ arr > 30 | dep > 30
+))
+
+so(flights %>%
+ group_by(year, month, day) %>%
+ select(arr_delay, dep_delay) %>%
+ summarise(
+ arr = mean(arr_delay),
+ dep = mean(dep_delay)
+ ) %>%
+ filter(arr > 30 | dep > 30))
+
+print("SUCCESS")
\ No newline at end of file
diff --git a/clients/R/Tests/dplyr-flights.reqtest
b/clients/R/Tests/dplyr-flights.reqtest
new file mode 100644
--- /dev/null
+++ b/clients/R/Tests/dplyr-flights.reqtest
@@ -0,0 +1,3 @@
+install
+dbi
+dplyr
diff --git a/clients/R/Tests/dplyr-flights.stable.err
b/clients/R/Tests/dplyr-flights.stable.err
new file mode 100644
--- /dev/null
+++ b/clients/R/Tests/dplyr-flights.stable.err
@@ -0,0 +1,38 @@
+stderr of test 'dplyr-flights` in directory 'clients/R` itself:
+
+
+# 11:44:02 >
+# 11:44:02 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set"
"mapi_open=true" "--set" "mapi_port=30588" "--set"
"mapi_usock=/var/tmp/mtest-68891/.s.monetdb.30588" "--set" "monet_prompt="
"--forcemito" "--set" "mal_listing=2"
"--dbpath=/Users/hannes/monetdb-install/var/MonetDB/mTests_clients_R" "--set"
"mal_listing=0" "--set" "embedded_r=yes"
+# 11:44:02 >
+
+# builtin opt gdk_dbpath =
/Users/hannes/monetdb-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 = 50000
+# 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 = 30588
+# cmdline opt mapi_usock = /var/tmp/mtest-68891/.s.monetdb.30588
+# cmdline opt monet_prompt =
+# cmdline opt mal_listing = 2
+# cmdline opt gdk_dbpath =
/Users/hannes/monetdb-install/var/MonetDB/mTests_clients_R
+# cmdline opt mal_listing = 0
+# cmdline opt embedded_r = yes
+# cmdline opt gdk_debug = 536870922
+
+# 11:44:05 >
+# 11:44:05 > "R" "--vanilla" "--slave" "--args" "30588"
+# 11:44:05 >
+
+Identifier(s) year, month, day, hour, minute are reserved SQL keywords and
need to be quoted.
+
+# 11:44:15 >
+# 11:44:15 > "Done."
+# 11:44:15 >
+
diff --git a/clients/R/Tests/dplyr-flights.stable.out
b/clients/R/Tests/dplyr-flights.stable.out
new file mode 100644
--- /dev/null
+++ b/clients/R/Tests/dplyr-flights.stable.out
@@ -0,0 +1,65 @@
+stdout of test 'dplyr-flights` in directory 'clients/R` itself:
+
+
+# 11:44:02 >
+# 11:44:02 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set"
"mapi_open=true" "--set" "mapi_port=30588" "--set"
"mapi_usock=/var/tmp/mtest-68891/.s.monetdb.30588" "--set" "monet_prompt="
"--forcemito" "--set" "mal_listing=2"
"--dbpath=/Users/hannes/monetdb-install/var/MonetDB/mTests_clients_R" "--set"
"mal_listing=0" "--set" "embedded_r=yes"
+# 11:44:02 >
+
+# MonetDB 5 server v11.22.0
+# This is an unreleased version
+# Serving database 'mTests_clients_R', using 4 threads
+# Compiled for x86_64-apple-darwin14.4.0/64bit with 64bit OIDs and 128bit
integers dynamically linked
+# Found 16.000 GiB available main-memory.
+# Copyright (c) 1993-July 2008 CWI.
+# Copyright (c) August 2008-2015 MonetDB B.V., all rights reserved
+# Visit http://www.monetdb.org/ for further information
+# Listening for connection requests on mapi:monetdb://dakar.da.cwi.nl:30588/
+# Listening for UNIX domain connection requests on
mapi:monetdb:///var/tmp/mtest-68891/.s.monetdb.30588
+# MonetDB/GIS module loaded
+# Start processing logs sql/sql_logs version 52200
+# Start reading the write-ahead log 'sql_logs/sql/log.5'
+# Finished reading the write-ahead log 'sql_logs/sql/log.5'
+# Finished processing logs sql/sql_logs
+# MonetDB/SQL module loaded
+# MonetDB/R module loaded
+
+Ready.
+
+# 11:44:05 >
+# 11:44:05 > "R" "--vanilla" "--slave" "--args" "30588"
+# 11:44:05 >
+
+[1] TRUE
+[1] 336776 16
+[1] 42 16
+[1] 42 16
+[1] 42 16
+[1] 42 16
+[1] 42 16
+[1] 42 3
+[1] 42 3
+[1] 42 13
+[1] 42 1
+[1] 42 16
+[1] 42 1
+[1] 42 2
+[1] 42 18
+[1] 42 18
+[1] 42 2
+[1] 1 1
+[1] 10 16
+[1] 42 16
+[1] 42 3
+[1] 42 4
+[1] 42 4
+[1] 12 3
+[1] 1 2
+[1] 42 5
+[1] 42 5
+[1] 42 5
+[1] "SUCCESS"
+
+# 11:44:15 >
+# 11:44:15 > "Done."
+# 11:44:15 >
+
diff --git a/clients/R/Tests/install-dependencies.sh
b/clients/R/Tests/install-dependencies.sh
--- a/clients/R/Tests/install-dependencies.sh
+++ b/clients/R/Tests/install-dependencies.sh
@@ -1,3 +1,3 @@
#!/bin/sh
R --vanilla --quiet -e 'dir.create(unlist(strsplit(Sys.getenv("R_LIBS_USER"),
.Platform$path.sep))[1L], recursive = TRUE, showWarnings=F)'
-R --vanilla --quiet -e
"install.packages(c('dplyr','survey','sqlsurvey','DBI','digest','Lahman'),repos=c('http://download.r-forge.r-project.org','http://cran.rstudio.com/'),type='source')"
+R --vanilla --quiet -e
"install.packages(c('dplyr','survey','sqlsurvey','DBI','digest','Lahman','nycflights13'),repos=c('http://download.r-forge.r-project.org','http://cran.rstudio.com/'),type='source')"
diff --git a/clients/R/Tests/survey.reqtests b/clients/R/Tests/survey.reqtests
--- a/clients/R/Tests/survey.reqtests
+++ b/clients/R/Tests/survey.reqtests
@@ -1,1 +1,2 @@
install
+dbi
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list