You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafodion.apache.org by sa...@apache.org on 2016/03/01 07:49:24 UTC

[2/3] incubator-trafodion git commit: JIRA 1844: support for 'alter table alter column datatype'

JIRA 1844:  support for 'alter table alter column datatype'


Project: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/commit/7b99938c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/tree/7b99938c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/diff/7b99938c

Branch: refs/heads/master
Commit: 7b99938cea8ba68f2c90ed655e8f4d85cc24f06f
Parents: fa430a0
Author: Cloud User <ce...@ansharma-3.novalocal>
Authored: Fri Feb 26 23:09:18 2016 +0000
Committer: Cloud User <ce...@ansharma-3.novalocal>
Committed: Fri Feb 26 23:09:18 2016 +0000

----------------------------------------------------------------------
 core/sql/common/ComSmallDefs.h                  |    2 +
 core/sql/executor/HBaseClient_JNI.cpp           |   25 +-
 core/sql/executor/HBaseClient_JNI.h             |    3 +-
 core/sql/exp/ExpHbaseInterface.cpp              |    8 +-
 core/sql/exp/ExpHbaseInterface.h                |   12 +-
 core/sql/generator/Generator.cpp                |    5 +
 core/sql/optimizer/NAColumn.h                   |   43 +-
 core/sql/optimizer/NATable.cpp                  |    7 +-
 .../sql/parser/StmtDDLAlterTableAlterColumn.cpp |   20 +-
 core/sql/parser/StmtDDLAlterTableAlterColumn.h  |   17 +-
 core/sql/parser/sqlparser.y                     |    6 +-
 core/sql/regress/compGeneral/EXPECTED071        |    8 +-
 core/sql/regress/core/EXPECTED056.SB            |   52 +-
 core/sql/regress/executor/EXPECTED013.SB        |   38 +-
 core/sql/regress/privs2/EXPECTED138             |    2 +-
 core/sql/regress/seabase/EXPECTED011            |  101 +-
 core/sql/regress/seabase/EXPECTED027            |  433 ++++-
 core/sql/regress/seabase/TEST011                |   16 -
 core/sql/regress/seabase/TEST027                |   58 +
 core/sql/sqlcomp/CmpDescribe.cpp                |  180 ++-
 core/sql/sqlcomp/CmpSeabaseDDL.h                |   68 +-
 core/sql/sqlcomp/CmpSeabaseDDLcommon.cpp        |  217 ++-
 core/sql/sqlcomp/CmpSeabaseDDLschema.cpp        |    4 +-
 core/sql/sqlcomp/CmpSeabaseDDLtable.cpp         | 1504 ++++++++++++------
 core/sql/sqlcomp/DefaultConstants.h             |    4 +
 core/sql/sqlcomp/nadefaults.cpp                 |    8 +-
 .../java/org/trafodion/sql/HBaseClient.java     |   33 +-
 27 files changed, 1974 insertions(+), 900 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/7b99938c/core/sql/common/ComSmallDefs.h
----------------------------------------------------------------------
diff --git a/core/sql/common/ComSmallDefs.h b/core/sql/common/ComSmallDefs.h
index 1c888fb..3252eac 100644
--- a/core/sql/common/ComSmallDefs.h
+++ b/core/sql/common/ComSmallDefs.h
@@ -560,6 +560,7 @@ enum ComColumnClass { COM_UNKNOWN_CLASS
                     , COM_USER_COLUMN
                     , COM_ADDED_USER_COLUMN
                     , COM_MV_SYSTEM_ADDED_COLUMN
+                    , COM_ALTERED_USER_COLUMN
                     };
 
 #define COM_UNKNOWN_CLASS_LIT               "  "
