Changeset: 824781fe1324 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/824781fe1324
Modified Files:
        ctest/tools/monetdbe/example2.c
        gdk/gdk_bbp.c
        tools/monetdbe/monetdbe.c
Branch: default
Log Message:

Merged with Jul2021


diffs (80 lines):

diff --git a/ctest/tools/monetdbe/example2.c b/ctest/tools/monetdbe/example2.c
--- a/ctest/tools/monetdbe/example2.c
+++ b/ctest/tools/monetdbe/example2.c
@@ -170,6 +170,20 @@ main(void)
        if ((err = monetdbe_cleanup_statement(mdbe, stmt)) != NULL)
                error(err)
 
+       /* NULL value version */
+       if ((err = monetdbe_prepare(mdbe, "SELECT b, t FROM test where t = ?; 
", &stmt, NULL)) != NULL)
+               error(err)
+       char *s2 = NULL;
+       if ((err = monetdbe_bind(stmt, s2, 0)) != NULL)
+               error(err)
+       if ((err = monetdbe_execute(stmt, &result, NULL)) != NULL)
+               error(err)
+       fprintf(stdout, "Query result with %zu cols and %"PRId64" rows\n", 
result->ncols, result->nrows);
+       if ((err = monetdbe_cleanup_result(mdbe, result)) != NULL)
+               error(err)
+       if ((err = monetdbe_cleanup_statement(mdbe, stmt)) != NULL)
+               error(err)
+
        if ((err = monetdbe_prepare(mdbe, "SELECT b, y FROM test where y = ?; 
", &stmt, NULL)) != NULL)
                error(err)
        char *y = "Hello";
@@ -183,6 +197,20 @@ main(void)
        if ((err = monetdbe_cleanup_statement(mdbe, stmt)) != NULL)
                error(err)
 
+       /* NULL value version */
+       if ((err = monetdbe_prepare(mdbe, "SELECT b, y FROM test where y = ?; 
", &stmt, NULL)) != NULL)
+               error(err)
+       char *y2 = NULL;
+       if ((err = monetdbe_bind(stmt, y2, 0)) != NULL)
+               error(err)
+       if ((err = monetdbe_execute(stmt, &result, NULL)) != NULL)
+               error(err)
+       fprintf(stdout, "Query result with %zu cols and %"PRId64" rows\n", 
result->ncols, result->nrows);
+       if ((err = monetdbe_cleanup_result(mdbe, result)) != NULL)
+               error(err)
+       if ((err = monetdbe_cleanup_statement(mdbe, stmt)) != NULL)
+               error(err)
+
        if (monetdbe_close(mdbe))
                error("Failed to close database")
        return 0;
diff --git a/gdk/gdk_bbp.c b/gdk/gdk_bbp.c
--- a/gdk/gdk_bbp.c
+++ b/gdk/gdk_bbp.c
@@ -1760,12 +1760,12 @@ heap_entry(FILE *fp, BAT *b, BUN size)
 {
        size_t free = b->theap->free;
        if (size < BUN_NONE) {
-               if ((b->ttype >= 0 && ATOMstorage(b->ttype) == TYPE_msk)) {
-                       BUN bytes = ((size + 31) / 32) * 4;
-                       if (free > bytes)
-                               free = bytes;
-               } else if (b->twidth > 0 && free / b->twidth > size)
+               if ((b->ttype >= 0 && ATOMstorage(b->ttype) == TYPE_msk))
+                       free = ((size + 31) / 32) * 4;
+               else if (b->twidth > 0)
                        free = size << b->tshift;
+               else
+                       free = 0;
        }
        return fprintf(fp, " %s %d %d %d " BUNFMT " " BUNFMT " " BUNFMT " "
                       BUNFMT " " OIDFMT " %zu %zu %d %" PRIu64" %" PRIu64,
diff --git a/tools/monetdbe/monetdbe.c b/tools/monetdbe/monetdbe.c
--- a/tools/monetdbe/monetdbe.c
+++ b/tools/monetdbe/monetdbe.c
@@ -1666,9 +1666,7 @@ monetdbe_cleanup_statement(monetdbe_data
 
        for (size_t i = 0; i < stmt_internal->res.nparam + 1; i++) {
                ValPtr data = &stmt_internal->data[i];
-               if (data->vtype == TYPE_str || data->vtype == TYPE_blob) {
-                       GDKfree(data->val.pval);
-               }
+               VALclear(data);
        }
 
        GDKfree(stmt_internal->data);
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to