Changeset: 694a6e13ae1b for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=694a6e13ae1b
Modified Files:
clients/R/MonetDB.R/NEWS
clients/R/MonetDB.R/R/dbi.R
clients/R/MonetDB.R/man/monetdb.read.csv.Rd
Branch: default
Log Message:
R Connector: Patch from Anthony to lowercase column names on data import
diffs (58 lines):
diff --git a/clients/R/MonetDB.R/NEWS b/clients/R/MonetDB.R/NEWS
--- a/clients/R/MonetDB.R/NEWS
+++ b/clients/R/MonetDB.R/NEWS
@@ -8,6 +8,7 @@ 1.0.0
- Fix for case when query only returns a prompt (CALL ..., Thanks, Roman)
- Fix for empty result set on dbGetQuery(), no longer returning NULL (Thanks,
Fabian)
- Fix for dbConnect(), it ignored the url parameter somehow, which broke some
sqlsurvey (Thanks, Anthony)
+- Added lower.case.names= to monet.read.csv() in case users want to avoid
quoting
0.9.7
- Fixed crash on Windows (Sorry, everyone)
diff --git a/clients/R/MonetDB.R/R/dbi.R b/clients/R/MonetDB.R/R/dbi.R
--- a/clients/R/MonetDB.R/R/dbi.R
+++ b/clients/R/MonetDB.R/R/dbi.R
@@ -622,7 +622,7 @@ setMethod("dbGetInfo", "MonetDBResult",
# adapted from RMonetDB, no java-specific things in here...
monet.read.csv <- monetdb.read.csv <- function(conn, files, tablename,
nrows=NA, header=TRUE,
locked=FALSE, na.strings="",
nrow.check=500,
- delim=",", newline="\\n",
quote="\"", create=TRUE, ...){
+ delim=",", newline="\\n",
quote="\"", create=TRUE, lower.case.names=FALSE, ...){
if (length(na.strings)>1) stop("na.strings must be of length 1")
headers <- lapply(files, utils::read.csv, sep=delim, na.strings=na.strings,
quote=quote, nrows=nrow.check,
@@ -641,7 +641,13 @@ monet.read.csv <- monetdb.read.csv <- fu
if(!all(types==types[, 1])) stop("Files have different variable types")
}
- if (create) dbWriteTable(conn, tablename, headers[[1]][FALSE, ])
+ if (create){
+
+ if( lower.case.names ) names( headers ) <- tolower( names( headers ) )
+
+ dbWriteTable(conn, tablename, headers[[1]][FALSE, ])
+
+ }
delimspec <- paste0("USING DELIMITERS '", delim, "','", newline, "','",
quote, "'")
diff --git a/clients/R/MonetDB.R/man/monetdb.read.csv.Rd
b/clients/R/MonetDB.R/man/monetdb.read.csv.Rd
--- a/clients/R/MonetDB.R/man/monetdb.read.csv.Rd
+++ b/clients/R/MonetDB.R/man/monetdb.read.csv.Rd
@@ -11,7 +11,7 @@
\usage{
monetdb.read.csv (conn, files, tablename, nrows, header=TRUE,
locked=FALSE, na.strings="", nrow.check=500, delim=",",
- newline = "\\\\n", quote = "\"", create=TRUE, ...)
+ newline = "\\\\n", quote = "\"", create=TRUE, lower.case.names=FALSE...)
}
\arguments{
\item{conn}{A MonetDB.R database connection. Created using
\code{\link[DBI]{dbConnect}} with the
@@ -30,6 +30,7 @@
\item{newline}{Newline in CSV file, usually \\n for UNIX-like systems and
\\r\\r on Windows.}
\item{quote}{Quote character(s) in CSV file.}
\item{create}{Create table before importing?}
+ \item{lower.case.names}{Convert all column names to lowercase in the
database?}
}
\value{
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list