1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
## dbWriteTable test
##
## Assumes that
## a) PostgreSQL is running, and
## b) the current user can connect
## both of which are not viable for release but suitable while we test
##
## Dirk Eddelbuettel, 10 Sep 2009
## only run this if this env.var is set correctly
if (Sys.getenv("POSTGRES_USER") != "" & Sys.getenv("POSTGRES_HOST") != "" & Sys.getenv("POSTGRES_DATABASE") != "") {
## try to load our module and abort if this fails
stopifnot(require(RPostgreSQL))
stopifnot(require(datasets))
## load the PostgresSQL driver
drv <- dbDriver("PostgreSQL")
## connect to the default db
con <- dbConnect(drv,
user=Sys.getenv("POSTGRES_USER"),
password=Sys.getenv("POSTGRES_PASSWD"),
host=Sys.getenv("POSTGRES_HOST"),
dbname=Sys.getenv("POSTGRES_DATABASE"),
port=ifelse((p<-Sys.getenv("POSTGRES_PORT"))!="", p, 5432))
a <- dbGetQuery(con, "CREATE TABLE foo (name text)")
b <- dbGetQuery(con, "INSERT INTO foo VALUES ('bar')")
## run a simple query and show the query result
x <- dbSendQuery(con, "CREATE TEMPORARY TABLE xyz ON COMMIT DROP AS select * from foo limit 1; select * from xyz;")
res <- fetch(x, n=-1)
print(res)
a <- dbGetQuery(con, "DROP TABLE foo")
## cleanup
## and disconnect
dbDisconnect(con)
cat("PASS -- ended without segmentation fault\n")
}
|