Adding a check for update precodegen code as well.
Project: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/commit/38fff5b4 Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/tree/38fff5b4 Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/diff/38fff5b4 Branch: refs/heads/master Commit: 38fff5b496b2dc921f7a5552f62555d4d34731e4 Parents: adafbd5 Author: Sandhya Sundaresan <[email protected]> Authored: Mon Nov 16 22:07:59 2015 +0000 Committer: Sandhya Sundaresan <[email protected]> Committed: Mon Nov 16 22:07:59 2015 +0000 ---------------------------------------------------------------------- core/sql/generator/GenPreCode.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/38fff5b4/core/sql/generator/GenPreCode.cpp ---------------------------------------------------------------------- diff --git a/core/sql/generator/GenPreCode.cpp b/core/sql/generator/GenPreCode.cpp index f4950af..af69c10 100644 --- a/core/sql/generator/GenPreCode.cpp +++ b/core/sql/generator/GenPreCode.cpp @@ -4934,8 +4934,9 @@ RelExpr * HbaseDelete::preCodeGen(Generator * generator, else if (isUnique) { + //If this unique delete is not part of a rowset operation , + //don't allow it to be cancelled. if (!generator->oltOptInfo()->multipleRowsReturned()) - // do not cancel unique queries. generator->setMayNotCancel(TRUE); uniqueHbaseOper() = TRUE; canDoCheckAndUpdel() = FALSE; @@ -5201,8 +5202,10 @@ RelExpr * HbaseUpdate::preCodeGen(Generator * generator, else if (isUnique) { - // do not cancel unique queries. - generator->setMayNotCancel(TRUE); + //If this unique delete is not part of a rowset operation , + //don't allow it to be cancelled. + if (!generator->oltOptInfo()->multipleRowsReturned()) + generator->setMayNotCancel(TRUE); uniqueHbaseOper() = TRUE; canDoCheckAndUpdel() = FALSE; @@ -11441,10 +11444,11 @@ RelExpr * HbaseAccess::preCodeGen(Generator * generator, if (!isUnique) generator->oltOptInfo()->setMultipleRowsReturned(TRUE) ; + // Do not allow cancel of unique queries but allow cancel of queries + // that are part of a rowset operation. if ((isUnique) && (NOT generator->oltOptInfo()->multipleRowsReturned())) { - // do not cancel unique queries. generator->setMayNotCancel(TRUE); uniqueHbaseOper() = TRUE; }
