Changeset: aaa585270eae for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=aaa585270eae
Modified Files:
monetdb5/extras/rapi/converters.c
tools/embedded/embedded.c
Branch: embedded
Log Message:
Fix for hge cols
diffs (34 lines):
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
@@ -80,6 +80,7 @@
static SEXP bat_to_sexp(BAT* b) {
SEXP varvalue = NULL;
+ // TODO: deal with SQL types (DECIMAL/DATE)
switch (ATOMstorage(getColumnType(b->T->type))) {
case TYPE_bte:
BAT_TO_INTSXP(b, bte, varvalue);
@@ -90,6 +91,11 @@ static SEXP bat_to_sexp(BAT* b) {
case TYPE_int:
BAT_TO_INTSXP(b, int, varvalue);
break;
+#ifdef HAVE_HGE
+ case TYPE_hge: /* R's integers are stored as int, so we cannot
be sure hge will fit */
+ BAT_TO_REALSXP(b, hge, varvalue);
+ break;
+#endif
case TYPE_flt:
BAT_TO_REALSXP(b, flt, varvalue);
break;
diff --git a/tools/embedded/embedded.c b/tools/embedded/embedded.c
--- a/tools/embedded/embedded.c
+++ b/tools/embedded/embedded.c
@@ -239,6 +239,7 @@ SEXP monetdb_query_R(SEXP query, SEXP no
SET_STRING_ELT(names, i, mkCharCE(output->cols[i].name,
CE_UTF8));
varvalue = bat_to_sexp(b);
if (varvalue == NULL) {
+ UNPROTECT(i + 3);
return ScalarString(mkCharCE("Conversion
error", CE_UTF8));
}
SET_VECTOR_ELT(retlist, i, varvalue);
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list