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