Repository: trafodion Updated Branches: refs/heads/master d83b97efe -> 8058e144f
http://git-wip-us.apache.org/repos/asf/trafodion/blob/9528f8c0/core/sql/sqlcomp/CmpSeabaseDDLupgrade.cpp ---------------------------------------------------------------------- diff --git a/core/sql/sqlcomp/CmpSeabaseDDLupgrade.cpp b/core/sql/sqlcomp/CmpSeabaseDDLupgrade.cpp index b2cea77..fe09364 100644 --- a/core/sql/sqlcomp/CmpSeabaseDDLupgrade.cpp +++ b/core/sql/sqlcomp/CmpSeabaseDDLupgrade.cpp @@ -39,6 +39,7 @@ #include "CmpDDLCatErrorCodes.h" #include "CmpSeabaseDDLupgrade.h" #include "CmpSeabaseDDLrepos.h" +#include "CmpSeabaseDDLroutine.h" #include "PrivMgrMD.h" NABoolean CmpSeabaseMDupgrade::isOldMDtable(const NAString &objName) @@ -84,6 +85,17 @@ NABoolean CmpSeabaseMDupgrade::isReposUpgradeNeeded() return FALSE; } +NABoolean CmpSeabaseMDupgrade::isLibrariesUpgradeNeeded() +{ + for (Lng32 i = 0; i < sizeof(allLibrariesUpgradeInfo)/sizeof(MDUpgradeInfo); i++) + { + const MDUpgradeInfo &mdti = allLibrariesUpgradeInfo[i]; + if (mdti.upgradeNeeded) + return TRUE; + } + return FALSE; +} + // ---------------------------------------------------------------------------- // isPrivsUpgradeNeeded // @@ -314,7 +326,7 @@ short CmpSeabaseMDupgrade::executeSeabaseMDupgrade(CmpDDLwithStatusInfo *mdui, // now as they are stateless CmpSeabaseUpgradeRepository upgradeRepository; CmpSeabaseUpgradePrivMgr upgradePrivMgr; - + CmpSeabaseUpgradeLibraries upgradeLibraries; ExeCliInterface cliInterface(STMTHEAP, 0, NULL, CmpCommon::context()->sqlSession()->getParentQid()); ExpHbaseInterface * ehi = NULL; @@ -323,8 +335,8 @@ short CmpSeabaseMDupgrade::executeSeabaseMDupgrade(CmpDDLwithStatusInfo *mdui, { // The line below is useful when debugging upgrade; it shows the step progression // through the upgrade state machine. - // cout << "mdui->step() is " << mdui->step() - // << ", mdui->subStep() is " << mdui->subStep() << endl; + cout << "mdui->step() is " << mdui->step() + << ", mdui->subStep() is " << mdui->subStep() << endl; switch (mdui->step()) { @@ -649,9 +661,11 @@ short CmpSeabaseMDupgrade::executeSeabaseMDupgrade(CmpDDLwithStatusInfo *mdui, Int64 mdCurrMajorVersion; Int64 mdCurrMinorVersion; + Int64 mdCurrUpdateVersion; retcode = validateVersions(&ActiveSchemaDB()->getDefaults(), ehi, &mdCurrMajorVersion, - &mdCurrMinorVersion); + &mdCurrMinorVersion, + &mdCurrUpdateVersion); deallocEHI(ehi); @@ -668,10 +682,13 @@ short CmpSeabaseMDupgrade::executeSeabaseMDupgrade(CmpDDLwithStatusInfo *mdui, return 0; } - else if (retcode == -1395) // mismatch in MAJOR version. Need to upgrade + else if (retcode == -1395) // mismatch in version. Need to upgrade { - if ((mdCurrMajorVersion == METADATA_OLD_MAJOR_VERSION) && - (mdCurrMinorVersion == METADATA_OLD_MINOR_VERSION)) + if (((mdCurrMajorVersion == METADATA_OLD_MAJOR_VERSION) && + (mdCurrMinorVersion == METADATA_OLD_MINOR_VERSION)) || + ((mdCurrMajorVersion == METADATA_MAJOR_VERSION) && + (mdCurrMinorVersion == METADATA_MINOR_VERSION) && + (mdCurrUpdateVersion == METADATA_OLD_UPDATE_VERSION)/*update version only*/)) { NAString upgItems; if (isUpgradeNeeded()) @@ -694,12 +711,18 @@ short CmpSeabaseMDupgrade::executeSeabaseMDupgrade(CmpDDLwithStatusInfo *mdui, { upgItems += " Repository,"; } + if (upgradeLibraries.needsUpgrade(this)) + { + upgItems += " Libraries,"; + } if (NOT upgItems.isNull()) { upgItems = upgItems.strip(NAString::trailing, ','); upgItems += "."; } } + // The VERSIONS table hs only a Major and Minor version so we have this funny encoding below + // mdUpdate version can be 0 to 10 max. str_sprintf(msgBuf, " Metadata needs to be upgraded from Version %ld.%ld.%ld to %d.%d.%d.%s", mdCurrMajorVersion, mdCurrMinorVersion/10, (mdCurrMinorVersion - (mdCurrMinorVersion/10)*10), @@ -1603,7 +1626,7 @@ short CmpSeabaseMDupgrade::executeSeabaseMDupgrade(CmpDDLwithStatusInfo *mdui, { if (NOT isReposUpgradeNeeded()) { - mdui->setStep(UPGRADE_PRIV_MGR); + mdui->setStep(UPGRADE_LIBRARIES); mdui->setSubstep(0); break; } @@ -1637,6 +1660,43 @@ short CmpSeabaseMDupgrade::executeSeabaseMDupgrade(CmpDDLwithStatusInfo *mdui, } break; + case UPGRADE_LIBRARIES: + { + if (NOT isLibrariesUpgradeNeeded()) + { + mdui->setStep(UPGRADE_PRIV_MGR); + mdui->setSubstep(0); + break; + } + + if (xnInProgress(&cliInterface)) + { + *CmpCommon::diags() << DgSqlCode(-20123); + + mdui->setStep(UPGRADE_FAILED_RESTORE_OLD_REPOS); + mdui->setSubstep(0); + + break; + } + + cliRC = upgradeLibraries.doUpgrade(&cliInterface, mdui, this, ddlXns); + if (cliRC != 0) + { + mdui->setStep(UPGRADE_FAILED_RESTORE_OLD_LIBRARIES); + mdui->setSubstep(-(cliRC+1)); + + break; + } + + if (mdui->endStep()) + { + mdui->setStep(UPGRADE_PRIV_MGR); + mdui->setSubstep(0); + } + + return 0; + } + break; case UPDATE_VERSION: { switch (mdui->subStep()) @@ -1657,7 +1717,7 @@ short CmpSeabaseMDupgrade::executeSeabaseMDupgrade(CmpDDLwithStatusInfo *mdui, { *CmpCommon::diags() << DgSqlCode(-20123); - mdui->setStep(UPGRADE_FAILED_RESTORE_OLD_REPOS); + mdui->setStep(UPGRADE_FAILED_RESTORE_OLD_LIBRARIES); mdui->setSubstep(0); break; @@ -1668,7 +1728,7 @@ short CmpSeabaseMDupgrade::executeSeabaseMDupgrade(CmpDDLwithStatusInfo *mdui, { cliInterface.retrieveSQLDiagnostics(CmpCommon::diags()); - mdui->setStep(UPGRADE_FAILED_RESTORE_OLD_REPOS); + mdui->setStep(UPGRADE_FAILED_RESTORE_OLD_LIBRARIES); mdui->setSubstep(0); break; @@ -1677,7 +1737,7 @@ short CmpSeabaseMDupgrade::executeSeabaseMDupgrade(CmpDDLwithStatusInfo *mdui, cliRC = updateSeabaseVersions(&cliInterface, TRAFODION_SYSCAT_LIT); if (cliRC < 0) { - mdui->setStep(UPGRADE_FAILED_RESTORE_OLD_REPOS); + mdui->setStep(UPGRADE_FAILED_RESTORE_OLD_LIBRARIES); mdui->setSubstep(0); break; @@ -1691,7 +1751,7 @@ short CmpSeabaseMDupgrade::executeSeabaseMDupgrade(CmpDDLwithStatusInfo *mdui, { cliInterface.retrieveSQLDiagnostics(CmpCommon::diags()); - mdui->setStep(UPGRADE_FAILED_RESTORE_OLD_REPOS); + mdui->setStep(UPGRADE_FAILED_RESTORE_OLD_LIBRARIES); mdui->setSubstep(0); break; @@ -1703,7 +1763,7 @@ short CmpSeabaseMDupgrade::executeSeabaseMDupgrade(CmpDDLwithStatusInfo *mdui, (NOT isViewsUpgradeNeeded())) mdui->setStep(METADATA_UPGRADED); else - mdui->setStep(OLD_REPOS_DROP); + mdui->setStep(OLD_LIBRARIES_DROP); mdui->setSubstep(0); mdui->setEndStep(TRUE); @@ -1739,7 +1799,31 @@ short CmpSeabaseMDupgrade::executeSeabaseMDupgrade(CmpDDLwithStatusInfo *mdui, } } break; - + case OLD_LIBRARIES_DROP: + { + if (upgradeLibraries.needsUpgrade(this)) + { + if (upgradeLibraries.doDrops(&cliInterface,mdui,this)) + { + // no status message in this case so no return + cliInterface.clearGlobalDiags(); + mdui->setStep(OLD_REPOS_DROP); + mdui->setSubstep(0); + mdui->setEndStep(TRUE); + } + else + { + if (mdui->endStep()) + { + mdui->setStep(OLD_REPOS_DROP); + mdui->setSubstep(0); + mdui->setEndStep(TRUE); + } + return 0; + } + } + } + break; case OLD_MD_TABLES_HBASE_DELETE: { switch (mdui->subStep()) @@ -1901,7 +1985,50 @@ short CmpSeabaseMDupgrade::executeSeabaseMDupgrade(CmpDDLwithStatusInfo *mdui, } } break; + case UPGRADE_FAILED_RESTORE_OLD_LIBRARIES: + { + // Note: We can't combine this case with UPGRADE_FAILED etc. + // below, because the subsystem code uses mdui->subStep() + // to keep track of its progress. + + if (upgradeLibraries.needsUpgrade(this)) + { + if (xnInProgress(&cliInterface)) + { + cliRC = rollbackXn(&cliInterface); + if (cliRC < 0) + { + // ignore errors + } + } + if (upgradeLibraries.doUndo(&cliInterface,mdui,this)) + { + // ignore errors; no status message so just continue on + cliInterface.clearGlobalDiags(); + mdui->setStep(OLD_REPOS_DROP); + mdui->setSubstep(0); + mdui->setEndStep(TRUE); + } + else + { + if (mdui->endStep()) + { + mdui->setStep(OLD_REPOS_DROP); + mdui->setSubstep(0); + mdui->setEndStep(TRUE); + } + return 0; + } + } + else + { + mdui->setStep(OLD_REPOS_DROP); + mdui->setSubstep(0); + mdui->setEndStep(TRUE); + } + } + break; case UPGRADE_FAILED: case UPGRADE_FAILED_RESTORE_OLD_MD: case UPGRADE_FAILED_DROP_OLD_MD: @@ -2502,6 +2629,35 @@ short CmpSeabaseMDupgrade::customizeNewMDv23tov30(CmpDDLwithStatusInfo *mdui, } // ---------------------------------------------------------------------------- +// Methods for class CmpSeabaseUpgradeLibraries +// ---------------------------------------------------------------------------- +NABoolean CmpSeabaseUpgradeLibraries::needsUpgrade(CmpSeabaseMDupgrade * ddlState) +{ + return ddlState->isLibrariesUpgradeNeeded(); +} + +short CmpSeabaseUpgradeLibraries::doUpgrade(ExeCliInterface * cliInterface, + CmpDDLwithStatusInfo * mdui, + CmpSeabaseMDupgrade * ddlState, + NABoolean /* ddlXns */) +{ + return ddlState->upgradeLibraries(cliInterface,mdui); +} + +short CmpSeabaseUpgradeLibraries::doDrops(ExeCliInterface * cliInterface, + CmpDDLwithStatusInfo * mdui, CmpSeabaseMDupgrade * ddlState) +{ + return ddlState->upgradeLibrariesComplete(cliInterface,mdui); +} + +short CmpSeabaseUpgradeLibraries::doUndo(ExeCliInterface * cliInterface, + CmpDDLwithStatusInfo * mdui, CmpSeabaseMDupgrade * ddlState) +{ + return ddlState->upgradeLibrariesUndo(cliInterface,mdui); +} + + +// ---------------------------------------------------------------------------- // Methods for class CmpSeabaseUpgradeRepository // ---------------------------------------------------------------------------- NABoolean CmpSeabaseUpgradeRepository::needsUpgrade(CmpSeabaseMDupgrade * ddlState) http://git-wip-us.apache.org/repos/asf/trafodion/blob/9528f8c0/core/sql/sqlcomp/CmpSeabaseDDLupgrade.h ---------------------------------------------------------------------- diff --git a/core/sql/sqlcomp/CmpSeabaseDDLupgrade.h b/core/sql/sqlcomp/CmpSeabaseDDLupgrade.h index 1c3b2ee..8d37766 100644 --- a/core/sql/sqlcomp/CmpSeabaseDDLupgrade.h +++ b/core/sql/sqlcomp/CmpSeabaseDDLupgrade.h @@ -212,8 +212,8 @@ struct MDDescsInfo // This section should reflect the upgrade steps needed to go from // previous to current version. // Modify it as needed. -// Currently it is set to upgrade from V11(source major version 1, minor version 1) -// to V21. +// Currently it is set to upgrade from V210(source major version 1, minor version 1) +// to V211. ////////////////////////////////////////////////////////////// static const MDUpgradeInfo allMDupgradeInfo[] = { {SEABASE_AUTHS, SEABASE_AUTHS_OLD_MD, @@ -230,6 +230,141 @@ static const MDUpgradeInfo allMDupgradeInfo[] = { {SEABASE_DEFAULTS, SEABASE_DEFAULTS_OLD_MD, seabaseDefaultsDDL, sizeof(seabaseDefaultsDDL), + NULL,0, + NULL, 0, + FALSE, NULL, NULL, NULL, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE}, + + {SEABASE_INDEXES, SEABASE_INDEXES_OLD_MD, + seabaseIndexesDDL, sizeof(seabaseIndexesDDL), + NULL, 0, + NULL, 0, + FALSE, NULL, NULL, NULL, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE}, + + {SEABASE_KEYS, SEABASE_KEYS_OLD_MD, + seabaseKeysDDL, sizeof(seabaseKeysDDL), + NULL, 0, + NULL, 0, + FALSE, NULL, NULL, NULL, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE}, + + + {SEABASE_LIBRARIES_USAGE, SEABASE_LIBRARIES_USAGE_OLD_MD, + seabaseLibrariesUsageDDL, sizeof(seabaseLibrariesUsageDDL), + NULL,0, + NULL, 0, + FALSE, NULL, NULL, NULL, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE}, + + + {SEABASE_OBJECTS, SEABASE_OBJECTS_OLD_MD, + seabaseObjectsDDL, sizeof(seabaseObjectsDDL), + NULL, 0, + NULL, 0, + FALSE,NULL,NULL,NULL, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE}, + + {SEABASE_OBJECTS_UNIQ_IDX, SEABASE_OBJECTS_UNIQ_IDX_OLD_MD, + seabaseObjectsUniqIdxDDL, sizeof(seabaseObjectsUniqIdxDDL), + NULL, 0, + NULL, 0, + FALSE, NULL, NULL, NULL, FALSE, FALSE, FALSE, FALSE, TRUE, FALSE}, + + {SEABASE_REF_CONSTRAINTS, SEABASE_REF_CONSTRAINTS_OLD_MD, + seabaseRefConstraintsDDL, sizeof(seabaseRefConstraintsDDL), + NULL, 0, + NULL, 0, + FALSE, NULL, NULL, NULL, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE}, + + {SEABASE_ROUTINES, SEABASE_ROUTINES_OLD_MD, + seabaseRoutinesDDL, sizeof(seabaseRoutinesDDL), + NULL,NULL, + NULL, 0, + FALSE, NULL, NULL, NULL, FALSE, FALSE, FALSE, FALSE, TRUE, FALSE}, + + {SEABASE_SEQ_GEN, SEABASE_SEQ_GEN_OLD_MD, + seabaseSeqGenDDL, sizeof(seabaseSeqGenDDL), + NULL, 0, + NULL, 0, + FALSE, NULL, NULL, NULL, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE}, + + {SEABASE_TABLES, SEABASE_TABLES_OLD_MD, + seabaseTablesDDL, sizeof(seabaseTablesDDL), + NULL, 0, + NULL, 0, + FALSE, NULL, NULL, NULL, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE}, + + {SEABASE_TABLE_CONSTRAINTS, SEABASE_TABLE_CONSTRAINTS_OLD_MD, + seabaseTableConstraintsDDL, sizeof(seabaseTableConstraintsDDL), + NULL, 0, + NULL, 0, + FALSE, NULL, NULL, NULL, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE}, + + + {SEABASE_TABLE_CONSTRAINTS_IDX, SEABASE_TABLE_CONSTRAINTS_IDX_OLD_MD, + seabaseTableConstraintsIdxDDL, sizeof(seabaseTableConstraintsIdxDDL), + NULL, 0, + NULL, 0, + FALSE, NULL, NULL, NULL, FALSE, FALSE, TRUE, FALSE, TRUE, FALSE}, + + {SEABASE_TEXT, SEABASE_TEXT_OLD_MD, + seabaseTextDDL, sizeof(seabaseTextDDL), + NULL, 0, + NULL, 0, + FALSE, NULL, NULL, NULL, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE}, + + {SEABASE_UNIQUE_REF_CONSTR_USAGE, SEABASE_UNIQUE_REF_CONSTR_USAGE_OLD_MD, + seabaseUniqueRefConstrUsageDDL, sizeof(seabaseUniqueRefConstrUsageDDL), + NULL, 0, + NULL, 0, + FALSE, NULL, NULL, NULL, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE}, + + {SEABASE_VERSIONS, SEABASE_VERSIONS_OLD_MD, + seabaseVersionsDDL, sizeof(seabaseVersionsDDL), + NULL, 0, + NULL, 0, + FALSE, NULL, NULL, NULL, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE}, + + {SEABASE_VIEWS, SEABASE_VIEWS_OLD_MD, + seabaseViewsDDL, sizeof(seabaseViewsDDL), + NULL, 0, + NULL, 0, + FALSE, NULL, NULL, NULL, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE}, + + {SEABASE_VIEWS_USAGE, SEABASE_VIEWS_USAGE_OLD_MD, + seabaseViewsUsageDDL, sizeof(seabaseViewsUsageDDL), + NULL, 0, + NULL, 0, + FALSE, NULL, NULL, NULL, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE}, + + {SEABASE_VALIDATE_SPJ, SEABASE_VALIDATE_SPJ_OLD_MD, + NULL, 0, + NULL, 0, + NULL, 0, + FALSE, NULL, NULL, NULL, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE}, + + {SEABASE_VALIDATE_LIBRARY, SEABASE_VALIDATE_LIBRARY_OLD_MD, + NULL, 0, + NULL, 0, + NULL, 0, + FALSE, NULL, NULL, NULL, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE} + +}; + +////////////////////////////////////////////////////////////// +// This struct is set up for V110 to V210 upgrade. +////////////////////////////////////////////////////////////// +static const MDUpgradeInfo allMDv110tov210TablesInfo[] = { + {SEABASE_AUTHS, SEABASE_AUTHS_OLD_MD, + seabaseAuthsDDL, sizeof(seabaseAuthsDDL), + NULL, 0, + NULL, 0, + FALSE, NULL, NULL, NULL, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE}, + + {SEABASE_COLUMNS, SEABASE_COLUMNS_OLD_MD, + seabaseColumnsDDL, sizeof(seabaseColumnsDDL), + NULL, 0, + NULL, 0, + FALSE, NULL, NULL, NULL, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE}, + + {SEABASE_DEFAULTS, SEABASE_DEFAULTS_OLD_MD, + seabaseDefaultsDDL, sizeof(seabaseDefaultsDDL), seabaseOldTrafMDv11DefaultsDDL, sizeof(seabaseOldTrafMDv11DefaultsDDL), NULL, 0, TRUE, @@ -385,6 +520,9 @@ static const MDUpgradeInfo allMDupgradeInfo[] = { }; + + + ////////////////////////////////////////////////////////////// // This struct is set up for V23 to V30 upgrade. ////////////////////////////////////////////////////////////// @@ -431,11 +569,11 @@ static const MDUpgradeInfo allMDv23tov30TablesInfo[] = { "object_uid, column_name, keyseq_number, column_number, ordering, nonkeycol, 0", NULL, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE}, - {SEABASE_LIBRARIES, SEABASE_LIBRARIES_OLD_MD, + /*{SEABASE_LIBRARIES, SEABASE_LIBRARIES_OLD_MD, seabaseLibrariesDDL, sizeof(seabaseLibrariesDDL), NULL, 0, NULL, 0, - FALSE, NULL, NULL, NULL, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE}, + FALSE, NULL, NULL, NULL, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE},*/ {SEABASE_LIBRARIES_USAGE, SEABASE_LIBRARIES_USAGE_OLD_MD, seabaseLibrariesUsageDDL, sizeof(seabaseLibrariesUsageDDL), @@ -578,12 +716,15 @@ class CmpSeabaseMDupgrade : public CmpSeabaseDDL UPDATE_MD_VIEWS, UPGRADE_REPOS, UPGRADE_PRIV_MGR, + UPGRADE_LIBRARIES, UPDATE_VERSION, OLD_REPOS_DROP, + OLD_LIBRARIES_DROP, METADATA_UPGRADED, UPGRADE_DONE, UPGRADE_FAILED, UPGRADE_FAILED_RESTORE_OLD_REPOS, + UPGRADE_FAILED_RESTORE_OLD_LIBRARIES, UPGRADE_FAILED_RESTORE_OLD_MD, UPGRADE_FAILED_DROP_OLD_MD, GET_MD_VERSION, @@ -601,18 +742,21 @@ class CmpSeabaseMDupgrade : public CmpSeabaseDDL NABoolean isViewsUpgradeNeeded(); NABoolean isReposUpgradeNeeded(); NABoolean isPrivsUpgradeNeeded(); + NABoolean isLibrariesUpgradeNeeded(); NABoolean isUpgradeNeeded() { return (isMDUpgradeNeeded() || isViewsUpgradeNeeded() || isReposUpgradeNeeded() || - isPrivsUpgradeNeeded()); + isPrivsUpgradeNeeded() || + isLibrariesUpgradeNeeded()); } short dropMDtables(ExpHbaseInterface *ehi, NABoolean oldTbls, NABoolean useOldNameForNewTables = FALSE); short dropReposTables(ExpHbaseInterface *ehi, NABoolean oldTbls); - + short dropLibrariesTables(ExpHbaseInterface *ehi, + NABoolean oldLibraries); short restoreOldMDtables(ExpHbaseInterface *ehi); short upgradePrivMgr(ExeCliInterface *cliInterface, @@ -712,6 +856,35 @@ class CmpSeabaseUpgradeRepository : public CmpSeabaseUpgradeSubsystem }; +//Libraries specialization +class CmpSeabaseUpgradeLibraries : public CmpSeabaseUpgradeSubsystem +{ +public: + + CmpSeabaseUpgradeLibraries(void) { } ; + ~CmpSeabaseUpgradeLibraries(void) { } ; + + NABoolean needsUpgrade(CmpSeabaseMDupgrade * ddlState); + + short doUpgrade(ExeCliInterface * cliInterface, + CmpDDLwithStatusInfo * mdui, + CmpSeabaseMDupgrade * ddlState, + NABoolean ddlXns); + + short doDrops(ExeCliInterface * cliInterface, + CmpDDLwithStatusInfo * mdui, + CmpSeabaseMDupgrade * ddlState); + + short doUndo(ExeCliInterface * cliInterface, + CmpDDLwithStatusInfo * mdui, + CmpSeabaseMDupgrade * ddlState); + +private: + + // avoid having state for now + +}; + // Privilege Manager specialization class CmpSeabaseUpgradePrivMgr : public CmpSeabaseUpgradeSubsystem http://git-wip-us.apache.org/repos/asf/trafodion/blob/9528f8c0/core/sql/sqlcomp/DefaultConstants.h ---------------------------------------------------------------------- diff --git a/core/sql/sqlcomp/DefaultConstants.h b/core/sql/sqlcomp/DefaultConstants.h index 2098024..de79a27 100644 --- a/core/sql/sqlcomp/DefaultConstants.h +++ b/core/sql/sqlcomp/DefaultConstants.h @@ -3349,6 +3349,8 @@ enum DefaultConstants // Used to read compressed hdfs text files and to write // both compressed and uncompressed hdfs files HDFS_IO_INTERIM_BYTEARRAY_SIZE_IN_KB, + // Use BLOB column in LIBRARIES tables to store libraries. + USE_LIB_BLOB_STORE, // This enum constant must be the LAST one in the list; it's a count, // not an Attribute (it's not IN DefaultDefaults; it's the SIZE of it)! http://git-wip-us.apache.org/repos/asf/trafodion/blob/9528f8c0/core/sql/sqlcomp/nadefaults.cpp ---------------------------------------------------------------------- diff --git a/core/sql/sqlcomp/nadefaults.cpp b/core/sql/sqlcomp/nadefaults.cpp index e56efa5..a43a201 100644 --- a/core/sql/sqlcomp/nadefaults.cpp +++ b/core/sql/sqlcomp/nadefaults.cpp @@ -2874,13 +2874,13 @@ XDDkwd__(SUBQUERY_UNNESTING, "ON"), DDkwd__(TRAF_AUTO_CREATE_SCHEMA, "OFF"), - DDkwd__(TRAF_BLOB_AS_VARCHAR, "ON"), //set to OFF to enable Lobs support + DDkwd__(TRAF_BLOB_AS_VARCHAR, "OFF"), //set to OFF to enable Lobs support DDkwd__(TRAF_BOOLEAN_IO, "OFF"), - DDkwd__(TRAF_BOOTSTRAP_MD_MODE, "OFF"), + DDkwd__(TRAF_BOOTSTRAP_MD_MODE, "OFF"), - DDkwd__(TRAF_CLOB_AS_VARCHAR, "ON"), //set to OFF to enable Lobs support + DDkwd__(TRAF_CLOB_AS_VARCHAR, "OFF"), //set to OFF to enable Lobs support DDkwd__(TRAF_COL_LENGTH_IS_CHAR, "ON"), @@ -3059,8 +3059,11 @@ XDDkwd__(SUBQUERY_UNNESTING, "ON"), // Use large queues on RHS of Flow/Nested Join when appropriate DDkwd__(USE_LARGE_QUEUES, "ON"), + XDDkwd__(USE_LIBHDFS, "OFF"), + DDkwd__(USE_LIB_BLOB_STORE, "ON"), + DDkwd__(USE_MAINTAIN_CONTROL_TABLE, "OFF"), DDkwd__(USE_OLD_DT_CONSTRUCTOR, "OFF"),
