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;
     }

Reply via email to