@@ -567,6 +568,7 @@ enum ComColumnClass { COM_UNKNOWN_CLASS
 #define COM_USER_COLUMN_LIT                 "U "
 #define COM_ADDED_USER_COLUMN_LIT           "A "
 #define COM_MV_SYSTEM_ADDED_COLUMN_LIT      "M "
+#define COM_ALTERED_USER_COLUMN_LIT         "C "
 
 enum ComColumnDefaultClass { COM_CURRENT_DEFAULT
                            , COM_NO_DEFAULT

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/7b99938c/core/sql/executor/HBaseClient_JNI.cpp
----------------------------------------------------------------------
diff --git a/core/sql/executor/HBaseClient_JNI.cpp b/core/sql/executor/HBaseClient_JNI.cpp
index 3ff3e1f..34ab08f 100644
--- a/core/sql/executor/HBaseClient_JNI.cpp
+++ b/core/sql/executor/HBaseClient_JNI.cpp
@@ -452,7 +452,7 @@ HBC_RetCode HBaseClient_JNI::init()
     JavaMethods_[JM_GET_REGION_STATS       ].jm_name      = "getRegionStats";
     JavaMethods_[JM_GET_REGION_STATS       ].jm_signature = "(Ljava/lang/String;)Lorg/trafodion/sql/ByteArrayList;";
     JavaMethods_[JM_COPY       ].jm_name      = "copy";
-    JavaMethods_[JM_COPY       ].jm_signature = "(Ljava/lang/String;Ljava/lang/String;)Z";
+    JavaMethods_[JM_COPY       ].jm_signature = "(Ljava/lang/String;Ljava/lang/String;Z)Z";
     JavaMethods_[JM_EXISTS     ].jm_name      = "exists";
     JavaMethods_[JM_EXISTS     ].jm_signature = "(Ljava/lang/String;)Z";
     JavaMethods_[JM_GRANT      ].jm_name      = "grant";
@@ -1523,9 +1523,11 @@ ByteArrayList* HBaseClient_JNI::getRegionStats(const char* tblName)
 //////////////////////////////////////////////////////////////////////////////
 // 
 //////////////////////////////////////////////////////////////////////////////
-HBC_RetCode HBaseClient_JNI::copy(const char* currTblName, const char* oldTblName)
+HBC_RetCode HBaseClient_JNI::copy(const char* srcTblName, 
+                                  const char* tgtTblName,
+                                  NABoolean force)
 {
-  QRLogger::log(CAT_SQL_HBASE, LL_DEBUG, "HBaseClient_JNI::copy(%s,%s) called.", currTblName, oldTblName);
+  QRLogger::log(CAT_SQL_HBASE, LL_DEBUG, "HBaseClient_JNI::copy(%s,%s) called.", srcTblName, tgtTblName);
   if (jenv_ == NULL)
      if (initJVM() != JOI_OK)
          return HBC_ERROR_INIT_PARAM;
@@ -1534,28 +1536,31 @@ HBC_RetCode HBaseClient_JNI::copy(const char* currTblName, const char* oldTblNam
      getExceptionDetails();
      return HBC_ERROR_DROP_EXCEPTION;
   }
-  jstring js_currTblName = jenv_->NewStringUTF(currTblName);
-  if (js_currTblName == NULL) 
+  jstring js_srcTblName = jenv_->NewStringUTF(srcTblName);
+  if (js_srcTblName == NULL) 
   {
     GetCliGlobals()->setJniErrorStr(getErrorText(HBC_ERROR_DROP_PARAM));
     jenv_->PopLocalFrame(NULL);
     return HBC_ERROR_DROP_PARAM;
   }
 
-  jstring js_oldTblName = jenv_->NewStringUTF(oldTblName);
-  if (js_oldTblName == NULL) 
+  jstring js_tgtTblName = jenv_->NewStringUTF(tgtTblName);
+  if (js_tgtTblName == NULL) 
   {
     GetCliGlobals()->setJniErrorStr(getErrorText(HBC_ERROR_DROP_PARAM));
     jenv_->PopLocalFrame(NULL);
     return HBC_ERROR_DROP_PARAM;
   }
 
+  jboolean j_force = force;
   tsRecentJMFromJNI = JavaMethods_[JM_COPY].jm_full_name;
-  jboolean jresult = jenv_->CallBooleanMethod(javaObj_, JavaMethods_[JM_COPY].methodID, js_currTblName, js_oldTblName);
+  jboolean jresult = jenv_->CallBooleanMethod(
+       javaObj_, JavaMethods_[JM_COPY].methodID, 
+       js_srcTblName, js_tgtTblName, j_force);
 
-  jenv_->DeleteLocalRef(js_currTblName);  
+  jenv_->DeleteLocalRef(js_srcTblName);  
 
-  jenv_->DeleteLocalRef(js_oldTblName);  
+  jenv_->DeleteLocalRef(js_tgtTblName);  
 
   if (jenv_->ExceptionCheck())
   {

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/7b99938c/core/sql/executor/HBaseClient_JNI.h
----------------------------------------------------------------------
diff --git a/core/sql/executor/HBaseClient_JNI.h b/core/sql/executor/HBaseClient_JNI.h
index d015ec2..1ecd0e2 100644
--- a/core/sql/executor/HBaseClient_JNI.h
+++ b/core/sql/executor/HBaseClient_JNI.h
@@ -511,7 +511,8 @@ public:
   HBC_RetCode drop(const char* fileName, bool async, Int64 transID);
   HBC_RetCode drop(const char* fileName, JNIEnv* jenv, Int64 transID); // thread specific
   HBC_RetCode dropAll(const char* pattern, bool async);
-  HBC_RetCode copy(const char* currTblName, const char* oldTblName);
+  HBC_RetCode copy(const char* srcTblName, const char* tgtTblName,
+                   NABoolean force);
   ByteArrayList* listAll(const char* pattern);
   ByteArrayList* getRegionStats(const char* tblName);
   static HBC_RetCode flushAllTablesStatic();

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/7b99938c/core/sql/exp/ExpHbaseInterface.cpp
----------------------------------------------------------------------
diff --git a/core/sql/exp/ExpHbaseInterface.cpp b/core/sql/exp/ExpHbaseInterface.cpp
index b58383c..3ca8d8c 100644
--- a/core/sql/exp/ExpHbaseInterface.cpp
+++ b/core/sql/exp/ExpHbaseInterface.cpp
@@ -249,7 +249,8 @@ Lng32  ExpHbaseInterface::fetchAllRows(
   return retcode;
 }
 
-Lng32 ExpHbaseInterface::copy(HbaseStr &currTblName, HbaseStr &oldTblName)
+Lng32 ExpHbaseInterface::copy(HbaseStr &srcTblName, HbaseStr &tgtTblName,
+                              NABoolean force)
 {
   return -HBASE_COPY_ERROR;
 }
@@ -582,7 +583,8 @@ ByteArrayList* ExpHbaseInterface_JNI::listAll(const char * pattern)
 }
 
 //----------------------------------------------------------------------------
-Lng32 ExpHbaseInterface_JNI::copy(HbaseStr &currTblName, HbaseStr &oldTblName)
+Lng32 ExpHbaseInterface_JNI::copy(HbaseStr &srcTblName, HbaseStr &tgtTblName,
+                                  NABoolean force)
 {
   if (client_ == NULL)
   {
@@ -590,7 +592,7 @@ Lng32 ExpHbaseInterface_JNI::copy(HbaseStr &currTblName, HbaseStr &oldTblName)
       return -HBASE_ACCESS_ERROR;
   }
     
-  retCode_ = client_->copy(currTblName.val, oldTblName.val);
+  retCode_ = client_->copy(srcTblName.val, tgtTblName.val, force);
 
   if (retCode_ == HBC_OK)
     return HBASE_ACCESS_SUCCESS;

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/7b99938c/core/sql/exp/ExpHbaseInterface.h
----------------------------------------------------------------------
diff --git a/core/sql/exp/ExpHbaseInterface.h b/core/sql/exp/ExpHbaseInterface.h
index 474503c..3a61e22 100644
--- a/core/sql/exp/ExpHbaseInterface.h
+++ b/core/sql/exp/ExpHbaseInterface.h
@@ -135,8 +135,10 @@ class ExpHbaseInterface : public NABasicObject
   // retrieve all objects from hbase that match the pattern
   virtual ByteArrayList* listAll(const char * pattern) = 0;
 
-  // make a copy of currTableName as oldTblName.
-  virtual Lng32 copy(HbaseStr &currTblName, HbaseStr &oldTblName);
+  // make a copy of srcTblName as tgtTblName
+  // if force is true, remove target before copying.
+  virtual Lng32 copy(HbaseStr &srcTblName, HbaseStr &tgtTblName,
+                     NABoolean force = FALSE);
 
   virtual Lng32 exists(HbaseStr &tblName) = 0;
 
@@ -448,8 +450,10 @@ class ExpHbaseInterface_JNI : public ExpHbaseInterface
 
   virtual ByteArrayList* listAll(const char * pattern);
 
-  // make a copy of currTableName as oldTblName.
-  virtual Lng32 copy(HbaseStr &currTblName, HbaseStr &oldTblName);
+  // make a copy of srcTblName as tgtTblName
+  // if force is true, remove target before copying.
+  virtual Lng32 copy(HbaseStr &srcTblName, HbaseStr &tgtTblName,
+                     NABoolean force = FALSE);
 
   // -1, if table exists. 0, if doesn't. -ve num, error.
   virtual Lng32 exists(HbaseStr &tblName);

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/7b99938c/core/sql/generator/Generator.cpp
----------------------------------------------------------------------
diff --git a/core/sql/generator/Generator.cpp b/core/sql/generator/Generator.cpp
index 9c8cee3..2486755 100644
--- a/core/sql/generator/Generator.cpp
+++ b/core/sql/generator/Generator.cpp
@@ -1594,6 +1594,11 @@ desc_struct* Generator::createColDescs(
 	  col_desc->body.columns_desc.colclass = 'A';
 	  col_desc->body.columns_desc.addedColumn = 1;
 	}
+      else if (info->columnClass == COM_ALTERED_USER_COLUMN)
+	{
+	  col_desc->body.columns_desc.colclass = 'C';
+	  col_desc->body.columns_desc.addedColumn = 1;
+	}
 
       if (info->colHeading)
 	col_desc->body.columns_desc.heading = (char*)info->colHeading;

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/7b99938c/core/sql/optimizer/NAColumn.h
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/NAColumn.h b/core/sql/optimizer/NAColumn.h
index 6aeac49..ec58fe9 100644
--- a/core/sql/optimizer/NAColumn.h
+++ b/core/sql/optimizer/NAColumn.h
@@ -88,23 +88,24 @@ public:
   // ---------------------------------------------------------------------
 
   NAColumn(const char* colName,
-    Lng32 position,
-    NAType *type,
-    CollHeap *h,
-    const NATable* table = NULL,
-    ColumnClass columnClass = USER_COLUMN,
-    const ComColumnDefaultClass defaultClass = COM_NO_DEFAULT,
-    char* defaultValue = NULL,
-    char* heading = NULL,
-    NABoolean upshift = FALSE,
-    NABoolean addedColumn = FALSE,
-    ComColumnDirection colDirection = COM_UNKNOWN_DIRECTION,
-    NABoolean isOptional = FALSE,
-    char *routineParamType = NULL,
-    NABoolean storedOnDisk = TRUE,
-    char *computedColExpr = NULL,
-    NABoolean isSaltColumn = FALSE,
-    NABoolean isDivisioningColumn = FALSE)
+           Lng32 position,
+           NAType *type,
+           CollHeap *h,
+           const NATable* table = NULL,
+           ColumnClass columnClass = USER_COLUMN,
+           const ComColumnDefaultClass defaultClass = COM_NO_DEFAULT,
+           char* defaultValue = NULL,
+           char* heading = NULL,
+           NABoolean upshift = FALSE,
+           NABoolean addedColumn = FALSE,
+           ComColumnDirection colDirection = COM_UNKNOWN_DIRECTION,
+           NABoolean isOptional = FALSE,
+           char *routineParamType = NULL,
+           NABoolean storedOnDisk = TRUE,
+           char *computedColExpr = NULL,
+           NABoolean isSaltColumn = FALSE,
+           NABoolean isDivisioningColumn = FALSE,
+           NABoolean isAlteredColumn = FALSE)
   : heap_(h),
     colName_(colName, h),
     position_(position),
@@ -116,6 +117,7 @@ public:
     heading_(heading),
     upshift_(upshift),
     addedColumn_(addedColumn),
+    alteredColumn_(isAlteredColumn),
     keyKind_(NON_KEY),
     clusteringKeyOrdering_(NOT_ORDERED),
     isNotNullNondroppable_(NULL),
@@ -154,6 +156,7 @@ public:
     heading_(nac.heading_),
     upshift_(nac.upshift_),
     addedColumn_(nac.addedColumn_),
+    alteredColumn_(nac.alteredColumn_),
     keyKind_(nac.keyKind_),
     clusteringKeyOrdering_(nac.clusteringKeyOrdering_),
     isNotNullNondroppable_(nac.isNotNullNondroppable_),
@@ -242,6 +245,7 @@ public:
   inline const char* getComputedColumnExprString() const { return computedColumnExpression_; }
   inline NABoolean isStoredOnDisk() const       { return storedOnDisk_; }
   inline NABoolean isAddedColumn() const { return addedColumn_; }
+  inline NABoolean isAlteredColumn() const { return alteredColumn_; }
   inline NABoolean isSaltColumn() const        { return isSaltColumn_;}
   inline NABoolean isDivisioningColumn() const { return isDivisioningColumn_; }
 
@@ -518,6 +522,11 @@ private:
   NABoolean addedColumn_;
 
   // ----------------------------------------------------
+  // Set to TRUE if this column was altered by datatype change
+  // ----------------------------------------------------
+  NABoolean alteredColumn_;
+
+  // ----------------------------------------------------
   // Set to TRUE if there is a join predicate on this column.
   // ----------------------------------------------------
   NABoolean hasJoinPred_;

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/7b99938c/core/sql/optimizer/NATable.cpp
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/NATable.cpp b/core/sql/optimizer/NATable.cpp
index 88036c6..0e59dcf 100644
--- a/core/sql/optimizer/NATable.cpp
+++ b/core/sql/optimizer/NATable.cpp
@@ -3379,6 +3379,7 @@ NABoolean createNAColumns(desc_struct *column_desc_list	/*IN*/,
 	  colClass = USER_COLUMN;
 	  break;
         case 'A':
+        case 'C':
 	  colClass = USER_COLUMN;
 	  break;
         case 'M':  // MVs --
@@ -3454,14 +3455,16 @@ NABoolean createNAColumns(desc_struct *column_desc_list	/*IN*/,
 			       defaultValue,
                                heading,
 			       column_desc->upshift,
-			       (column_desc->colclass == 'A'),
+			       ((column_desc->colclass == 'A') ||
+                                (column_desc->colclass == 'C')),
                                COM_UNKNOWN_DIRECTION,
                                FALSE,
                                NULL,
                                column_desc->stored_on_disk,
                                computed_column_text,
                                isSaltColumn,
-                               isDivisioningColumn);
+                               isDivisioningColumn,
+                               (column_desc->colclass == 'C'));
 	}
       else
         {

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/7b99938c/core/sql/parser/StmtDDLAlterTableAlterColumn.cpp
----------------------------------------------------------------------
diff --git a/core/sql/parser/StmtDDLAlterTableAlterColumn.cpp b/core/sql/parser/StmtDDLAlterTableAlterColumn.cpp
index cf994d2..b2c1f9c 100644
--- a/core/sql/parser/StmtDDLAlterTableAlterColumn.cpp
+++ b/core/sql/parser/StmtDDLAlterTableAlterColumn.cpp
@@ -55,16 +55,22 @@ StmtDDLAlterTableAlterColumn::getText() const
 //----------------------------------------------------------------------------
 // CLASS StmtDDLAlterTableAlterColumnDatatype
 //----------------------------------------------------------------------------
-StmtDDLAlterTableAlterColumnDatatype::StmtDDLAlterTableAlterColumnDatatype( 
-     const NAString &columnName 
-     , NAType * natype
-     , CollHeap *heap)
+StmtDDLAlterTableAlterColumnDatatype::StmtDDLAlterTableAlterColumnDatatype(
+     ElemDDLNode * pColumnToAlter
+     ,CollHeap    * heap)
      : StmtDDLAlterTableAlterColumn(DDL_ALTER_TABLE_ALTER_COLUMN_DATATYPE,
-                                    columnName,
+                                    NAString(""),
                                     NULL,
-                                    heap)
+                                    heap),
+       pColumnToAlter_(pColumnToAlter)
 {
-  natype_ = natype->newCopy(heap);
+  ElemDDLColDef *pColDef = pColumnToAlter->castToElemDDLColDef();
+  if (pColDef NEQ NULL)
+    {
+      getColDefArray().insert(pColDef);
+    }
+  else
+    *SqlParser_Diags << DgSqlCode(-1001);
 }
 
 //

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/7b99938c/core/sql/parser/StmtDDLAlterTableAlterColumn.h
----------------------------------------------------------------------
diff --git a/core/sql/parser/StmtDDLAlterTableAlterColumn.h b/core/sql/parser/StmtDDLAlterTableAlterColumn.h
index 92fe23f..7ad20de 100644
--- a/core/sql/parser/StmtDDLAlterTableAlterColumn.h
+++ b/core/sql/parser/StmtDDLAlterTableAlterColumn.h
@@ -144,9 +144,8 @@ class StmtDDLAlterTableAlterColumnDatatype : public StmtDDLAlterTableAlterColumn
 public:
 
   // constructor
-  StmtDDLAlterTableAlterColumnDatatype( const NAString &columnName
-                                        , NAType * natype
-                                          , CollHeap    *heap = PARSERHEAP());
+  StmtDDLAlterTableAlterColumnDatatype( ElemDDLNode * pColumnToAlter
+                                        ,CollHeap    * heap = PARSERHEAP());
 
     // virtual destructor
   virtual ~StmtDDLAlterTableAlterColumnDatatype();
@@ -157,12 +156,17 @@ public:
   // method for tracing
   virtual const NAString getText() const;
 
-  const NAType * getDatatype() const { return natype_; }
-   NAType * getType() { return natype_; }
+  inline ElemDDLNode * getColToAlter() { return pColumnToAlter_; };
+  inline ElemDDLColDefArray & getColDefArray() { return columnDefArray_; };
 
 private: 
 
-  NAType * natype_;
+  // column definition
+  ElemDDLNode * pColumnToAlter_;
+
+  // list of (only one) column definition
+  ElemDDLColDefArray columnDefArray_;
+
   //
   // please do not use the following methods
   //
@@ -174,5 +178,4 @@ private:
 
 }; // class StmtDDLAlterTableAlterColumnDatatype
 
-
 #endif //STMTDDLALTERTABLEALTERCOLUMN_H

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/7b99938c/core/sql/parser/sqlparser.y
----------------------------------------------------------------------
diff --git a/core/sql/parser/sqlparser.y b/core/sql/parser/sqlparser.y
index 4e8033d..e565f14 100755
--- a/core/sql/parser/sqlparser.y
+++ b/core/sql/parser/sqlparser.y
@@ -31229,13 +31229,11 @@ alter_table_column_clause : TOK_COLUMN identifier heading
                                 }
 
 // type pStmtDDL
