Changeset: 87d36682f889 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=87d36682f889
Modified Files:
sql/backends/monet5/sql_result.c
sql/storage/bat/res_table.c
Branch: embedded
Log Message:
fix for single row result sets
diffs (35 lines):
diff --git a/sql/backends/monet5/sql_result.c b/sql/backends/monet5/sql_result.c
--- a/sql/backends/monet5/sql_result.c
+++ b/sql/backends/monet5/sql_result.c
@@ -1881,9 +1881,8 @@ mvc_export_result(backend *b, stream *s,
if (!json) {
mvc_export_head(b, s, res_id, TRUE);
}
+ assert(t->order);
- if (!t->order)
- return mvc_export_row(b, s, t, "[ ", ",\t", "\t]\n", "\"",
"NULL");
order = BATdescriptor(t->order);
if (!order)
return -1;
diff --git a/sql/storage/bat/res_table.c b/sql/storage/bat/res_table.c
--- a/sql/storage/bat/res_table.c
+++ b/sql/storage/bat/res_table.c
@@ -70,6 +70,17 @@ res_col_create(sql_trans *tr, res_table
BATsetcount(b, 1);
BATseqbase(b, 0);
BATsettrivprop(b);
+ /* we need to set the order bat otherwise mvc_export_result
won't work with single-row result sets containing BATs */
+ if (!t->order) {
+ oid zero = 0;
+ BAT *o = BATnew(TYPE_void, TYPE_oid, 0, TRANSIENT);
+ BUNappend(o, &zero, FALSE);
+ BATsetcount(o, 1);
+ BATseqbase(o, 0);
+ BATsettrivprop(o);
+ t->order = o->batCacheid;
+ bat_incref(t->order);
+ }
}
c->b = b->batCacheid;
bat_incref(c->b);
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list