Changeset: 674ef27d77e6 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/674ef27d77e6
Modified Files:
NT/monetdb_config.h.in
configure.ag
gdk/gdk_align.c
gdk/gdk_batop.c
gdk/gdk_logger.c
gdk/gdk_private.h
gdk/gdk_storage.c
gdk/gdk_string.c
gdk/gdk_utils.c
monetdb5/modules/atoms/str.c
sql/backends/monet5/sql.c
sql/storage/bat/bat_storage.c
sql/storage/store.c
Branch: Jun2020
Log Message:
Merge with Nov2019 branch.
diffs (44 lines):
diff --git a/sql/backends/monet5/sql.c b/sql/backends/monet5/sql.c
--- a/sql/backends/monet5/sql.c
+++ b/sql/backends/monet5/sql.c
@@ -2454,6 +2454,14 @@ mvc_result_set_wrap( Client cntxt, MalBl
b = BATdescriptor(bid);
if ( b == NULL)
throw(MAL,"sql.resultset", SQLSTATE(HY005) "Cannot access
column descriptor");
+ if (isVIEW(b)) {
+ BAT *bn = COLcopy(b, b->ttype, true, TRANSIENT);
+ BBPunfix(b->batCacheid);
+ if (bn == NULL)
+ throw(MAL, "sql.resultset", GDK_EXCEPTION);
+ b = bn;
+ assert(!isVIEW(b));
+ }
res = *res_id = mvc_result_table(m, mb->tag, pci->argc - (pci->retc +
5), Q_TABLE, b);
if (res < 0)
msg = createException(SQL, "sql.resultSet", SQLSTATE(45000)
"Result table construction failed");
@@ -2479,12 +2487,21 @@ mvc_result_set_wrap( Client cntxt, MalBl
colname = BUNtvar(iteratr,o);
tpename = BUNtvar(itertpe,o);
b = BATdescriptor(bid);
- if ( b == NULL)
+ if ( b == NULL) {
msg=
createException(MAL,"sql.resultset",SQLSTATE(HY005) "Cannot access column
descriptor ");
- else if (mvc_result_column(m, tblname, colname, tpename,
*digits++, *scaledigits++, b))
+ break;
+ }
+ if (isVIEW(b)) {
+ BAT *bn = COLcopy(b, b->ttype, true, TRANSIENT);
+ BBPunfix(b->batCacheid);
+ if (bn == NULL)
+ throw(MAL, "sql.resultset", GDK_EXCEPTION);
+ b = bn;
+ assert(!isVIEW(b));
+ }
+ if (mvc_result_column(m, tblname, colname, tpename, *digits++,
*scaledigits++, b))
msg = createException(SQL, "sql.resultset",
SQLSTATE(42000) "Cannot access column descriptor %s.%s",tblname,colname);
- if( b)
- BBPunfix(bid);
+ BBPunfix(b->batCacheid);
}
/* now send it to the channel cntxt->fdout */
if (mvc_export_result(cntxt->sqlcontext, cntxt->fdout, res, true,
mb->starttime, mb->optimize))
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]