You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafodion.apache.org by su...@apache.org on 2016/03/03 15:59:48 UTC

[4/8] incubator-trafodion git commit: JIRA TRAFODION-1798 (ddl xns) and few other fixes, details below.

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/cd9f7a1a/core/sql/optimizer/RelExeUtil.cpp
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/RelExeUtil.cpp b/core/sql/optimizer/RelExeUtil.cpp
index 88fa66a..e3401b5 100644
--- a/core/sql/optimizer/RelExeUtil.cpp
+++ b/core/sql/optimizer/RelExeUtil.cpp
@@ -3829,12 +3829,12 @@ RelExpr * DDLExpr::bindNode(BindWA *bindWA)
     isHbase_ = TRUE;
     hbaseDDLNoUserXn_ = TRUE;      
   }
-  else if (getExprNode() && getExprNode()->castToElemDDLNode())
+  else if (getExprNode() && getExprNode()->castToStmtDDLNode())
   {
-    if (getExprNode()->castToElemDDLNode()->castToStmtDDLCreateTable())
+    if (getExprNode()->castToStmtDDLNode()->castToStmtDDLCreateTable())
     {
       StmtDDLCreateTable * createTableNode =
-        getExprNode()->castToElemDDLNode()->castToStmtDDLCreateTable();
+        getExprNode()->castToStmtDDLNode()->castToStmtDDLCreateTable();
 
       isCreate_ = TRUE;
       isTable_ = TRUE;
@@ -3883,13 +3883,16 @@ RelExpr * DDLExpr::bindNode(BindWA *bindWA)
       if ((createTableNode->getAddConstraintUniqueArray().entries() > 0) ||
 	  (createTableNode->getAddConstraintRIArray().entries() > 0) ||
 	  (createTableNode->getAddConstraintCheckArray().entries() > 0))
-	hbaseDDLNoUserXn_ = TRUE;
-       
+        {
+          if ((NOT createTableNode->ddlXns()) &&
+              (NOT Get_SqlParser_Flags(INTERNAL_QUERY_FROM_EXEUTIL)))
+            hbaseDDLNoUserXn_ = TRUE;
+        }
     } // createTable
-    else if (getExprNode()->castToElemDDLNode()->castToStmtDDLCreateHbaseTable())
+    else if (getExprNode()->castToStmtDDLNode()->castToStmtDDLCreateHbaseTable())
     {
       StmtDDLCreateHbaseTable * createHbaseTableNode =
-	getExprNode()->castToElemDDLNode()->castToStmtDDLCreateHbaseTable();
+	getExprNode()->castToStmtDDLNode()->castToStmtDDLCreateHbaseTable();
       
       isCreate_ = TRUE;
       isTable_ = TRUE;
@@ -3904,7 +3907,7 @@ RelExpr * DDLExpr::bindNode(BindWA *bindWA)
 	getDDLNode()->castToStmtDDLNode()->castToStmtDDLCreateHbaseTable()->
 	getTableNameAsQualifiedName();
     } // createHbaseTable
-    else if (getExprNode()->castToElemDDLNode()->castToStmtDDLCreateIndex())
+    else if (getExprNode()->castToStmtDDLNode()->castToStmtDDLCreateIndex())
     {
       isCreate_ = TRUE;
       isIndex_ = TRUE;
@@ -3917,7 +3920,7 @@ RelExpr * DDLExpr::bindNode(BindWA *bindWA)
         getDDLNode()->castToStmtDDLNode()->castToStmtDDLCreateIndex()->
         getIndexNameAsQualifiedName();
     }
-    else if (getExprNode()->castToElemDDLNode()->castToStmtDDLPopulateIndex())
+    else if (getExprNode()->castToStmtDDLNode()->castToStmtDDLPopulateIndex())
     {
       isCreate_ = TRUE;
       isIndex_ = TRUE;
@@ -3930,21 +3933,22 @@ RelExpr * DDLExpr::bindNode(BindWA *bindWA)
         getDDLNode()->castToStmtDDLNode()->castToStmtDDLPopulateIndex()->
         getIndexNameAsQualifiedName();
     }
-    else if (getExprNode()->castToElemDDLNode()->castToStmtDDLDropTable())
+    else if (getExprNode()->castToStmtDDLNode()->castToStmtDDLDropTable())
     {
       isDrop_ = TRUE;
       isTable_ = TRUE;
 
       StmtDDLDropTable * dropTableNode =
-        getExprNode()->castToElemDDLNode()->castToStmtDDLDropTable();
+        getExprNode()->castToStmtDDLNode()->castToStmtDDLDropTable();
 
       qualObjName_ = dropTableNode->getTableNameAsQualifiedName();
 
       // Normally, when a drop table is executed and DDL transactions is not
-      // enabled, a user started transaction is not allow.  However, when a
+      // enabled, a user started transaction is not allowed.  However, when a
       // session ends, a call is made to drop a volatile table, this drop should
-      // succeed. Make this type of delete to allow transactions
-      if (dropTableNode->isVolatile())
+      // succeed. 
+      if ((dropTableNode->isVolatile()) &&
+          (NOT getExprNode()->castToStmtDDLNode()->ddlXns()))
         hbaseDDLNoUserXn_ = TRUE;
 
       // Drops of Hive and HBase external tables are allowed 
@@ -3963,7 +3967,7 @@ RelExpr * DDLExpr::bindNode(BindWA *bindWA)
             }
         }
     }
-    else if (getExprNode()->castToElemDDLNode()->castToStmtDDLDropHbaseTable())
+    else if (getExprNode()->castToStmtDDLNode()->castToStmtDDLDropHbaseTable())
     {
       isDrop_ = TRUE;
       isTable_ = TRUE;
@@ -3974,7 +3978,7 @@ RelExpr * DDLExpr::bindNode(BindWA *bindWA)
         getDDLNode()->castToStmtDDLNode()->castToStmtDDLDropHbaseTable()->
         getTableNameAsQualifiedName();
     }
-    else if (getExprNode()->castToElemDDLNode()->castToStmtDDLDropIndex())
+    else if (getExprNode()->castToStmtDDLNode()->castToStmtDDLDropIndex())
     {
       isDrop_ = TRUE;
       isIndex_ = TRUE;
@@ -3983,32 +3987,32 @@ RelExpr * DDLExpr::bindNode(BindWA *bindWA)
         getDDLNode()->castToStmtDDLNode()->castToStmtDDLDropIndex()->
         getIndexNameAsQualifiedName();
     }
-    else if (getExprNode()->castToElemDDLNode()->castToStmtDDLAlterTable())
+    else if (getExprNode()->castToStmtDDLNode()->castToStmtDDLAlterTable())
     {
       isAlter_ = TRUE;
       isTable_ = TRUE;
 
-      if (getExprNode()->castToElemDDLNode()->castToStmtDDLAlterTableAddColumn())
+      if (getExprNode()->castToStmtDDLNode()->castToStmtDDLAlterTableAddColumn())
         alterAddCol = TRUE;
-      else if (getExprNode()->castToElemDDLNode()->castToStmtDDLAlterTableDropColumn())
+      else if (getExprNode()->castToStmtDDLNode()->castToStmtDDLAlterTableDropColumn())
         alterDropCol = TRUE;
-      else if (getExprNode()->castToElemDDLNode()->castToStmtDDLAlterTableDisableIndex())
+      else if (getExprNode()->castToStmtDDLNode()->castToStmtDDLAlterTableDisableIndex())
         alterDisableIndex = TRUE;
-      else if (getExprNode()->castToElemDDLNode()->castToStmtDDLAlterTableEnableIndex())
+      else if (getExprNode()->castToStmtDDLNode()->castToStmtDDLAlterTableEnableIndex())
         alterEnableIndex = TRUE;
-      else if ((getExprNode()->castToElemDDLNode()->castToStmtDDLAddConstraintUnique()) ||
-	       (getExprNode()->castToElemDDLNode()->castToStmtDDLAddConstraintRI()) ||
-	       (getExprNode()->castToElemDDLNode()->castToStmtDDLAddConstraintCheck()))
+      else if ((getExprNode()->castToStmtDDLNode()->castToStmtDDLAddConstraintUnique()) ||
+	       (getExprNode()->castToStmtDDLNode()->castToStmtDDLAddConstraintRI()) ||
+	       (getExprNode()->castToStmtDDLNode()->castToStmtDDLAddConstraintCheck()))
          alterAddConstr = TRUE;
-      else if (getExprNode()->castToElemDDLNode()->castToStmtDDLDropConstraint())
+      else if (getExprNode()->castToStmtDDLNode()->castToStmtDDLDropConstraint())
          alterDropConstr = TRUE;
-      else if (getExprNode()->castToElemDDLNode()->castToStmtDDLAlterTableRename())
+      else if (getExprNode()->castToStmtDDLNode()->castToStmtDDLAlterTableRename())
          alterRenameTable = TRUE;
-      else if (getExprNode()->castToElemDDLNode()->castToStmtDDLAlterTableAlterColumnSetSGOption())
+      else if (getExprNode()->castToStmtDDLNode()->castToStmtDDLAlterTableAlterColumnSetSGOption())
          alterIdentityCol = TRUE;
-      else if (getExprNode()->castToElemDDLNode()->castToStmtDDLAlterTableAlterColumnDatatype())
+      else if (getExprNode()->castToStmtDDLNode()->castToStmtDDLAlterTableAlterColumnDatatype())
          alterColDatatype = TRUE;
-      else if (getExprNode()->castToElemDDLNode()->castToStmtDDLAlterTableHBaseOptions())
+      else if (getExprNode()->castToStmtDDLNode()->castToStmtDDLAlterTableHBaseOptions())
          alterHBaseOptions = TRUE;
        else
         otherAlters = TRUE;
@@ -4017,11 +4021,11 @@ RelExpr * DDLExpr::bindNode(BindWA *bindWA)
         getDDLNode()->castToStmtDDLNode()->castToStmtDDLAlterTable()->
         getTableNameAsQualifiedName();
     }
-    else if (getExprNode()->castToElemDDLNode()->castToStmtDDLAlterIndex())
+    else if (getExprNode()->castToStmtDDLNode()->castToStmtDDLAlterIndex())
     {
       isAlter_ = TRUE;
       isIndex_ = TRUE;
-      if (getExprNode()->castToElemDDLNode()->castToStmtDDLAlterIndexHBaseOptions())
+      if (getExprNode()->castToStmtDDLNode()->castToStmtDDLAlterIndexHBaseOptions())
         alterHBaseOptions = TRUE;
       else
         otherAlters = TRUE;
@@ -4030,7 +4034,7 @@ RelExpr * DDLExpr::bindNode(BindWA *bindWA)
         getDDLNode()->castToStmtDDLNode()->castToStmtDDLAlterIndex()->
         getIndexNameAsQualifiedName();
     }
-    else if (getExprNode()->castToElemDDLNode()->castToStmtDDLCreateView())
+    else if (getExprNode()->castToStmtDDLNode()->castToStmtDDLCreateView())
     {
       isCreate_ = TRUE;
       isView_ = TRUE;
@@ -4039,7 +4043,7 @@ RelExpr * DDLExpr::bindNode(BindWA *bindWA)
         getDDLNode()->castToStmtDDLNode()->castToStmtDDLCreateView()->
         getViewNameAsQualifiedName();
     }
-    else if (getExprNode()->castToElemDDLNode()->castToStmtDDLDropView())
+    else if (getExprNode()->castToStmtDDLNode()->castToStmtDDLDropView())
     {
       isDrop_ = TRUE;
       isView_ = TRUE;
@@ -4048,10 +4052,10 @@ RelExpr * DDLExpr::bindNode(BindWA *bindWA)
         getDDLNode()->castToStmtDDLNode()->castToStmtDDLDropView()->
         getViewNameAsQualifiedName();
     }
-    else if (getExprNode()->castToElemDDLNode()->castToStmtDDLCreateSequence())
+    else if (getExprNode()->castToStmtDDLNode()->castToStmtDDLCreateSequence())
     {
       StmtDDLCreateSequence * createSeq =
-	getExprNode()->castToElemDDLNode()->castToStmtDDLCreateSequence();
+	getExprNode()->castToStmtDDLNode()->castToStmtDDLCreateSequence();
       
       isCreate_ = TRUE;
       isSeq = TRUE;
@@ -4065,10 +4069,10 @@ RelExpr * DDLExpr::bindNode(BindWA *bindWA)
 	getDDLNode()->castToStmtDDLNode()->castToStmtDDLCreateSequence()->
 	getSeqNameAsQualifiedName();
     } // createSequence
