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

Reply via email to