http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/19c96b1e/core/sql/optimizer/NATable.h ---------------------------------------------------------------------- diff --git a/core/sql/optimizer/NATable.h b/core/sql/optimizer/NATable.h index 7a87344..8b5e3fe 100644 --- a/core/sql/optimizer/NATable.h +++ b/core/sql/optimizer/NATable.h @@ -60,7 +60,7 @@ class HistogramsCacheEntry; class BindWA; class MVInfoForDML; class NATableDB; -struct desc_struct; +struct TrafDesc; class HbaseCreateOption; class PrivMgrUserPrivs; class ExpHbaseInterface; @@ -384,7 +384,7 @@ public: // --------------------------------------------------------------------- NATable(BindWA *bindWA, const CorrName &corrName, NAMemory *heap, - desc_struct *inTableDesc = NULL); + TrafDesc *inTableDesc = NULL); NATable(BindWA *bindWA, const CorrName &corrName, NAMemory *heap, struct hive_tbl_desc*); @@ -489,7 +489,7 @@ public: NABoolean *isPkey = NULL, NAList<int> *reorderList = NULL); - const desc_struct * getPartnsDesc() const { return partnsDesc_; } + const TrafDesc * getPartnsDesc() const { return partnsDesc_; } // A not-found partition is an offline partition. NABoolean containsPartition(const NAString &partitionName) const @@ -826,7 +826,7 @@ public: NABoolean insertMissingStatsWarning(CollIndexSet colsSet) const; - const desc_struct * getTableDesc() const { return tableDesc_; } + const TrafDesc * getTableDesc() const { return tableDesc_; } NAList<HbaseCreateOption*> * hbaseCreateOptions() { return clusteringIndex_->hbaseCreateOptions();} @@ -1144,9 +1144,9 @@ private: ComSecurityKeySet secKeySet_ ; - desc_struct *partnsDesc_; + TrafDesc *partnsDesc_; - desc_struct *tableDesc_; + TrafDesc *tableDesc_; // hash table to store all the column positions for which missing // stats warning has been generated. We are not storing ValueIdSet @@ -1254,7 +1254,7 @@ public: NATable * get(const ExtendedQualName* key, BindWA * bindWA = NULL, NABoolean findInCacheOnly = FALSE); NATable * get(CorrName& corrName, BindWA * bindWA, - desc_struct *inTableDescStruct); + TrafDesc *inTableDescStruct); void removeNATable2(CorrName &corrName, ComQiScope qiScope, ComObjectType ot);
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/19c96b1e/core/sql/optimizer/RelExeUtil.cpp ---------------------------------------------------------------------- diff --git a/core/sql/optimizer/RelExeUtil.cpp b/core/sql/optimizer/RelExeUtil.cpp index 25fbdd4..0711aa7 100644 --- a/core/sql/optimizer/RelExeUtil.cpp +++ b/core/sql/optimizer/RelExeUtil.cpp @@ -68,6 +68,7 @@ #include "StmtDDLPopulateIndex.h" #include "StmtDDLDropIndex.h" #include "StmtDDLAlterIndex.h" // why don't we need StmtDDLAlterTable as well??? +#include "StmtDDLAlterSchema.h" #include "StmtDDLCreateDropSequence.h" #include "StmtDDLGrant.h" #include "StmtDDLRevoke.h" @@ -156,7 +157,7 @@ RelExpr * GenericUtilExpr::bindNode(BindWA *bindWA) get(&corrName.getExtendedQualNameObj()); if (NOT naTable) { - desc_struct *tableDesc = createVirtualTableDesc(); + TrafDesc *tableDesc = createVirtualTableDesc(); naTable = bindWA->getNATable(corrName, FALSE/*catmanUsages*/, tableDesc); if (bindWA->errStatus()) return this; @@ -230,6 +231,7 @@ RelExpr * DDLExpr::copyTopNode(RelExpr *derivedNode, CollHeap* outHeap) result->objName_ = objName_; result->isVolatile_ = isVolatile_; result->isTable_ = isTable_; + result->isSchema_ = isSchema_; result->isIndex_ = isIndex_; result->isMV_ = isMV_; result->isView_ = isView_; @@ -3903,6 +3905,7 @@ RelExpr * DDLExpr::bindNode(BindWA *bindWA) isHbase_ = FALSE; isNative_ = FALSE; hbaseDDLNoUserXn_ = FALSE; + isSchema_ = FALSE; NABoolean isSeq = FALSE; @@ -3915,10 +3918,12 @@ RelExpr * DDLExpr::bindNode(BindWA *bindWA) NABoolean isPrivilegeMngt = FALSE; NABoolean isCreateSchema = FALSE; NABoolean isDropSchema = FALSE; + NABoolean isAlterSchema = FALSE; NABoolean isAuth = FALSE; NABoolean alterAddConstr = FALSE; NABoolean alterDropConstr = FALSE; NABoolean alterRenameTable = FALSE; + NABoolean alterStoredDesc = FALSE; NABoolean alterIdentityCol = FALSE; NABoolean alterColDatatype = FALSE; NABoolean alterColRename = FALSE; @@ -4153,6 +4158,8 @@ RelExpr * DDLExpr::bindNode(BindWA *bindWA) alterColRename = TRUE; else if (getExprNode()->castToStmtDDLNode()->castToStmtDDLAlterTableHBaseOptions()) alterHBaseOptions = TRUE; + else if (getExprNode()->castToStmtDDLNode()->castToStmtDDLAlterTableStoredDesc()) + alterStoredDesc = TRUE; else otherAlters = TRUE; @@ -4160,6 +4167,18 @@ RelExpr * DDLExpr::bindNode(BindWA *bindWA) getDDLNode()->castToStmtDDLNode()->castToStmtDDLAlterTable()-> getTableNameAsQualifiedName(); } + else if (getExprNode()->castToStmtDDLNode()->castToStmtDDLAlterSchema()) + { + isAlter_ = TRUE; + isSchema_ = TRUE; + + isAlterSchema = TRUE; + + qualObjName_ = + QualifiedName(NAString("dummy"), + getExprNode()->castToStmtDDLNode()->castToStmtDDLAlterSchema()->getSchemaNameAsQualifiedName().getSchemaName(), + getExprNode()->castToStmtDDLNode()->castToStmtDDLAlterSchema()->getSchemaNameAsQualifiedName().getCatalogName()); + } else if (getExprNode()->castToStmtDDLNode()->castToStmtDDLAlterIndex()) { isAlter_ = TRUE; @@ -4356,11 +4375,12 @@ RelExpr * DDLExpr::bindNode(BindWA *bindWA) hbaseDDLNoUserXn_ = TRUE; } - if ((isCreateSchema || isDropSchema) || + if ((isCreateSchema || isDropSchema || isAlterSchema) || ((isTable_ || isIndex_ || isView_ || isRoutine_ || isLibrary_ || isSeq) && (isCreate_ || isDrop_ || purgedataHbase_ || (isAlter_ && (alterAddCol || alterDropCol || alterDisableIndex || alterEnableIndex || alterAddConstr || alterDropConstr || alterRenameTable || + alterStoredDesc || alterIdentityCol || alterColDatatype || alterColRename || alterHBaseOptions || alterLibrary || otherAlters))))) { http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/19c96b1e/core/sql/optimizer/RelExeUtil.h ---------------------------------------------------------------------- diff --git a/core/sql/optimizer/RelExeUtil.h b/core/sql/optimizer/RelExeUtil.h index 2591926..4de738e 100644 --- a/core/sql/optimizer/RelExeUtil.h +++ b/core/sql/optimizer/RelExeUtil.h @@ -122,7 +122,7 @@ public: virtual NABoolean producesOutput() { return FALSE; } virtual const char *getVirtualTableName() { return NULL;}; - virtual desc_struct *createVirtualTableDesc() { return NULL;}; + virtual TrafDesc *createVirtualTableDesc() { return NULL;}; TableDesc * getVirtualTableDesc() const { return virtualTabId_; @@ -230,6 +230,7 @@ public: isCreate_(FALSE), isCreateLike_(FALSE), isVolatile_(FALSE), isDrop_(FALSE), isAlter_(FALSE), isCleanup_(FALSE), isTable_(FALSE), isIndex_(FALSE), isMV_(FALSE), isView_(FALSE), + isSchema_(FALSE), isLibrary_(FALSE), isRoutine_(FALSE), isUstat_(FALSE), isHbase_(FALSE), @@ -270,6 +271,7 @@ public: isCreate_(FALSE), isCreateLike_(FALSE), isVolatile_(FALSE), isDrop_(FALSE), isAlter_(FALSE), isCleanup_(FALSE), isTable_(FALSE), isIndex_(FALSE), isMV_(FALSE), isView_(FALSE), + isSchema_(FALSE), isLibrary_(FALSE), isRoutine_(FALSE), isUstat_(FALSE), isHbase_(FALSE), @@ -310,6 +312,7 @@ public: isCreate_(FALSE), isCreateLike_(FALSE), isVolatile_(FALSE), isDrop_(FALSE), isAlter_(FALSE), isCleanup_(FALSE), isTable_(FALSE), isIndex_(FALSE), isMV_(FALSE), isView_(FALSE), + isSchema_(FALSE), isUstat_(FALSE), isHbase_(FALSE), isNative_(FALSE), @@ -355,7 +358,7 @@ public: virtual NABoolean producesOutput() { return returnStatus_;} virtual const char *getVirtualTableName(); - virtual desc_struct *createVirtualTableDesc(); + virtual TrafDesc *createVirtualTableDesc(); ExprNode * getDDLNode(){return getExprNode();}; @@ -475,6 +478,7 @@ public: NABoolean isCreate_; NABoolean isCreateLike_; NABoolean isVolatile_; + NABoolean isSchema_; NABoolean isTable_; NABoolean isIndex_; NABoolean isMV_; @@ -606,7 +610,7 @@ public: virtual NABoolean producesOutput() { return FALSE; } virtual const char *getVirtualTableName(); - virtual desc_struct *createVirtualTableDesc(); + virtual TrafDesc *createVirtualTableDesc(); // exeutil statements whose query type need to be returned as // SQL_EXE_UTIL. Set during RelRoot::codeGen in ComTdbRoot class. @@ -680,7 +684,7 @@ public: virtual short codeGen(Generator*); virtual const char *getVirtualTableName(); - virtual desc_struct *createVirtualTableDesc(); + virtual TrafDesc *createVirtualTableDesc(); virtual NABoolean producesOutput() { return TRUE; } @@ -1771,7 +1775,7 @@ public: virtual const char *getVirtualTableName(); static const char * getVirtualTableNameStr() { return "EXE_UTIL_REGION_STATS__";} - virtual desc_struct *createVirtualTableDesc(); + virtual TrafDesc *createVirtualTableDesc(); virtual NABoolean producesOutput() { return TRUE; } @@ -1818,7 +1822,7 @@ public: virtual const char *getVirtualTableName(); static const char * getVirtualTableNameStr() { return "EXE_UTIL_LOB_INFO__";} - virtual desc_struct *createVirtualTableDesc(); + virtual TrafDesc *createVirtualTableDesc(); virtual NABoolean producesOutput() { return TRUE; } @@ -1947,7 +1951,7 @@ public: virtual short codeGen(Generator*); virtual const char *getVirtualTableName(); - virtual desc_struct *createVirtualTableDesc(); + virtual TrafDesc *createVirtualTableDesc(); private: // using this enum from MaintainObject class as it serves the @@ -1976,7 +1980,7 @@ public: virtual short codeGen(Generator*); virtual const char *getVirtualTableName(); - virtual desc_struct *createVirtualTableDesc(); + virtual TrafDesc *createVirtualTableDesc(); private: NAString statement_; http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/19c96b1e/core/sql/optimizer/RelMisc.h ---------------------------------------------------------------------- diff --git a/core/sql/optimizer/RelMisc.h b/core/sql/optimizer/RelMisc.h index baf86d7..e4632bf 100644 --- a/core/sql/optimizer/RelMisc.h +++ b/core/sql/optimizer/RelMisc.h @@ -48,7 +48,7 @@ #include "SequenceGeneratorAttributes.h" #include "ComSecurityKey.h" -struct desc_struct; +class TrafDesc; // ----------------------------------------------------------------------- // contents of this file http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/19c96b1e/core/sql/optimizer/RelRoutine.cpp ---------------------------------------------------------------------- diff --git a/core/sql/optimizer/RelRoutine.cpp b/core/sql/optimizer/RelRoutine.cpp index b7a0385..0c08c3d 100644 --- a/core/sql/optimizer/RelRoutine.cpp +++ b/core/sql/optimizer/RelRoutine.cpp @@ -68,6 +68,7 @@ #include "ElemDDLColDefArray.h" #include "CmpSeabaseDDL.h" #include "UdfDllInteraction.h" +#include "TrafDDLdesc.h" // ----------------------------------------------------------------------- @@ -951,7 +952,7 @@ NARoutine * TableMappingUDF::getRoutineMetadata( NARoutine *result = NULL; CmpSeabaseDDL cmpSBD((NAHeap *)bindWA->wHeap()); - desc_struct *tmudfMetadata = + TrafDesc *tmudfMetadata = cmpSBD.getSeabaseRoutineDesc( routineName.getCatalogName(), routineName.getSchemaName(), @@ -968,7 +969,7 @@ NARoutine * TableMappingUDF::getRoutineMetadata( ComRoutineType udfType ; - udfType = tmudfMetadata->body.routine_desc.UDRType ; + udfType = tmudfMetadata->routineDesc()->UDRType ; // IS req 6: Check ROUTINE_TYPE column of ROUTINES table. // Emit error if invalid type. @@ -1609,7 +1610,7 @@ const NAString *ProxyFunc::getColumnHeading(ComUInt32 i) const //! ProxyFunc::populateColumnDesc method void ProxyFunc::populateColumnDesc(char *tableNam, - desc_struct *&colDescs, + TrafDesc *&colDescs, Lng32 &reclen) const { ElemDDLColDefArray colArray; @@ -1651,19 +1652,19 @@ void ProxyFunc::populateColumnDesc(char *tableNam, numCols) ; // calculate the record length - desc_struct *tempDescs = colDescs; + TrafDesc *tempDescs = colDescs; for (ComUInt32 colNum = 0; colNum < numCols; colNum++) { NAType *naType = getColumn(colNum).getColumnDataType(); Int32 fsType = naType->getFSDatatype(); - if (tempDescs->body.columns_desc.null_flag) + if (tempDescs->columnsDesc()->isNullable()) reclen += SQL_NULL_HDR_SIZE; if (DFS2REC::isSQLVarChar(fsType)) reclen += SQL_VARCHAR_HDR_SIZE; - reclen += tempDescs->body.columns_desc.length; - tempDescs = tempDescs->header.next; + reclen += tempDescs->columnsDesc()->length; + tempDescs = tempDescs->next; } } http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/19c96b1e/core/sql/optimizer/RelRoutine.h ---------------------------------------------------------------------- diff --git a/core/sql/optimizer/RelRoutine.h b/core/sql/optimizer/RelRoutine.h index 3cd37eb..823924a 100644 --- a/core/sql/optimizer/RelRoutine.h +++ b/core/sql/optimizer/RelRoutine.h @@ -484,12 +484,12 @@ public: inline void setTableDesc(TableDesc * tdesc) { tabId_ = tdesc; }; //! createVirtualTableDesc method - // creates a desc_struct for the Virtual Table - virtual desc_struct *createVirtualTableDesc(); + // creates a TrafDesc for the Virtual Table + virtual TrafDesc *createVirtualTableDesc(); //! deleteVirtualTableDesc method - // deletes the given desc_struct - virtual void deleteVirtualTableDesc(desc_struct *vtd); + // deletes the given TrafDesc + virtual void deleteVirtualTableDesc(TrafDesc *vtd); //! bindNode method // a virtual function for performing name binding within the query tree @@ -752,7 +752,7 @@ public : virtual PredefinedTableMappingFunction * castToPredefinedTableMappingFunction(); virtual RelExpr* bindNode(BindWA* bindWA); - virtual desc_struct *createVirtualTableDesc(); + virtual TrafDesc *createVirtualTableDesc(); virtual void transformNode(NormWA & normWARef, ExprGroupId & locationOfPointerToMe); virtual void rewriteNode(NormWA & normWARef) ; @@ -1211,8 +1211,8 @@ public: // mutators //! createVirtualTableDesc method - // creates a desc_struct for the Virtual Table - virtual desc_struct *createVirtualTableDesc(); + // creates a TrafDesc for the Virtual Table + virtual TrafDesc *createVirtualTableDesc(); //! getPotentialOutputValues method // computes the output values the node can generate @@ -1335,8 +1335,8 @@ public: // mutators //! createVirtualTableDesc method - // returns a desc_struct pointer to the name of the Virtual Table descriptor - virtual desc_struct *createVirtualTableDesc(); + // returns a TrafDesc pointer to the name of the Virtual Table descriptor + virtual TrafDesc *createVirtualTableDesc(); //! preCodeGen method @@ -1410,8 +1410,8 @@ public: // mutators //! createVirtualTableDesc method - // creates a desc_struct for the Virtual Table - virtual desc_struct *createVirtualTableDesc(); + // creates a TrafDesc for the Virtual Table + virtual TrafDesc *createVirtualTableDesc(); //! getPotentialOutputValues method // computes the output values the node can generate @@ -1567,12 +1567,12 @@ public: //! populateColumnDesc method // Copy attributes getColumns to colDescs void populateColumnDesc(char *tableNam, - desc_struct *&colDescs, + TrafDesc *&colDescs, Lng32 &reclen) const; //! createVirtualTableDesc method - // create the desc_struct for the Virtual Table - virtual desc_struct *createVirtualTableDesc(); + // create the TrafDesc for the Virtual Table + virtual TrafDesc *createVirtualTableDesc(); // The RelExpr interface //! bindNode method http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/19c96b1e/core/sql/optimizer/RelScan.h ---------------------------------------------------------------------- diff --git a/core/sql/optimizer/RelScan.h b/core/sql/optimizer/RelScan.h index 50797f7..ee596ed 100644 --- a/core/sql/optimizer/RelScan.h +++ b/core/sql/optimizer/RelScan.h @@ -872,7 +872,7 @@ public: char* &hdfsHostName, Int32 &hdfsPort); - static desc_struct *createHbaseTableDesc(const char * table_name); + static TrafDesc *createHbaseTableDesc(const char * table_name); // Return a (short-lived) reference to the respective predicates const ValueIdList & getBeginKeyPred() const { return beginKeyPred_; } @@ -1273,14 +1273,14 @@ public: // mutators //! createVirtualTableDesc method - // creates a desc_struct for the Virtual Table - // virtual desc_struct *createVirtualTableDesc(); - static desc_struct *createVirtualTableDesc(const char * name, + // creates a TrafDesc for the Virtual Table + // virtual TrafDesc *createVirtualTableDesc(); + static TrafDesc *createVirtualTableDesc(const char * name, NABoolean isRW = FALSE, NABoolean isCW = FALSE, NAArray<HbaseStr> * hbaseKeys = NULL); - static desc_struct *createVirtualTableDesc(const char * name, + static TrafDesc *createVirtualTableDesc(const char * name, NAList<char*> &colNameList, NAList<char*> &colValList); http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/19c96b1e/core/sql/optimizer/RelStoredProc.cpp ---------------------------------------------------------------------- diff --git a/core/sql/optimizer/RelStoredProc.cpp b/core/sql/optimizer/RelStoredProc.cpp index 35e6247..43e5cff 100644 --- a/core/sql/optimizer/RelStoredProc.cpp +++ b/core/sql/optimizer/RelStoredProc.cpp @@ -384,7 +384,7 @@ RelExpr* RelInternalSP::bindNode(BindWA *bindWA) CmpSPOutputFormat outFormat(bindWA->currentCmpContext()); if ( !cmpInternalSP->OutputFormat(outFormat) ) return 0; - desc_struct* outTableDesc = outFormat.tableDesc(); + TrafDesc* outTableDesc = outFormat.tableDesc(); // the outTableDesc is expected to be deleteed in NATable::NATable if (outTableDesc) http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/19c96b1e/core/sql/optimizer/ValueDesc.cpp ---------------------------------------------------------------------- diff --git a/core/sql/optimizer/ValueDesc.cpp b/core/sql/optimizer/ValueDesc.cpp index 9e45fbc..6ee6e32 100644 --- a/core/sql/optimizer/ValueDesc.cpp +++ b/core/sql/optimizer/ValueDesc.cpp @@ -62,6 +62,7 @@ // #include "NATable.h" #include "EncodedKeyValue.h" +#include "TrafDDLdesc.h" #include "SqlParserGlobals.h" // must be last #include @@ -6580,9 +6581,9 @@ ValueIdList::computeEncodedKey(const TableDesc* tDesc, NABoolean isMaxKey, } const NAFileSet * naf = naTable->getClusteringIndex(); - const desc_struct * tableDesc = naTable->getTableDesc(); - desc_struct * colDescs = tableDesc->body.table_desc.columns_desc; - desc_struct * keyDescs = (desc_struct*)naf->getKeysDesc(); + const TrafDesc * tableDesc = naTable->getTableDesc(); + TrafDesc * colDescs = tableDesc->tableDesc()->columns_desc; + TrafDesc * keyDescs = (TrafDesc*)naf->getKeysDesc(); // cast away const since the method may compute and store the length keyBufLen = ((NAFileSet*)naf)->getEncodedKeyLength(); http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/19c96b1e/core/sql/parser/AllStmtDDL.h ---------------------------------------------------------------------- diff --git a/core/sql/parser/AllStmtDDL.h b/core/sql/parser/AllStmtDDL.h index 4b3cc95..7427f21 100644 --- a/core/sql/parser/AllStmtDDL.h +++ b/core/sql/parser/AllStmtDDL.h @@ -45,6 +45,7 @@ #include "AllStmtDDLAlter.h" // MV - RG #include "AllStmtDDLGive.h" #include "StmtDDLAlterCatalog.h" +#include "StmtDDLAlterSchema.h" #include "StmtDDLAlterTrigger.h" #include "StmtDDLAlterIndexAttribute.h" #include "StmtDDLAlterIndexHBaseOptions.h" http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/19c96b1e/core/sql/parser/AllStmtDDLAlterTable.h ---------------------------------------------------------------------- diff --git a/core/sql/parser/AllStmtDDLAlterTable.h b/core/sql/parser/AllStmtDDLAlterTable.h index 630d66e..ddab2f4 100644 --- a/core/sql/parser/AllStmtDDLAlterTable.h +++ b/core/sql/parser/AllStmtDDLAlterTable.h @@ -61,6 +61,7 @@ #include "StmtDDLAlterTableMove.h" #include "StmtDDLAlterTablePartition.h" #include "StmtDDLAlterTableRename.h" +#include "StmtDDLAlterTableStoredDesc.h" #include "StmtDDLAlterTableNamespace.h" #include "StmtDDLAlterTableSetConstraint.h" #include "StmtDDLAlterTableToggleConstraint.h" http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/19c96b1e/core/sql/parser/BindStmtDDL.cpp ---------------------------------------------------------------------- diff --git a/core/sql/parser/BindStmtDDL.cpp b/core/sql/parser/BindStmtDDL.cpp index 9894181..f01d746 100644 --- a/core/sql/parser/BindStmtDDL.cpp +++ b/core/sql/parser/BindStmtDDL.cpp @@ -1848,6 +1848,37 @@ StmtDDLDropSchema::bindNode(BindWA * pBindWA) return this; } +// ----------------------------------------------------------------------- +// definition of method bindNode() for class StmtDDLAlterSchema +// ----------------------------------------------------------------------- + +// +// a virtual function for performing name +// binding within the AlterSchema tree +// +ExprNode * +StmtDDLAlterSchema::bindNode(BindWA * pBindWA) +{ + ComASSERT(pBindWA); + if (pBindWA->raiseAccessDefaultSchemaOnlyError()) + return this; + + // expand schema Name. + + if (schemaQualName_.getCatalogName().isNull()) + { + schemaQualName_.setCatalogName(pBindWA->getDefaultSchema(). + getCatalogName()); + } + + schemaName_ = ToAnsiIdentifier(schemaQualName_.getCatalogName()) + "." + + ToAnsiIdentifier(schemaQualName_.getSchemaName()) ; + + markAsBound(); + + return this; +} + // ---------------------------------------------------------------------- // definition of method bindNode() for class StmtDDLDropSynonym // ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/19c96b1e/core/sql/parser/ElemDDLNode.cpp ---------------------------------------------------------------------- diff --git a/core/sql/parser/ElemDDLNode.cpp b/core/sql/parser/ElemDDLNode.cpp index a91f9bd..f243f35 100644 --- a/core/sql/parser/ElemDDLNode.cpp +++ b/core/sql/parser/ElemDDLNode.cpp @@ -1286,6 +1286,12 @@ ElemDDLNode::castToStmtDDLAlterCatalog() return NULL; } +StmtDDLAlterSchema * +ElemDDLNode::castToStmtDDLAlterSchema() +{ + return NULL; +} + StmtDDLAlterSynonym * ElemDDLNode::castToStmtDDLAlterSynonym() { @@ -1390,6 +1396,12 @@ ElemDDLNode::castToStmtDDLAlterTableRename() return NULL; } +StmtDDLAlterTableStoredDesc * +ElemDDLNode::castToStmtDDLAlterTableStoredDesc() +{ + return NULL; +} + StmtDDLAlterTableNamespace * ElemDDLNode::castToStmtDDLAlterTableNamespace() { http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/19c96b1e/core/sql/parser/ElemDDLNode.h ---------------------------------------------------------------------- diff --git a/core/sql/parser/ElemDDLNode.h b/core/sql/parser/ElemDDLNode.h index 6d90249..3203ba0 100644 --- a/core/sql/parser/ElemDDLNode.h +++ b/core/sql/parser/ElemDDLNode.h @@ -259,6 +259,7 @@ class StmtDDLAddConstraintRI; class StmtDDLAddConstraintUnique; class StmtDDLAlterAuditConfig; class StmtDDLAlterCatalog; +class StmtDDLAlterSchema; class StmtDDLAlterIndex; class StmtDDLAlterIndexAttribute; class StmtDDLAlterIndexHBaseOptions; @@ -274,6 +275,7 @@ class StmtDDLAlterTableColumn; class StmtDDLAlterTableMove; class StmtDDLAlterTablePartition; class StmtDDLAlterTableRename; +class StmtDDLAlterTableStoredDesc; class StmtDDLAlterTableNamespace; class StmtDDLAlterTableAlterColumnDatatype; class StmtDDLAlterTableAlterColumnRename; @@ -586,6 +588,7 @@ public: virtual StmtDDLAddConstraintUnique * castToStmtDDLAddConstraintUnique(); virtual StmtDDLAlterAuditConfig * castToStmtDDLAlterAuditConfig(); virtual StmtDDLAlterCatalog * castToStmtDDLAlterCatalog(); + virtual StmtDDLAlterSchema * castToStmtDDLAlterSchema(); virtual StmtDDLAlterIndex * castToStmtDDLAlterIndex(); virtual StmtDDLAlterIndexAttribute * castToStmtDDLAlterIndexAttribute(); virtual StmtDDLAlterIndexHBaseOptions * castToStmtDDLAlterIndexHBaseOptions(); @@ -604,6 +607,7 @@ public: virtual StmtDDLAlterTableHBaseOptions * castToStmtDDLAlterTableHBaseOptions(); virtual StmtDDLAlterTablePartition * castToStmtDDLAlterTablePartition(); virtual StmtDDLAlterTableRename * castToStmtDDLAlterTableRename(); + virtual StmtDDLAlterTableStoredDesc * castToStmtDDLAlterTableStoredDesc(); virtual StmtDDLAlterTableNamespace * castToStmtDDLAlterTableNamespace(); virtual StmtDDLAlterTableAlterColumnDefaultValue* castToStmtDDLAlterTableAlterColumnDefaultValue(); http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/19c96b1e/core/sql/parser/StmtDDLAlter.cpp ---------------------------------------------------------------------- diff --git a/core/sql/parser/StmtDDLAlter.cpp b/core/sql/parser/StmtDDLAlter.cpp index bab9829..31efde0 100644 --- a/core/sql/parser/StmtDDLAlter.cpp +++ b/core/sql/parser/StmtDDLAlter.cpp @@ -60,6 +60,7 @@ #include "AllElemDDLFileAttr.h" #include "StmtDDLAlterAuditConfig.h" #include "StmtDDLAlterCatalog.h" +#include "StmtDDLAlterSchema.h" #include "StmtDDLAlterLibrary.h" #include "StmtDDLAlterSynonym.h" #include "StmtDDLAlterTableDisableIndex.h" @@ -441,6 +442,96 @@ StmtDDLAlterCatalog::setAllPrivileges(NABoolean isAll) // ----------------------------------------------------------------------- +// Methods for class StmtDDLAlterSchema +// ----------------------------------------------------------------------- + +void StmtDDLAlterSchema::initChecks() +{ + if (schemaQualName_.getCatalogName().isNull()) + { + schemaName_ = ToAnsiIdentifier(schemaQualName_.getSchemaName()); + } + else + { + schemaName_ = ToAnsiIdentifier(schemaQualName_.getCatalogName()) + "." + + ToAnsiIdentifier(schemaQualName_.getSchemaName()); + } + + // If the schema name specified is reserved name, users cannot drop them. + // They can only be dropped internally. + if ((! Get_SqlParser_Flags(INTERNAL_QUERY_FROM_EXEUTIL)) && + (ComIsTrafodionReservedSchemaName(schemaQualName_.getSchemaName())) && + (!ComIsTrafodionExternalSchemaName(schemaQualName_.getSchemaName()))) + { + // error. + *SqlParser_Diags << DgSqlCode(-1430) + << DgSchemaName(schemaName_); + } +} + +StmtDDLAlterSchema::StmtDDLAlterSchema(const ElemDDLSchemaName & aSchemaNameParseNode, + CollHeap * heap) +: StmtDDLNode(DDL_ALTER_SCHEMA), + schemaQualName_(aSchemaNameParseNode.getSchemaName(), heap), + dropAllTables_(TRUE), + renameSchema_(FALSE), + alterStoredDesc_(FALSE) +{ + initChecks(); +} + +StmtDDLAlterSchema::StmtDDLAlterSchema(const ElemDDLSchemaName & aSchemaNameParseNode, + NAString &renamedSchName, + CollHeap * heap) +: StmtDDLNode(DDL_ALTER_SCHEMA), + schemaQualName_(aSchemaNameParseNode.getSchemaName(), heap), + dropAllTables_(FALSE), + renameSchema_(TRUE), + renamedSchName_(renamedSchName), + alterStoredDesc_(FALSE) +{ + initChecks(); +} + +StmtDDLAlterSchema::StmtDDLAlterSchema(const ElemDDLSchemaName & aSchemaNameParseNode, + const StmtDDLAlterTableStoredDesc::AlterStoredDescType oper, + CollHeap * heap) + +: StmtDDLNode(DDL_ALTER_SCHEMA), + schemaQualName_(aSchemaNameParseNode.getSchemaName(), heap), + dropAllTables_(FALSE), + renameSchema_(FALSE), + alterStoredDesc_(TRUE), + storedDescOper_(oper) +{ + initChecks(); +} + +StmtDDLAlterSchema::~StmtDDLAlterSchema() +{} + +// cast + +StmtDDLAlterSchema * +StmtDDLAlterSchema::castToStmtDDLAlterSchema() +{ + return this; +} + +// for tracing +const NAString +StmtDDLAlterSchema::displayLabel1() const +{ + return NAString("Schema name: " ) + getSchemaName(); +} + +const NAString +StmtDDLAlterSchema::getText() const +{ + return "StmtDDLAlterSchema"; +} + +// ----------------------------------------------------------------------- // Methods for class StmtDDLAlterSynonym // ----------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/19c96b1e/core/sql/parser/StmtDDLAlterSchema.h ---------------------------------------------------------------------- diff --git a/core/sql/parser/StmtDDLAlterSchema.h b/core/sql/parser/StmtDDLAlterSchema.h new file mode 100644 index 0000000..eedf9cd --- /dev/null +++ b/core/sql/parser/StmtDDLAlterSchema.h @@ -0,0 +1,177 @@ +/********************************************************************** +// @@@ START COPYRIGHT @@@ +// +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. +// +// @@@ END COPYRIGHT @@@ +**********************************************************************/ +#ifndef STMTDDLALTERSCHEMA_H +#define STMTDDLALTERSCHEMA_H + +/* -*-C++-*- + ***************************************************************************** + * + * File: StmtDDLAlterSchema.h + * Description: Alter Schema Statement (parse node) + * + * + * Created: + * Language: C++ + * + * + * + * + ***************************************************************************** + */ + + +#include "ElemDDLSchemaName.h" +#include "StmtDDLNode.h" +#include "StmtDDLAlterTableStoredDesc.h" + +// ----------------------------------------------------------------------- +// contents of this file +// ----------------------------------------------------------------------- +class StmtDDLAlterSchema; + +// ----------------------------------------------------------------------- +// forward references +// ----------------------------------------------------------------------- +// None. + + +// ----------------------------------------------------------------------- +// Alter Schema statement +// ----------------------------------------------------------------------- +class StmtDDLAlterSchema : public StmtDDLNode +{ +public: + + // called for 'drop all tables' + StmtDDLAlterSchema(const ElemDDLSchemaName & aSchemaNameParseNode, + CollHeap * heap = PARSERHEAP()); + + // called for 'rename schema' + StmtDDLAlterSchema(const ElemDDLSchemaName & aSchemaNameParseNode, + NAString &renamedSchName, + CollHeap * heap = PARSERHEAP()); + + // called for 'stored descriptor' processing + StmtDDLAlterSchema(const ElemDDLSchemaName & aSchemaNameParseNode, + const StmtDDLAlterTableStoredDesc::AlterStoredDescType oper, + CollHeap * heap = PARSERHEAP()); + + void initChecks(); + + // virtual destructor + virtual ~StmtDDLAlterSchema(); + + // cast + virtual StmtDDLAlterSchema * castToStmtDDLAlterSchema(); + + // + // accessors + // + + inline const NAString & getSchemaName() const; + inline const SchemaName & getSchemaNameAsQualifiedName() const; + inline SchemaName & getSchemaNameAsQualifiedName(); + + // + // other public methods + // + + NABoolean isDropAllTables() { return dropAllTables_; } + const NABoolean isDropAllTables() const { return dropAllTables_; } + + NABoolean isRenameSchema() { return renameSchema_; } + const NABoolean isRenameSchema() const { return renameSchema_; } + + NABoolean isAlterStoredDesc() { return alterStoredDesc_; } + const NABoolean isAlterStoredDesc() const { return alterStoredDesc_; } + + NAString &getRenamedSchemaName() { return renamedSchName_; } + const NAString &getRenamedSchemaName() const { return renamedSchName_; } + + StmtDDLAlterTableStoredDesc::AlterStoredDescType &getStoredDescOperation() + { return storedDescOper_; } + + // method for processing + ExprNode * bindNode(BindWA *bindWAPtr); + + // method for collecting information + // void synthesize(); + + // methods for tracing + virtual const NAString displayLabel1() const; + virtual const NAString getText() const; + +private: + + // --------------------------------------------------------------------- + // private methods + // --------------------------------------------------------------------- + + // + // please do not use the following methods + // + + StmtDDLAlterSchema(); // DO NOT USE + StmtDDLAlterSchema(const StmtDDLAlterSchema &); // DO NOT USE + StmtDDLAlterSchema & operator=(const StmtDDLAlterSchema &); // DO NOT USE + + // --------------------------------------------------------------------- + // private data members + // --------------------------------------------------------------------- + + NAString schemaName_; + SchemaName schemaQualName_; + NABoolean dropAllTables_; + NABoolean renameSchema_; + NAString renamedSchName_; + NABoolean alterStoredDesc_; + StmtDDLAlterTableStoredDesc::AlterStoredDescType storedDescOper_; + +}; // class StmtDDLAlterSchema + +// ----------------------------------------------------------------------- +// definitions of inline methods for class StmtDDLAlterSchema +// ----------------------------------------------------------------------- + +// +// accessors +// +inline SchemaName & +StmtDDLAlterSchema::getSchemaNameAsQualifiedName() +{ + return schemaQualName_; +} + +inline const SchemaName & +StmtDDLAlterSchema::getSchemaNameAsQualifiedName() const +{ + return schemaQualName_; +} + +inline const NAString & +StmtDDLAlterSchema::getSchemaName() const +{ + return schemaName_; +} + +#endif // STMTDDLALTERSCHEMA_H http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/19c96b1e/core/sql/parser/sqlparser.y ---------------------------------------------------------------------- diff --git a/core/sql/parser/sqlparser.y b/core/sql/parser/sqlparser.y index 9dfdb2b..da577dd 100755 --- a/core/sql/parser/sqlparser.y +++ b/core/sql/parser/sqlparser.y @@ -2489,10 +2489,12 @@ static void enableMakeQuotedStringISO88591Mechanism() %type <pStmtDDL> alter_audit_config_statement %type <pStmtDDL> alter_catalog_statement +%type <pStmtDDL> alter_schema_statement %type <pElemDDL> alter_table_move_clause %type <pStmtDDL> alter_table_rename_clause -%type <pStmtDDL> alter_table_enable_index_clause -%type <pStmtDDL> alter_table_disable_index_clause +%type <pStmtDDL> alter_table_enable_index_clause +%type <pStmtDDL> alter_table_disable_index_clause +%type <uint> alter_stored_descriptor_option %type <boolean> optional_cascade %type <pStmtDDL> alter_table_add_column_clause %type <pStmtDDL> alter_table_drop_column_clause @@ -14221,6 +14223,10 @@ sql_schema_manipulation_statement : { } + | alter_schema_statement + { + } + | alter_index_statement { } @@ -31017,6 +31023,47 @@ alter_catalog_statement: TOK_ALTER TOK_CATALOG sql_mx_catalog_name enable_status TRUE, //disable/enable_create *$8); } + +/* type pStmtDDL */ +alter_schema_statement: TOK_ALTER TOK_SCHEMA schema_name_clause alter_stored_descriptor_option + { + $$ = new (PARSERHEAP()) + StmtDDLAlterSchema + (*$3, + (StmtDDLAlterTableStoredDesc::AlterStoredDescType)$4); + + } + | TOK_ALTER TOK_SCHEMA schema_name_clause TOK_DROP TOK_ALL TOK_TABLES + { + NAString extSchName($3->getSchemaName().getSchemaNameAsAnsiString()); + if (! validateVolatileSchemaName(extSchName)) + { + YYERROR; + } + + $$ = new (PARSERHEAP()) + StmtDDLDropSchema( + *$3 /*schema_name_clause*/, + COM_CASCADE_DROP_BEHAVIOR, + FALSE /*optional_cleanup*/, + TRUE); + delete $3 /*schema_name*/; + } + | TOK_ALTER TOK_SCHEMA schema_name_clause TOK_RENAME TOK_TO identifier + { + NAString extSchName($3->getSchemaName().getSchemaNameAsAnsiString()); + if (! validateVolatileSchemaName(extSchName)) + { + YYERROR; + } + + $$ = new (PARSERHEAP()) + StmtDDLAlterSchema( + *$3 /*schema_name_clause*/, + *$6); + delete $3 /*schema_name*/; + delete $6; // renamed schema + } /* type pStmtDDL */ alter_library_statement : TOK_ALTER TOK_LIBRARY ddl_qualified_name @@ -31429,6 +31476,12 @@ alter_table_action : add_table_constraint_definition StmtDDLAlterTableHBaseOptions($2->castToElemDDLHbaseOptions()); } + | alter_stored_descriptor_option + { + $$ = new (PARSERHEAP()) StmtDDLAlterTableStoredDesc + ((StmtDDLAlterTableStoredDesc::AlterStoredDescType)$1); + } + /* type pStmtDDL */ alter_synonym_statement : TOK_ALTER TOK_SYNONYM ddl_qualified_name @@ -31825,6 +31878,29 @@ alter_table_drop_column_clause : TOK_DROP optional_col_keyword TOK_IF TOK_EXISTS $$ = pNode; } +/* type uint */ +alter_stored_descriptor_option : TOK_GENERATE TOK_STORED TOK_DESCRIPTOR + { + $$ = (Int32)StmtDDLAlterTableStoredDesc::GENERATE; + } + | TOK_CHECK TOK_STORED TOK_DESCRIPTOR + { + $$ = (Int32)StmtDDLAlterTableStoredDesc::CHECK; + } + | TOK_DELETE TOK_STORED TOK_DESCRIPTOR + { + $$ = (Int32)StmtDDLAlterTableStoredDesc::DELETE; + } + | TOK_ENABLE TOK_STORED TOK_DESCRIPTOR + { + $$ = (Int32)StmtDDLAlterTableStoredDesc::ENABLE; + } + | TOK_DISABLE TOK_STORED TOK_DESCRIPTOR + { + $$ = (Int32)StmtDDLAlterTableStoredDesc::DISABLE; + } + + /* type pStmtDDL */ drop_sql : TOK_DROP TOK_SQL extension_drop_behavior http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/19c96b1e/core/sql/regress/executor/EXPECTED013.SB ---------------------------------------------------------------------- diff --git a/core/sql/regress/executor/EXPECTED013.SB b/core/sql/regress/executor/EXPECTED013.SB index 8a64c9f..da6f64b 100644 --- a/core/sql/regress/executor/EXPECTED013.SB +++ b/core/sql/regress/executor/EXPECTED013.SB @@ -450,6 +450,8 @@ CONTROL QUERY DEFAULT HBASE_SMALL_SCANNER SYSTEM HBASE_FILTER_PREDS 2 TRAF_INDEX_CREATE_OPT ON + TRAF_READ_OBJECT_DESC ON + TRAF_STORE_OBJECT_DESC ON HBASE_ASYNC_DROP_TABLE OFF POS OFF SCHEMA TRAFODION.T013_SCH http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/19c96b1e/core/sql/regress/executor/TEST122 ---------------------------------------------------------------------- diff --git a/core/sql/regress/executor/TEST122 b/core/sql/regress/executor/TEST122 index 2290b42..f2e0c72 100755 --- a/core/sql/regress/executor/TEST122 +++ b/core/sql/regress/executor/TEST122 @@ -389,6 +389,7 @@ log LOG122; ?section drop_tab set schema $$TEST_SCHEMA$$; +obey $$scriptsdir$$/tools/sbdefs; log LOG122; @@ -400,6 +401,7 @@ insert into t122t1 values ('i'), ('ii'), ('iii'), ('iv'); ?section alter_tbl_add set schema $$TEST_SCHEMA$$; +obey $$scriptsdir$$/tools/sbdefs; log LOG122; -- add columns, constraints, and indexes @@ -412,6 +414,8 @@ create index t122t3_index on t122t3(c2); ?section alter_tbl_drop set schema $$TEST_SCHEMA$$; +obey $$scriptsdir$$/tools/sbdefs; + log LOG122; -- drop columns, constraints, and indexes alter table t122t3_col drop column c3; @@ -423,6 +427,8 @@ drop index t122t3_index; ?section drop_view set schema $$TEST_SCHEMA$$; +obey $$scriptsdir$$/tools/sbdefs; + log LOG122; drop view t122_v7; http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/19c96b1e/core/sql/regress/fullstack2/EXPECTED062 ---------------------------------------------------------------------- diff --git a/core/sql/regress/fullstack2/EXPECTED062 b/core/sql/regress/fullstack2/EXPECTED062 index ca88f6d..11fc562 100644 --- a/core/sql/regress/fullstack2/EXPECTED062 +++ b/core/sql/regress/fullstack2/EXPECTED062 @@ -501,6 +501,8 @@ CONTROL QUERY DEFAULT HBASE_SMALL_SCANNER SYSTEM HBASE_FILTER_PREDS 2 TRAF_INDEX_CREATE_OPT ON + TRAF_READ_OBJECT_DESC ON + TRAF_STORE_OBJECT_DESC ON SHOWCONTROL_SHOW_ALL ON SCHEMA AAA.BBB CATALOG CCC @@ -545,6 +547,8 @@ CONTROL QUERY DEFAULT HBASE_SMALL_SCANNER SYSTEM HBASE_FILTER_PREDS 2 TRAF_INDEX_CREATE_OPT ON + TRAF_READ_OBJECT_DESC ON + TRAF_STORE_OBJECT_DESC ON SHOWCONTROL_SHOW_ALL ON DEF_CHUNK_SIZE 1000 CPUCOST_DM_GET .001 @@ -580,6 +584,8 @@ CONTROL QUERY DEFAULT HBASE_SMALL_SCANNER SYSTEM HBASE_FILTER_PREDS 2 TRAF_INDEX_CREATE_OPT ON + TRAF_READ_OBJECT_DESC ON + TRAF_STORE_OBJECT_DESC ON SHOWCONTROL_SHOW_ALL ON DEF_CHUNK_SIZE 1000 CPUCOST_DM_GET .001 http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/19c96b1e/core/sql/regress/fullstack2/EXPECTED062.RELEASE ---------------------------------------------------------------------- diff --git a/core/sql/regress/fullstack2/EXPECTED062.RELEASE b/core/sql/regress/fullstack2/EXPECTED062.RELEASE index 4b48a87..849ddf7 100644 --- a/core/sql/regress/fullstack2/EXPECTED062.RELEASE +++ b/core/sql/regress/fullstack2/EXPECTED062.RELEASE @@ -501,6 +501,8 @@ CONTROL QUERY DEFAULT HBASE_SMALL_SCANNER SYSTEM HBASE_FILTER_PREDS 2 TRAF_INDEX_CREATE_OPT ON + TRAF_READ_OBJECT_DESC ON + TRAF_STORE_OBJECT_DESC ON SHOWCONTROL_SHOW_ALL ON SCHEMA AAA.BBB CATALOG CCC @@ -545,6 +547,8 @@ CONTROL QUERY DEFAULT HBASE_SMALL_SCANNER SYSTEM HBASE_FILTER_PREDS 2 TRAF_INDEX_CREATE_OPT ON + TRAF_READ_OBJECT_DESC ON + TRAF_STORE_OBJECT_DESC ON SHOWCONTROL_SHOW_ALL ON DEF_CHUNK_SIZE 1000 CPUCOST_DM_GET .001 @@ -580,6 +584,8 @@ CONTROL QUERY DEFAULT HBASE_SMALL_SCANNER SYSTEM HBASE_FILTER_PREDS 2 TRAF_INDEX_CREATE_OPT ON + TRAF_READ_OBJECT_DESC ON + TRAF_STORE_OBJECT_DESC ON SHOWCONTROL_SHOW_ALL ON DEF_CHUNK_SIZE 1000 CPUCOST_DM_GET .001 http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/19c96b1e/core/sql/regress/hive/EXPECTED018 ---------------------------------------------------------------------- diff --git a/core/sql/regress/hive/EXPECTED018 b/core/sql/regress/hive/EXPECTED018 index 883e349..14cd75a 100644 --- a/core/sql/regress/hive/EXPECTED018 +++ b/core/sql/regress/hive/EXPECTED018 @@ -150,9 +150,9 @@ Task: CLEANUP Status: Started Object: TRAFODION.HBASE.CUSTOMER_ADDRE Task: CLEANUP Status: Ended Object: TRAFODION.HBASE.CUSTOMER_ADDRESS Task: PREPARATION Status: Started Object: TRAFODION.HBASE.CUSTOMER_ADDRESS Rows Processed: 50000 -Task: PREPARATION Status: Ended ET: 00:00:09.733 +Task: PREPARATION Status: Ended ET: 00:00:08.019 Task: COMPLETION Status: Started Object: TRAFODION.HBASE.CUSTOMER_ADDRESS -Task: COMPLETION Status: Ended ET: 00:00:00.398 +Task: COMPLETION Status: Ended ET: 00:00:00.251 --- 50000 row(s) loaded. >>-- @@ -181,9 +181,9 @@ Task: CLEANUP Status: Started Object: TRAFODION.HBASE.CUSTOMER_DEMOG Task: CLEANUP Status: Ended Object: TRAFODION.HBASE.CUSTOMER_DEMOGRAPHICS Task: PREPARATION Status: Started Object: TRAFODION.HBASE.CUSTOMER_DEMOGRAPHICS Rows Processed: 20000 -Task: PREPARATION Status: Ended ET: 00:00:12.160 +Task: PREPARATION Status: Ended ET: 00:00:10.738 Task: COMPLETION Status: Started Object: TRAFODION.HBASE.CUSTOMER_DEMOGRAPHICS -Task: COMPLETION Status: Ended ET: 00:00:00.362 +Task: COMPLETION Status: Ended ET: 00:00:00.182 --- 20000 row(s) loaded. >>-- @@ -213,9 +213,9 @@ Task: CLEANUP Status: Started Object: TRAFODION.HBASE.CUSTOMER_DEMOG Task: CLEANUP Status: Ended Object: TRAFODION.HBASE.CUSTOMER_DEMOGRAPHICS_SALT Task: PREPARATION Status: Started Object: TRAFODION.HBASE.CUSTOMER_DEMOGRAPHICS_SALT Rows Processed: 20000 -Task: PREPARATION Status: Ended ET: 00:00:08.208 +Task: PREPARATION Status: Ended ET: 00:00:08.632 Task: COMPLETION Status: Started Object: TRAFODION.HBASE.CUSTOMER_DEMOGRAPHICS_SALT -Task: COMPLETION Status: Ended ET: 00:00:00.327 +Task: COMPLETION Status: Ended ET: 00:00:00.165 --- 20000 row(s) loaded. >>-- >> @@ -235,9 +235,9 @@ Task: CLEANUP Status: Started Object: TRAFODION.HBASE.CUSTOMER_SALT Task: CLEANUP Status: Ended Object: TRAFODION.HBASE.CUSTOMER_SALT Task: PREPARATION Status: Started Object: TRAFODION.HBASE.CUSTOMER_SALT Rows Processed: 100000 -Task: PREPARATION Status: Ended ET: 00:00:10.404 +Task: PREPARATION Status: Ended ET: 00:00:07.306 Task: COMPLETION Status: Started Object: TRAFODION.HBASE.CUSTOMER_SALT -Task: COMPLETION Status: Ended ET: 00:00:00.332 +Task: COMPLETION Status: Ended ET: 00:00:00.192 --- 100000 row(s) loaded. >>-- @@ -266,9 +266,9 @@ Task: CLEANUP Status: Started Object: TRAFODION.HBASE.STORE_SALES_SA Task: CLEANUP Status: Ended Object: TRAFODION.HBASE.STORE_SALES_SALT Task: PREPARATION Status: Started Object: TRAFODION.HBASE.STORE_SALES_SALT Rows Processed: 160756 -Task: PREPARATION Status: Ended ET: 00:00:13.314 +Task: PREPARATION Status: Ended ET: 00:00:10.315 Task: COMPLETION Status: Started Object: TRAFODION.HBASE.STORE_SALES_SALT -Task: COMPLETION Status: Ended ET: 00:00:00.309 +Task: COMPLETION Status: Ended ET: 00:00:00.168 --- 160756 row(s) loaded. >>-- @@ -356,10 +356,10 @@ a +> select * from null_format_src; Task: UNLOAD Status: Started Task: EMPTY TARGET Status: Started -Task: EMPTY TARGET Status: Ended ET: 00:00:00.004 +Task: EMPTY TARGET Status: Ended ET: 00:00:00.003 Task: EXTRACT Status: Started Rows Processed: 10 -Task: EXTRACT Status: Ended ET: 00:00:00.334 +Task: EXTRACT Status: Ended ET: 00:00:00.219 --- 10 row(s) unloaded. >>select * from hive.hive.null_format_default; @@ -385,10 +385,10 @@ a +> select * from null_format_src; Task: UNLOAD Status: Started Task: EMPTY TARGET Status: Started -Task: EMPTY TARGET Status: Ended ET: 00:00:00.008 +Task: EMPTY TARGET Status: Ended ET: 00:00:00.004 Task: EXTRACT Status: Started Rows Processed: 10 -Task: EXTRACT Status: Ended ET: 00:00:00.325 +Task: EXTRACT Status: Ended ET: 00:00:00.196 --- 10 row(s) unloaded. >>select * from hive.hive.null_format_empty; @@ -414,10 +414,10 @@ a ? +> select * from null_format_src; Task: UNLOAD Status: Started Task: EMPTY TARGET Status: Started -Task: EMPTY TARGET Status: Ended ET: 00:00:00.005 +Task: EMPTY TARGET Status: Ended ET: 00:00:00.003 Task: EXTRACT Status: Started Rows Processed: 10 -Task: EXTRACT Status: Ended ET: 00:00:00.409 +Task: EXTRACT Status: Ended ET: 00:00:00.199 --- 10 row(s) unloaded. >>select * from hive.hive.null_format_colon; @@ -445,6 +445,15 @@ a >> >>sh regrhbase.ksh $REGRTSTDIR/TEST018_create_hbase_objects.hbase &> >>$REGRRUNDIR/LOG018_create_hbase_tables.log ; >> +>>alter table hbase.customer_address generate stored descriptor; + +--- SQL operation complete. +>>alter table hbase.customer_demographics_salt generate stored descriptor; + +--- SQL operation complete. +>>alter table hbase.customer_salt generate stored descriptor; + +--- SQL operation complete. >> >>--exp1 >>explain options 'f' @@ -471,12 +480,12 @@ LC RC OP OPERATOR OPT DESCRIPTION CARD +>; Task: UNLOAD Status: Started Task: EMPTY TARGET Status: Started -Task: EMPTY TARGET Status: Ended ET: 00:00:00.005 +Task: EMPTY TARGET Status: Ended ET: 00:00:00.024 Task: EXTRACT Status: Started Rows Processed: 50000 -Task: EXTRACT Status: Ended ET: 00:00:04.200 +Task: EXTRACT Status: Ended ET: 00:00:02.162 Task: MERGE FILES Status: Started -Task: MERGE FILES Status: Ended ET: 00:00:00.064 +Task: MERGE FILES Status: Ended ET: 00:00:00.038 --- 50000 row(s) unloaded. >>log; @@ -509,12 +518,12 @@ LC RC OP OPERATOR OPT DESCRIPTION CARD +><<+ cardinality 10e10 >>; Task: UNLOAD Status: Started Task: EMPTY TARGET Status: Started -Task: EMPTY TARGET Status: Ended ET: 00:00:00.006 +Task: EMPTY TARGET Status: Ended ET: 00:00:00.003 Task: EXTRACT Status: Started Rows Processed: 20000 -Task: EXTRACT Status: Ended ET: 00:00:01.146 +Task: EXTRACT Status: Ended ET: 00:00:00.631 Task: MERGE FILES Status: Started -Task: MERGE FILES Status: Ended ET: 00:00:00.039 +Task: MERGE FILES Status: Ended ET: 00:00:00.017 --- 20000 row(s) unloaded. >>log; @@ -533,12 +542,12 @@ cat /tmp/merged_customer_demogs | wc -l +><<+ cardinality 10e10 >>; Task: UNLOAD Status: Started Task: EMPTY TARGET Status: Started -Task: EMPTY TARGET Status: Ended ET: 00:00:00.006 +Task: EMPTY TARGET Status: Ended ET: 00:00:00.005 Task: EXTRACT Status: Started Rows Processed: 20000 -Task: EXTRACT Status: Ended ET: 00:00:00.983 +Task: EXTRACT Status: Ended ET: 00:00:00.593 Task: MERGE FILES Status: Started -Task: MERGE FILES Status: Ended ET: 00:00:00.024 +Task: MERGE FILES Status: Ended ET: 00:00:00.036 --- 20000 row(s) unloaded. >>log; @@ -570,12 +579,12 @@ LC RC OP OPERATOR OPT DESCRIPTION CARD +><<+ cardinality 10e10 >>; Task: UNLOAD Status: Started Task: EMPTY TARGET Status: Started -Task: EMPTY TARGET Status: Ended ET: 00:00:00.010 +Task: EMPTY TARGET Status: Ended ET: 00:00:00.003 Task: EXTRACT Status: Started Rows Processed: 20000 -Task: EXTRACT Status: Ended ET: 00:00:01.386 +Task: EXTRACT Status: Ended ET: 00:00:00.790 Task: MERGE FILES Status: Started -Task: MERGE FILES Status: Ended ET: 00:00:00.052 +Task: MERGE FILES Status: Ended ET: 00:00:00.028 --- 20000 row(s) unloaded. >> @@ -593,12 +602,12 @@ regrhadoop.ksh fs -du -s /bulkload/customer_demographics_salt/merged_customer_de +><<+ cardinality 10e10 >>; Task: UNLOAD Status: Started Task: EMPTY TARGET Status: Started -Task: EMPTY TARGET Status: Ended ET: 00:00:00.004 +Task: EMPTY TARGET Status: Ended ET: 00:00:00.003 Task: EXTRACT Status: Started Rows Processed: 20000 -Task: EXTRACT Status: Ended ET: 00:00:00.911 +Task: EXTRACT Status: Ended ET: 00:00:00.560 Task: MERGE FILES Status: Started -Task: MERGE FILES Status: Ended ET: 00:00:00.049 +Task: MERGE FILES Status: Ended ET: 00:00:00.032 --- 20000 row(s) unloaded. >> @@ -631,10 +640,10 @@ LC RC OP OPERATOR OPT DESCRIPTION CARD +><<+ cardinality 10e10 >>; Task: UNLOAD Status: Started Task: EMPTY TARGET Status: Started -Task: EMPTY TARGET Status: Ended ET: 00:00:00.005 +Task: EMPTY TARGET Status: Ended ET: 00:00:00.003 Task: EXTRACT Status: Started Rows Processed: 20000 -Task: EXTRACT Status: Ended ET: 00:00:01.244 +Task: EXTRACT Status: Ended ET: 00:00:00.467 --- 20000 row(s) unloaded. >> @@ -654,12 +663,12 @@ regrhadoop.ksh fs -ls /bulkload/customer_demographics_salt/file* | grep file | +><<+ cardinality 10e10 >>; Task: UNLOAD Status: Started Task: EMPTY TARGET Status: Started -Task: EMPTY TARGET Status: Ended ET: 00:00:00.010 +Task: EMPTY TARGET Status: Ended ET: 00:00:00.009 Task: EXTRACT Status: Started Rows Processed: 20000 -Task: EXTRACT Status: Ended ET: 00:00:01.058 +Task: EXTRACT Status: Ended ET: 00:00:00.504 Task: MERGE FILES Status: Started -Task: MERGE FILES Status: Ended ET: 00:00:00.057 +Task: MERGE FILES Status: Ended ET: 00:00:00.030 --- 20000 row(s) unloaded. >> @@ -792,12 +801,12 @@ CD_DEMO_SK CD_GENDER +><<+ cardinality 10e10 >>; Task: UNLOAD Status: Started Task: EMPTY TARGET Status: Started -Task: EMPTY TARGET Status: Ended ET: 00:00:00.005 +Task: EMPTY TARGET Status: Ended ET: 00:00:00.003 Task: EXTRACT Status: Started Rows Processed: 20000 -Task: EXTRACT Status: Ended ET: 00:00:00.982 +Task: EXTRACT Status: Ended ET: 00:00:00.560 Task: MERGE FILES Status: Started -Task: MERGE FILES Status: Ended ET: 00:00:00.048 +Task: MERGE FILES Status: Ended ET: 00:00:00.035 --- 20000 row(s) unloaded. >>log; @@ -832,12 +841,12 @@ regrhadoop.ksh fs -ls /bulkload/customer_demographics_salt/merged* | grep merge +><<+ cardinality 10e10 >>; Task: UNLOAD Status: Started Task: EMPTY TARGET Status: Started -Task: EMPTY TARGET Status: Ended ET: 00:00:00.007 +Task: EMPTY TARGET Status: Ended ET: 00:00:00.004 Task: EXTRACT Status: Started Rows Processed: 20000 -Task: EXTRACT Status: Ended ET: 00:00:01.064 +Task: EXTRACT Status: Ended ET: 00:00:00.477 Task: MERGE FILES Status: Started -Task: MERGE FILES Status: Ended ET: 00:00:00.059 +Task: MERGE FILES Status: Ended ET: 00:00:00.074 --- 20000 row(s) unloaded. >>--sh sleep 10; @@ -890,7 +899,7 @@ Task: EMPTY TARGET Status: Started Task: EMPTY TARGET Status: Ended ET: 00:00:00.004 Task: EXTRACT Status: Started Rows Processed: 20000 -Task: EXTRACT Status: Ended ET: 00:00:00.995 +Task: EXTRACT Status: Ended ET: 00:00:00.448 --- 20000 row(s) unloaded. >>--sh sleep 10; @@ -941,10 +950,10 @@ CD_DEMO_SK CD_GENDER +>select * from trafodion.hbase.customer_address ; Task: UNLOAD Status: Started Task: EMPTY TARGET Status: Started -Task: EMPTY TARGET Status: Ended ET: 00:00:00.004 +Task: EMPTY TARGET Status: Ended ET: 00:00:00.003 Task: EXTRACT Status: Started Rows Processed: 50000 -Task: EXTRACT Status: Ended ET: 00:00:02.475 +Task: EXTRACT Status: Ended ET: 00:00:01.450 --- 50000 row(s) unloaded. >>--sh sleep 10; @@ -994,10 +1003,10 @@ CA_ADDRESS_SK CA_ADDRESS_ID +>select * from trafodion.hbase.customer_address ; Task: UNLOAD Status: Started Task: EMPTY TARGET Status: Started -Task: EMPTY TARGET Status: Ended ET: 00:00:00.005 +Task: EMPTY TARGET Status: Ended ET: 00:00:00.011 Task: EXTRACT Status: Started Rows Processed: 50000 -Task: EXTRACT Status: Ended ET: 00:00:02.595 +Task: EXTRACT Status: Ended ET: 00:00:01.355 --- 50000 row(s) unloaded. >>--sh sleep 10; @@ -1060,10 +1069,10 @@ CA_ADDRESS_SK CA_ADDRESS_ID +>select * from trafodion.hbase.customer_salt; Task: UNLOAD Status: Started Task: EMPTY TARGET Status: Started -Task: EMPTY TARGET Status: Ended ET: 00:00:00.006 +Task: EMPTY TARGET Status: Ended ET: 00:00:00.003 Task: EXTRACT Status: Started Rows Processed: 100000 -Task: EXTRACT Status: Ended ET: 00:00:07.642 +Task: EXTRACT Status: Ended ET: 00:00:04.708 --- 100000 row(s) unloaded. >>--sh sleep 10; @@ -1114,10 +1123,10 @@ C_CUSTOMER_SK C_CUSTOMER_ID +>select * from trafodion.hbase.customer_demographics_salt; Task: UNLOAD Status: Started Task: EMPTY TARGET Status: Started -Task: EMPTY TARGET Status: Ended ET: 00:00:00.019 +Task: EMPTY TARGET Status: Ended ET: 00:00:00.008 Task: EXTRACT Status: Started Rows Processed: 20000 -Task: EXTRACT Status: Ended ET: 00:00:01.228 +Task: EXTRACT Status: Ended ET: 00:00:00.708 --- 20000 row(s) unloaded. >>--sh sleep 10; @@ -1170,9 +1179,9 @@ Task: EMPTY TARGET Status: Started Task: EMPTY TARGET Status: Ended ET: 00:00:00.003 Task: EXTRACT Status: Started Rows Processed: 99 -Task: EXTRACT Status: Ended ET: 00:00:00.216 +Task: EXTRACT Status: Ended ET: 00:00:00.200 Task: MERGE FILES Status: Started -Task: MERGE FILES Status: Ended ET: 00:00:00.023 +Task: MERGE FILES Status: Ended ET: 00:00:00.020 --- 99 row(s) unloaded. >> @@ -1211,7 +1220,7 @@ Task: EMPTY TARGET Status: Started Task: EMPTY TARGET Status: Ended ET: 00:00:00.004 Task: EXTRACT Status: Started Rows Processed: 12349 -Task: EXTRACT Status: Ended ET: 00:00:10.062 +Task: EXTRACT Status: Ended ET: 00:00:05.157 --- 12349 row(s) unloaded. >>--sh sleep 10; @@ -1330,10 +1339,10 @@ SS_SOLD_DATE_SK SS_STORE_SK SS_QUANTITY +>select * from trafodion.hbase.customer_salt c join trafodion.hbase.customer_address ca on c.c_current_addr_sk = ca.ca_address_sk ; Task: UNLOAD Status: Started Task: EMPTY TARGET Status: Started -Task: EMPTY TARGET Status: Ended ET: 00:00:00.005 +Task: EMPTY TARGET Status: Ended ET: 00:00:00.003 Task: EXTRACT Status: Started Rows Processed: 100000 -Task: EXTRACT Status: Ended ET: 00:00:09.838 +Task: EXTRACT Status: Ended ET: 00:00:05.823 --- 100000 row(s) unloaded. >>--sh sleep 10; @@ -1384,7 +1393,7 @@ Task: EMPTY TARGET Status: Started Task: EMPTY TARGET Status: Ended ET: 00:00:00.004 Task: EXTRACT Status: Started Rows Processed: 1998 -Task: EXTRACT Status: Ended ET: 00:00:00.695 +Task: EXTRACT Status: Ended ET: 00:00:00.449 --- 1998 row(s) unloaded. >>--sh sleep 10; @@ -1495,7 +1504,7 @@ ESP_EXCHANGE ============================== SEQ_NO 3 ONLY CHILD 2 use_snapshot_scan ...... TRUE full_table_name ........ TRAFODION.HBASE.CUSTOMER_DEMOGRAPHICS_SALT snapshot_name .......... TRAFODION.HBASE.CUSTOMER_DEMOGRAPHICS_SALT_SNAP111 - snapshot_temp_location /bulkload/20160708212424/ + snapshot_temp_location /bulkload/20160728184715/ grep -i -e 'explain reg' -e snapshot -e full_table_name -e esp_exchange LOG018_REGULAR_SCAN_PLAN.TXT | grep -v snapshot_scan_run_id >>--no snapshot >>explain reg; @@ -1575,7 +1584,7 @@ grep -i -e 'explain snp' -e snapshot -e full_table_name -e esp_exchange LOG018_S use_snapshot_scan ...... TRUE full_table_name ........ TRAFODION.HBASE.CUSTOMER_ADDRESS snapshot_name .......... TRAFODION.HBASE.CUSTOMER_ADDRESS_SNAP111 - snapshot_temp_location /bulkload/20160708212436/ + snapshot_temp_location /bulkload/20160728184722/ grep -i -e 'explain reg' -e snapshot -e full_table_name -e esp_exchange LOG018_REGULAR_SCAN_PLAN.TXT | grep -v snapshot_scan_run_id >>--no snapshot >>explain reg; @@ -1657,11 +1666,11 @@ grep -i -e 'explain snp' -e snapshot -e full_table_name -e esp_exchange LOG018_S use_snapshot_scan ...... TRUE full_table_name ........ TRAFODION.HBASE.CUSTOMER_SALT snapshot_name .......... TRAFODION.HBASE.CUSTOMER_SALT_SNAP111 - snapshot_temp_location /bulkload/20160708212512/ + snapshot_temp_location /bulkload/20160728184741/ use_snapshot_scan ...... TRUE full_table_name ........ TRAFODION.HBASE.CUSTOMER_ADDRESS snapshot_name .......... TRAFODION.HBASE.CUSTOMER_ADDRESS_SNAP111 - snapshot_temp_location /bulkload/20160708212512/ + snapshot_temp_location /bulkload/20160728184741/ grep -i -e 'explain reg' -e snapshot -e full_table_name -e esp_exchange LOG018_REGULAR_SCAN_PLAN.TXT | grep -v snapshot_scan_run_id >>--no snapshot >>explain reg; @@ -1774,13 +1783,13 @@ LC RC OP OPERATOR OPT DESCRIPTION CARD +><<+ cardinality 10e10 >>; Task: UNLOAD Status: Started Task: EMPTY TARGET Status: Started -Task: EMPTY TARGET Status: Ended ET: 00:00:00.025 +Task: EMPTY TARGET Status: Ended ET: 00:00:00.003 Task: VERIFY SNAPSHO Status: Started Snapshots verified: 1 -Task: VERIFY SNAPSHO Status: Ended ET: 00:00:00.494 +Task: VERIFY SNAPSHO Status: Ended ET: 00:00:00.294 Task: EXTRACT Status: Started Rows Processed: 50000 -Task: EXTRACT Status: Ended ET: 00:00:03.271 +Task: EXTRACT Status: Ended ET: 00:00:01.446 --- 50000 row(s) unloaded. >> @@ -1852,13 +1861,13 @@ LC RC OP OPERATOR OPT DESCRIPTION CARD +>select * from trafodion.hbase.customer_demographics_salt <<+ cardinality 10e10 >>; Task: UNLOAD Status: Started Task: EMPTY TARGET Status: Started -Task: EMPTY TARGET Status: Ended ET: 00:00:00.002 +Task: EMPTY TARGET Status: Ended ET: 00:00:00.003 Task: VERIFY SNAPSHO Status: Started Snapshots verified: 1 -Task: VERIFY SNAPSHO Status: Ended ET: 00:00:00.374 +Task: VERIFY SNAPSHO Status: Ended ET: 00:00:00.297 Task: EXTRACT Status: Started Rows Processed: 20000 -Task: EXTRACT Status: Ended ET: 00:00:02.347 +Task: EXTRACT Status: Ended ET: 00:00:01.827 --- 20000 row(s) unloaded. >> @@ -1906,16 +1915,16 @@ CD_DEMO_SK CD_GENDER +>select * from trafodion.hbase.customer_demographics_salt <<+ cardinality 10e10 >>; Task: UNLOAD Status: Started Task: EMPTY TARGET Status: Started -Task: EMPTY TARGET Status: Ended ET: 00:00:00.008 +Task: EMPTY TARGET Status: Ended ET: 00:00:00.007 Task: CREATE SNAPSHO Status: Started Snapshots created: 1 -Task: CREATE SNAPSHO Status: Ended ET: 00:00:01.520 +Task: CREATE SNAPSHO Status: Ended ET: 00:00:00.436 Task: EXTRACT Status: Started Rows Processed: 20000 -Task: EXTRACT Status: Ended ET: 00:00:01.725 +Task: EXTRACT Status: Ended ET: 00:00:01.026 Task: DELETE SNAPSHO Status: Started Snapshots deleted: 1 -Task: DELETE SNAPSHO Status: Ended ET: 00:00:00.028 +Task: DELETE SNAPSHO Status: Ended ET: 00:00:00.010 --- 20000 row(s) unloaded. >> @@ -1967,16 +1976,16 @@ CD_DEMO_SK CD_GENDER +>select * from trafodion.hbase.customer_demographics_salt <<+ cardinality 10e10 >>; Task: UNLOAD Status: Started Task: EMPTY TARGET Status: Started -Task: EMPTY TARGET Status: Ended ET: 00:00:00.009 +Task: EMPTY TARGET Status: Ended ET: 00:00:00.007 Task: CREATE SNAPSHO Status: Started Snapshots created: 1 -Task: CREATE SNAPSHO Status: Ended ET: 00:00:01.458 +Task: CREATE SNAPSHO Status: Ended ET: 00:00:00.590 Task: EXTRACT Status: Started Rows Processed: 20000 -Task: EXTRACT Status: Ended ET: 00:00:01.347 +Task: EXTRACT Status: Ended ET: 00:00:00.996 Task: DELETE SNAPSHO Status: Started Snapshots deleted: 1 -Task: DELETE SNAPSHO Status: Ended ET: 00:00:00.006 +Task: DELETE SNAPSHO Status: Ended ET: 00:00:00.004 --- 20000 row(s) unloaded. >> @@ -2029,16 +2038,16 @@ CD_DEMO_SK CD_GENDER +>select * from customer_address where ca_address_sk < 1000 union select * from customer_address where ca_address_sk > 40000 and ca_address_sk < 41000; Task: UNLOAD Status: Started Task: EMPTY TARGET Status: Started -Task: EMPTY TARGET Status: Ended ET: 00:00:00.006 +Task: EMPTY TARGET Status: Ended ET: 00:00:00.005 Task: CREATE SNAPSHO Status: Started Snapshots created: 1 -Task: CREATE SNAPSHO Status: Ended ET: 00:00:01.079 +Task: CREATE SNAPSHO Status: Ended ET: 00:00:00.500 Task: EXTRACT Status: Started Rows Processed: 1998 -Task: EXTRACT Status: Ended ET: 00:00:00.725 +Task: EXTRACT Status: Ended ET: 00:00:00.562 Task: DELETE SNAPSHO Status: Started Snapshots deleted: 1 -Task: DELETE SNAPSHO Status: Ended ET: 00:00:00.005 +Task: DELETE SNAPSHO Status: Ended ET: 00:00:00.003 --- 1998 row(s) unloaded. >> @@ -2113,16 +2122,16 @@ CA_ADDRESS_SK CA_ADDRESS_ID +>select * from trafodion.hbase.customer_salt c join trafodion.hbase.customer_address ca on c.c_current_addr_sk = ca.ca_address_sk ; Task: UNLOAD Status: Started Task: EMPTY TARGET Status: Started -Task: EMPTY TARGET Status: Ended ET: 00:00:00.004 +Task: EMPTY TARGET Status: Ended ET: 00:00:00.003 Task: CREATE SNAPSHO Status: Started Snapshots created: 2 -Task: CREATE SNAPSHO Status: Ended ET: 00:00:03.077 +Task: CREATE SNAPSHO Status: Ended ET: 00:00:01.644 Task: EXTRACT Status: Started Rows Processed: 100000 -Task: EXTRACT Status: Ended ET: 00:00:09.442 +Task: EXTRACT Status: Ended ET: 00:00:06.607 Task: DELETE SNAPSHO Status: Started Snapshots deleted: 2 -Task: DELETE SNAPSHO Status: Ended ET: 00:00:00.009 +Task: DELETE SNAPSHO Status: Ended ET: 00:00:00.006 --- 100000 row(s) unloaded. >>--sh sleep 10; @@ -2190,16 +2199,16 @@ LC RC OP OPERATOR OPT DESCRIPTION CARD +>select c_first_name,c_last_name from trafodion.hbase.customer_salt; Task: UNLOAD Status: Started Task: EMPTY TARGET Status: Started -Task: EMPTY TARGET Status: Ended ET: 00:00:00.005 +Task: EMPTY TARGET Status: Ended ET: 00:00:00.009 Task: CREATE SNAPSHO Status: Started Snapshots created: 1 -Task: CREATE SNAPSHO Status: Ended ET: 00:00:00.640 +Task: CREATE SNAPSHO Status: Ended ET: 00:00:00.361 Task: EXTRACT Status: Started Rows Processed: 100000 -Task: EXTRACT Status: Ended ET: 00:00:01.597 +Task: EXTRACT Status: Ended ET: 00:00:01.350 Task: DELETE SNAPSHO Status: Started Snapshots deleted: 1 -Task: DELETE SNAPSHO Status: Ended ET: 00:00:00.007 +Task: DELETE SNAPSHO Status: Ended ET: 00:00:00.004 --- 100000 row(s) unloaded. >>--sh sleep 10; @@ -2280,7 +2289,7 @@ unload with delimiter 0 into '/bulkload/test' select * from CUSTOMER_ADDRESS; Task: UNLOAD Status: Started Task: EXTRACT Status: Started Rows Processed: 50000 -Task: EXTRACT Status: Ended ET: 00:00:02.827 +Task: EXTRACT Status: Ended ET: 00:00:01.328 --- 50000 row(s) unloaded. >>--unload 24 -- should give an error @@ -2345,7 +2354,7 @@ regrhadoop.ksh fs -rm /user/hive/exttables/unload_customer_demographics/* Task: UNLOAD Status: Started Task: EXTRACT Status: Started Rows Processed but NOT Written to Disk: 20000 -Task: EXTRACT Status: Ended ET: 00:00:00.904 +Task: EXTRACT Status: Ended ET: 00:00:00.435 --- 20000 row(s) unloaded. >>--sh sleep 10; http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/19c96b1e/core/sql/regress/hive/TEST018 ---------------------------------------------------------------------- diff --git a/core/sql/regress/hive/TEST018 b/core/sql/regress/hive/TEST018 index 5f1b611..8a17313 100644 --- a/core/sql/regress/hive/TEST018 +++ b/core/sql/regress/hive/TEST018 @@ -279,6 +279,9 @@ create index customer_idx1 on customer_salt(c_first_name, c_last_name); sh regrhbase.ksh $REGRTSTDIR/TEST018_create_hbase_objects.hbase &> $REGRRUNDIR/LOG018_create_hbase_tables.log ; +alter table hbase.customer_address generate stored descriptor; +alter table hbase.customer_demographics_salt generate stored descriptor; +alter table hbase.customer_salt generate stored descriptor; --exp1 explain options 'f' http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/19c96b1e/core/sql/regress/seabase/EXPECTED031 ---------------------------------------------------------------------- diff --git a/core/sql/regress/seabase/EXPECTED031 b/core/sql/regress/seabase/EXPECTED031 index 873ed2c..b6f3a9d 100644 --- a/core/sql/regress/seabase/EXPECTED031 +++ b/core/sql/regress/seabase/EXPECTED031 @@ -1,6 +1,6 @@ >> >>-- tests for PRIMARY KEY constraint usage ->>drop table if exists t031t1; +>>drop table if exists t031t1 cascade; --- SQL operation complete. >>create table t031t1 (a int not null, b int not null, constraint ppk primary >>key(a)); @@ -431,19 +431,19 @@ Z Z (EXPR) (EXPR) --- 1 row(s) selected. >>select substring(a, 1, 10), cast(b as char(10)) from hive.hive.t031hive; -(EXPR) (EXPR) ----------------------------------------- ---------------------------------------- +(EXPR) (EXPR) +---------- ---------- -aaaaaaaaaa def -aaaaaaaaaa zzz -aaaaaaaaaa zzz -aaaaaaaaaa zzz -aaaaaaaaaa zzz -aaaaaaaaaa zzz -a zzz -aaaaaaaaaa ? -aaaaaaaaaa ? -aaaaaaaaaa ? +aaaaaaaaaa def +aaaaaaaaaa zzz +aaaaaaaaaa zzz +aaaaaaaaaa zzz +aaaaaaaaaa zzz +aaaaaaaaaa zzz +a zzz +aaaaaaaaaa ? +aaaaaaaaaa ? +aaaaaaaaaa ? --- 10 row(s) selected. >>select [last 0] * from hive.hive.t031hive; @@ -482,7 +482,7 @@ aaaaaaaaaa ? >>invoke t031t1; -- Definition of Trafodion table TRAFODION.SCH.T031T1 --- Definition current Wed Jul 13 23:30:01 2016 +-- Definition current Tue Aug 2 19:11:21 2016 ( SYSKEY LARGEINT NO DEFAULT NOT NULL NOT DROPPABLE @@ -513,7 +513,7 @@ A B >>invoke t031t1; -- Definition of Trafodion table TRAFODION.SCH.T031T1 --- Definition current Wed Jul 13 23:30:02 2016 +-- Definition current Tue Aug 2 19:11:28 2016 ( SYSKEY LARGEINT NO DEFAULT NOT NULL NOT DROPPABLE @@ -548,4 +548,244 @@ A B C --- 3 row(s) selected. >> +>>-- metadata stored descriptor tests +>>cqd traf_store_object_desc 'OFF'; + +--- SQL operation complete. +>>cqd traf_read_object_desc 'OFF'; + +--- SQL operation complete. +>>drop table if exists t031t1 cascade; + +--- SQL operation complete. +>>create table t031t1 (a int); + +--- SQL operation complete. +>>invoke t031t1; + +-- Definition of Trafodion table TRAFODION.SCH.T031T1 +-- Definition current Tue Aug 2 19:11:35 2016 + + ( + SYSKEY LARGEINT NO DEFAULT NOT NULL NOT DROPPABLE + , A INT DEFAULT NULL + ) + +--- SQL operation complete. +>>alter table t031t1 check stored descriptor; + +*** ERROR[4493] Stored Descriptor Status: Does not exist. It needs to be regenerated. + +--- SQL operation failed with errors. +>> +>>cqd traf_store_object_desc 'ON'; + +--- SQL operation complete. +>>cqd traf_read_object_desc 'ON'; + +--- SQL operation complete. +>>drop table if exists t031t1; + +--- SQL operation complete. +>>create table t031t1 (a int); + +--- SQL operation complete. +>>invoke t031t1; + +-- Definition of Trafodion table TRAFODION.SCH.T031T1 +-- Definition current Tue Aug 2 19:11:42 2016 + + ( + SYSKEY LARGEINT NO DEFAULT NOT NULL NOT DROPPABLE + , A INT DEFAULT NULL + ) + +--- SQL operation complete. +>>alter table t031t1 check stored descriptor; + +*** WARNING[4493] Stored Descriptor Status: Uptodate and current. + +--- SQL operation complete. +>> +>>alter table t031t1 delete stored descriptor; + +--- SQL operation complete. +>>alter table t031t1 check stored descriptor; + +*** ERROR[4493] Stored Descriptor Status: Does not exist. It needs to be regenerated. + +--- SQL operation failed with errors. +>>invoke t031t1; + +-- Definition of Trafodion table TRAFODION.SCH.T031T1 +-- Definition current Tue Aug 2 19:11:51 2016 + + ( + SYSKEY LARGEINT NO DEFAULT NOT NULL NOT DROPPABLE + , A INT DEFAULT NULL + ) + +--- SQL operation complete. +>> +>>alter table t031t1 generate stored descriptor; + +--- SQL operation complete. +>>alter table t031t1 check stored descriptor; + +*** WARNING[4493] Stored Descriptor Status: Uptodate and current. + +--- SQL operation complete. +>>invoke t031t1; + +-- Definition of Trafodion table TRAFODION.SCH.T031T1 +-- Definition current Tue Aug 2 19:11:53 2016 + + ( + SYSKEY LARGEINT NO DEFAULT NOT NULL NOT DROPPABLE + , A INT DEFAULT NULL + ) + +--- SQL operation complete. +>> +>>create view t031v1 as select * from t031t1; + +--- SQL operation complete. +>>invoke t031v1; + +-- Definition of Trafodion view TRAFODION.SCH.T031V1 +-- Definition current Tue Aug 2 19:11:54 2016 + + ( + A INT DEFAULT NULL + ) + +--- SQL operation complete. +>>alter table t031v1 check stored descriptor; + +*** WARNING[4493] Stored Descriptor Status: Uptodate and current. + +--- SQL operation complete. +>>alter table t031v1 delete stored descriptor; + +--- SQL operation complete. +>>alter table t031v1 check stored descriptor; + +*** ERROR[4493] Stored Descriptor Status: Does not exist. It needs to be regenerated. + +--- SQL operation failed with errors. +>>invoke t031v1; + +-- Definition of Trafodion view TRAFODION.SCH.T031V1 +-- Definition current Tue Aug 2 19:11:59 2016 + + ( + A INT DEFAULT NULL + ) + +--- SQL operation complete. +>>alter table t031v1 generate stored descriptor; + +--- SQL operation complete. +>>alter table t031v1 check stored descriptor; + +*** WARNING[4493] Stored Descriptor Status: Uptodate and current. + +--- SQL operation complete. +>>invoke t031v1; + +-- Definition of Trafodion view TRAFODION.SCH.T031V1 +-- Definition current Tue Aug 2 19:12:01 2016 + + ( + A INT DEFAULT NULL + ) + +--- SQL operation complete. +>> +>>create index t031t1i1 on t031t1(a); + +--- SQL operation complete. +>>showddl t031t1; + +CREATE TABLE TRAFODION.SCH.T031T1 + ( + A INT DEFAULT NULL + ) +; + +CREATE INDEX T031T1I1 ON TRAFODION.SCH.T031T1 + ( + A ASC + ) +; + +--- SQL operation complete. +>>alter table t031t1 check stored descriptor; + +*** WARNING[4493] Stored Descriptor Status: Uptodate and current. + +--- SQL operation complete. +>>alter table t031t1 delete stored descriptor; + +--- SQL operation complete. +>>alter table t031t1 check stored descriptor; + +*** ERROR[4493] Stored Descriptor Status: Does not exist. It needs to be regenerated. + +--- SQL operation failed with errors. +>>showddl t031t1; + +CREATE TABLE TRAFODION.SCH.T031T1 + ( + A INT DEFAULT NULL + ) +; + +CREATE INDEX T031T1I1 ON TRAFODION.SCH.T031T1 + ( + A ASC + ) +; + +--- SQL operation complete. +>>alter table t031t1 generate stored descriptor; + +--- SQL operation complete. +>>alter table t031t1 check stored descriptor; + +*** WARNING[4493] Stored Descriptor Status: Uptodate and current. + +--- SQL operation complete. +>>showddl t031t1; + +CREATE TABLE TRAFODION.SCH.T031T1 + ( + A INT DEFAULT NULL + ) +; + +CREATE INDEX T031T1I1 ON TRAFODION.SCH.T031T1 + ( + A ASC + ) +; + +--- SQL operation complete. +>> +>>set parserflags 1; + +--- SQL operation complete. +>>invoke table(index_table t031t1i1); + +-- Definition of Trafodion table TRAFODION.SCH.T031T1I1 +-- Definition current Tue Aug 2 19:12:17 2016 + + ( + "A@" INT NO DEFAULT + , SYSKEY LARGEINT NO DEFAULT NOT NULL NOT DROPPABLE + ) + PRIMARY KEY ("A@" ASC, SYSKEY ASC) + +--- SQL operation complete. +>> >>log; http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/19c96b1e/core/sql/regress/seabase/TEST031 ---------------------------------------------------------------------- diff --git a/core/sql/regress/seabase/TEST031 b/core/sql/regress/seabase/TEST031 index 382e18f..94b2122 100644 --- a/core/sql/regress/seabase/TEST031 +++ b/core/sql/regress/seabase/TEST031 @@ -25,7 +25,7 @@ log LOG031 clear; -- tests for PRIMARY KEY constraint usage -drop table if exists t031t1; +drop table if exists t031t1 cascade; create table t031t1 (a int not null, b int not null, constraint ppk primary key(a)); alter table t031t1 add constraint ppk primary key(b); alter table t031t1 add constraint ppk2 primary key(b); @@ -179,4 +179,50 @@ select * from t031t1; insert into t031t1 default values; select * from t031t1; +-- metadata stored descriptor tests +cqd traf_store_object_desc 'OFF'; +cqd traf_read_object_desc 'OFF'; +drop table if exists t031t1 cascade; +create table t031t1 (a int); +invoke t031t1; +alter table t031t1 check stored descriptor; + +cqd traf_store_object_desc 'ON'; +cqd traf_read_object_desc 'ON'; +drop table if exists t031t1; +create table t031t1 (a int); +invoke t031t1; +alter table t031t1 check stored descriptor; + +alter table t031t1 delete stored descriptor; +alter table t031t1 check stored descriptor; +invoke t031t1; + +alter table t031t1 generate stored descriptor; +alter table t031t1 check stored descriptor; +invoke t031t1; + +create view t031v1 as select * from t031t1; +invoke t031v1; +alter table t031v1 check stored descriptor; +alter table t031v1 delete stored descriptor; +alter table t031v1 check stored descriptor; +invoke t031v1; +alter table t031v1 generate stored descriptor; +alter table t031v1 check stored descriptor; +invoke t031v1; + +create index t031t1i1 on t031t1(a); +showddl t031t1; +alter table t031t1 check stored descriptor; +alter table t031t1 delete stored descriptor; +alter table t031t1 check stored descriptor; +showddl t031t1; +alter table t031t1 generate stored descriptor; +alter table t031t1 check stored descriptor; +showddl t031t1; + +set parserflags 1; +invoke table(index_table t031t1i1); + log; http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/19c96b1e/core/sql/regress/tools/sbdefs ---------------------------------------------------------------------- diff --git a/core/sql/regress/tools/sbdefs b/core/sql/regress/tools/sbdefs index ec6d988..20e09f5 100644 --- a/core/sql/regress/tools/sbdefs +++ b/core/sql/regress/tools/sbdefs @@ -33,6 +33,8 @@ cqd traf_aligned_row_format 'OFF'; --cqd traf_default_col_charset 'UTF8'; cqd traf_index_create_opt 'ON'; --cqd ddl_transactions 'ON'; +cqd traf_read_object_desc 'ON'; +cqd traf_store_object_desc 'ON'; cqd schema '$$TEST_SCHEMA$$'; set SCHEMA $$TEST_SCHEMA$$; #endif