-alter_table_alter_column_datatype : TOK_ALTER TOK_COLUMN column_name predefined_type
+alter_table_alter_column_datatype : TOK_ALTER TOK_COLUMN column_definition
 				{
                                   $$ = new (PARSERHEAP())
                                     StmtDDLAlterTableAlterColumnDatatype(
-                                         *$3, // column name
-                                         $4 );
-                                  delete $3;
+                                         $3 /* column definition */);
                                   restoreInferCharsetState();
 				}
 

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/7b99938c/core/sql/regress/compGeneral/EXPECTED071
----------------------------------------------------------------------
diff --git a/core/sql/regress/compGeneral/EXPECTED071 b/core/sql/regress/compGeneral/EXPECTED071
index a5a4d39..8c1813c 100644
--- a/core/sql/regress/compGeneral/EXPECTED071
+++ b/core/sql/regress/compGeneral/EXPECTED071
@@ -162,8 +162,8 @@ MTDTRIGTARGET2D  BT        0  STORE_ID                        0       4  U
 MTDTRIGTARGET2D  BT        1  ITEM_ID                         0       4  U                   1  3         none                                                                                                                                                                                                                                            
 MTDTRIGTARGET2D  BT        2  SALE_DATE                       0       4  U                   3  4         none                                                                                                                                                                                                                                            
 MTDTRIGTARGET2D  BT        3  SALE_AMT                        ?       8  U                   2  none      none                                                                                                                                                                                                                                            
-MTDTRIGTARGET2D  BT        4  _DIVISION_1_                    0       4  S                   7  1         DATE_PART('YEARMONTH',SALE_DATE)                                                                                                                                                                                                                
-MTDTRIGTARGET2D  BT        5  SALE_AMT_BEFORE                 ?       8  A                   3  none      none                                                                                                                                                                                                                                            
+MTDTRIGTARGET2D  BT        4  SALE_AMT_BEFORE                 ?       8  A                   3  none      none                                                                                                                                                                                                                                            
+MTDTRIGTARGET2D  BT        5  _DIVISION_1_                    0       4  S                   7  1         DATE_PART('YEARMONTH',SALE_DATE)                                                                                                                                                                                                                
 
 --- 49 row(s) selected.
 >>
@@ -1414,8 +1414,8 @@ MTDTRIGTARGET2D  BT        0  STORE_ID                        0       4  U
 MTDTRIGTARGET2D  BT        1  ITEM_ID                         0       4  U                   1  3         none                                                                                                                                                                                                                                            
 MTDTRIGTARGET2D  BT        2  SALE_DATE                       0       4  U                   3  4         none                                                                                                                                                                                                                                            
 MTDTRIGTARGET2D  BT        3  SALE_AMT                        ?       8  U                   2  none      none                                                                                                                                                                                                                                            
-MTDTRIGTARGET2D  BT        4  _DIVISION_1_                    0       4  S                   7  1         DATE_PART('YEARMONTH',SALE_DATE)                                                                                                                                                                                                                
-MTDTRIGTARGET2D  BT        5  SALE_AMT_BEFORE                 ?       8  A                   3  none      none                                                                                                                                                                                                                                            
+MTDTRIGTARGET2D  BT        4  SALE_AMT_BEFORE                 ?       8  A                   3  none      none                                                                                                                                                                                                                                            
+MTDTRIGTARGET2D  BT        5  _DIVISION_1_                    0       4  S                   7  1         DATE_PART('YEARMONTH',SALE_DATE)                                                                                                                                                                                                                
 
 --- 70 row(s) selected.
 >>prepare smdviewquery from

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/7b99938c/core/sql/regress/core/EXPECTED056.SB
----------------------------------------------------------------------
diff --git a/core/sql/regress/core/EXPECTED056.SB b/core/sql/regress/core/EXPECTED056.SB
index 4ddfcd4..f1ebf88 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,14 +102,14 @@ 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
-  , DUCK                             INT DEFAULT 20 NOT NULL NOT DROPPABLE /*
-      added col */
-  , GOSLING                          INT DEFAULT 700 HEADING 'goose' /* added
-      col */
+  , DUCK                             INT DEFAULT 20 NOT NULL NOT DROPPABLE
+      /*added_col*/
+  , GOSLING                          INT DEFAULT 700 HEADING 'goose'
+      /*added_col*/
   )
 ;
 
@@ -135,17 +135,17 @@ 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
   , BLACKBIRD                        INT DEFAULT NULL
-  , BLUEJAY                          INT DEFAULT 203 NOT NULL NOT DROPPABLE /*
-      added col */
-  , RAVEN                            INT DEFAULT NULL /* added col */
-  , SEAGULL                          INT DEFAULT 400 NOT NULL NOT DROPPABLE /*
-      added col */
-  , ROBIN                            INT DEFAULT 410 /* added col */
+  , BLUEJAY                          INT DEFAULT 203 NOT NULL NOT DROPPABLE
+      /*added_col*/
+  , RAVEN                            INT DEFAULT NULL /*added_col*/
+  , SEAGULL                          INT DEFAULT 400 NOT NULL NOT DROPPABLE
+      /*added_col*/
+  , ROBIN                            INT DEFAULT 410 /*added_col*/
   , PRIMARY KEY (WREN ASC, JUNCO ASC)
   )
 ;