-   else if (getExprNode()->castToElemDDLNode()->castToStmtDDLDropSequence())
+   else if (getExprNode()->castToStmtDDLNode()->castToStmtDDLDropSequence())
     {
       StmtDDLDropSequence * dropSeq =
-	getExprNode()->castToElemDDLNode()->castToStmtDDLDropSequence();
+	getExprNode()->castToStmtDDLNode()->castToStmtDDLDropSequence();
       
       isDrop_ = TRUE;
       isSeq = TRUE;
@@ -4082,55 +4086,55 @@ RelExpr * DDLExpr::bindNode(BindWA *bindWA)
 	getDDLNode()->castToStmtDDLNode()->castToStmtDDLDropSequence()->
 	getSeqNameAsQualifiedName();
     } // dropSequence
-    else if (getExprNode()->castToElemDDLNode()->castToStmtDDLRegisterUser())
+    else if (getExprNode()->castToStmtDDLNode()->castToStmtDDLRegisterUser())
     {
       isAuth = TRUE; 
     }
-    else if (getExprNode()->castToElemDDLNode()->castToStmtDDLAlterUser())
+    else if (getExprNode()->castToStmtDDLNode()->castToStmtDDLAlterUser())
     {
       isAuth = TRUE; 
     }
-    else if (getExprNode()->castToElemDDLNode()->castToStmtDDLCreateRole())
+    else if (getExprNode()->castToStmtDDLNode()->castToStmtDDLCreateRole())
     {
       isAuth = TRUE; 
     }
-    else if (getExprNode()->castToElemDDLNode()->castToStmtDDLRoleGrant())
+    else if (getExprNode()->castToStmtDDLNode()->castToStmtDDLRoleGrant())
     {
       isPrivilegeMngt = TRUE; 
     }
-    else if (getExprNode()->castToElemDDLNode()->castToStmtDDLRegisterComponent())
+    else if (getExprNode()->castToStmtDDLNode()->castToStmtDDLRegisterComponent())
     {
       isPrivilegeMngt = TRUE; 
     }
-    else if (getExprNode()->castToElemDDLNode()->castToStmtDDLCreateComponentPrivilege())
+    else if (getExprNode()->castToStmtDDLNode()->castToStmtDDLCreateComponentPrivilege())
     {
       isPrivilegeMngt = TRUE; 
     }
-    else if (getExprNode()->castToElemDDLNode()->castToStmtDDLDropComponentPrivilege())
+    else if (getExprNode()->castToStmtDDLNode()->castToStmtDDLDropComponentPrivilege())
     {
       isPrivilegeMngt = TRUE; 
     }
-    else if (getExprNode()->castToElemDDLNode()->castToStmtDDLGrantComponentPrivilege())
+    else if (getExprNode()->castToStmtDDLNode()->castToStmtDDLGrantComponentPrivilege())
     {
       isPrivilegeMngt = TRUE; 
     }
-    else if (getExprNode()->castToElemDDLNode()->castToStmtDDLRevokeComponentPrivilege())
+    else if (getExprNode()->castToStmtDDLNode()->castToStmtDDLRevokeComponentPrivilege())
     {
       isPrivilegeMngt = TRUE; 
     }
-    else if (getExprNode()->castToElemDDLNode()->castToStmtDDLGiveAll())
+    else if (getExprNode()->castToStmtDDLNode()->castToStmtDDLGiveAll())
     {
       isPrivilegeMngt = TRUE; 
     }
-    else if (getExprNode()->castToElemDDLNode()->castToStmtDDLGiveObject())
+    else if (getExprNode()->castToStmtDDLNode()->castToStmtDDLGiveObject())
     {
       isPrivilegeMngt = TRUE; 
     }
-    else if (getExprNode()->castToElemDDLNode()->castToStmtDDLGiveSchema())
+    else if (getExprNode()->castToStmtDDLNode()->castToStmtDDLGiveSchema())
     {
       isPrivilegeMngt = TRUE; 
     }
-    else if (getExprNode()->castToElemDDLNode()->castToStmtDDLGrant())
+    else if (getExprNode()->castToStmtDDLNode()->castToStmtDDLGrant())
     {
       isTable_ = TRUE;
       isPrivilegeMngt = TRUE;
@@ -4138,7 +4142,7 @@ RelExpr * DDLExpr::bindNode(BindWA *bindWA)
         getDDLNode()->castToStmtDDLNode()->castToStmtDDLGrant()->
         getGrantNameAsQualifiedName();
     }
-    else if (getExprNode()->castToElemDDLNode()->castToStmtDDLRevoke())
+    else if (getExprNode()->castToStmtDDLNode()->castToStmtDDLRevoke())
     {
       isTable_ = TRUE;
       isPrivilegeMngt = TRUE;
@@ -4146,59 +4150,59 @@ RelExpr * DDLExpr::bindNode(BindWA *bindWA)
         getDDLNode()->castToStmtDDLNode()->castToStmtDDLRevoke()->
         getRevokeNameAsQualifiedName();
     }
-    else if (getExprNode()->castToElemDDLNode()->castToStmtDDLDropSchema())
+    else if (getExprNode()->castToStmtDDLNode()->castToStmtDDLDropSchema())
     {
       isDropSchema = TRUE;
       qualObjName_ =
         QualifiedName(NAString("dummy"),
-                      getExprNode()->castToElemDDLNode()->castToStmtDDLDropSchema()->getSchemaNameAsQualifiedName().getSchemaName(),
-                      getExprNode()->castToElemDDLNode()->castToStmtDDLDropSchema()->getSchemaNameAsQualifiedName().getCatalogName());
+                      getExprNode()->castToStmtDDLNode()->castToStmtDDLDropSchema()->getSchemaNameAsQualifiedName().getSchemaName(),
+                      getExprNode()->castToStmtDDLNode()->castToStmtDDLDropSchema()->getSchemaNameAsQualifiedName().getCatalogName());
 
     }
-    else if (getExprNode()->castToElemDDLNode()->castToStmtDDLCreateSchema())
+    else if (getExprNode()->castToStmtDDLNode()->castToStmtDDLCreateSchema())
     {
       isCreateSchema = TRUE;
       qualObjName_ =
         QualifiedName(NAString("dummy"),
-                      getExprNode()->castToElemDDLNode()->castToStmtDDLCreateSchema()->getSchemaNameAsQualifiedName().getSchemaName(),
-                      getExprNode()->castToElemDDLNode()->castToStmtDDLCreateSchema()->getSchemaNameAsQualifiedName().getCatalogName());
+                      getExprNode()->castToStmtDDLNode()->castToStmtDDLCreateSchema()->getSchemaNameAsQualifiedName().getSchemaName(),
+                      getExprNode()->castToStmtDDLNode()->castToStmtDDLCreateSchema()->getSchemaNameAsQualifiedName().getCatalogName());
     }
-    else if (getExprNode()->castToElemDDLNode()->castToStmtDDLCreateLibrary())
+    else if (getExprNode()->castToStmtDDLNode()->castToStmtDDLCreateLibrary())
     {
       isCreate_ = TRUE;
       isLibrary_ = TRUE;
-      qualObjName_ = getExprNode()->castToElemDDLNode()->
+      qualObjName_ = getExprNode()->castToStmtDDLNode()->
         castToStmtDDLCreateLibrary()->getLibraryNameAsQualifiedName();
     }
-    else if (getExprNode()->castToElemDDLNode()->castToStmtDDLDropLibrary())
+    else if (getExprNode()->castToStmtDDLNode()->castToStmtDDLDropLibrary())
     {
       isDrop_ = TRUE;
       isLibrary_ = TRUE;
-      qualObjName_ = getExprNode()->castToElemDDLNode()->
+      qualObjName_ = getExprNode()->castToStmtDDLNode()->
         castToStmtDDLDropLibrary()->getLibraryNameAsQualifiedName();
     }
-    else if (getExprNode()->castToElemDDLNode()->castToStmtDDLCreateRoutine())
+    else if (getExprNode()->castToStmtDDLNode()->castToStmtDDLCreateRoutine())
     {
       isCreate_ = TRUE;
       isRoutine_ = TRUE;
-      qualObjName_ = getExprNode()->castToElemDDLNode()->
+      qualObjName_ = getExprNode()->castToStmtDDLNode()->
         castToStmtDDLCreateRoutine()->getRoutineNameAsQualifiedName();
     }
-    else if (getExprNode()->castToElemDDLNode()->castToStmtDDLDropRoutine())
+    else if (getExprNode()->castToStmtDDLNode()->castToStmtDDLDropRoutine())
     {
       isDrop_ = TRUE;
       isRoutine_ = TRUE;
-      qualObjName_ = getExprNode()->castToElemDDLNode()->
+      qualObjName_ = getExprNode()->castToStmtDDLNode()->
         castToStmtDDLDropRoutine()->getRoutineNameAsQualifiedName();
     }
-    else if (getExprNode()->castToElemDDLNode()->castToStmtDDLCleanupObjects())
+    else if (getExprNode()->castToStmtDDLNode()->castToStmtDDLCleanupObjects())
     {
       isCleanup_ = TRUE;
       if (NOT Get_SqlParser_Flags(INTERNAL_QUERY_FROM_EXEUTIL))
         hbaseDDLNoUserXn_ = TRUE;
 
       returnStatus_ = 
-        getExprNode()->castToElemDDLNode()->castToStmtDDLCleanupObjects()->getStatus();
+        getExprNode()->castToStmtDDLNode()->castToStmtDDLCleanupObjects()->getStatus();
     }
 
     if ((isCreateSchema || isDropSchema) ||
@@ -4229,7 +4233,8 @@ RelExpr * DDLExpr::bindNode(BindWA *bindWA)
 	// if a user ddl operation, it cannot run under a user transaction.
 	// If an internal ddl request, like a CREATE internally issued onbehalf
 	// of a CREATE LIKE, then allow it to run under a user Xn.
-	if (NOT Get_SqlParser_Flags(INTERNAL_QUERY_FROM_EXEUTIL))
+        if ((NOT getExprNode()->castToStmtDDLNode()->ddlXns()) &&
+            (NOT Get_SqlParser_Flags(INTERNAL_QUERY_FROM_EXEUTIL)))
 	  hbaseDDLNoUserXn_ = TRUE;
       }
     else if (isAuth || isPrivilegeMngt || isCleanup_)
@@ -4320,8 +4325,8 @@ RelExpr * ExeUtilProcessVolatileTable::bindNode(BindWA *bindWA)
 
       volTabName_ = 
 	QualifiedName(NAString("dummy"),
-		      getExprNode()->castToElemDDLNode()->castToStmtDDLCreateSchema()->getSchemaNameAsQualifiedName().getSchemaName(),
-		      getExprNode()->castToElemDDLNode()->castToStmtDDLCreateSchema()->getSchemaNameAsQualifiedName().getCatalogName());
+		      getExprNode()->castToStmtDDLNode()->castToStmtDDLCreateSchema()->getSchemaNameAsQualifiedName().getSchemaName(),
+		      getExprNode()->castToStmtDDLNode()->castToStmtDDLCreateSchema()->getSchemaNameAsQualifiedName().getCatalogName());
     }
   else if (getDDLNode()->castToStmtDDLNode() &&
 	   getDDLNode()->castToStmtDDLNode()->castToStmtDDLDropSchema())
@@ -4331,8 +4336,8 @@ RelExpr * ExeUtilProcessVolatileTable::bindNode(BindWA *bindWA)
 
       volTabName_ = 
 	QualifiedName(NAString("dummy"),
-		      getExprNode()->castToElemDDLNode()->castToStmtDDLDropSchema()->getSchemaNameAsQualifiedName().getSchemaName(),
-		      getExprNode()->castToElemDDLNode()->castToStmtDDLDropSchema()->getSchemaNameAsQualifiedName().getCatalogName());
+		      getExprNode()->castToStmtDDLNode()->castToStmtDDLDropSchema()->getSchemaNameAsQualifiedName().getSchemaName(),
+		      getExprNode()->castToStmtDDLNode()->castToStmtDDLDropSchema()->getSchemaNameAsQualifiedName().getCatalogName());
     }
     
   RelExpr * boundExpr = DDLExpr::bindNode(bindWA);
@@ -4463,10 +4468,10 @@ RelExpr * ExeUtilCreateTableAs::bindNode(BindWA *bindWA)
   NAWcharBuf* wcbuf = 0;
       
   if ((getExprNode()) &&
-      (getExprNode()->castToElemDDLNode()) &&
-      (getExprNode()->castToElemDDLNode()->castToStmtDDLCreateTable()))
+      (getExprNode()->castToStmtDDLNode()) &&
+      (getExprNode()->castToStmtDDLNode()->castToStmtDDLCreateTable()))
     createTableNode =
