Changeset: f2b8f82764bb for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/f2b8f82764bb Modified Files: 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: Oct2020 Log Message:
Merge with Jun2020 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 @@ -2438,6 +2438,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(be, mb->tag, pci->argc - (pci->retc + 5), Q_TABLE, b); if (res < 0) msg = createException(SQL, "sql.resultSet", SQLSTATE(45000) "Result table construction failed"); @@ -2463,12 +2471,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(be, 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(be, 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 -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org