@@ -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
@@ -2030,7 +2030,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 +2055,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 +2080,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 +2105,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 +2130,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 +2918,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/7b99938c/core/sql/regress/executor/EXPECTED013.SB
----------------------------------------------------------------------
diff --git a/core/sql/regress/executor/EXPECTED013.SB b/core/sql/regress/executor/EXPECTED013.SB
index e4faaec..0b31ff5 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  Sun Feb 21 07:35:15 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  Sun Feb 21 07:35:27 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  Sun Feb 21 07:36:26 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  Sun Feb 21 07:36:38 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  Sun Feb 21 07:36:52 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  Sun Feb 21 07:36:58 2016
 
   (
     A                                INT NO DEFAULT NOT NULL NOT DROPPABLE
@@ -448,12 +448,12 @@ CONTROL QUERY DEFAULT
 >>invoke t013t1;
 
 -- Definition of Trafodion table TRAFODION.T013_SCH.T013T1
--- Definition current  Sat Jan 23 02:47:38 2016
+-- Definition current  Sun Feb 21 07:37:55 2016
 
   (
     A                                INT DEFAULT NULL
-  , Z                                INT DEFAULT 0 NOT NULL NOT DROPPABLE /*
-      added col */
+  , Z                                INT DEFAULT 0 NOT NULL NOT DROPPABLE
+      /*added_col*/
   )
 
 --- SQL operation complete.
@@ -468,12 +468,12 @@ CONTROL QUERY DEFAULT
 >>invoke t013t1;
 
 -- Definition of Trafodion table TRAFODION.T013_SCH.T013T1
--- Definition current  Sat Jan 23 02:47:43 2016
+-- Definition current  Sun Feb 21 07:38:00 2016
 
   (
     A                                INT DEFAULT NULL
-  , Z                                INT DEFAULT 0 NOT NULL NOT DROPPABLE /*
-      added col */
+  , Z                                INT DEFAULT 0 NOT NULL NOT DROPPABLE
+      /*added_col*/
   )
 
 --- SQL operation complete.
@@ -559,7 +559,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  Sun Feb 21 07:38:45 2016
 
   (
     A                                INT DEFAULT NULL
@@ -576,7 +576,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  Sun Feb 21 07:38:50 2016
 
   (
     A                                INT NO DEFAULT NOT NULL NOT DROPPABLE
@@ -591,7 +591,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  Sun Feb 21 07:39:03 2016
 
   (
     A                                INT DEFAULT NULL
@@ -656,7 +656,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  Sun Feb 21 07:39:46 2016
 
   (
     A                                INT DEFAULT NULL
@@ -1277,12 +1277,12 @@ 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  Sun Feb 21 07:46:01 2016
 
   (
     A                                INT DEFAULT NULL
-  , Z                                INT DEFAULT 0 NOT NULL NOT DROPPABLE /*
-      added col */
+  , Z                                INT DEFAULT 0 NOT NULL NOT DROPPABLE
+      /*added_col*/
   )
 
 --- SQL operation complete.

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/7b99938c/core/sql/regress/privs2/EXPECTED138
----------------------------------------------------------------------
diff --git a/core/sql/regress/privs2/EXPECTED138 b/core/sql/regress/privs2/EXPECTED138
index a67e390..92caae5 100644
--- a/core/sql/regress/privs2/EXPECTED138
+++ b/core/sql/regress/privs2/EXPECTED138
@@ -830,7 +830,7 @@ CREATE TABLE TRAFODION.T138SCH.USER1_T1
   (
     C1                               INT NO DEFAULT NOT NULL NOT DROPPABLE
   , C2                               INT DEFAULT NULL
-  , C3                               INT DEFAULT 0 /* added col */
+  , C3                               INT DEFAULT 0 /*added_col*/
   , PRIMARY KEY (C1 ASC)
   )
 ;

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/7b99938c/core/sql/regress/seabase/EXPECTED011
----------------------------------------------------------------------
diff --git a/core/sql/regress/seabase/EXPECTED011 b/core/sql/regress/seabase/EXPECTED011
index 012f55f..61031c9 100644
--- a/core/sql/regress/seabase/EXPECTED011
+++ b/core/sql/regress/seabase/EXPECTED011
@@ -7,7 +7,7 @@
 >>invoke T011T1;
 
 -- Definition of Trafodion table TRAFODION.SCH.T011T1
--- Definition current  Sat Jan 23 04:06:15 2016
+-- Definition current  Wed Feb 24 09:06:39 2016
 
   (
     A                                INT NO DEFAULT NOT NULL NOT DROPPABLE
@@ -142,7 +142,7 @@ A            B
 ------------------------------------------------------------------ PLAN SUMMARY
 MODULE_NAME .............. DYNAMICALLY COMPILED
 STATEMENT_NAME ........... NOT NAMED
-PLAN_ID .................. 212320281977039065
+PLAN_ID .................. 212323064800054288
 ROWS_OUT ................. 7
 EST_TOTAL_COST ........... 0.01
 STATEMENT ................ select * from t011t1 where a >= 3 and a < 5;
@@ -181,7 +181,7 @@ DESCRIPTION
   SCHEMA ................. TRAFODION.SCH
   QUERY_CACHE ............ 0
   GENERATE_EXPLAIN ....... ON
-  ObjectUIDs ............. 3130652840489752733
+  ObjectUIDs ............. 2452863879398277316
   select_list ............ TRAFODION.SCH.T011T1.A, TRAFODION.SCH.T011T1.B
 
 
@@ -1268,7 +1268,7 @@ METRIC_TEXT_TABLE
 >>invoke trafodion."_REPOS_".metric_query_table;
 
 -- Definition of Trafodion table TRAFODION."_REPOS_".METRIC_QUERY_TABLE
--- Definition current  Sat Jan 23 04:08:38 2016
+-- Definition current  Wed Feb 24 09:08:40 2016
 
   (
     INSTANCE_ID                      INT UNSIGNED NO DEFAULT NOT NULL NOT
@@ -1450,7 +1450,7 @@ METRIC_TEXT_TABLE
 >>-- get qid for the prepared stmt
 >>get qid for statement explstmt;
 
-MXID11000005561212320281953925061000000000206U3333300_1924_EXPLSTMT
+MXID11000020741212323064781124001000000000206U3333300_1924_EXPLSTMT
 
 --- SQL operation complete.
 >>
@@ -1502,7 +1502,7 @@ SEQ_NUM      OPERATOR
 --- SQL command prepared.
 >>get qid for statement explstmt2;
 
-MXID11000005561212320281953925061000000000206U3333300_1935_EXPLSTMT2
+MXID11000020741212323064781124001000000000206U3333300_1935_EXPLSTMT2
 
 --- SQL operation complete.
 >>set qid MXID123456 for explstmt2;
@@ -2067,91 +2067,6 @@ LC   RC   OP   OPERATOR              OPT       DESCRIPTION           CARD
 
 --- SQL operation complete.
 >>
->>-- tests for alter column
->>create table t011t7(a int not null, b varchar(2), 
-+>   c varchar(4) character set utf8 not null);
-
---- SQL operation complete.
->>invoke t011t7;
-
--- Definition of Trafodion table TRAFODION.SCH.T011T7
--- Definition current  Sat Jan 23 04:09:41 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.
->>alter table t011t7 alter column b varchar(3);
-
---- SQL operation complete.
->>invoke t011t7;
-
--- Definition of Trafodion table TRAFODION.SCH.T011T7
--- Definition current  Sat Jan 23 04:09:45 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.
->>alter table t011t7 alter column c varchar(5) character set utf8;
-
---- SQL operation complete.
->>invoke t011t7;
-
--- Definition of Trafodion table TRAFODION.SCH.T011T7
--- Definition current  Sat Jan 23 04:09:49 2016
-
-  (
-    A                                INT NO DEFAULT NOT NULL NOT DROPPABLE
-  , B                                VARCHAR(3) CHARACTER SET ISO88591 COLLATE
-      DEFAULT DEFAULT NULL
-  , C                                VARCHAR(20 BYTES) CHARACTER SET UTF8
-      COLLATE DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE
-  )
-
---- SQL operation complete.
->>
->>-- negative tests for alter column
->>alter table t011t7 alter column a largeint;
-
-*** ERROR[1404] Column A cannot be altered. Reason: Old and New datatypes must be VARCHAR.
-
---- SQL operation failed with errors.
->>alter table t011t7 alter column b int;
-
-*** ERROR[1404] Column B cannot be altered. Reason: Old and New datatypes must be VARCHAR.
-
---- SQL operation failed with errors.
->>alter table t011t7 alter column b varchar(4) character set utf8;
-
-*** ERROR[1404] Column B cannot be altered. Reason: Old and New character sets must be the same.
-
---- SQL operation failed with errors.
->>alter table t011t7 alter column c varchar(6);
-
-*** ERROR[1404] Column C cannot be altered. Reason: Old and New character sets must be the same.
-
---- SQL operation failed with errors.
->>alter table t011t7 alter column b varchar(2);
-
-*** ERROR[1404] Column B cannot be altered. Reason: New length must be greater than or equal to old length.
-
---- SQL operation failed with errors.
->>alter table t011t7 alter column c varchar(4) character set utf8;
-
-*** ERROR[1404] Column C cannot be altered. Reason: New length must be greater than or equal to old length.
-
---- SQL operation failed with errors.
 >>
 >>
 >>
@@ -2191,7 +2106,9 @@ LC   RC   OP   OPERATOR              OPT       DESCRIPTION           CARD
 >>
 >>drop table t011t7;
 
---- SQL operation complete.
+*** ERROR[1389] Object TRAFODION.SCH.T011T7 does not exist in Trafodion.
+
+--- SQL operation failed with errors.
 >>
 >>-- delete explain for statement explstmt from repository
 >>set parserflags 131072;

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/7b99938c/core/sql/regress/seabase/EXPECTED027
----------------------------------------------------------------------
diff --git a/core/sql/regress/seabase/EXPECTED027 b/core/sql/regress/seabase/EXPECTED027
index 5071189..8c48546 100644
--- a/core/sql/regress/seabase/EXPECTED027
+++ b/core/sql/regress/seabase/EXPECTED027
@@ -12,7 +12,7 @@
 >>invoke t027t01;
 
 -- Definition of Trafodion table TRAFODION.SCH027.T027T01
--- Definition current  Tue Nov 10 19:18:48 2015
+-- Definition current  Fri Feb 26 20:36:16 2016
 
   (
     A                                INT NO DEFAULT NOT NULL NOT DROPPABLE
@@ -39,7 +39,7 @@ CREATE TABLE TRAFODION.SCH027.T027T01
 >>invoke t027t01;
 
 -- Definition of Trafodion table TRAFODION.SCH027.T027T01
--- Definition current  Tue Nov 10 19:18:55 2015
+-- Definition current  Fri Feb 26 20:36:25 2016
 
   (
     "cf".A                           INT NO DEFAULT NOT NULL NOT DROPPABLE
@@ -67,7 +67,7 @@ CREATE TABLE TRAFODION.SCH027.T027T01
 >>invoke t027t01;
 
 -- Definition of Trafodion table TRAFODION.SCH027.T027T01
--- Definition current  Tue Nov 10 19:19:04 2015
+-- Definition current  Fri Feb 26 20:36:30 2016
 
   (
     "cf".A                           INT NO DEFAULT NOT NULL NOT DROPPABLE
@@ -98,7 +98,7 @@ CREATE TABLE TRAFODION.SCH027.T027T01
 >>invoke t027t01;
 
 -- Definition of Trafodion table TRAFODION.SCH027.T027T01
--- Definition current  Tue Nov 10 19:19:14 2015
+-- Definition current  Fri Feb 26 20:36:39 2016
 
   (
     "cf".A                           INT NO DEFAULT NOT NULL NOT DROPPABLE
@@ -127,7 +127,7 @@ CREATE TABLE TRAFODION.SCH027.T027T01
 >>invoke t027t01;
 
 -- Definition of Trafodion table TRAFODION.SCH027.T027T01
--- Definition current  Tue Nov 10 19:19:19 2015
+-- Definition current  Fri Feb 26 20:36:40 2016
 
   (
     "cf".A                           INT NO DEFAULT NOT NULL NOT DROPPABLE
@@ -191,13 +191,13 @@ A            B            C
 >>invoke t027t01;
 
 -- Definition of Trafodion table TRAFODION.SCH027.T027T01
--- Definition current  Tue Nov 10 19:19:22 2015
+-- Definition current  Fri Feb 26 20:36:46 2016
 
   (
     "cf".A                           INT NO DEFAULT NOT NULL NOT DROPPABLE
   , "cf2".B                          INT DEFAULT NULL
   , CF3.C                            INT DEFAULT NULL
-  , "cf2".D                          INT DEFAULT NULL /* added col */
+  , "cf2".D                          INT DEFAULT NULL /*added_col*/
   )
 
 --- SQL operation complete.
@@ -208,7 +208,7 @@ CREATE TABLE TRAFODION.SCH027.T027T01
     "cf".A                           INT NO DEFAULT NOT NULL NOT DROPPABLE
   , "cf2".B                          INT DEFAULT NULL
   , CF3.C                            INT DEFAULT NULL
-  , "cf2".D                          INT DEFAULT NULL /* added col */
+  , "cf2".D                          INT DEFAULT NULL /*added_col*/
   , PRIMARY KEY (A ASC)
   )
  ATTRIBUTES DEFAULT COLUMN FAMILY 'cf'
@@ -228,14 +228,14 @@ CREATE INDEX T027T01I1 ON TRAFODION.SCH027.T027T01
 >>invoke t027t01;
 
 -- Definition of Trafodion table TRAFODION.SCH027.T027T01
--- Definition current  Tue Nov 10 19:19:29 2015
+-- Definition current  Fri Feb 26 20:36:49 2016
 
   (
     "cf".A                           INT NO DEFAULT NOT NULL NOT DROPPABLE
   , "cf2".B                          INT DEFAULT NULL
   , CF3.C                            INT DEFAULT NULL
-  , "cf2".D                          INT DEFAULT NULL /* added col */
-  , "cf4".E                          INT DEFAULT NULL /* added col */
+  , "cf2".D                          INT DEFAULT NULL /*added_col*/
+  , "cf4".E                          INT DEFAULT NULL /*added_col*/
   )
 
 --- SQL operation complete.
@@ -246,8 +246,8 @@ CREATE TABLE TRAFODION.SCH027.T027T01
     "cf".A                           INT NO DEFAULT NOT NULL NOT DROPPABLE
   , "cf2".B                          INT DEFAULT NULL
   , CF3.C                            INT DEFAULT NULL
-  , "cf2".D                          INT DEFAULT NULL /* added col */
-  , "cf4".E                          INT DEFAULT NULL /* added col */
+  , "cf2".D                          INT DEFAULT NULL /*added_col*/
+  , "cf4".E                          INT DEFAULT NULL /*added_col*/
   , PRIMARY KEY (A ASC)
   )
  ATTRIBUTES DEFAULT COLUMN FAMILY 'cf'
@@ -267,13 +267,13 @@ CREATE INDEX T027T01I1 ON TRAFODION.SCH027.T027T01
 >>invoke t027t01;
 
 -- Definition of Trafodion table TRAFODION.SCH027.T027T01
--- Definition current  Tue Nov 10 19:19:31 2015
+-- Definition current  Fri Feb 26 20:36:54 2016
 
   (
     "cf".A                           INT NO DEFAULT NOT NULL NOT DROPPABLE
   , "cf2".B                          INT DEFAULT NULL
   , CF3.C                            INT DEFAULT NULL
-  , "cf4".E                          INT DEFAULT NULL /* added col */
+  , "cf4".E                          INT DEFAULT NULL /*added_col*/
   )
 
 --- SQL operation complete.
@@ -284,7 +284,7 @@ CREATE TABLE TRAFODION.SCH027.T027T01
     "cf".A                           INT NO DEFAULT NOT NULL NOT DROPPABLE
   , "cf2".B                          INT DEFAULT NULL
   , CF3.C                            INT DEFAULT NULL
-  , "cf4".E                          INT DEFAULT NULL /* added col */
+  , "cf4".E                          INT DEFAULT NULL /*added_col*/
   , PRIMARY KEY (A ASC)
   )
  ATTRIBUTES DEFAULT COLUMN FAMILY 'cf'
@@ -304,14 +304,14 @@ CREATE INDEX T027T01I1 ON TRAFODION.SCH027.T027T01
 >>invoke t027t01;
 
 -- Definition of Trafodion table TRAFODION.SCH027.T027T01
--- Definition current  Tue Nov 10 19:19:36 2015
+-- Definition current  Fri Feb 26 20:36:55 2016
 
   (
     "cf".A                           INT NO DEFAULT NOT NULL NOT DROPPABLE
   , "cf2".B                          INT DEFAULT NULL
   , CF3.C                            INT DEFAULT NULL
-  , "cf4".E                          INT DEFAULT NULL /* added col */
-  , "cf2".D                          INT DEFAULT NULL /* added col */
+  , "cf4".E                          INT DEFAULT NULL /*added_col*/
+  , "cf2".D                          INT DEFAULT NULL /*added_col*/
   )
 
 --- SQL operation complete.
@@ -322,8 +322,8 @@ CREATE TABLE TRAFODION.SCH027.T027T01
     "cf".A                           INT NO DEFAULT NOT NULL NOT DROPPABLE
   , "cf2".B                          INT DEFAULT NULL
   , CF3.C                            INT DEFAULT NULL
-  , "cf4".E                          INT DEFAULT NULL /* added col */
-  , "cf2".D                          INT DEFAULT NULL /* added col */
+  , "cf4".E                          INT DEFAULT NULL /*added_col*/
+  , "cf2".D                          INT DEFAULT NULL /*added_col*/
   , PRIMARY KEY (A ASC)
   )
  ATTRIBUTES DEFAULT COLUMN FAMILY 'cf'
@@ -343,7 +343,7 @@ CREATE INDEX T027T01I1 ON TRAFODION.SCH027.T027T01
 >>invoke t027t011;
 
 -- Definition of Trafodion table TRAFODION.SCH027.T027T011
--- Definition current  Tue Nov 10 19:19:47 2015
+-- Definition current  Fri Feb 26 20:37:02 2016
 
   (
     "cf".A                           INT NO DEFAULT NOT NULL NOT DROPPABLE
@@ -387,7 +387,7 @@ A            B            C            E            D
 >>invoke t027t011;
 
 -- Definition of Trafodion table TRAFODION.SCH027.T027T011
--- Definition current  Tue Nov 10 19:19:53 2015
+-- Definition current  Fri Feb 26 20:37:06 2016
 
   (
     "cf".A                           INT NO DEFAULT NOT NULL NOT DROPPABLE
@@ -426,7 +426,7 @@ CREATE TABLE TRAFODION.SCH027.T027T011
 >>invoke t027t011;
 
 -- Definition of Trafodion table TRAFODION.SCH027.T027T011
--- Definition current  Tue Nov 10 19:20:03 2015
+-- Definition current  Fri Feb 26 20:37:15 2016
 
   (
     A                                INT NO DEFAULT NOT NULL NOT DROPPABLE
@@ -460,7 +460,7 @@ CREATE TABLE TRAFODION.SCH027.T027T011
 >>invoke t027t011;
 
 -- Definition of Trafodion table TRAFODION.SCH027.T027T011
--- Definition current  Tue Nov 10 19:20:07 2015
+-- Definition current  Fri Feb 26 20:37:19 2016
 
   (
     "cf".A                           INT NO DEFAULT NOT NULL NOT DROPPABLE
@@ -491,7 +491,7 @@ CREATE TABLE TRAFODION.SCH027.T027T011
 >>invoke t027t03;
 
 -- Definition of Trafodion volatile table T027T03
--- Definition current  Tue Nov 10 19:20:14 2015
+-- Definition current  Fri Feb 26 20:37:25 2016
 
   (
     "cf1".A                          INT NO DEFAULT NOT NULL NOT DROPPABLE
@@ -522,7 +522,7 @@ CREATE VOLATILE TABLE T027T03
 >>invoke t027t03;
 
 -- Definition of Trafodion volatile table T027T03
--- Definition current  Tue Nov 10 19:20:36 2015
+-- Definition current  Fri Feb 26 20:37:45 2016
 
   (
     "cf1".A                          INT NO DEFAULT NOT NULL NOT DROPPABLE
@@ -570,7 +570,7 @@ CREATE VOLATILE TABLE T027T03
 >>invoke t027t02;
 
 -- Definition of Trafodion table TRAFODION.SCH027.T027T02
--- Definition current  Tue Nov 10 19:20:58 2015
+-- Definition current  Fri Feb 26 20:38:04 2016
 
   (
     "cf".A0A0                        INT DEFAULT NULL
@@ -621,7 +621,7 @@ CREATE VOLATILE TABLE T027T03
 >>invoke t027t03;
 
 -- Definition of Trafodion table TRAFODION.SCH027.T027T03
--- Definition current  Tue Nov 10 19:21:19 2015
+-- Definition current  Fri Feb 26 20:38:26 2016
 
   (
     "cf1".A                          INT NO DEFAULT NOT NULL NOT DROPPABLE
@@ -657,7 +657,7 @@ A            B            C            D
 >>invoke t027t02;
 
 -- Definition of Trafodion table TRAFODION.SCH027.T027T02
--- Definition current  Tue Nov 10 19:21:35 2015
+-- Definition current  Fri Feb 26 20:38:40 2016
 
   (
     OBJECT_UID                       LARGEINT NO DEFAULT NOT NULL NOT DROPPABLE
@@ -756,8 +756,381 @@ create index t027t01i2 on t027t01("cf2".b);
 
 --- SQL operation failed with errors.
 >>
+>>-- tests for alter varchar column 
+>>drop table if exists t027t7;
+
+--- SQL operation complete.
+>>create table t027t7(a int not null, b varchar(2), 
++>   c varchar(4) character set utf8 not null, z int not null primary key)
++>salt using 2 partitions;
+
+--- SQL operation complete.
+>>
+>>invoke t027t7;
+
+-- Definition of Trafodion table TRAFODION.SCH027.T027T7
+-- Definition current  Fri Feb 26 20:39:06 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
+  , Z                                INT NO DEFAULT NOT NULL NOT DROPPABLE
+  )
+
+--- SQL operation complete.
+>>insert into t027t7 values (1, 'ab', 'cd', 10);
+
+--- 1 row(s) inserted.
+>>select * from t027t7;
+
+A            B   C                 Z          
+-----------  --  ----------------  -----------
+
+          1  ab  cd                         10
+
+--- 1 row(s) selected.
+>>alter table t027t7 alter column b varchar(3);
+
+--- SQL operation complete.
+>>invoke t027t7;
+
+-- Definition of Trafodion table TRAFODION.SCH027.T027T7
+-- Definition current  Fri Feb 26 20:39:13 2016
+
+  (
+    A                                INT NO DEFAULT NOT NULL NOT DROPPABLE
+  , B                                VARCHAR(3) CHARACTER SET ISO88591 COLLATE
+      DEFAULT DEFAULT NULL /*altered_col*/
+  , C                                VARCHAR(4 CHARS) CHARACTER SET UTF8
+      COLLATE DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE
+  , Z                                INT NO DEFAULT NOT NULL NOT DROPPABLE
+  )
+
+--- SQL operation complete.
+>>alter table t027t7 alter column c varchar(5) character set utf8;
+
+--- SQL operation complete.
+>>invoke t027t7;
+
+-- Definition of Trafodion table TRAFODION.SCH027.T027T7
+-- Definition current  Fri Feb 26 20:39:35 2016
+
+  (
+    A                                INT NO DEFAULT NOT NULL NOT DROPPABLE
+  , B                                VARCHAR(3) CHARACTER SET ISO88591 COLLATE
+      DEFAULT DEFAULT NULL /*altered_col*/
+  , C                                VARCHAR(5 CHARS) CHARACTER SET UTF8
+      COLLATE DEFAULT DEFAULT NULL /*altered_col*/
+  , Z                                INT NO DEFAULT NOT NULL NOT DROPPABLE
+  )
+
+--- SQL operation complete.
+>>alter table t027t7 alter column c varchar(4) character set utf8;
+
+--- SQL operation complete.
+>>invoke t027t7;
+
+-- Definition of Trafodion table TRAFODION.SCH027.T027T7
+-- Definition current  Fri Feb 26 20:39:50 2016
+
+  (
+    A                                INT NO DEFAULT NOT NULL NOT DROPPABLE
+  , B                                VARCHAR(3) CHARACTER SET ISO88591 COLLATE
+      DEFAULT DEFAULT NULL /*altered_col*/
+  , C                                VARCHAR(4 CHARS) CHARACTER SET UTF8
+      COLLATE DEFAULT DEFAULT NULL /*altered_col*/
+  , Z                                INT NO DEFAULT NOT NULL NOT DROPPABLE
+  )
+
+--- SQL operation complete.
+>>
+>>alter table t027t7 alter column a largeint;
+
+--- SQL operation complete.
+>>invoke t027t7;
+
+-- Definition of Trafodion table TRAFODION.SCH027.T027T7
+-- Definition current  Fri Feb 26 20:40:08 2016
+
+  (
+    A                                LARGEINT DEFAULT NULL /*altered_col*/
+  , B                                VARCHAR(3) CHARACTER SET ISO88591 COLLATE
+      DEFAULT DEFAULT NULL /*altered_col*/
+  , C                                VARCHAR(4 CHARS) CHARACTER SET UTF8
+      COLLATE DEFAULT DEFAULT NULL /*altered_col*/
+  , Z                                INT NO DEFAULT NOT NULL NOT DROPPABLE
+  )
+
+--- SQL operation complete.
+>>alter table t027t7 alter column b varchar(4) character set utf8;
+
+--- SQL operation complete.
+>>invoke t027t7;
+
+-- Definition of Trafodion table TRAFODION.SCH027.T027T7
+-- Definition current  Fri Feb 26 20:40:26 2016
+
+  (
+    A                                LARGEINT DEFAULT NULL /*altered_col*/
+  , B                                VARCHAR(4 CHARS) CHARACTER SET UTF8
+      COLLATE DEFAULT DEFAULT NULL /*altered_col*/
+  , C                                VARCHAR(4 CHARS) CHARACTER SET UTF8
+      COLLATE DEFAULT DEFAULT NULL /*altered_col*/
+  , Z                                INT NO DEFAULT NOT NULL NOT DROPPABLE
+  )
+
+--- SQL operation complete.
+>>alter table t027t7 alter column c varchar(6);
+
+--- SQL operation complete.
+>>invoke t027t7;
+
+-- Definition of Trafodion table TRAFODION.SCH027.T027T7
+-- Definition current  Fri Feb 26 20:40:43 2016
+
+  (
+    A                                LARGEINT DEFAULT NULL /*altered_col*/
+  , B                                VARCHAR(4 CHARS) CHARACTER SET UTF8
+      COLLATE DEFAULT DEFAULT NULL /*altered_col*/
+  , C                                VARCHAR(6) CHARACTER SET ISO88591 COLLATE
+      DEFAULT DEFAULT NULL /*altered_col*/
+  , Z                                INT NO DEFAULT NOT NULL NOT DROPPABLE
+  )
+
+--- SQL operation complete.
+>>alter table t027t7 alter column b varchar(2);
+
+--- SQL operation complete.
+>>invoke t027t7;
+
+-- Definition of Trafodion table TRAFODION.SCH027.T027T7
+-- Definition current  Fri Feb 26 20:40:58 2016
+
+  (
+    A                                LARGEINT DEFAULT NULL /*altered_col*/
+  , B                                VARCHAR(2) CHARACTER SET ISO88591 COLLATE
+      DEFAULT DEFAULT NULL /*altered_col*/
+  , C                                VARCHAR(6) CHARACTER SET ISO88591 COLLATE
+      DEFAULT DEFAULT NULL /*altered_col*/
+  , Z                                INT NO DEFAULT NOT NULL NOT DROPPABLE
+  )
+
+--- SQL operation complete.
+>>alter table t027t7 alter column a int;
+
+--- SQL operation complete.
+>>invoke t027t7;
+
+-- Definition of Trafodion table TRAFODION.SCH027.T027T7
+-- Definition current  Fri Feb 26 20:41:12 2016
+
+  (
+    A                                INT DEFAULT NULL /*altered_col*/
+  , B                                VARCHAR(2) CHARACTER SET ISO88591 COLLATE
+      DEFAULT DEFAULT NULL /*altered_col*/
+  , C                                VARCHAR(6) CHARACTER SET ISO88591 COLLATE
+      DEFAULT DEFAULT NULL /*altered_col*/
+  , Z                                INT NO DEFAULT NOT NULL NOT DROPPABLE
+  )
+
+--- SQL operation complete.
+>>alter table t027t7 alter column a smallint default 0 not null;
+
+--- SQL operation complete.
+>>invoke t027t7;
+
+-- Definition of Trafodion table TRAFODION.SCH027.T027T7
+-- Definition current  Fri Feb 26 20:41:30 2016
+
+  (
+    A                                SMALLINT DEFAULT 0 NOT NULL NOT DROPPABLE
+      /*altered_col*/
+  , B                                VARCHAR(2) CHARACTER SET ISO88591 COLLATE
+      DEFAULT DEFAULT NULL /*altered_col*/
+  , C                                VARCHAR(6) CHARACTER SET ISO88591 COLLATE
+      DEFAULT DEFAULT NULL /*altered_col*/
+  , Z                                INT NO DEFAULT NOT NULL NOT DROPPABLE
+  )
+
+--- SQL operation complete.
+>>select * from t027t7;
+
+A       B   C       Z          
+------  --  ------  -----------
+
+     1  ab  cd               10
+
+--- 1 row(s) selected.
+>>
+>>-- aligned format
+>>drop table if exists t027t7;
+
+--- SQL operation complete.
+>>create table t027t7(a int not null, b varchar(2), 
++>   c varchar(4) character set utf8 not null, z int not null primary key)
++>salt using 2 partitions attribute aligned format;
+
+--- SQL operation complete.
+>>invoke t027t7;
+
+-- Definition of Trafodion table TRAFODION.SCH027.T027T7
+-- Definition current  Fri Feb 26 20:41:52 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
+  , Z                                INT NO DEFAULT NOT NULL NOT DROPPABLE
+  )
+
+--- SQL operation complete.
+>>insert into t027t7 values (1, 'ab', 'cd', 10);
+
+--- 1 row(s) inserted.
+>>select * from t027t7;
+
+A            B   C                 Z          
+-----------  --  ----------------  -----------
+
+          1  ab  cd                         10
+
+--- 1 row(s) selected.
+>>alter table t027t7 alter column a largeint;
+
+--- SQL operation complete.
+>>invoke t027t7;
+
+-- Definition of Trafodion table TRAFODION.SCH027.T027T7
+-- Definition current  Fri Feb 26 20:42:09 2016
+
+  (
+    A                                LARGEINT DEFAULT NULL /*altered_col*/
+  , 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
+  , Z                                INT NO DEFAULT NOT NULL NOT DROPPABLE
+  )
+
+--- SQL operation complete.
+>>select * from t027t7;
+
+A                     B   C                 Z          
+--------------------  --  ----------------  -----------
+
+                   1  ab  cd                         10
+
+--- 1 row(s) selected.
+>>alter table t027t7 drop column b;
+
+--- SQL operation complete.
+>>invoke t027t7;
+
+-- Definition of Trafodion table TRAFODION.SCH027.T027T7
+-- Definition current  Fri Feb 26 20:42:35 2016
+
+  (
+    A                                LARGEINT DEFAULT NULL /*altered_col*/
+  , C                                VARCHAR(4 CHARS) CHARACTER SET UTF8
+      COLLATE DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE
+  , Z                                INT NO DEFAULT NOT NULL NOT DROPPABLE
+  )
+
+--- SQL operation complete.
+>>select * from t027t7;
+
+A                     C                 Z          
+--------------------  ----------------  -----------
+
+                   1  cd                         10
+
+--- 1 row(s) selected.
+>>alter table t027t7 add column b char(10) default 'abc' not null;
+
+--- SQL operation complete.
+>>invoke t027t7;
+
+-- Definition of Trafodion table TRAFODION.SCH027.T027T7
+-- Definition current  Fri Feb 26 20:42:38 2016
+
+  (
+    A                                LARGEINT DEFAULT NULL /*altered_col*/
+  , C                                VARCHAR(4 CHARS) CHARACTER SET UTF8
+      COLLATE DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE
+  , Z                                INT NO DEFAULT NOT NULL NOT DROPPABLE
+  , B                                CHAR(10) CHARACTER SET ISO88591 COLLATE
+      DEFAULT DEFAULT _ISO88591'abc' NOT NULL NOT DROPPABLE /*added_col*/
+  )
+
+--- SQL operation complete.
+>>select * from t027t7;
+
+A                     C                 Z            B         
+--------------------  ----------------  -----------  ----------
+
+                   1  cd                         10  abc       
+
+--- 1 row(s) selected.
+>>alter table t027t7 drop column b;
+
+--- SQL operation complete.
+>>invoke t027t7;
+
+-- Definition of Trafodion table TRAFODION.SCH027.T027T7
+-- Definition current  Fri Feb 26 20:43:02 2016
+
+  (
+    A                                LARGEINT DEFAULT NULL /*altered_col*/
+  , C                                VARCHAR(4 CHARS) CHARACTER SET UTF8
+      COLLATE DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE
+  , Z                                INT NO DEFAULT NOT NULL NOT DROPPABLE
+  )
+
+--- SQL operation complete.
+>>select * from t027t7;
+
+A                     C                 Z          
+--------------------  ----------------  -----------
+
+                   1  cd                         10
+
+--- 1 row(s) selected.
+>>
+>>-- negative tests for alter/drop column
+>>alter table t027t7 alter column b int;
+
+*** ERROR[1009] Column B does not exist in the specified table.
+
+--- SQL operation failed with errors.
+>>alter table t027t7 alter column a char(10);
+
+*** ERROR[1404] Column A cannot be altered. Reason: Old and New datatypes must be compatible.
+
+--- SQL operation failed with errors.
+>>alter table t027t7 alter column c char(1);
+
+*** ERROR[8402] A string overflow occurred during the evaluation of a character expression. Conversion of Source Type:VARCHAR(REC_BYTE_V_ASCII,2 BYTES,ISO88591) Source Value:cd to Target Type:CHAR(REC_BYTE_F_ASCII,1 BYTES,ISO88591).
+
+*** ERROR[8839] Transaction was aborted.
+
+*** ERROR[1404] Column C cannot be altered. Reason: Old data could not be updated using the altered column definition.
+
+--- SQL operation failed with errors.
+>>alter table t027t7 drop column e;
+
+*** ERROR[1009] Column E does not exist in the specified table.
+
+--- SQL operation failed with errors.
 >>
 >>-- cleanup
+>>drop table if exists t027t7;
+
+--- SQL operation complete.
 >>drop table if exists t027t01;
 
 --- SQL operation complete.

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/7b99938c/core/sql/regress/seabase/TEST011
----------------------------------------------------------------------
diff --git a/core/sql/regress/seabase/TEST011 b/core/sql/regress/seabase/TEST011
index ed3b15d..d33bee0 100644
--- a/core/sql/regress/seabase/TEST011
+++ b/core/sql/regress/seabase/TEST011
@@ -557,22 +557,6 @@ select count(*) from t011t6b;
 drop table t011t6a ;
 drop table t011t6b ;
 
--- tests for alter column
-create table t011t7(a int not null, b varchar(2), 
-   c varchar(4) character set utf8 not null);
-invoke t011t7;
-alter table t011t7 alter column b varchar(3);
-invoke t011t7;
-alter table t011t7 alter column c varchar(5) character set utf8;
-invoke t011t7;
-
--- negative tests for alter column
-alter table t011t7 alter column a largeint;
-alter table t011t7 alter column b int;
-alter table t011t7 alter column b varchar(4) character set utf8;
-alter table t011t7 alter column c varchar(6);
-alter table t011t7 alter column b varchar(2);
-alter table t011t7 alter column c varchar(4) character set utf8;
 
 
 

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/7b99938c/core/sql/regress/seabase/TEST027
----------------------------------------------------------------------
diff --git a/core/sql/regress/seabase/TEST027 b/core/sql/regress/seabase/TEST027
index 82b8b82..d828640 100644
--- a/core/sql/regress/seabase/TEST027
+++ b/core/sql/regress/seabase/TEST027
@@ -20,6 +20,7 @@
 -- @@@ END COPYRIGHT @@@
 --
 -- tests for support of multiple column families
+-- tests for alter table alter column
 
 create schema trafodion.sch027;
 set schema trafodion.sch027;
@@ -178,8 +179,65 @@ create table t027t02 (
      a20.a20 int, a21.a21 int, a22.a22 int, a23.a23 int, a24.a24 int, a25.a25 int, a26.a26 int, a27.a27 int, a28.a28 int, a29.a29 int,
     a30.a30 int, a31.a31 int) attribute default column family 'cf';
 
+-- tests for alter varchar column 
+drop table if exists t027t7;
+create table t027t7(a int not null, b varchar(2), 
+   c varchar(4) character set utf8 not null, z int not null primary key)
+salt using 2 partitions;
+
+invoke t027t7;
+insert into t027t7 values (1, 'ab', 'cd', 10);
+select * from t027t7;
+alter table t027t7 alter column b varchar(3);
+invoke t027t7;
+alter table t027t7 alter column c varchar(5) character set utf8;
+invoke t027t7;
+alter table t027t7 alter column c varchar(4) character set utf8;
+invoke t027t7;
+
+alter table t027t7 alter column a largeint;
+invoke t027t7;
+alter table t027t7 alter column b varchar(4) character set utf8;
+invoke t027t7;
+alter table t027t7 alter column c varchar(6);
+invoke t027t7;
+alter table t027t7 alter column b varchar(2);
+invoke t027t7;
+alter table t027t7 alter column a int;
+invoke t027t7;
+alter table t027t7 alter column a smallint default 0 not null;
+invoke t027t7;
+select * from t027t7;
+
+-- aligned format
+drop table if exists t027t7;
+create table t027t7(a int not null, b varchar(2), 
+   c varchar(4) character set utf8 not null, z int not null primary key)
+salt using 2 partitions attribute aligned format;
+invoke t027t7;
+insert into t027t7 values (1, 'ab', 'cd', 10);
+select * from t027t7;
+alter table t027t7 alter column a largeint;
+invoke t027t7;
+select * from t027t7;
+alter table t027t7 drop column b;
+invoke t027t7;
+select * from t027t7;
+alter table t027t7 add column b char(10) default 'abc' not null;
+invoke t027t7;
+select * from t027t7;
+alter table t027t7 drop column b;
+invoke t027t7;
+select * from t027t7;
+
+-- negative tests for alter/drop column
+alter table t027t7 alter column b int;
+alter table t027t7 alter column a char(10);
+alter table t027t7 alter column c char(1);
+alter table t027t7 drop column e;
 
 -- cleanup
+drop table if exists t027t7;
 drop table if exists t027t01;
 drop table if exists t027t02;
 drop table if exists t027t011;

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/7b99938c/core/sql/sqlcomp/CmpDescribe.cpp
----------------------------------------------------------------------
diff --git a/core/sql/sqlcomp/CmpDescribe.cpp b/core/sql/sqlcomp/CmpDescribe.cpp
index 480853b..8b692aa 100644
--- a/core/sql/sqlcomp/CmpDescribe.cpp
+++ b/core/sql/sqlcomp/CmpDescribe.cpp
@@ -200,11 +200,13 @@ short CmpDescribeSeabaseTable (
                              NABoolean withoutDivisioning = FALSE,
                              NABoolean noTrailingSemi = FALSE,
 
-                             // used to add or remove column definition from col list.
-                             // valid for 'createLike' mode. Used for 'alter add/drop col'.
+                             // used to add,rem,alter column definition from col list.
+                             // valid for 'createLike' mode. 
+                             // Used for 'alter add/drop/alter col'.
                              char * colName = NULL,
-                             NABoolean isAdd = FALSE,
-                             const NAColumn * nacol = NULL);
+                             short ada = 0, // 0,add. 1,drop. 2,alter
+                             const NAColumn * nacol = NULL,
+                             const NAType * natype = NULL);
 
 short CmpDescribeSequence ( 
                              const CorrName  &dtName,
@@ -2304,26 +2306,37 @@ short CmpDescribeHiveTable (
 }
 
 // type:  1, invoke. 2, showddl. 3, create_like
-static short cmpDisplayColumn(const NAColumn *nac,
-                              short type,
-                              Space &space, char * buf,
-                              Lng32 &ii,
-                              NABoolean namesOnly,
-                              NABoolean &identityCol,
-                              NABoolean isExternalTable,
-                              NABoolean isAlignedRowFormat)
+short cmpDisplayColumn(const NAColumn *nac,
+                       char * inColName,
+                       const NAType *inNAT,
+                       short displayType,
+                       Space *inSpace,
+                       char * buf,
+                       Lng32 &ii,
+                       NABoolean namesOnly,
+                       NABoolean &identityCol,
+                       NABoolean isExternalTable,
+                       NABoolean isAlignedRowFormat)
 {
+  Space lSpace;
+  
+  Space * space;
+  if (inSpace)
+    space = inSpace;
+  else
+    space = &lSpace;
+
   identityCol = FALSE;
   
-  const NAString &colName = nac->getColName();
+  NAString colName(inColName ? inColName : nac->getColName());
   NATable * naTable = (NATable*)nac->getNATable();
 
   NAString colFam;
-  if ((nac->getNATable()->isSQLMXAlignedTable()) || 
+  if ((nac->getNATable() && nac->getNATable()->isSQLMXAlignedTable()) || 
       (nac->getHbaseColFam() == SEABASE_DEFAULT_COL_FAMILY) ||
       isExternalTable)
     colFam = "";
-  else if (nac->getNATable()->isSeabaseTable())
+  else if (nac->getNATable() && nac->getNATable()->isSeabaseTable())
     {
       int index = 0;
       CmpSeabaseDDL::extractTrafColFam(nac->getHbaseColFam(), index);
@@ -2336,7 +2349,7 @@ static short cmpDisplayColumn(const NAColumn *nac,
       colFam += ".";
     }
 
-  if (type == 3)
+  if (displayType == 3)
     {
       NAString quotedColName = "\"";
       quotedColName += colName.data(); 
@@ -2358,12 +2371,12 @@ static short cmpDisplayColumn(const NAColumn *nac,
     {
       NAString colString(buf);
       Int32 j = ii;
-      outputColumnLine(space, colString, j);
+      outputColumnLine(*space, colString, j);
       
       return 0;
     }
   
-  const NAType * nat = nac->getType();
+  const NAType * nat = (inNAT ? inNAT : nac->getType());
   
   NAString nas;
   ((NAType*)nat)->getMyTypeAsText(&nas, FALSE);
@@ -2399,7 +2412,7 @@ static short cmpDisplayColumn(const NAColumn *nac,
         defVal = "GENERATED ALWAYS AS IDENTITY";
       
       NAString idOptions;
-      if ((type != 1) && (nac->getNATable()->getSGAttributes()))
+      if ((displayType != 1) && (nac->getNATable()->getSGAttributes()))
         nac->getNATable()->getSGAttributes()->display(NULL, &idOptions, TRUE);
       
       if (NOT idOptions.isNull())
@@ -2434,35 +2447,43 @@ static short cmpDisplayColumn(const NAColumn *nac,
   
   char * sqlmxRegr = getenv("SQLMX_REGRESS");
   if ((! sqlmxRegr) ||
-      (type == 3))
+      (displayType == 3))
     {
       if ((NOT isAlignedRowFormat) &&
             CmpSeabaseDDL::isSerialized(nac->getHbaseColFlags()))
         attrStr += " SERIALIZED";
       else if ((CmpCommon::getDefault(HBASE_SERIALIZATION) == DF_ON) ||
-                (type == 3))
+                (displayType == 3))
         attrStr += " NOT SERIALIZED";
     }
   
-  if (nac->isAddedColumn())
+  if (displayType != 3)
     {
-      attrStr += " /* added col */ ";
+      if (nac->isAlteredColumn())
+        {
+          attrStr += " /*altered_col*/ ";
+        }
+      else if (nac->isAddedColumn())
+        {
+          attrStr += " /*added_col*/ ";
+        }
     }
-  
+
   sprintf(&buf[strlen(buf)], "%s %s", 
           nas.data(), 
           attrStr.data());
   
   NAString colString(buf);
   Int32 j = ii;
-  outputColumnLine(space, colString, j);
+  if (inSpace)
+    outputColumnLine(*space, colString, j);
 
   return 0;
 }
 
 // type:  1, invoke. 2, showddl. 3, create_like
 short cmpDisplayColumns(const NAColumnArray & naColArr,
-                        short type,
+                        short displayType,
                         Space &space, char * buf, 
                         NABoolean displaySystemCols,
                         NABoolean namesOnly,
@@ -2470,8 +2491,9 @@ short cmpDisplayColumns(const NAColumnArray & naColArr,
                         NABoolean isExternalTable,
 			NABoolean isAlignedRowFormat,
                         char * inColName = NULL,
-                        NABoolean isAdd = FALSE,
-                        const NAColumn * nacol = NULL)
+                        short ada = 0, // 0,add. 1,drop. 2,alter
+                        const NAColumn * nacol = NULL,
+                        const NAType * natype = NULL)
 {
   Lng32 ii = 0;
   identityColPos = -1;
@@ -2488,14 +2510,25 @@ short cmpDisplayColumns(const NAColumnArray & naColArr,
 
       const NAString &colName = nac->getColName();
 
-      if ((inColName) && (NOT isAdd))
+      if ((inColName) && (ada == 1))
         {
           if (colName == inColName) // remove this column
             continue;
         }
       
-       if (cmpDisplayColumn(nac, type, space, buf, ii, namesOnly, identityCol, isExternalTable, isAlignedRowFormat))
-        return -1;
+      if ((inColName) && (colName == inColName) &&
+          (ada == 2) && (nacol) && (natype))
+        {
+          if (cmpDisplayColumn(nac, NULL, natype, displayType, &space, buf, ii, namesOnly, identityCol, 
+                               isExternalTable, isAlignedRowFormat))
+            return -1;
+        }
+      else
+        {
+          if (cmpDisplayColumn(nac, NULL, NULL, displayType, &space, buf, ii, namesOnly, identityCol, 
+                               isExternalTable, isAlignedRowFormat))
+            return -1;
+        }
 
       if (identityCol)
         identityColPos = i;
@@ -2503,31 +2536,36 @@ short cmpDisplayColumns(const NAColumnArray & naColArr,
       ii++;
     }
 
-  if ((inColName) && (isAdd) && (nacol))
+  if ((inColName) && (ada == 0) && (nacol))
     {
-      if (cmpDisplayColumn(nacol, type, space, buf, ii, namesOnly, identityCol, isExternalTable, isAlignedRowFormat))
+      if (cmpDisplayColumn(nacol, NULL, NULL, displayType, &space, buf, ii, namesOnly, identityCol, 
+                           isExternalTable, isAlignedRowFormat))
         return -1;
     }
 
   return 0;
 }
 
-static short cmpDisplayPrimaryKey(const NAColumnArray & naColArr,
-                                  Lng32 numKeys,
-                                  NABoolean displaySystemCols,
-                                  Space &space, char * buf, 
-                                  NABoolean displayCompact,
-                                  NABoolean displayAscDesc)
+short cmpDisplayPrimaryKey(const NAColumnArray & naColArr,
+                           Lng32 numKeys,
+                           NABoolean displaySystemCols,
+                           Space &space, char * buf, 
+                           NABoolean displayCompact,
+                           NABoolean displayAscDesc,
+                           NABoolean displayParens)
 {
   if (numKeys > 0)
     {
-      if (displayCompact)
-        sprintf(&buf[strlen(buf)],  "(");
-      else
+      if (displayParens)
         {
-          outputShortLine(space, "  ( ");
+          if (displayCompact)
+            sprintf(&buf[strlen(buf)],  "(");
+          else
+            {
+              outputShortLine(space, "  ( ");
+            }
         }
-      
+
       NABoolean isFirst = TRUE;
       Int32 j = -1;
       for (Int32 jj = 0; jj < numKeys; jj++)
@@ -2544,12 +2582,14 @@ static short cmpDisplayPrimaryKey(const NAColumnArray & naColArr,
           
           const NAString &keyName = nac->getColName();
           if (displayCompact)
-            sprintf(&buf[strlen(buf)], "%s%s%s", 
-                    (NOT isFirst ? ", " : ""),
-                    ANSI_ID(keyName.data()),
-                    (displayAscDesc ?
-                     (! naColArr.isAscending(jj) ? " DESC" : " ASC") :
-                     " "));
+            {
+              sprintf(&buf[strlen(buf)], "%s%s%s", 
+                      (NOT isFirst ? ", " : ""),
+                      ANSI_ID(keyName.data()),
+                      (displayAscDesc ?
+                       (! naColArr.isAscending(jj) ? " DESC" : " ASC") :
+                       " "));
+            }
           else
             {
               sprintf(buf, "%s%s", 
@@ -2564,15 +2604,18 @@ static short cmpDisplayPrimaryKey(const NAColumnArray & naColArr,
 
           isFirst = FALSE;
         } // for
-      
-      if (displayCompact)
-        {
-          sprintf(&buf[strlen(buf)],  ")");
-          outputLine(space, buf, 2);
-        }
-      else
+
+      if (displayParens)
         {
-          outputShortLine(space, "  )");
+          if (displayCompact)
+            {
+              sprintf(&buf[strlen(buf)],  ")");
+              outputLine(space, buf, 2);
+            }
+          else
+            {
+              outputShortLine(space, "  )");
+            }
         }
     } // if
   
@@ -2593,8 +2636,9 @@ short CmpDescribeSeabaseTable (
                                NABoolean withoutDivisioning,
                                NABoolean noTrailingSemi,
                                char * colName,
-                               NABoolean isAdd,
-                               const NAColumn * nacol)
+                               short ada,
+                               const NAColumn * nacol,
+                               const NAType * natype)
 {
   const NAString& tableName =
     dtName.getQualifiedNameObj().getQualifiedNameAsAnsiString(TRUE);
@@ -2646,6 +2690,7 @@ short CmpDescribeSeabaseTable (
     displayPrivilegeGrants = FALSE;
  
   // display syscols for invoke if not running regrs
+  //
   NABoolean displaySystemCols = ((!sqlmxRegr) && (type == 1));
 
   NABoolean isView = (naTable->getViewText() ? TRUE : FALSE);
@@ -2782,7 +2827,7 @@ short CmpDescribeSeabaseTable (
 		    FALSE,
                     identityColPos,
                     isExternalTable, naTable->isSQLMXAlignedTable(),
-                    colName, isAdd, nacol);
+                    colName, ada, nacol, natype);
 
   Int32 nonSystemKeyCols = 0;
   NABoolean isStoreBy = FALSE;
@@ -2861,7 +2906,7 @@ short CmpDescribeSeabaseTable (
           cmpDisplayPrimaryKey(naf->getIndexKeyColumns(), 
                                naf->getIndexKeyColumns().entries(),
                                displaySystemCols,
-                               space, buf, TRUE, TRUE);
+                               space, buf, TRUE, TRUE, TRUE);
         } // if
     }
 
@@ -2876,7 +2921,7 @@ short CmpDescribeSeabaseTable (
           cmpDisplayPrimaryKey(naf->getIndexKeyColumns(), 
                                naf->getIndexKeyColumns().entries(),
                                displaySystemCols,
-                               space, buf, TRUE, TRUE);
+                               space, buf, TRUE, TRUE, TRUE);
         }
       
       if ((isSalted) && !withoutSalt)
@@ -2985,6 +3030,7 @@ short CmpDescribeSeabaseTable (
 
       NABoolean attributesSet = FALSE;
       if (((NOT sqlmxRegr) && ((NOT isAudited) || (isAligned))) ||
+          ((sqlmxRegr) && (type == 3) && ((NOT isAudited) || (isAligned))) ||
           ((NOT naTable->defaultColFam().isNull()) && 
            (naTable->defaultColFam() != SEABASE_DEFAULT_COL_FAMILY)))
         {
@@ -3132,7 +3178,7 @@ short CmpDescribeSeabaseTable (
 
 	  cmpDisplayPrimaryKey(naf->getIndexKeyColumns(), numIndexCols, 
 			       displaySystemCols,
-			       space, buf, FALSE, TRUE);
+			       space, buf, FALSE, TRUE, TRUE);
 
           if ((NOT sqlmxRegr) && isAligned)
           {
@@ -3207,7 +3253,7 @@ short CmpDescribeSeabaseTable (
               cmpDisplayPrimaryKey(nacarr, 
                                    uniqConstr->keyColumns().entries(),
                                    FALSE,
-                                   space, &buf[strlen(buf)], FALSE, FALSE);
+                                   space, &buf[strlen(buf)], FALSE, FALSE, TRUE);
 
               outputShortLine(space, ";");
             } // for
@@ -3252,7 +3298,7 @@ short CmpDescribeSeabaseTable (
               cmpDisplayPrimaryKey(nacarr, 
                                    refConstr->keyColumns().entries(),
                                    FALSE,
-                                   space, &buf[strlen(buf)], FALSE, FALSE);
+                                   space, &buf[strlen(buf)], FALSE, FALSE, TRUE);
 
               const NAString& ansiOtherTableName = 
                 uniqueConstraintReferencedByMe.getTableName().getQualifiedNameAsAnsiString(TRUE);             
@@ -3272,7 +3318,7 @@ short CmpDescribeSeabaseTable (
               cmpDisplayPrimaryKey(nacarr2, 
                                    otherConstr->keyColumns().entries(),
                                    FALSE,
-                                   space, &buf[strlen(buf)], FALSE, FALSE);
+                                   space, &buf[strlen(buf)], FALSE, FALSE, TRUE);
 
               if (NOT refConstr->getIsEnforced())
                 {

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/7b99938c/core/sql/sqlcomp/CmpSeabaseDDL.h
----------------------------------------------------------------------
diff --git a/core/sql/sqlcomp/CmpSeabaseDDL.h b/core/sql/sqlcomp/CmpSeabaseDDL.h
index 5ab446e..e616f85 100644
--- a/core/sql/sqlcomp/CmpSeabaseDDL.h
+++ b/core/sql/sqlcomp/CmpSeabaseDDL.h
@@ -563,6 +563,9 @@ class CmpSeabaseDDL
 		   LobsStorage &lobStorage,
 		   ULng32 &hbaseColFlags,
                    Int64 &colFlags);
+
+  short getNAColumnFromColDef(ElemDDLColDef * colNode,
+                              NAColumn* &naCol);
   
   short createRowId(NAString &key,
 		    NAString &part1, Lng32 part1MaxLen,
@@ -905,7 +908,7 @@ class CmpSeabaseDDL
                             NABoolean isCompound = FALSE);
   
   void createSeabaseTable(
-			  StmtDDLCreateTable                  * createTableNode,
+			  StmtDDLCreateTable * createTableNode,
 			  NAString &currCatName, NAString &currSchName,
                           NABoolean isCompound = FALSE);
  
@@ -913,6 +916,13 @@ class CmpSeabaseDDL
 			  StmtDDLCreateTable                  * createTableNode,
 			  NAString &currCatName, NAString &currSchName);
  
+  short createSeabaseTableLike2(
+       CorrName &cn,
+       const NAString &likeTabName,
+       NABoolean withPartns = FALSE,
+       NABoolean withoutSalt = FALSE,
+       NABoolean withoutDivision = FALSE);
+
   void createSeabaseTableLike(
 			      StmtDDLCreateTable                  * createTableNode,
 			      NAString &currCatName, NAString &currSchName);
@@ -923,6 +933,19 @@ class CmpSeabaseDDL
                                    const ComObjectName &tgtTableName,
                                    const ComObjectName &srcTableName);
 
+  // makes a copy of underlying hbase table
+  short cloneHbaseTable(
+       const NAString &srcTable, const NAString &clonedTable,
+       ExpHbaseInterface * inEHI);
+
+  // makes a copy of traf metadata and underlying hbase table
+  short cloneSeabaseTable(
+       CorrName &cn,
+       const NATable * naTable,
+       const NAString &clonedTabName,
+       ExpHbaseInterface * ehi = NULL,
+       ExeCliInterface * cilInterface = NULL);
+
   short dropSeabaseTable2(
                           ExeCliInterface *cliInterface,
                           StmtDDLDropTable * dropTableNode,
@@ -969,17 +992,23 @@ class CmpSeabaseDDL
        StmtDDLAlterTableAddColumn * alterAddColNode,
        NAString &currCatName, NAString &currSchName);
   
-  void alterSeabaseTableDropColumn(
-       StmtDDLAlterTableDropColumn * alterDropColNode,
-       NAString &currCatName, NAString &currSchName);
-  
-  short alignedFormatTableAddDropColumn(
-       Int64 objUID,
-       NABoolean isAdd,
+
+  short updateMDforDropCol(ExeCliInterface &cliInterface,
+                           const NATable * naTable,
+                           Lng32 dropColNum);
+
+  short alignedFormatTableDropColumn
+  (
        const NAString &catalogNamePart,
        const NAString &schemaNamePart,
        const NAString &objectNamePart,
-       char * colName, const NAColumn * nacol);
+       const NATable * naTable,
+       const NAString &altColName,
+       ElemDDLColDef *pColDef);
+ 
+  void alterSeabaseTableDropColumn(
+       StmtDDLAlterTableDropColumn * alterDropColNode,
+       NAString &currCatName, NAString &currSchName);
   
   short recreateViews(ExeCliInterface &cliInterface,
                       NAList<NAString> &viewNameList,
@@ -989,6 +1018,21 @@ class CmpSeabaseDDL
        StmtDDLAlterTableAlterColumnSetSGOption * alterIdentityColNode,
        NAString &currCatName, NAString &currSchName);
   
+  short alignedFormatTableAlterColumn
+  (
+       const NAString &catalogNamePart,
+       const NAString &schemaNamePart,
+       const NAString &objectNamePart,
+       const NATable * naTable,
+       const NAString &altColName,
+       ElemDDLColDef *pColDef);
+  
+  short alterColumnAttr(
+       const NAString &catalogNamePart, const NAString &schemaNamePart,
+       const NAString &objectNamePart,
+       const NATable * naTable, const NAColumn * naCol, NAType * newType,
+       StmtDDLAlterTableAlterColumnDatatype * alterColNode);
+  
   void alterSeabaseTableAlterColumnDatatype(
        StmtDDLAlterTableAlterColumnDatatype * alterColumnDatatype,
        NAString &currCatName, NAString &currSchName);
@@ -1142,6 +1186,12 @@ class CmpSeabaseDDL
   short dropSeabaseObjectsFromHbase(const char * pattern);
   short updateSeabaseAuths(ExeCliInterface * cliInterface, const char * sysCat);
 
+  short truncateHbaseTable(const NAString &catalogNamePart, 
+                           const NAString &schemaNamePart, 
+                           const NAString &objectNamePart,
+                           NATable * naTable,
+                           ExpHbaseInterface * ehi);
+
   void purgedataHbaseTable(DDLExpr * ddlExpr,
 			   NAString &currCatName, NAString &currSchName);