-      getExprNode()->castToElemDDLNode()->castToStmtDDLCreateTable();
+      getExprNode()->castToStmtDDLNode()->castToStmtDDLCreateTable();
 
   CorrName savedTableName = getTableName();
   RelExpr * boundExpr = ExeUtilExpr::bindNode(bindWA);

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/cd9f7a1a/core/sql/optimizer/RelExeUtil.h
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/RelExeUtil.h b/core/sql/optimizer/RelExeUtil.h
index 41c8af7..21a771e 100644
--- a/core/sql/optimizer/RelExeUtil.h
+++ b/core/sql/optimizer/RelExeUtil.h
@@ -99,9 +99,14 @@ public:
 		       ValueIdSet &pulledNewInputs);
   virtual short codeGen(Generator*);
 
+  // no return from this method, the atp and atpindex is changed to
+  // returned atp (= 0) and returned atp index (last entry of returnedDesc).
+  // If noAtpOrIndexChange flag is set, then they are not changed.
   short processOutputRow(Generator * generator,
-                         const Int32 work_atp, const Int32 output_row_atp_index,
-                         ex_cri_desc * returnedDesc);
+                         const Int32 work_atp, 
+                         const Int32 output_row_atp_index,
+                         ex_cri_desc * returnedDesc,
+                         NABoolean noAtpOrIndexChange = FALSE);
 
   // The set of values that I can potentially produce as output.
   virtual void getPotentialOutputValues(ValueIdSet & vs) const;
