Changeset: 4ca509098380 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=4ca509098380
Modified Files:
clients/R/MonetDB.R/R/dbi.R
monetdb5/extras/rapi/converters.c
sql/common/sql_types.c
sql/server/sql_parser.y
Branch: embedded
Log Message:
More RSQLite compatibility
diffs (64 lines):
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
@@ -455,7 +455,7 @@ setMethod("dbWriteTable", "MonetDBConnec
return(invisible(TRUE))
}
if (is.vector(value) && !is.list(value)) value <- data.frame(x=value,
stringsAsFactors=F)
- if (length(value)<1) stop("value must have at least one column")
+ if (length(value) < 1) stop("value must have at least one column")
if (is.null(names(value))) names(value) <- paste("V", 1:length(value),
sep='')
if (length(value[[1]])>0) {
if (!is.data.frame(value)) value <- as.data.frame(value,
row.names=1:length(value[[1]]) , stringsAsFactors=F)
@@ -853,11 +853,12 @@ setMethod("dbGetInfo", "MonetDBResult",
monet.read.csv <- monetdb.read.csv <- function(conn, files, tablename,
header=TRUE,
locked=FALSE,
best.effort=FALSE, na.strings="", nrow.check=500,
delim=",", newline="\\n",
quote="\"", create=TRUE,
- col.names=NULL,
lower.case.names=FALSE, ...){
+ col.names=NULL,
lower.case.names=FALSE, sep=delim, ...){
if (length(na.strings)>1) stop("na.strings must be of length 1")
+ if (!missing(sep)) delim <- sep
+
headers <- lapply(files, utils::read.csv, sep=delim, na.strings=na.strings,
quote=quote, nrows=nrow.check, header=header, ...)
-
if (length(files)>1){
nn <- sapply(headers, ncol)
if (!all(nn==nn[1])) stop("Files have different numbers of columns")
diff --git a/monetdb5/extras/rapi/converters.c
b/monetdb5/extras/rapi/converters.c
--- a/monetdb5/extras/rapi/converters.c
+++ b/monetdb5/extras/rapi/converters.c
@@ -10,7 +10,7 @@
valptr = ptrfun(retsxp); \
if (bat->T->nonil && !bat->T->nil) { \
if (memcopy) {
\
- memcpy(valptr, Tloc(bat, BUNfirst(bat)), \
+ memcpy(valptr, p, \
BATcount(bat) * sizeof(tpe));
\
} else { \
for (j = 0; j < BATcount(bat); j++) { \
diff --git a/sql/common/sql_types.c b/sql/common/sql_types.c
--- a/sql/common/sql_types.c
+++ b/sql/common/sql_types.c
@@ -1625,6 +1625,8 @@ sqltypeinit( sql_allocator *sa)
sql_create_func3(sa, "splitpart", "str", "splitpart", *t, *t,
INT, *t, INOUT);
sql_create_func(sa, "substring", "str", "substring", *t, INT,
*t, INOUT);
sql_create_func3(sa, "substring", "str", "substring", *t, INT,
INT, *t, INOUT);
+ sql_create_func(sa, "substr", "str", "substring", *t, INT, *t,
INOUT);
+ sql_create_func3(sa, "substr", "str", "substring", *t, INT,
INT, *t, INOUT);
sql_create_func(sa, "like", "algebra", "like", *t, *t, BIT,
SCALE_NONE);
sql_create_func3(sa, "like", "algebra", "like", *t, *t, *t,
BIT, SCALE_NONE);
sql_create_func(sa, "ilike", "algebra", "ilike", *t, *t, BIT,
SCALE_NONE);
diff --git a/sql/server/sql_parser.y b/sql/server/sql_parser.y
--- a/sql/server/sql_parser.y
+++ b/sql/server/sql_parser.y
@@ -1354,7 +1354,8 @@ as_subquery_clause:
;
with_or_without_data:
- WITH NO DATA { $$ = 0; }
+ /* empty */ { $$ = 1; }
+ | WITH NO DATA { $$ = 0; }
| WITH DATA { $$ = 1; }
;
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list