@@ -197,6 +202,14 @@ public:
 // -----------------------------------------------------------------------
 class DDLExpr : public GenericUtilExpr
 {
+  void setDDLXns(NABoolean v)
+  {
+    if (v)
+      ddlXns_ = (CmpCommon::getDefault(DDL_TRANSACTIONS) == DF_ON);
+    else
+      ddlXns_ = FALSE;
+  }
+
 public:
   DDLExpr(ExprNode * ddlNode,
 	  char * ddlStmtText,
@@ -234,6 +247,8 @@ public:
   {
     if (explObjName)
       explObjName_ = *explObjName;
+
+    setDDLXns(TRUE);
   };
 
  DDLExpr(NABoolean initHbase, NABoolean dropHbase,
@@ -273,6 +288,8 @@ public:
     
     if (dropMDviews)
       setDropMDViews(TRUE);
+
+    setDDLXns(TRUE);
   };
 
  DDLExpr(NABoolean purgedataHbase,
@@ -306,6 +323,8 @@ public:
   {
     purgedataTableName_ = purgedataTableName;
     qualObjName_ = purgedataTableName.getQualifiedNameObj();
+
+    setDDLXns(TRUE);
   };
 
   virtual RelExpr * copyTopNode(RelExpr *derivedNode = NULL,
@@ -402,6 +421,8 @@ public:
   {(v ? flags_ |= CLEANUP_AUTH : flags_ &= ~CLEANUP_AUTH); }
   NABoolean cleanupAuth() { return (flags_ & CLEANUP_AUTH) != 0;}
 
+  NABoolean ddlXns() { return ddlXns_; }
+
  protected:
   enum Flags
   {
@@ -472,6 +493,11 @@ public:
   NABoolean returnStatus_;
 
   UInt32 flags_;
+
+  // if TRUE, ddl transactions are enabled. Actual operation may
+  // run under one transaction or multiple transactions.
+  // Details in sqlcomp/CmpSeabaseDDL*.cpp.
+  NABoolean ddlXns_;
 };
 
 // -----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/cd9f7a1a/core/sql/parser/SqlParserAux.cpp
----------------------------------------------------------------------
diff --git a/core/sql/parser/SqlParserAux.cpp b/core/sql/parser/SqlParserAux.cpp
index 6b2ac29..3f8976c 100644
--- a/core/sql/parser/SqlParserAux.cpp
+++ b/core/sql/parser/SqlParserAux.cpp
@@ -1249,7 +1249,7 @@ ItemExpr *literalOfDate(NAString *strptr, NABoolean noDealloc)
 ItemExpr *literalOfTime(NAString *strptr)
 {
   ItemExpr *returnValue = NULL;
-  UInt32 fractionPrec;
+  UInt32 fractionPrec = 0;
   DatetimeValue dtValue(*strptr, REC_DATE_HOUR, REC_DATE_SECOND, fractionPrec,
                         (CmpCommon::getDefault(USE_OLD_DT_CONSTRUCTOR) == DF_ON));
   if ((! dtValue.isValid()) &&

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/cd9f7a1a/core/sql/parser/StmtDDLAlter.cpp
----------------------------------------------------------------------
diff --git a/core/sql/parser/StmtDDLAlter.cpp b/core/sql/parser/StmtDDLAlter.cpp
index b599ae7..bab9829 100644
--- a/core/sql/parser/StmtDDLAlter.cpp
+++ b/core/sql/parser/StmtDDLAlter.cpp
@@ -1971,6 +1971,17 @@ StmtDDLAlterTableAddColumn::synthesize()
     theColumn->traverseList(
          this,
          StmtDDLAlterTableAddColumn_visit);
+
+    ElemDDLColDefArray ColDefArray = getColDefArray();
+    ElemDDLColDef *pColDef = ColDefArray[0];
+    if (NOT pColDef->getColumnFamily().isNull())
+      {
+        //TEMPTEMP 
+        // Currently, DTM doesnt handle add columns with an explicit 
+        // column family as a transactional operation.
+        // Do not use ddl xns until that bug is fixed.
+        setDdlXns(FALSE);
+      }
   }
 }  //StmtDDLAlterTableAddColumn::synthesize()
 

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/cd9f7a1a/core/sql/parser/StmtDDLNode.cpp
----------------------------------------------------------------------
diff --git a/core/sql/parser/StmtDDLNode.cpp b/core/sql/parser/StmtDDLNode.cpp
index fdb0368..eab9ea2 100644
--- a/core/sql/parser/StmtDDLNode.cpp
+++ b/core/sql/parser/StmtDDLNode.cpp
@@ -60,6 +60,20 @@ StmtDDLInitializeSQL_visitRegisterUserElement(ElemDDLNode * pInitSQLNode,
 // member functions for class StmtDDLNode
 // -----------------------------------------------------------------------
 
+StmtDDLNode::StmtDDLNode(OperatorTypeEnum otype)
+     : ElemDDLNode(otype),
+       tableType_(COM_REGULAR_TABLE),
+       objectClass_(COM_CLASS_USER_TABLE),
+       isVolatile_(FALSE),
+       exeUtil_(FALSE),
+       isGhostObject_(FALSE),
+       inMemoryObjectDefn_(FALSE),
+       isExternal_(FALSE),
+       ddlXns_(FALSE)
+{ 
+  ddlXns_ = (CmpCommon::getDefault(DDL_TRANSACTIONS) == DF_ON);
+}
+
 // virtual destructor
 // To improve performance, do not use inline with virtual destructor
 StmtDDLNode::~StmtDDLNode()

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/cd9f7a1a/core/sql/parser/StmtDDLNode.h
----------------------------------------------------------------------
diff --git a/core/sql/parser/StmtDDLNode.h b/core/sql/parser/StmtDDLNode.h
index a2928c1..8a1d479 100644
--- a/core/sql/parser/StmtDDLNode.h
+++ b/core/sql/parser/StmtDDLNode.h
@@ -62,16 +62,7 @@ class StmtDDLNode : public ElemDDLNode
 public:
 
   // default constructor
-  StmtDDLNode(OperatorTypeEnum otype = DDL_ANY_STMT)
-  : ElemDDLNode(otype),
-    tableType_(COM_REGULAR_TABLE),
-    objectClass_(COM_CLASS_USER_TABLE),
-    isVolatile_(FALSE),
-    exeUtil_(FALSE),
-    isGhostObject_(FALSE),
-    inMemoryObjectDefn_(FALSE),
-    isExternal_(FALSE)
-  { }
+  StmtDDLNode(OperatorTypeEnum otype = DDL_ANY_STMT);
 
   // virtual destructor
   virtual ~StmtDDLNode();
@@ -132,6 +123,8 @@ public:
 
   virtual NABoolean explainSupported() { return FALSE; }
 
+  NABoolean ddlXns() { return ddlXns_; }
+  void setDdlXns(NABoolean v) { ddlXns_ = v; }
 private:
 
   ComTableType	  tableType_;
@@ -155,6 +148,8 @@ private:
   // if this DDL operation was specified using EXTERNAL syntax.
   NABoolean isExternal_;
 
+  // if TRUE, this ddl operation will run using DTM transactions
+  NABoolean ddlXns_;
 }; // class StmtDDLNode
 
 // -----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/cd9f7a1a/core/sql/regress/core/DIFF116.KNOWN.SB
----------------------------------------------------------------------
diff --git a/core/sql/regress/core/DIFF116.KNOWN.SB b/core/sql/regress/core/DIFF116.KNOWN.SB
new file mode 100644
index 0000000..7db919b
--- /dev/null
+++ b/core/sql/regress/core/DIFF116.KNOWN.SB
@@ -0,0 +1,21 @@
+467c467,469
+< --- SQL operation complete.
+---
+> *** ERROR[8606] Transaction subsystem TMF returned error 73 on a commit transaction.
+> 
+> --- SQL operation failed with errors.
+470,471c472
+< -- Definition of table #CAT.#SCH.T116T1
+< -- Definition current
+---
+> *** ERROR[4254] Object #CAT.#SCH.T116T1 has invalid state and cannot be accessed. Use cleanup command to drop it.
+473,475c474
+<  (
+<  A INT NO DEFAULT NOT NULL NOT DROPPABLE
+<  )
+---
+> *** ERROR[4082] Object #CAT.#SCH.T116T1 does not exist or is inaccessible.
+477c476
+< --- SQL operation complete.
+---
+> --- SQL operation failed with errors.

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/cd9f7a1a/core/sql/regress/core/EXPECTED056.SB
----------------------------------------------------------------------
diff --git a/core/sql/regress/core/EXPECTED056.SB b/core/sql/regress/core/EXPECTED056.SB
index 4ddfcd4..a2bd39e 100755
--- a/core/sql/regress/core/EXPECTED056.SB
+++ b/core/sql/regress/core/EXPECTED056.SB
@@ -1,14 +1,14 @@
 >>obey TEST056(tests1);
 >>showddl T056t10;
 
-CREATE TABLE SEABASE.SCH.T056T10
+CREATE TABLE TRAFODION.SCH.T056T10
   (
     SWALLOW                          INT DEFAULT 121 NOT NULL NOT DROPPABLE
   , BARNOWL                          INT DEFAULT 1000 NOT NULL NOT DROPPABLE
   )
 ;
 
-CREATE UNIQUE INDEX T056IN5 ON SEABASE.SCH.T056T10
+CREATE UNIQUE INDEX T056IN5 ON TRAFODION.SCH.T056T10
   (
     BARNOWL ASC
   )
@@ -22,7 +22,7 @@ CREATE UNIQUE INDEX T056IN5 ON SEABASE.SCH.T056T10
 >>--showlabel index T056in5,detail;
 >>showddl T056t11;
 
-CREATE TABLE SEABASE.SCH.T056T11
+CREATE TABLE TRAFODION.SCH.T056T11
   (
     WREN                             INT NO DEFAULT NOT NULL NOT DROPPABLE
   , JUNCO                            INT NO DEFAULT NOT NULL NOT DROPPABLE
@@ -31,7 +31,7 @@ CREATE TABLE SEABASE.SCH.T056T11
   )
 ;
 
-CREATE UNIQUE INDEX T056IN6 ON SEABASE.SCH.T056T11
+CREATE UNIQUE INDEX T056IN6 ON TRAFODION.SCH.T056T11
   (
     BLACKBIRD ASC
   )
@@ -102,7 +102,7 @@ CREATE UNIQUE INDEX T056IN6 ON SEABASE.SCH.T056T11
 >>
 >>showddl T056t10;
 
-CREATE TABLE SEABASE.SCH.T056T10
+CREATE TABLE TRAFODION.SCH.T056T10
   (
     SWALLOW                          INT DEFAULT 121 NOT NULL NOT DROPPABLE
   , BARNOWL                          INT DEFAULT 1000 NOT NULL NOT DROPPABLE
@@ -135,7 +135,7 @@ ALTER TABLE TRAFODION.SCH.T056T10 ADD CONSTRAINT TRAFODION.SCH.DUCK_PK UNIQUE
 --- SQL operation complete.
 >>showddl T056t11;
 
-CREATE TABLE SEABASE.SCH.T056T11
+CREATE TABLE TRAFODION.SCH.T056T11
   (
     WREN                             INT NO DEFAULT NOT NULL NOT DROPPABLE
   , JUNCO                            INT NO DEFAULT NOT NULL NOT DROPPABLE
@@ -185,10 +185,10 @@ ALTER TABLE TRAFODION.SCH.T056T11 ADD CONSTRAINT TRAFODION.SCH.T056T11_CK
 >>#ifMX
 >>showddl T056vw12;
 
-CREATE VIEW SEABASE.SCH.T056VW12 AS
-  SELECT SEABASE.SCH.T056T10.DUCK, SEABASE.SCH.T056T11.RAVEN,
-    SEABASE.SCH.T056T10.SWALLOW, SEABASE.SCH.T056T11.WREN FROM
-    SEABASE.SCH.T056T10, SEABASE.SCH.T056T11 ;
+CREATE VIEW TRAFODION.SCH.T056VW12 AS
+  SELECT TRAFODION.SCH.T056T10.DUCK, TRAFODION.SCH.T056T11.RAVEN,
+    TRAFODION.SCH.T056T10.SWALLOW, TRAFODION.SCH.T056T11.WREN FROM
+    TRAFODION.SCH.T056T10, TRAFODION.SCH.T056T11 ;
 
 --- SQL operation complete.
 >>#ifMX
@@ -1127,7 +1127,6 @@ ORDERS       SmallInt  VCH1  VCH2
 
 --- 14 row(s) selected.
 >>
->>--#ifndef SEABASE_REGRESS
 >>begin work;
 
 --- SQL operation complete.
@@ -1149,10 +1148,17 @@ ORDERS       SmallInt  VCH1  VCH2
 >>
 >>alter table T056t34 add vch3 varchar(3) default 'neo';
 
-*** ERROR[20123] A user-defined transaction has been started. This DDL operation cannot be performed.
+--- SQL operation complete.
+>>
+>>update T056t34 set vch3 = 'new' where vch1 = 'v';
 
---- SQL operation failed with errors.
+--- 1 row(s) updated.
 >>
+>>rollback;
+
+--- SQL operation complete.
+>>
+>>-- this should return error. Col vch3 will be removed as part of rollback.
 >>update T056t34 set vch3 = 'new' where vch1 = 'v';
 
 *** ERROR[4001] Column VCH3 is not found.  Tables in scope: TRAFODION.SCH.T056T34.  Default schema: TRAFODION.SCH.
@@ -1160,11 +1166,6 @@ ORDERS       SmallInt  VCH1  VCH2
 *** ERROR[8822] The statement was not prepared.
 
 >>
->>rollback;
-
---- SQL operation complete.
->>--#endif
->>
 >>delete from T056t34 where orders > 2 and orders < 12
 +>                       or orders = 51;
 
@@ -2030,7 +2031,7 @@ T056T56_COL            T056T56_COL2  T056T56_COL3  T056T56_COL4
 --- SQL operation complete.
 >>showddl t056t57;
 
-CREATE TABLE SEABASE.SCH.T056T57
+CREATE TABLE TRAFODION.SCH.T056T57
   (
     A1                               NUMERIC(2, 2) DEFAULT 0 NOT NULL NOT
       DROPPABLE
@@ -2055,7 +2056,7 @@ A1
 --- SQL operation complete.
 >>showddl t056t58;
 
-CREATE TABLE SEABASE.SCH.T056T58
+CREATE TABLE TRAFODION.SCH.T056T58
   (
     A1                               DECIMAL(4, 4) DEFAULT -0.0000 NOT NULL NOT
       DROPPABLE
@@ -2080,7 +2081,7 @@ A1
 --- SQL operation complete.
 >>showddl t056t59;
 
-CREATE TABLE SEABASE.SCH.T056T59
+CREATE TABLE TRAFODION.SCH.T056T59
   (
     A1                               DECIMAL(3, 3) DEFAULT -0000.12 NOT NULL
       NOT DROPPABLE
@@ -2105,7 +2106,7 @@ A1
 --- SQL operation complete.
 >>showddl t056t60;
 
-CREATE TABLE SEABASE.SCH.T056T60
+CREATE TABLE TRAFODION.SCH.T056T60
   (
     A1                               NUMERIC(2, 2) UNSIGNED DEFAULT 0.00 NOT
       NULL NOT DROPPABLE
@@ -2130,7 +2131,7 @@ A1
 --- SQL operation complete.
 >>showddl t056t61;
 
-CREATE TABLE SEABASE.SCH.T056T61
+CREATE TABLE TRAFODION.SCH.T056T61
   (
     A1                               NUMERIC(2, 2) DEFAULT -0.0 NOT NULL NOT
       DROPPABLE
@@ -2918,7 +2919,7 @@ I                     VCH1  VCH2  VCH3
 >>obey test056(test6NullVarchar);
 >>drop table t056t64;
 
-*** ERROR[1389] Object SEABASE.SCH.T056T64 does not exist in SeaBase.
+*** ERROR[1389] Object TRAFODION.SCH.T056T64 does not exist in Trafodion.
 
 --- SQL operation failed with errors.
 >>create table t056t64

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/cd9f7a1a/core/sql/regress/core/EXPECTED116
----------------------------------------------------------------------
diff --git a/core/sql/regress/core/EXPECTED116 b/core/sql/regress/core/EXPECTED116
index ec5d614..5a36506 100644
--- a/core/sql/regress/core/EXPECTED116
+++ b/core/sql/regress/core/EXPECTED116
@@ -1,6 +1,3 @@
->>set parserflags 131072;
-
---- SQL operation complete.
 >>control query default DDL_TRANSACTIONS 'ON';
 
 --- SQL operation complete.
@@ -16,45 +13,26 @@
 >>create table t116t2(a2 int, c2 int, b2 char(6));
 
 --- SQL operation complete.
->>sh `echo "exists '$TEST_SCHEMA.T116T1'" | regrhbase.ksh >> LOG116`;
-HBase Shell; enter 'help<RETURN>' for list of supported commands.
-Type "exit<RETURN>" to leave the HBase Shell
-Version 0.98.6-cdh5.3.0, rUnknown, Tue Dec 16 19:18:44 PST 2014
+>>get user hbase objects, match 'TRAFODION.SCH.T116T1';
 
-exists 'TRAFODION.SCH.T116T1'
-Table TRAFODION.SCH.T116T1 does exist
-0 row(s) in 1.2310 seconds
+TRAFODION.SCH.T116T1
 
->>sh `echo "exists '$TEST_SCHEMA.T116T2'" | regrhbase.ksh >> LOG116`;
-HBase Shell; enter 'help<RETURN>' for list of supported commands.
-Type "exit<RETURN>" to leave the HBase Shell
-Version 0.98.6-cdh5.3.0, rUnknown, Tue Dec 16 19:18:44 PST 2014
+--- SQL operation complete.
+>>get user hbase objects, match 'TRAFODION.SCH.T116T2';
 
-exists 'TRAFODION.SCH.T116T2'
-Table TRAFODION.SCH.T116T2 does exist
-0 row(s) in 1.2080 seconds
+TRAFODION.SCH.T116T2
 
+--- SQL operation complete.
+>>
 >>rollback work;
 
 --- SQL operation complete.
->>sh `echo "exists '$TEST_SCHEMA.T116T1'" | regrhbase.ksh >> LOG116`;
-HBase Shell; enter 'help<RETURN>' for list of supported commands.
-Type "exit<RETURN>" to leave the HBase Shell
-Version 0.98.6-cdh5.3.0, rUnknown, Tue Dec 16 19:18:44 PST 2014
-
-exists 'TRAFODION.SCH.T116T1'
-Table TRAFODION.SCH.T116T1 does not exist
-0 row(s) in 1.2200 seconds
+>>get user hbase objects, match 'TRAFODION.SCH.T116T1';
 
->>sh `echo "exists '$TEST_SCHEMA.T116T2'" | regrhbase.ksh >> LOG116`;
-HBase Shell; enter 'help<RETURN>' for list of supported commands.
-Type "exit<RETURN>" to leave the HBase Shell
-Version 0.98.6-cdh5.3.0, rUnknown, Tue Dec 16 19:18:44 PST 2014
-
-exists 'TRAFODION.SCH.T116T2'
-Table TRAFODION.SCH.T116T2 does not exist
-0 row(s) in 1.2600 seconds
+--- SQL operation complete.
+>>get user hbase objects, match 'TRAFODION.SCH.T116T2';
 
+--- SQL operation complete.
 >>
 >>--repeat the same tables again
 >>------------------------------
@@ -67,45 +45,25 @@ Table TRAFODION.SCH.T116T2 does not exist
 >>create table t116t2(a2 int, c2 int, b2 char(6));
 
 --- SQL operation complete.
->>sh `echo "exists '$TEST_SCHEMA.T116T1'" | regrhbase.ksh >> LOG116`;
-HBase Shell; enter 'help<RETURN>' for list of supported commands.
-Type "exit<RETURN>" to leave the HBase Shell
-Version 0.98.6-cdh5.3.0, rUnknown, Tue Dec 16 19:18:44 PST 2014
+>>get user hbase objects, match 'TRAFODION.SCH.T116T1';
 
-exists 'TRAFODION.SCH.T116T1'
-Table TRAFODION.SCH.T116T1 does exist
-0 row(s) in 1.2480 seconds
+TRAFODION.SCH.T116T1
 
->>sh `echo "exists '$TEST_SCHEMA.T116T2'" | regrhbase.ksh >> LOG116`;
-HBase Shell; enter 'help<RETURN>' for list of supported commands.
-Type "exit<RETURN>" to leave the HBase Shell
-Version 0.98.6-cdh5.3.0, rUnknown, Tue Dec 16 19:18:44 PST 2014
+--- SQL operation complete.
+>>get user hbase objects, match 'TRAFODION.SCH.T116T2';
 
-exists 'TRAFODION.SCH.T116T2'
-Table TRAFODION.SCH.T116T2 does exist
-0 row(s) in 1.1770 seconds
+TRAFODION.SCH.T116T2
 
+--- SQL operation complete.
 >>rollback work;
 
 --- SQL operation complete.
->>sh `echo "exists '$TEST_SCHEMA.T116T1'" | regrhbase.ksh >> LOG116`;
-HBase Shell; enter 'help<RETURN>' for list of supported commands.
-Type "exit<RETURN>" to leave the HBase Shell
-Version 0.98.6-cdh5.3.0, rUnknown, Tue Dec 16 19:18:44 PST 2014
+>>get user hbase objects, match 'TRAFODION.SCH.T116T1';
 
-exists 'TRAFODION.SCH.T116T1'
-Table TRAFODION.SCH.T116T1 does not exist
-0 row(s) in 1.1770 seconds
-
->>sh `echo "exists '$TEST_SCHEMA.T116T2'" | regrhbase.ksh >> LOG116`;
-HBase Shell; enter 'help<RETURN>' for list of supported commands.
-Type "exit<RETURN>" to leave the HBase Shell
-Version 0.98.6-cdh5.3.0, rUnknown, Tue Dec 16 19:18:44 PST 2014
-
-exists 'TRAFODION.SCH.T116T2'
-Table TRAFODION.SCH.T116T2 does not exist
-0 row(s) in 1.1750 seconds
+--- SQL operation complete.
+>>get user hbase objects, match 'TRAFODION.SCH.T116T2';
 
+--- SQL operation complete.
 >>
 >>-- unique constraint
 >>---------------------
@@ -118,45 +76,25 @@ Table TRAFODION.SCH.T116T2 does not exist
 >>alter table t116t1 add constraint tc1 unique (c1);
 
 --- SQL operation complete.
->>sh `echo "exists '$TEST_SCHEMA.T116T1'" | regrhbase.ksh >> LOG116`;
-HBase Shell; enter 'help<RETURN>' for list of supported commands.
-Type "exit<RETURN>" to leave the HBase Shell
-Version 0.98.6-cdh5.3.0, rUnknown, Tue Dec 16 19:18:44 PST 2014
+>>get user hbase objects, match 'TRAFODION.SCH.T116T1';
 
-exists 'TRAFODION.SCH.T116T1'
-Table TRAFODION.SCH.T116T1 does exist
-0 row(s) in 1.2840 seconds
+TRAFODION.SCH.T116T1
 
->>sh `echo "exists '$TEST_SCHEMA.TC1'" | regrhbase.ksh >> LOG116`;
-HBase Shell; enter 'help<RETURN>' for list of supported commands.
-Type "exit<RETURN>" to leave the HBase Shell
-Version 0.98.6-cdh5.3.0, rUnknown, Tue Dec 16 19:18:44 PST 2014
+--- SQL operation complete.
+>>get user hbase objects, match 'TRAFODION.SCH.TC1';
 
-exists 'TRAFODION.SCH.TC1'
-Table TRAFODION.SCH.TC1 does exist
-0 row(s) in 1.1420 seconds
+TRAFODION.SCH.TC1
 
+--- SQL operation complete.
 >>rollback work;
 
 --- SQL operation complete.
->>sh `echo "exists '$TEST_SCHEMA.T116T1'" | regrhbase.ksh >> LOG116`;
-HBase Shell; enter 'help<RETURN>' for list of supported commands.
-Type "exit<RETURN>" to leave the HBase Shell
-Version 0.98.6-cdh5.3.0, rUnknown, Tue Dec 16 19:18:44 PST 2014
-
-exists 'TRAFODION.SCH.T116T1'
-Table TRAFODION.SCH.T116T1 does not exist
-0 row(s) in 1.2250 seconds
-
->>sh `echo "exists '$TEST_SCHEMA.TC1'" | regrhbase.ksh >> LOG116`;
-HBase Shell; enter 'help<RETURN>' for list of supported commands.
-Type "exit<RETURN>" to leave the HBase Shell
-Version 0.98.6-cdh5.3.0, rUnknown, Tue Dec 16 19:18:44 PST 2014
+>>get user hbase objects, match 'TRAFODION.SCH.T116T1';
 
-exists 'TRAFODION.SCH.TC1'
-Table TRAFODION.SCH.TC1 does not exist
-0 row(s) in 1.3010 seconds
+--- SQL operation complete.
+>>get user hbase objects, match 'TRAFODION.SCH.TC1';
 
+--- SQL operation complete.
 >>
 >>--setup two tables
 >>-------------------
@@ -181,15 +119,11 @@ Table TRAFODION.SCH.TC1 does not exist
 >>
 >>--drop table simple case
 >>--------------------------
->>sh `echo "exists '$TEST_SCHEMA.T116T1'" | regrhbase.ksh >> LOG116`;
-HBase Shell; enter 'help<RETURN>' for list of supported commands.
-Type "exit<RETURN>" to leave the HBase Shell
-Version 0.98.6-cdh5.3.0, rUnknown, Tue Dec 16 19:18:44 PST 2014
+>>get user hbase objects, match 'TRAFODION.SCH.T116T1';
 
-exists 'TRAFODION.SCH.T116T1'
-Table TRAFODION.SCH.T116T1 does exist
-0 row(s) in 1.1350 seconds
+TRAFODION.SCH.T116T1
 
+--- SQL operation complete.
 >>begin work;
 
 --- SQL operation complete.
@@ -199,27 +133,18 @@ Table TRAFODION.SCH.T116T1 does exist
 >>commit work;
 
 --- SQL operation complete.
->>sh `echo "exists '$TEST_SCHEMA.T116T1'" | regrhbase.ksh >> LOG116`;
-HBase Shell; enter 'help<RETURN>' for list of supported commands.
-Type "exit<RETURN>" to leave the HBase Shell
-Version 0.98.6-cdh5.3.0, rUnknown, Tue Dec 16 19:18:44 PST 2014
-
-exists 'TRAFODION.SCH.T116T1'
-Table TRAFODION.SCH.T116T1 does not exist
-0 row(s) in 1.1660 seconds
+>>get user hbase objects, match 'TRAFODION.SCH.T116T1';
 
+--- SQL operation complete.
 >>
 >>--drop table with rollback
 >>----------------------------
->>sh `echo "exists '$TEST_SCHEMA.T116T2'" | regrhbase.ksh >> LOG116`;
-HBase Shell; enter 'help<RETURN>' for list of supported commands.
-Type "exit<RETURN>" to leave the HBase Shell
-Version 0.98.6-cdh5.3.0, rUnknown, Tue Dec 16 19:18:44 PST 2014
+>>--sh `echo "exists '$TEST_SCHEMA.T116T2'" | regrhbase.ksh >> LOG116`;
+>>get user hbase objects, match 'TRAFODION.SCH.T116T2';
 
-exists 'TRAFODION.SCH.T116T2'
-Table TRAFODION.SCH.T116T2 does exist
-0 row(s) in 1.2350 seconds
+TRAFODION.SCH.T116T2
 
+--- SQL operation complete.
 >>begin work;
 
 --- SQL operation complete.
@@ -250,27 +175,19 @@ A1           C1           B1
 
 *** ERROR[8822] The statement was not prepared.
 
->>sh `echo "exists '$TEST_SCHEMA.T116T2'" | regrhbase.ksh >> LOG116`;
-HBase Shell; enter 'help<RETURN>' for list of supported commands.
-Type "exit<RETURN>" to leave the HBase Shell
-Version 0.98.6-cdh5.3.0, rUnknown, Tue Dec 16 19:18:44 PST 2014
+>>get user hbase objects, match 'TRAFODION.SCH.T116T2';
 
-exists 'TRAFODION.SCH.T116T2'
-Table TRAFODION.SCH.T116T2 does exist
-0 row(s) in 1.2070 seconds
+TRAFODION.SCH.T116T2
 
+--- SQL operation complete.
 >>rollback work;
 
 --- SQL operation complete.
->>sh `echo "exists '$TEST_SCHEMA.T116T2'" | regrhbase.ksh >> LOG116`;
-HBase Shell; enter 'help<RETURN>' for list of supported commands.
-Type "exit<RETURN>" to leave the HBase Shell
-Version 0.98.6-cdh5.3.0, rUnknown, Tue Dec 16 19:18:44 PST 2014
+>>get user hbase objects, match 'TRAFODION.SCH.T116T2';
 
-exists 'TRAFODION.SCH.T116T2'
-Table TRAFODION.SCH.T116T2 does exist
-0 row(s) in 1.2070 seconds
+TRAFODION.SCH.T116T2
 
+--- SQL operation complete.
 >>select * from t116t2;
 
 A1           C1           B1    
@@ -294,24 +211,14 @@ A1           C1           B1
 >>
 >>--create table1 with dml, drop table2
 >>-------------------------------------
->>sh `echo "exists '$TEST_SCHEMA.T116T2'" | regrhbase.ksh >> LOG116`;
-HBase Shell; enter 'help<RETURN>' for list of supported commands.
-Type "exit<RETURN>" to leave the HBase Shell
-Version 0.98.6-cdh5.3.0, rUnknown, Tue Dec 16 19:18:44 PST 2014
+>>get user hbase objects, match 'TRAFODION.SCH.T116T2';
 
-exists 'TRAFODION.SCH.T116T2'
-Table TRAFODION.SCH.T116T2 does exist
-0 row(s) in 1.1940 seconds
+TRAFODION.SCH.T116T2
 
->>sh `echo "exists '$TEST_SCHEMA.T116T3'" | regrhbase.ksh >> LOG116`;
-HBase Shell; enter 'help<RETURN>' for list of supported commands.
-Type "exit<RETURN>" to leave the HBase Shell
-Version 0.98.6-cdh5.3.0, rUnknown, Tue Dec 16 19:18:44 PST 2014
-
-exists 'TRAFODION.SCH.T116T3'
-Table TRAFODION.SCH.T116T3 does not exist
-0 row(s) in 1.2370 seconds
+--- SQL operation complete.
+>>get user hbase objects, match 'TRAFODION.SCH.T116T3';
 
+--- SQL operation complete.
 >>begin work;
 
 --- SQL operation complete.
@@ -321,69 +228,41 @@ Table TRAFODION.SCH.T116T3 does not exist
 >>insert into t116t3 values(2,2,'b');
 
 --- 1 row(s) inserted.
->>sh `echo "exists '$TEST_SCHEMA.T116T2'" | regrhbase.ksh >> LOG116`;
-HBase Shell; enter 'help<RETURN>' for list of supported commands.
-Type "exit<RETURN>" to leave the HBase Shell
-Version 0.98.6-cdh5.3.0, rUnknown, Tue Dec 16 19:18:44 PST 2014
+>>get user hbase objects, match 'TRAFODION.SCH.T116T2';
 
-exists 'TRAFODION.SCH.T116T2'
-Table TRAFODION.SCH.T116T2 does exist
-0 row(s) in 1.2660 seconds
+TRAFODION.SCH.T116T2
 
->>sh `echo "exists '$TEST_SCHEMA.T116T3'" | regrhbase.ksh >> LOG116`;
-HBase Shell; enter 'help<RETURN>' for list of supported commands.
-Type "exit<RETURN>" to leave the HBase Shell
-Version 0.98.6-cdh5.3.0, rUnknown, Tue Dec 16 19:18:44 PST 2014
+--- SQL operation complete.
+>>get user hbase objects, match 'TRAFODION.SCH.T116T3';
 
-exists 'TRAFODION.SCH.T116T3'
-Table TRAFODION.SCH.T116T3 does exist
-0 row(s) in 1.1690 seconds
+TRAFODION.SCH.T116T3
 
+--- SQL operation complete.
 >>drop table t116t2;
 
 --- SQL operation complete.
 >>commit work;
 
 --- SQL operation complete.
->>sh `echo "exists '$TEST_SCHEMA.T116T2'" | regrhbase.ksh >> LOG116`;
-HBase Shell; enter 'help<RETURN>' for list of supported commands.
-Type "exit<RETURN>" to leave the HBase Shell
-Version 0.98.6-cdh5.3.0, rUnknown, Tue Dec 16 19:18:44 PST 2014
+>>get user hbase objects, match 'TRAFODION.SCH.T116T2';
 
-exists 'TRAFODION.SCH.T116T2'
-Table TRAFODION.SCH.T116T2 does not exist
-0 row(s) in 1.2380 seconds
-
->>sh `echo "exists '$TEST_SCHEMA.T116T3'" | regrhbase.ksh >> LOG116`;
-HBase Shell; enter 'help<RETURN>' for list of supported commands.
-Type "exit<RETURN>" to leave the HBase Shell
-Version 0.98.6-cdh5.3.0, rUnknown, Tue Dec 16 19:18:44 PST 2014
+--- SQL operation complete.
+>>get user hbase objects, match 'TRAFODION.SCH.T116T3';
 
-exists 'TRAFODION.SCH.T116T3'
-Table TRAFODION.SCH.T116T3 does exist
-0 row(s) in 1.2930 seconds
+TRAFODION.SCH.T116T3
 
+--- SQL operation complete.
 >>
 >>--create table1 with dml , drop table2 and rollback
 >>---------------------------------------------------
->>sh `echo "exists '$TEST_SCHEMA.T116T3'" | regrhbase.ksh >> LOG116`;
-HBase Shell; enter 'help<RETURN>' for list of supported commands.
-Type "exit<RETURN>" to leave the HBase Shell
-Version 0.98.6-cdh5.3.0, rUnknown, Tue Dec 16 19:18:44 PST 2014
+>>get user hbase objects, match 'TRAFODION.SCH.T116T3';
 
-exists 'TRAFODION.SCH.T116T3'
-Table TRAFODION.SCH.T116T3 does exist
-0 row(s) in 1.2740 seconds
+TRAFODION.SCH.T116T3
 
->>sh `echo "exists '$TEST_SCHEMA.T116T4'" | regrhbase.ksh >> LOG116`;
-HBase Shell; enter 'help<RETURN>' for list of supported commands.
-Type "exit<RETURN>" to leave the HBase Shell
-Version 0.98.6-cdh5.3.0, rUnknown, Tue Dec 16 19:18:44 PST 2014
-
-exists 'TRAFODION.SCH.T116T4'
-Table TRAFODION.SCH.T116T4 does not exist
-0 row(s) in 1.1730 seconds
+--- SQL operation complete.
+>>get user hbase objects, match 'TRAFODION.SCH.T116T4';
 
+--- SQL operation complete.
 >>begin work;
 
 --- SQL operation complete.
@@ -393,24 +272,16 @@ Table TRAFODION.SCH.T116T4 does not exist
 >>insert into t116t4 values(2,2,'b');
 
 --- 1 row(s) inserted.
->>sh `echo "exists '$TEST_SCHEMA.T116T3'" | regrhbase.ksh >> LOG116`;
-HBase Shell; enter 'help<RETURN>' for list of supported commands.
-Type "exit<RETURN>" to leave the HBase Shell
-Version 0.98.6-cdh5.3.0, rUnknown, Tue Dec 16 19:18:44 PST 2014
+>>get user hbase objects, match 'TRAFODION.SCH.T116T3';
 
-exists 'TRAFODION.SCH.T116T3'
-Table TRAFODION.SCH.T116T3 does exist
-0 row(s) in 1.1590 seconds
+TRAFODION.SCH.T116T3
 
->>sh `echo "exists '$TEST_SCHEMA.T116T4'" | regrhbase.ksh >> LOG116`;
-HBase Shell; enter 'help<RETURN>' for list of supported commands.
-Type "exit<RETURN>" to leave the HBase Shell
-Version 0.98.6-cdh5.3.0, rUnknown, Tue Dec 16 19:18:44 PST 2014
+--- SQL operation complete.
+>>get user hbase objects, match 'TRAFODION.SCH.T116T4';
 
-exists 'TRAFODION.SCH.T116T4'
-Table TRAFODION.SCH.T116T4 does exist
-0 row(s) in 1.2290 seconds
+TRAFODION.SCH.T116T4
 
+--- SQL operation complete.
 >>select * from t116t3;
 
 A1           C1           B1    
@@ -428,36 +299,22 @@ A1           C1           B1
 
 *** ERROR[8822] The statement was not prepared.
 
->>sh `echo "exists '$TEST_SCHEMA.T116T3'" | regrhbase.ksh >> LOG116`;
-HBase Shell; enter 'help<RETURN>' for list of supported commands.
-Type "exit<RETURN>" to leave the HBase Shell
-Version 0.98.6-cdh5.3.0, rUnknown, Tue Dec 16 19:18:44 PST 2014
+>>get user hbase objects, match 'TRAFODION.SCH.T116T3';
 
-exists 'TRAFODION.SCH.T116T3'
-Table TRAFODION.SCH.T116T3 does exist
-0 row(s) in 1.3560 seconds
+TRAFODION.SCH.T116T3
 
+--- SQL operation complete.
 >>rollback work;
 
 --- SQL operation complete.
->>sh `echo "exists '$TEST_SCHEMA.T116T3'" | regrhbase.ksh >> LOG116`;
-HBase Shell; enter 'help<RETURN>' for list of supported commands.
-Type "exit<RETURN>" to leave the HBase Shell
-Version 0.98.6-cdh5.3.0, rUnknown, Tue Dec 16 19:18:44 PST 2014
-
-exists 'TRAFODION.SCH.T116T3'
-Table TRAFODION.SCH.T116T3 does exist
-0 row(s) in 1.2320 seconds
+>>get user hbase objects, match 'TRAFODION.SCH.T116T3';
 
->>sh `echo "exists '$TEST_SCHEMA.T116T4'" | regrhbase.ksh >> LOG116`;
-HBase Shell; enter 'help<RETURN>' for list of supported commands.
-Type "exit<RETURN>" to leave the HBase Shell
-Version 0.98.6-cdh5.3.0, rUnknown, Tue Dec 16 19:18:44 PST 2014
+TRAFODION.SCH.T116T3
 
-exists 'TRAFODION.SCH.T116T4'
-Table TRAFODION.SCH.T116T4 does not exist
-0 row(s) in 1.2680 seconds
+--- SQL operation complete.
+>>get user hbase objects, match 'TRAFODION.SCH.T116T4';
 
+--- SQL operation complete.
 >>select * from t116t3;
 
 A1           C1           B1    
@@ -470,5 +327,242 @@ A1           C1           B1
 
 --- 1 row(s) inserted.
 >>
+>>-- tests to validate ddl definitions are correctly loaded
+>>drop table if exists t116t1;
+
+--- SQL operation complete.
+>>create table t116t1(a int not null, b varchar(2), 
++>   c varchar(4) character set utf8 not null);
+
+--- SQL operation complete.
+>>invoke t116t1;
+
+-- Definition of Trafodion table TRAFODION.SCH.T116T1
+-- Definition current  Mon Feb 15 16:04:39 2016
+
+  (
+    A                                INT NO DEFAULT NOT NULL NOT DROPPABLE
+  , B                                VARCHAR(2) CHARACTER SET ISO88591 COLLATE
+      DEFAULT DEFAULT NULL
+  , C                                VARCHAR(4 CHARS) CHARACTER SET UTF8
+      COLLATE DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE
+  )
+
+--- SQL operation complete.
+>>begin work;
+
+--- SQL operation complete.
+>>alter table t116t1 alter column b varchar(3);
+
+--- SQL operation complete.
+>>invoke t116t1;
+
+-- Definition of Trafodion table TRAFODION.SCH.T116T1
+-- Definition current  Mon Feb 15 16:04:40 2016
+
+  (
+    A                                INT NO DEFAULT NOT NULL NOT DROPPABLE
+  , B                                VARCHAR(3) CHARACTER SET ISO88591 COLLATE
+      DEFAULT DEFAULT NULL
+  , C                                VARCHAR(4 CHARS) CHARACTER SET UTF8
+      COLLATE DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE
+  )
+
+--- SQL operation complete.
+>>commit work;
+
+--- SQL operation complete.
+>>invoke t116t1;
+
+-- Definition of Trafodion table TRAFODION.SCH.T116T1
+-- Definition current  Mon Feb 15 16:04:51 2016
+
+  (
+    A                                INT NO DEFAULT NOT NULL NOT DROPPABLE
+  , B                                VARCHAR(3) CHARACTER SET ISO88591 COLLATE
+      DEFAULT DEFAULT NULL
+  , C                                VARCHAR(4 CHARS) CHARACTER SET UTF8
+      COLLATE DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE
+  )
+
+--- SQL operation complete.
+>>
+>>begin work;
+
+--- SQL operation complete.
+>>alter table t116t1 alter column b varchar(4);
+
+--- SQL operation complete.
+>>invoke t116t1;
+
+-- Definition of Trafodion table TRAFODION.SCH.T116T1
+-- Definition current  Mon Feb 15 16:04:52 2016
+
+  (
+    A                                INT NO DEFAULT NOT NULL NOT DROPPABLE
+  , B                                VARCHAR(4) CHARACTER SET ISO88591 COLLATE
+      DEFAULT DEFAULT NULL
+  , C                                VARCHAR(4 CHARS) CHARACTER SET UTF8
+      COLLATE DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE
+  )
+
+--- SQL operation complete.
+>>rollback work;
+
+--- SQL operation complete.
+>>
+>>invoke t116t1;
+
+-- Definition of Trafodion table TRAFODION.SCH.T116T1
+-- Definition current  Mon Feb 15 16:05:01 2016
+
+  (
+    A                                INT NO DEFAULT NOT NULL NOT DROPPABLE
+  , B                                VARCHAR(3) CHARACTER SET ISO88591 COLLATE
+      DEFAULT DEFAULT NULL
+  , C                                VARCHAR(4 CHARS) CHARACTER SET UTF8
+      COLLATE DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE
+  )
+
+--- SQL operation complete.
+>>
+>>-- concurrent ddl operations
+>>drop table if exists t116t1;
+
+--- SQL operation complete.
+>>begin work;
+
+--- SQL operation complete.
+>>create table t116t1 (a int);
+
+--- SQL operation complete.
+>>
+>>sh sqlci -iTEST116\(concurrent_ddl\) >> LOG116;
+Apache Trafodion Conversational Interface 2.0.0
+Copyright (c) 2015 Apache Software Foundation
+>>?section concurrent_ddl
+>>cqd ddl_transactions 'ON';
+
+--- SQL operation complete.
+>>begin work;
+
+--- SQL operation complete.
+>>
+>>-- should fail
+>>create table t116t1 (a int);
+
+*** ERROR[1431] Object TRAFODION.SCH.T116T1 exists in HBase. This could be due to a concurrent transactional ddl operation in progress on this table.
+
+*** ERROR[8839] Transaction was aborted.
+
+--- SQL operation failed with errors.
+>>commit work;
+
+*** ERROR[8605] Committing a transaction which has not started.
+
+--- SQL operation failed with errors.
+>>exit;
+
+End of MXCI Session
+
+>>
+>>commit work;
+
+--- SQL operation complete.
+>>invoke t116t1;
+
+-- Definition of Trafodion table TRAFODION.SCH.T116T1
+-- Definition current  Mon Feb 15 16:05:22 2016
+
+  (
+    A                                INT DEFAULT NULL
+  )
+
+--- SQL operation complete.
+>>cleanup table t116t1;
+
+--- SQL operation complete.
+>>
+>>-- test table/schema drops and get stmts with read uncommitted access
+>>create schema if not exists t116sch1;
+
+--- SQL operation complete.
+>>set schema t116sch1;
+
+--- SQL operation complete.
+>>drop table if exists t116t1;
+
+--- SQL operation complete.
+>>drop table if exists t116t2;
+
+--- SQL operation complete.
+>>
+>>create table t116t1 (a int);
+
+--- SQL operation complete.
+>>begin work;
+
+--- SQL operation complete.
+>>get tables in schema t116sch1, match 'T116T1';
+
+Tables in Schema TRAFODION.T116SCH1
+===================================
+
+T116T1
+
+--- SQL operation complete.
+>>drop table t116t1;
+
+--- SQL operation complete.
+>>get tables in schema t116sch1;
+
+Tables in Schema TRAFODION.T116SCH1
+===================================
+
+SB_HISTOGRAMS
+SB_HISTOGRAM_INTERVALS
+
+--- SQL operation complete.
+>>create table t116t2 (a int);
+
+--- SQL operation complete.
+>>get tables in schema t116sch1;
+
+Tables in Schema TRAFODION.T116SCH1
+===================================
+
+SB_HISTOGRAMS
+SB_HISTOGRAM_INTERVALS
+T116T2
+
+--- SQL operation complete.
+>>drop schema t116sch1 cascade;
+
+--- SQL operation complete.
+>>get tables in schema t116sch1;
+
+--- SQL operation complete.
+>>select count(*) from "_MD_".objects where schema_name = 'T116SCH1' 
++>   for read uncommitted access;
+
+(EXPR)              
+--------------------
+
+                   0
+
+--- 1 row(s) selected.
+>>rollback work;
+
+--- SQL operation complete.
+>>get tables in schema t116sch1;
+
+Tables in Schema TRAFODION.T116SCH1
+===================================
+
+SB_HISTOGRAMS
+SB_HISTOGRAM_INTERVALS
+T116T1
+
+--- SQL operation complete.
 >>
 >>log;

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/cd9f7a1a/core/sql/regress/core/TEST056
----------------------------------------------------------------------
diff --git a/core/sql/regress/core/TEST056 b/core/sql/regress/core/TEST056
index 823f66e..8629a17 100755
--- a/core/sql/regress/core/TEST056
+++ b/core/sql/regress/core/TEST056
@@ -477,7 +477,6 @@ update T056t34 set sma1 = 99 where vch2 like '%vch2';
 
 select orders, sma1, vch1, vch2 from T056t34;
 
---#ifndef SEABASE_REGRESS
 begin work;
 
 update T056t34 set vch1 = 'v' where num1 > 10;
@@ -494,7 +493,9 @@ alter table T056t34 add vch3 varchar(3) default 'neo';
 update T056t34 set vch3 = 'new' where vch1 = 'v';
 
 rollback;
---#endif
+
+-- this should return error. Col vch3 will be removed as part of rollback.
+update T056t34 set vch3 = 'new' where vch1 = 'v';
 
 delete from T056t34 where orders > 2 and orders < 12
                        or orders = 51;

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/cd9f7a1a/core/sql/regress/core/TEST116
----------------------------------------------------------------------
diff --git a/core/sql/regress/core/TEST116 b/core/sql/regress/core/TEST116
index 4d33130..9d04754 100755
--- a/core/sql/regress/core/TEST116
+++ b/core/sql/regress/core/TEST116
@@ -25,9 +25,6 @@
 --      This test requires the ENV variable TM_ENABLE_DDL_TRANS
 --      is enabled in ms.env and environment restarted.
 --      Also DDL_TRANSACTIONS CQD must be 'ON'.
---      This test is not enabled in the regression test suite
---      by default. This test will be enabled default once the
---      ENV variable is disabled for good.
 -- Expected Files: EXPECTED116
 
 
@@ -39,7 +36,6 @@ drop table t116t3;
 
 
 log LOG116 clear;
-set parserflags 131072;
 control query default DDL_TRANSACTIONS 'ON';
 
 -- Simple create then rollback
@@ -47,33 +43,34 @@ control query default DDL_TRANSACTIONS 'ON';
 begin work;
 create table t116t1(a1 int, c1 int, b1 char(6));
 create table t116t2(a2 int, c2 int, b2 char(6));
-sh `echo "exists '$TEST_SCHEMA.T116T1'" | regrhbase.ksh >> LOG116`;
-sh `echo "exists '$TEST_SCHEMA.T116T2'" | regrhbase.ksh >> LOG116`;
+get user hbase objects, match 'TRAFODION.SCH.T116T1';
+get user hbase objects, match 'TRAFODION.SCH.T116T2';
+
 rollback work;
-sh `echo "exists '$TEST_SCHEMA.T116T1'" | regrhbase.ksh >> LOG116`;
-sh `echo "exists '$TEST_SCHEMA.T116T2'" | regrhbase.ksh >> LOG116`;
+get user hbase objects, match 'TRAFODION.SCH.T116T1';
+get user hbase objects, match 'TRAFODION.SCH.T116T2';
 
 --repeat the same tables again
 ------------------------------
 begin work;
 create table t116t1(a1 int, c1 int, b1 char(6));
 create table t116t2(a2 int, c2 int, b2 char(6));
-sh `echo "exists '$TEST_SCHEMA.T116T1'" | regrhbase.ksh >> LOG116`;
-sh `echo "exists '$TEST_SCHEMA.T116T2'" | regrhbase.ksh >> LOG116`;
+get user hbase objects, match 'TRAFODION.SCH.T116T1';
+get user hbase objects, match 'TRAFODION.SCH.T116T2';
 rollback work;
-sh `echo "exists '$TEST_SCHEMA.T116T1'" | regrhbase.ksh >> LOG116`;
-sh `echo "exists '$TEST_SCHEMA.T116T2'" | regrhbase.ksh >> LOG116`;
+get user hbase objects, match 'TRAFODION.SCH.T116T1';
+get user hbase objects, match 'TRAFODION.SCH.T116T2';
 
 -- unique constraint
 ---------------------
 begin work;
 create table t116t1(a1 int, c1 int, b1 char(6));
 alter table t116t1 add constraint tc1 unique (c1);
-sh `echo "exists '$TEST_SCHEMA.T116T1'" | regrhbase.ksh >> LOG116`;
-sh `echo "exists '$TEST_SCHEMA.TC1'" | regrhbase.ksh >> LOG116`;
+get user hbase objects, match 'TRAFODION.SCH.T116T1';
+get user hbase objects, match 'TRAFODION.SCH.TC1';
 rollback work;
-sh `echo "exists '$TEST_SCHEMA.T116T1'" | regrhbase.ksh >> LOG116`;
-sh `echo "exists '$TEST_SCHEMA.TC1'" | regrhbase.ksh >> LOG116`;
+get user hbase objects, match 'TRAFODION.SCH.T116T1';
+get user hbase objects, match 'TRAFODION.SCH.TC1';
 
 --setup two tables
 -------------------
@@ -86,60 +83,118 @@ commit work;
 
 --drop table simple case
 --------------------------
-sh `echo "exists '$TEST_SCHEMA.T116T1'" | regrhbase.ksh >> LOG116`;
+get user hbase objects, match 'TRAFODION.SCH.T116T1';
 begin work;
 drop table t116t1;
 commit work;
-sh `echo "exists '$TEST_SCHEMA.T116T1'" | regrhbase.ksh >> LOG116`;
+get user hbase objects, match 'TRAFODION.SCH.T116T1';
 
 --drop table with rollback
 ----------------------------
-sh `echo "exists '$TEST_SCHEMA.T116T2'" | regrhbase.ksh >> LOG116`;
+--sh `echo "exists '$TEST_SCHEMA.T116T2'" | regrhbase.ksh >> LOG116`;
+get user hbase objects, match 'TRAFODION.SCH.T116T2';
 begin work;
 insert into t116t2 values(3,3,'c');
 select * from t116t2;
 drop table t116t2;
 insert into t116t2 values(1,1,'a');
 select * from t116t2;
-sh `echo "exists '$TEST_SCHEMA.T116T2'" | regrhbase.ksh >> LOG116`;
+get user hbase objects, match 'TRAFODION.SCH.T116T2';
 rollback work;
-sh `echo "exists '$TEST_SCHEMA.T116T2'" | regrhbase.ksh >> LOG116`;
+get user hbase objects, match 'TRAFODION.SCH.T116T2';
 select * from t116t2;
 insert into t116t2 values(1,1,'a');
 select * from t116t2;
 
 --create table1 with dml, drop table2
 -------------------------------------
-sh `echo "exists '$TEST_SCHEMA.T116T2'" | regrhbase.ksh >> LOG116`;
-sh `echo "exists '$TEST_SCHEMA.T116T3'" | regrhbase.ksh >> LOG116`;
+get user hbase objects, match 'TRAFODION.SCH.T116T2';
+get user hbase objects, match 'TRAFODION.SCH.T116T3';
 begin work;
 create table t116t3(a1 int, c1 int, b1 char(6));
 insert into t116t3 values(2,2,'b');
-sh `echo "exists '$TEST_SCHEMA.T116T2'" | regrhbase.ksh >> LOG116`;
-sh `echo "exists '$TEST_SCHEMA.T116T3'" | regrhbase.ksh >> LOG116`;
+get user hbase objects, match 'TRAFODION.SCH.T116T2';
+get user hbase objects, match 'TRAFODION.SCH.T116T3';
 drop table t116t2;
 commit work;
-sh `echo "exists '$TEST_SCHEMA.T116T2'" | regrhbase.ksh >> LOG116`;
-sh `echo "exists '$TEST_SCHEMA.T116T3'" | regrhbase.ksh >> LOG116`;
+get user hbase objects, match 'TRAFODION.SCH.T116T2';
+get user hbase objects, match 'TRAFODION.SCH.T116T3';
 
 --create table1 with dml , drop table2 and rollback
 ---------------------------------------------------
-sh `echo "exists '$TEST_SCHEMA.T116T3'" | regrhbase.ksh >> LOG116`;
-sh `echo "exists '$TEST_SCHEMA.T116T4'" | regrhbase.ksh >> LOG116`;
+get user hbase objects, match 'TRAFODION.SCH.T116T3';
+get user hbase objects, match 'TRAFODION.SCH.T116T4';
 begin work;
 create table t116t4(a1 int, c1 int, b1 char(6));
 insert into t116t4 values(2,2,'b');
-sh `echo "exists '$TEST_SCHEMA.T116T3'" | regrhbase.ksh >> LOG116`;
-sh `echo "exists '$TEST_SCHEMA.T116T4'" | regrhbase.ksh >> LOG116`;
+get user hbase objects, match 'TRAFODION.SCH.T116T3';
+get user hbase objects, match 'TRAFODION.SCH.T116T4';
 select * from t116t3;
 drop table t116t3;
 insert into t116t3 values(2,2,'b');
-sh `echo "exists '$TEST_SCHEMA.T116T3'" | regrhbase.ksh >> LOG116`;
+get user hbase objects, match 'TRAFODION.SCH.T116T3';
 rollback work;
-sh `echo "exists '$TEST_SCHEMA.T116T3'" | regrhbase.ksh >> LOG116`;
-sh `echo "exists '$TEST_SCHEMA.T116T4'" | regrhbase.ksh >> LOG116`;
+get user hbase objects, match 'TRAFODION.SCH.T116T3';
+get user hbase objects, match 'TRAFODION.SCH.T116T4';
 select * from t116t3;
 insert into t116t3 values(2,2,'b');
 
+-- tests to validate ddl definitions are correctly loaded
+drop table if exists t116t1;
+create table t116t1(a int not null, b varchar(2), 
+   c varchar(4) character set utf8 not null);
+invoke t116t1;
+begin work;
+alter table t116t1 alter column b varchar(3);
+invoke t116t1;
+commit work;
+invoke t116t1;
+
+begin work;
+alter table t116t1 alter column b varchar(4);
+invoke t116t1;
+rollback work;
+
+invoke t116t1;
+
+-- concurrent ddl operations
+drop table if exists t116t1;
+begin work;
+create table t116t1 (a int);
+
+sh sqlci -iTEST116\(concurrent_ddl\) >> LOG116;
+
+commit work;
+invoke t116t1;
+cleanup table t116t1;
+
+-- test table/schema drops and get stmts with read uncommitted access
+create schema if not exists t116sch1;
+set schema t116sch1;
+drop table if exists t116t1;
+drop table if exists t116t2;
+
+create table t116t1 (a int);
+begin work;
+get tables in schema t116sch1, match 'T116T1';
+drop table t116t1;
+get tables in schema t116sch1;
+create table t116t2 (a int);
+get tables in schema t116sch1;
+drop schema t116sch1 cascade;
+get tables in schema t116sch1;
+select count(*) from "_MD_".objects where schema_name = 'T116SCH1' 
+   for read uncommitted access;
+rollback work;
+get tables in schema t116sch1;
 
 log;
+exit;
+
+?section concurrent_ddl
+cqd ddl_transactions 'ON';
+begin work;
+
+-- should fail
+create table t116t1 (a int);
+commit work;

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/cd9f7a1a/core/sql/regress/executor/EXPECTED013.SB
----------------------------------------------------------------------
diff --git a/core/sql/regress/executor/EXPECTED013.SB b/core/sql/regress/executor/EXPECTED013.SB
index e4faaec..258eee4 100644
--- a/core/sql/regress/executor/EXPECTED013.SB
+++ b/core/sql/regress/executor/EXPECTED013.SB
@@ -21,7 +21,7 @@
 >>invoke t013t1;
 
 -- Definition of Trafodion table TRAFODION.T013_SCH.T013T1
--- Definition current  Sat Jan 23 02:44:37 2016
+-- Definition current  Fri Feb 12 07:43:19 2016
 
   (
     A                                INT DEFAULT NULL
@@ -49,7 +49,7 @@ A
 >>invoke t013t1;
 
 -- Definition of Trafodion volatile table T013T1
--- Definition current  Sat Jan 23 02:44:54 2016
+-- Definition current  Fri Feb 12 07:43:35 2016
 
   (
     A                                INT NO DEFAULT NOT NULL NOT DROPPABLE
@@ -111,7 +111,7 @@ A
 >>invoke t013t1;
 
 -- Definition of Trafodion table TRAFODION.T013_SCH.T013T1
--- Definition current  Sat Jan 23 02:45:57 2016
+-- Definition current  Fri Feb 12 07:44:30 2016
 
   (
     A                                INT DEFAULT NULL
@@ -136,7 +136,7 @@ A
 >>invoke t013t1;
 
 -- Definition of Trafodion volatile table T013T1
--- Definition current  Sat Jan 23 02:46:10 2016
+-- Definition current  Fri Feb 12 07:44:46 2016
 
   (
     A                                INT NO DEFAULT NOT NULL NOT DROPPABLE
@@ -175,7 +175,7 @@ A            B            C
 >>invoke t013t1;
 
 -- Definition of Trafodion table TRAFODION.T013_SCH.T013T1
--- Definition current  Sat Jan 23 02:46:25 2016
+-- Definition current  Fri Feb 12 07:44:57 2016
 
   (
     A                                INT DEFAULT NULL
@@ -197,7 +197,7 @@ A
 >>invoke t013t1;
 
 -- Definition of Trafodion volatile table T013T1
--- Definition current  Sat Jan 23 02:46:32 2016
+-- Definition current  Fri Feb 12 07:45:04 2016
 
   (
     A                                INT NO DEFAULT NOT NULL NOT DROPPABLE
@@ -436,6 +436,7 @@ CONTROL QUERY DEFAULT
   HBASE_SMALL_SCANNER           	SYSTEM
   HBASE_FILTER_PREDS            	2
   TRAF_INDEX_CREATE_OPT         	ON
+  DDL_TRANSACTIONS              	ON
   HBASE_ASYNC_DROP_TABLE        	OFF
   POS                           	OFF
   SCHEMA                        	TRAFODION.T013_SCH
@@ -448,7 +449,7 @@ CONTROL QUERY DEFAULT
 >>invoke t013t1;
 
 -- Definition of Trafodion table TRAFODION.T013_SCH.T013T1
--- Definition current  Sat Jan 23 02:47:38 2016
+-- Definition current  Fri Feb 12 07:46:03 2016
 
   (
     A                                INT DEFAULT NULL
@@ -468,7 +469,7 @@ CONTROL QUERY DEFAULT
 >>invoke t013t1;
 
 -- Definition of Trafodion table TRAFODION.T013_SCH.T013T1
--- Definition current  Sat Jan 23 02:47:43 2016
+-- Definition current  Fri Feb 12 07:46:09 2016
 
   (
     A                                INT DEFAULT NULL
@@ -559,7 +560,7 @@ control query shape nested_join(anything,anything);
 >>invoke t013t3;
 
 -- Definition of Trafodion table TRAFODION.T013SCH1.T013T3
--- Definition current  Sat Jan 23 02:48:28 2016
+-- Definition current  Fri Feb 12 07:46:43 2016
 
   (
     A                                INT DEFAULT NULL
@@ -576,7 +577,7 @@ control query shape nested_join(anything,anything);
 >>invoke t013t3;
 
 -- Definition of Trafodion volatile table T013T3
--- Definition current  Sat Jan 23 02:48:35 2016
+-- Definition current  Fri Feb 12 07:46:49 2016
 
   (
     A                                INT NO DEFAULT NOT NULL NOT DROPPABLE
@@ -591,7 +592,7 @@ control query shape nested_join(anything,anything);
 >>invoke t013t3;
 
 -- Definition of Trafodion table TRAFODION.T013SCH1.T013T3
--- Definition current  Sat Jan 23 02:48:47 2016
+-- Definition current  Fri Feb 12 07:47:01 2016
 
   (
     A                                INT DEFAULT NULL
@@ -656,7 +657,7 @@ CREATE VOLATILE TABLE T013T3
 >>invoke t013t3;
 
 -- Definition of Trafodion table TRAFODION.T013SCH1.T013T3
--- Definition current  Sat Jan 23 02:49:31 2016
+-- Definition current  Fri Feb 12 07:47:39 2016
 
   (
     A                                INT DEFAULT NULL
@@ -1277,7 +1278,7 @@ CREATE VOLATILE TABLE T013T1
 >>invoke t013t1;
 
 -- Definition of Trafodion table TRAFODION.T013_SCH.T013T1
--- Definition current  Sat Jan 23 02:55:57 2016
+-- Definition current  Fri Feb 12 07:54:03 2016
 
   (
     A                                INT DEFAULT NULL

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/cd9f7a1a/core/sql/regress/executor/EXPECTED140
----------------------------------------------------------------------
diff --git a/core/sql/regress/executor/EXPECTED140 b/core/sql/regress/executor/EXPECTED140
index 1683c92..c82aabd 100644
--- a/core/sql/regress/executor/EXPECTED140
+++ b/core/sql/regress/executor/EXPECTED140
@@ -53,7 +53,7 @@
 ------------------------------------------------------------------ PLAN SUMMARY
 MODULE_NAME .............. DYNAMICALLY COMPILED
 STATEMENT_NAME ........... NOT NAMED
-PLAN_ID .................. 212320281519143599
+PLAN_ID .................. 212321974183907757
 ROWS_OUT ................ 33
 EST_TOTAL_COST ........... 0.05
 STATEMENT ................ select a from t140 where b>500;
@@ -103,9 +103,10 @@ DESCRIPTION
   HBASE_FILTER_PREDS ..... 2
   TRAF_ALIGNED_ROW_FORMAT  OFF
   TRAF_INDEX_CREATE_OPT    ON
+  DDL_TRANSACTIONS ....... ON
   SCHEMA ................. TRAFODION.SCH
   GENERATE_EXPLAIN ....... ON
-  ObjectUIDs ............. 5476465295937313773
+  ObjectUIDs ............. 7577396214768470203
   select_list ............ TRAFODION.SCH.T140.A
 
 
@@ -153,7 +154,7 @@ A
 ------------------------------------------------------------------ PLAN SUMMARY
 MODULE_NAME .............. DYNAMICALLY COMPILED
 STATEMENT_NAME ........... NOT NAMED
-PLAN_ID .................. 212320281520763784
+PLAN_ID .................. 212321974185251743
 ROWS_OUT ................ 33
 EST_TOTAL_COST ........... 0.05
 STATEMENT ................ select an from t140b where b<=200;
@@ -203,9 +204,10 @@ DESCRIPTION
   HBASE_FILTER_PREDS ..... 2
   TRAF_ALIGNED_ROW_FORMAT  OFF
   TRAF_INDEX_CREATE_OPT    ON
+  DDL_TRANSACTIONS ....... ON
   SCHEMA ................. TRAFODION.SCH
   GENERATE_EXPLAIN ....... ON
-  ObjectUIDs ............. 5476465295937313847
+  ObjectUIDs ............. 7577396214768470287
   select_list ............ TRAFODION.SCH.T140B.AN
 
 
@@ -240,7 +242,7 @@ DESCRIPTION
 ------------------------------------------------------------------ PLAN SUMMARY
 MODULE_NAME .............. DYNAMICALLY COMPILED
 STATEMENT_NAME ........... NOT NAMED
-PLAN_ID .................. 212320281520871425
+PLAN_ID .................. 212321974185404440
 ROWS_OUT ................ 33
 EST_TOTAL_COST ........... 0.05
 STATEMENT ................ select an from t140 where b<=200;
@@ -290,9 +292,10 @@ DESCRIPTION
   HBASE_FILTER_PREDS ..... 2
   TRAF_ALIGNED_ROW_FORMAT  OFF
   TRAF_INDEX_CREATE_OPT    ON
+  DDL_TRANSACTIONS ....... ON
   SCHEMA ................. TRAFODION.SCH
   GENERATE_EXPLAIN ....... ON
-  ObjectUIDs ............. 5476465295937313773
+  ObjectUIDs ............. 7577396214768470203
   select_list ............ TRAFODION.SCH.T140.AN
 
 
@@ -338,7 +341,7 @@ AN
 ------------------------------------------------------------------ PLAN SUMMARY
 MODULE_NAME .............. DYNAMICALLY COMPILED
 STATEMENT_NAME ........... NOT NAMED
-PLAN_ID .................. 212320281520990973
+PLAN_ID .................. 212321974185568983
 ROWS_OUT ................ 10
 EST_TOTAL_COST ........... 0.05
 STATEMENT ................ select an from t140 where b=200 and an is not null;
@@ -388,9 +391,10 @@ DESCRIPTION
   HBASE_FILTER_PREDS ..... 2
   TRAF_ALIGNED_ROW_FORMAT  OFF
   TRAF_INDEX_CREATE_OPT    ON
+  DDL_TRANSACTIONS ....... ON
   SCHEMA ................. TRAFODION.SCH
   GENERATE_EXPLAIN ....... ON
-  ObjectUIDs ............. 5476465295937313773
+  ObjectUIDs ............. 7577396214768470203
   select_list ............ TRAFODION.SCH.T140.AN
   input_variables ........ %(200)
 
@@ -434,7 +438,7 @@ AN
 ------------------------------------------------------------------ PLAN SUMMARY
 MODULE_NAME .............. DYNAMICALLY COMPILED
 STATEMENT_NAME ........... NOT NAMED
-PLAN_ID .................. 212320281521112920
+PLAN_ID .................. 212321974185775205
 ROWS_OUT ................ 67
 EST_TOTAL_COST ........... 0.05
 STATEMENT ................ select an, a from t140 where b!=500;
@@ -484,9 +488,10 @@ DESCRIPTION
   HBASE_FILTER_PREDS ..... 2
   TRAF_ALIGNED_ROW_FORMAT  OFF
   TRAF_INDEX_CREATE_OPT    ON
+  DDL_TRANSACTIONS ....... ON
   SCHEMA ................. TRAFODION.SCH
   GENERATE_EXPLAIN ....... ON
-  ObjectUIDs ............. 5476465295937313773
+  ObjectUIDs ............. 7577396214768470203
   select_list ............ TRAFODION.SCH.T140.AN, TRAFODION.SCH.T140.A
 
 
@@ -566,7 +571,7 @@ AN
 ------------------------------------------------------------------ PLAN SUMMARY
 MODULE_NAME .............. DYNAMICALLY COMPILED
 STATEMENT_NAME ........... NOT NAMED
-PLAN_ID .................. 212320281521342888
+PLAN_ID .................. 212321974185993581
 ROWS_OUT ................ 10
 EST_TOTAL_COST ........... 0.05
 STATEMENT ................ select an from t140 where bn=201 and an is not null;
@@ -616,9 +621,10 @@ DESCRIPTION
   HBASE_FILTER_PREDS ..... 2
   TRAF_ALIGNED_ROW_FORMAT  OFF
   TRAF_INDEX_CREATE_OPT    ON
+  DDL_TRANSACTIONS ....... ON
   SCHEMA ................. TRAFODION.SCH
   GENERATE_EXPLAIN ....... ON
-  ObjectUIDs ............. 5476465295937313773
+  ObjectUIDs ............. 7577396214768470203
   select_list ............ TRAFODION.SCH.T140.AN
   input_variables ........ %(201)
 
@@ -661,7 +667,7 @@ AN
 ------------------------------------------------------------------ PLAN SUMMARY
 MODULE_NAME .............. DYNAMICALLY COMPILED
 STATEMENT_NAME ........... NOT NAMED
-PLAN_ID .................. 212320281521467017
+PLAN_ID .................. 212321974186137176
 ROWS_OUT ................ 67
 EST_TOTAL_COST ........... 0.05
 STATEMENT ................ select an, a from t140 where bn!=501;
@@ -711,9 +717,10 @@ DESCRIPTION
   HBASE_FILTER_PREDS ..... 2
   TRAF_ALIGNED_ROW_FORMAT  OFF
   TRAF_INDEX_CREATE_OPT    ON
+  DDL_TRANSACTIONS ....... ON
   SCHEMA ................. TRAFODION.SCH
   GENERATE_EXPLAIN ....... ON
-  ObjectUIDs ............. 5476465295937313773
+  ObjectUIDs ............. 7577396214768470203
   select_list ............ TRAFODION.SCH.T140.AN, TRAFODION.SCH.T140.A
 
 
@@ -808,7 +815,7 @@ A
 ------------------------------------------------------------------ PLAN SUMMARY
 MODULE_NAME .............. DYNAMICALLY COMPILED
 STATEMENT_NAME ........... NOT NAMED
-PLAN_ID .................. 212320281521680638
+PLAN_ID .................. 212321974186325095
 ROWS_OUT ................ 11
 EST_TOTAL_COST ........... 0.05
 STATEMENT ................ select an from t140 where an between 20 and 40;
@@ -858,9 +865,10 @@ DESCRIPTION
   HBASE_FILTER_PREDS ..... 2
   TRAF_ALIGNED_ROW_FORMAT  OFF
   TRAF_INDEX_CREATE_OPT    ON
+  DDL_TRANSACTIONS ....... ON
   SCHEMA ................. TRAFODION.SCH
   GENERATE_EXPLAIN ....... ON
-  ObjectUIDs ............. 5476465295937313773
+  ObjectUIDs ............. 7577396214768470203
   select_list ............ TRAFODION.SCH.T140.AN
 
 

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/cd9f7a1a/core/sql/regress/fullstack2/EXPECTED062
----------------------------------------------------------------------
diff --git a/core/sql/regress/fullstack2/EXPECTED062 b/core/sql/regress/fullstack2/EXPECTED062
index ca88f6d..4f2aa1f 100644
--- a/core/sql/regress/fullstack2/EXPECTED062
+++ b/core/sql/regress/fullstack2/EXPECTED062
@@ -501,6 +501,7 @@ CONTROL QUERY DEFAULT
   HBASE_SMALL_SCANNER           	SYSTEM
   HBASE_FILTER_PREDS            	2
   TRAF_INDEX_CREATE_OPT         	ON
+  DDL_TRANSACTIONS              	ON
   SHOWCONTROL_SHOW_ALL          	ON
   SCHEMA                        	AAA.BBB
   CATALOG                       	CCC
@@ -545,6 +546,7 @@ CONTROL QUERY DEFAULT
   HBASE_SMALL_SCANNER           	SYSTEM
   HBASE_FILTER_PREDS            	2
   TRAF_INDEX_CREATE_OPT         	ON
+  DDL_TRANSACTIONS              	ON
   SHOWCONTROL_SHOW_ALL          	ON
   DEF_CHUNK_SIZE                	1000
   CPUCOST_DM_GET                	.001
@@ -580,6 +582,7 @@ CONTROL QUERY DEFAULT
   HBASE_SMALL_SCANNER           	SYSTEM
   HBASE_FILTER_PREDS            	2
   TRAF_INDEX_CREATE_OPT         	ON
+  DDL_TRANSACTIONS              	ON
   SHOWCONTROL_SHOW_ALL          	ON
   DEF_CHUNK_SIZE                	1000
   CPUCOST_DM_GET                	.001

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/cd9f7a1a/core/sql/regress/fullstack2/EXPECTED062.RELEASE
----------------------------------------------------------------------
diff --git a/core/sql/regress/fullstack2/EXPECTED062.RELEASE b/core/sql/regress/fullstack2/EXPECTED062.RELEASE
index 4b48a87..d933dc7 100644
--- a/core/sql/regress/fullstack2/EXPECTED062.RELEASE
+++ b/core/sql/regress/fullstack2/EXPECTED062.RELEASE
@@ -501,6 +501,7 @@ CONTROL QUERY DEFAULT
   HBASE_SMALL_SCANNER           	SYSTEM
   HBASE_FILTER_PREDS            	2
   TRAF_INDEX_CREATE_OPT         	ON
+  DDL_TRANSACTIONS              	ON
   SHOWCONTROL_SHOW_ALL          	ON
   SCHEMA                        	AAA.BBB
   CATALOG                       	CCC
@@ -545,6 +546,7 @@ CONTROL QUERY DEFAULT
   HBASE_SMALL_SCANNER           	SYSTEM
   HBASE_FILTER_PREDS            	2
   TRAF_INDEX_CREATE_OPT         	ON
+  DDL_TRANSACTIONS              	ON
   SHOWCONTROL_SHOW_ALL          	ON
   DEF_CHUNK_SIZE                	1000
   CPUCOST_DM_GET                	.001
@@ -580,6 +582,7 @@ CONTROL QUERY DEFAULT
   HBASE_SMALL_SCANNER           	SYSTEM
   HBASE_FILTER_PREDS            	2
   TRAF_INDEX_CREATE_OPT         	ON
+  DDL_TRANSACTIONS              	ON
   SHOWCONTROL_SHOW_ALL          	ON
   DEF_CHUNK_SIZE                	1000
   CPUCOST_DM_GET                	.001