| /********************************************************************* |
| // @@@ 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 @@@ |
| **********************************************************************/ |
| /* -*-C++-*- |
| **************************************************************************** |
| * |
| * File: ComTdbExeUtil.h |
| * Description: |
| * |
| * Created: 12/11/2005 |
| * Language: C++ |
| * |
| * |
| * |
| * |
| **************************************************************************** |
| */ |
| |
| #ifndef COMTDBEXEUTIL_H |
| #define COMTDBEXEUTIL_H |
| |
| #include "ComTdb.h" |
| #include "ComTdbDDL.h" |
| #include "ComQueue.h" |
| #include "ComCharSetDefs.h" |
| |
| //////////////////////////////////////////////////////////////////// |
| // class ComTdbExeUtil |
| //////////////////////////////////////////////////////////////////// |
| static const ComTdbVirtTableColumnInfo exeUtilVirtTableColumnInfo[] = |
| { |
| { "UTIL_OUTPUT", 0, COM_USER_COLUMN, REC_BYTE_V_ASCII, 2000, FALSE, SQLCHARSETCODE_UTF8 , 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "",NULL,NULL, COM_UNKNOWN_DIRECTION_LIT, 0} |
| }; |
| |
| class ComTdbExeUtil : public ComTdbGenericUtil |
| { |
| friend class ExExeUtilTcb; |
| friend class ExExeUtilPrivateState; |
| |
| public: |
| enum ExeUtilType |
| { |
| DISPLAY_EXPLAIN_ = 2, |
| MAINTAIN_OBJECT_ = 3, |
| LOAD_VOLATILE_TABLE_ = 4, |
| CLEANUP_VOLATILE_SCHEMA_ = 5, |
| GET_VOLATILE_INFO = 6, |
| CREATE_TABLE_AS_ = 7, |
| GET_MAINTAIN_INFO_ = 9, |
| GET_STATISTICS_ = 10, |
| USER_LOAD_ = 11, |
| REGION_STATS_ = 12, |
| LONG_RUNNING_ = 13, |
| GET_METADATA_INFO_ = 14, |
| GET_VERSION_INFO_ = 15, |
| SUSPEND_ACTIVATE_ = 16, |
| LOB_INFO_ = 17, |
| SHOW_SET_ = 19, |
| AQR_ = 20, |
| DISPLAY_EXPLAIN_COMPLEX_ = 21, |
| GET_UID_ = 22, |
| POP_IN_MEM_STATS_ = 23, |
| GET_ERROR_INFO_ = 26, |
| LOB_EXTRACT_ = 27, |
| LOB_SHOWDDL_ = 28, |
| GET_HIVE_METADATA_INFO_ = 29, |
| HIVE_MD_ACCESS_ = 30, |
| AQR_WNR_INSERT_ = 31, |
| HBASE_LOAD_ = 32, |
| HBASE_UNLOAD_ = 33, |
| HBASE_UNLOAD_TASK_ = 34, |
| GET_QID_ = 35, |
| HIVE_TRUNCATE_ = 36, |
| LOB_UPDATE_UTIL_ = 37, |
| HIVE_QUERY_ = 38 |
| }; |
| |
| ComTdbExeUtil() |
| : ComTdbGenericUtil() |
| {} |
| |
| ComTdbExeUtil(Lng32 type, |
| char * query, |
| ULng32 querylen, |
| Int16 querycharset, |
| char * tableName, |
| ULng32 tableNameLen, |
| ex_expr * input_expr, |
| ULng32 input_rowlen, |
| ex_expr * output_expr, |
| ULng32 output_rowlen, |
| ex_expr_base * scan_expr, |
| ex_cri_desc * work_cri_desc, |
| const unsigned short work_atp_index, |
| ex_cri_desc * given_cri_desc, |
| ex_cri_desc * returned_cri_desc, |
| queue_index down, |
| queue_index up, |
| Lng32 num_buffers, |
| ULng32 buffer_size |
| ); |
| |
| char * getTableName() { return objectName_; } |
| char * getObjectName() { return objectName_; } |
| |
| void setChildTdb(ComTdb * child) { child_ = child; }; |
| |
| static Int32 getVirtTableNumCols() |
| { |
| return sizeof(exeUtilVirtTableColumnInfo)/sizeof(ComTdbVirtTableColumnInfo); |
| } |
| |
| static ComTdbVirtTableColumnInfo * getVirtTableColumnInfo() |
| { |
| return (ComTdbVirtTableColumnInfo*)exeUtilVirtTableColumnInfo; |
| } |
| |
| static Int32 getVirtTableNumKeys() |
| { |
| return 0; |
| } |
| |
| static ComTdbVirtTableKeyInfo * getVirtTableKeyInfo() |
| { |
| return NULL; |
| } |
| |
| Long pack(void *); |
| Lng32 unpack(void *, void * reallocator); |
| |
| // --------------------------------------------------------------------- |
| // Redefine virtual functions required for Versioning. |
| //---------------------------------------------------------------------- |
| virtual short getClassSize() { return (short)sizeof(ComTdbExeUtil); } |
| |
| virtual const ComTdb* getChild(Int32 pos) const; |
| virtual Int32 numChildren() const { return (child_ ? 1 : 0); } |
| virtual const char *getNodeName() const |
| { |
| if (type_ == CREATE_TABLE_AS_) |
| return "CREATE_TABLE_AS"; |
| else |
| return "EX_EXE_UTIL"; |
| }; |
| |
| virtual Int32 numExpressions() const |
| { |
| return (ComTdbGenericUtil::numExpressions() + 1); |
| } |
| |
| virtual ex_expr* getExpressionNode(Int32 pos) { |
| if (pos >= numExpressions()) |
| return NULL; |
| else |
| if (pos < ComTdbGenericUtil::numExpressions()) |
| return ComTdbGenericUtil::getExpressionNode(pos); |
| else |
| return scanExpr_; |
| } |
| |
| virtual const char * getExpressionName(Int32 pos) const { |
| if (pos >= numExpressions()) |
| return NULL; |
| else |
| if (pos < ComTdbGenericUtil::numExpressions()) |
| return ComTdbGenericUtil::getExpressionName(pos); |
| else |
| return "scanExpr_"; |
| } |
| |
| ExeUtilType getType() { return (ExeUtilType)type_;} |
| |
| void setExplOptionsStr(char * expl) |
| { |
| explOptionsStr_ = expl; |
| } |
| char * explOptionsStr() { return explOptionsStr_; } |
| |
| const char * getNEOCatalogName() { return NEOCatalogName_; } |
| void setNEOCatalogName(char * catalog) { NEOCatalogName_ = catalog; } |
| |
| void setType(ExeUtilType type) { type_ = type; } |
| |
| protected: |
| Lng32 type_; // 00-03 |
| UInt32 flags_; // 04-07 |
| ComTdbPtr child_; // 08-15 |
| |
| // expression to evaluate the predicate on the returned row |
| ExExprBasePtr scanExpr_; // 16-23 |
| |
| NABasicPtr explOptionsStr_; // 24-31 |
| |
| // Set to the NEO catalog name |
| NABasicPtr NEOCatalogName_; // 32-39 |
| |
| char fillersComTdbExeUtil_[104]; // 40-135 |
| |
| }; |
| |
| |
| static const ComTdbVirtTableColumnInfo exeUtilDisplayExplainVirtTableColumnInfo[] = |
| { |
| { "EXPLAIN OUTPUT", 0, COM_USER_COLUMN, REC_BYTE_V_ASCII, 4000, FALSE, SQLCHARSETCODE_UTF8, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "",NULL,NULL, COM_UNKNOWN_DIRECTION_LIT, 0 } |
| }; |
| |
| static const ComTdbVirtTableColumnInfo exeUtilDisplayExplainVirtTableOptionXColumnInfo[] = |
| { |
| { "EXPLAIN OUTPUT(FORMATTED)", 0, COM_USER_COLUMN, REC_BYTE_V_ASCII, 79, FALSE, SQLCHARSETCODE_UTF8, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "",NULL,NULL, COM_UNKNOWN_DIRECTION_LIT, 0 } |
| }; |
| |
| class ComTdbExeUtilDisplayExplain : public ComTdbExeUtil |
| { |
| friend class ExExeUtilDisplayExplainTcb; |
| friend class ExExeUtilDisplayExplainPrivateState; |
| |
| public: |
| ComTdbExeUtilDisplayExplain() |
| : ComTdbExeUtil() |
| {} |
| |
| ComTdbExeUtilDisplayExplain(char * query, |
| ULng32 querylen, |
| Int16 querycharset, |
| char * moduleName, |
| char * stmtName, |
| ex_expr * input_expr, |
| ULng32 input_rowlen, |
| ex_expr * output_expr, |
| ULng32 output_rowlen, |
| ex_cri_desc * work_cri_desc, |
| const unsigned short work_atp_index, |
| Lng32 colDescSize, |
| Lng32 outputRowSize, |
| ex_cri_desc * given_cri_desc, |
| ex_cri_desc * returned_cri_desc, |
| queue_index down, |
| queue_index up, |
| Lng32 num_buffers, |
| ULng32 buffer_size |
| ); |
| |
| Long pack(void *); |
| Lng32 unpack(void *, void * reallocator); |
| |
| // --------------------------------------------------------------------- |
| // Redefine virtual functions required for Versioning. |
| //---------------------------------------------------------------------- |
| virtual short getClassSize() {return (short)sizeof(ComTdbExeUtilDisplayExplain);} |
| |
| virtual const char *getNodeName() const |
| { |
| return "DISPLAY_EXPLAIN"; |
| }; |
| |
| static Int32 getVirtTableNumCols() |
| { |
| return sizeof(exeUtilDisplayExplainVirtTableColumnInfo)/sizeof(ComTdbVirtTableColumnInfo); |
| } |
| |
| static ComTdbVirtTableColumnInfo * getVirtTableColumnInfo() |
| { |
| return (ComTdbVirtTableColumnInfo*)exeUtilDisplayExplainVirtTableColumnInfo; |
| } |
| |
| static ComTdbVirtTableColumnInfo * getVirtTableOptionXColumnInfo() |
| { |
| return (ComTdbVirtTableColumnInfo*)exeUtilDisplayExplainVirtTableOptionXColumnInfo; |
| } |
| |
| char * getModuleName() { return moduleName_; } |
| char * getStmtName() { return stmtName_; } |
| |
| Lng32 getColDescSize() { return colDescSize_;} |
| Lng32 getOutputRowSize() { return outputRowSize_; } |
| |
| // --------------------------------------------------------------------- |
| // Used by the internal SHOWPLAN command to get attributes of a TDB. |
| // --------------------------------------------------------------------- |
| void displayContents(Space *space, ULng32 flag); |
| |
| NABoolean isOptionE() { return ((flags_ & OPTION_E) != 0); }; |
| NABoolean isOptionF() { return ((flags_ & OPTION_F) != 0); }; |
| NABoolean isOptionM() { return ((flags_ & OPTION_M) != 0); }; |
| NABoolean isOptionN() { return ((flags_ & OPTION_N) != 0); }; |
| NABoolean isOptionC() { return ((flags_ & OPTION_C) != 0); }; |
| NABoolean isOptionP() { return ((flags_ & OPTION_P) != 0); }; |
| |
| void setOptionE(NABoolean v) |
| {(v ? flags_ |= OPTION_E : flags_ &= ~OPTION_E); }; |
| void setOptionF(NABoolean v) |
| {(v ? flags_ |= OPTION_F : flags_ &= ~OPTION_F); }; |
| void setOptionM(NABoolean v) |
| {(v ? flags_ |= OPTION_M : flags_ &= ~OPTION_M); }; |
| void setOptionN(NABoolean v) |
| {(v ? flags_ |= OPTION_N : flags_ &= ~OPTION_N); }; |
| void setOptionC(NABoolean v) |
| {(v ? flags_ |= OPTION_C : flags_ &= ~OPTION_C); }; |
| void setOptionP(NABoolean v) |
| {(v ? flags_ |= OPTION_P : flags_ &= ~OPTION_P); }; |
| |
| private: |
| enum OpToFlag |
| { |
| OPTION_F = 0x0001, |
| OPTION_E = 0x0002, |
| OPTION_M = 0x0004, |
| OPTION_N = 0x0008, |
| OPTION_C = 0x0010, |
| OPTION_P = 0x0020 |
| }; |
| |
| UInt32 flags_; // 00-03 |
| UInt32 filler_; // 04-07 |
| NABasicPtr moduleName_; // 08-15 |
| NABasicPtr stmtName_; // 16-23 |
| |
| Lng32 colDescSize_; |
| Lng32 outputRowSize_; |
| |
| char fillersComTdbExeUtilDisplayExplain_[96]; // 32-127 |
| }; |
| |
| class ComTdbExeUtilDisplayExplainComplex : public ComTdbExeUtil |
| { |
| friend class ExExeUtilDisplayExplainComplexTcb; |
| friend class ExExeUtilDisplayExplainShowddlTcb; |
| friend class ExExeUtilDisplayExplainComplexPrivateState; |
| |
| public: |
| enum ExplainType |
| { |
| CREATE_TABLE_, |
| CREATE_INDEX_, |
| CREATE_MV_, |
| CREATE_TABLE_AS |
| }; |
| |
| ComTdbExeUtilDisplayExplainComplex() |
| : ComTdbExeUtil() |
| {} |
| |
| ComTdbExeUtilDisplayExplainComplex( |
| Lng32 explainType, |
| char * qry1, |
| char * qry2, |
| char * qry3, |
| char * qry4, |
| char * objectName, |
| Lng32 objectNameLen, |
| ex_expr * input_expr, |
| ULng32 input_rowlen, |
| ex_expr * output_expr, |
| ULng32 output_rowlen, |
| ex_cri_desc * work_cri_desc, |
| const unsigned short work_atp_index, |
| ex_cri_desc * given_cri_desc, |
| ex_cri_desc * returned_cri_desc, |
| queue_index down, |
| queue_index up, |
| Lng32 num_buffers, |
| ULng32 buffer_size |
| ); |
| |
| Long pack(void *); |
| Lng32 unpack(void *, void * reallocator); |
| |
| // --------------------------------------------------------------------- |
| // Redefine virtual functions required for Versioning. |
| //---------------------------------------------------------------------- |
| virtual short getClassSize() {return (short)sizeof(ComTdbExeUtilDisplayExplainComplex);} |
| |
| virtual const char *getNodeName() const |
| { |
| return "DISPLAY_EXPLAIN_COMPLEX"; |
| }; |
| |
| void setIsVolatile(NABoolean v) |
| {(v ? flags_ |= IS_VOLATILE : flags_ &= ~IS_VOLATILE); }; |
| NABoolean isVolatile() { return (flags_ & IS_VOLATILE) != 0; }; |
| |
| void setIsShowddl(NABoolean v) |
| {(v ? flags_ |= IS_SHOWDDL : flags_ &= ~IS_SHOWDDL); }; |
| NABoolean isShowddl() { return (flags_ & IS_SHOWDDL) != 0; }; |
| |
| void setNoLabelStats(NABoolean v) |
| {(v ? flags_ |= NO_LABEL_STATS : flags_ &= ~NO_LABEL_STATS); }; |
| NABoolean noLabelStats() { return (flags_ & NO_LABEL_STATS) != 0; }; |
| |
| void setLoadIfExists(NABoolean v) |
| {(v ? flags_ |= LOAD_IF_EXISTS : flags_ &= ~LOAD_IF_EXISTS); }; |
| NABoolean loadIfExists() { return (flags_ & LOAD_IF_EXISTS) != 0; }; |
| |
| // --------------------------------------------------------------------- |
| // Used by the internal SHOWPLAN command to get attributes of a TDB. |
| // --------------------------------------------------------------------- |
| void displayContents(Space *space, ULng32 flag); |
| |
| private: |
| enum |
| { |
| IS_VOLATILE = 0x0001, |
| IS_SHOWDDL = 0x0002, |
| NO_LABEL_STATS = 0x0004, |
| LOAD_IF_EXISTS = 0x0008 |
| }; |
| |
| NABasicPtr qry1_; // 00-07 |
| NABasicPtr qry2_; // 08-15 |
| NABasicPtr qry3_; // 16-23 |
| NABasicPtr qry4_; // 24-31 |
| |
| UInt32 flags_; // 32-35 |
| |
| Lng32 explainType_; // 36-39 |
| |
| char fillersComTdbExeUtilDisplayExplainComplex_[96]; // 40-135 |
| }; |
| |
| class ComTdbExeUtilMaintainObject : public ComTdbExeUtil |
| { |
| friend class ExExeUtilMaintainObjectTcb; |
| friend class ExExeUtilMaintainObjectPrivateState; |
| |
| public: |
| enum ObjectType |
| { |
| TABLE_ = 0, |
| INDEX_, |
| MV_, |
| MVGROUP_, |
| MV_INDEX_, |
| MV_LOG_, |
| CATALOG_, |
| SCHEMA_, |
| CLEAN_MAINTAIN_, |
| NOOP_ |
| }; |
| |
| // if multiple tables are to be maintained together, this define |
| // indicates the max number of tables which could be specified. |
| // Should match the number set in |
| // ExeUtilMaintainObject::bindNode. Maybe we can define this at |
| // a common place. TBD. |
| #define MAX_MULTI_TABLES 100 |
| |
| ComTdbExeUtilMaintainObject() |
| : ComTdbExeUtil() |
| {} |
| |
| ComTdbExeUtilMaintainObject(char * objectName, |
| ULng32 objectNameLen, |
| char *schemaName, |
| ULng32 schemaNameLen, |
| UInt16 ot, |
| char * parentTableName, |
| ULng32 parentTableNameLen, |
| ex_expr * input_expr, |
| ULng32 input_rowlen, |
| ex_expr * output_expr, |
| ULng32 output_rowlen, |
| ex_cri_desc * work_cri_desc, |
| const unsigned short work_atp_index, |
| ex_cri_desc * given_cri_desc, |
| ex_cri_desc * returned_cri_desc, |
| queue_index down, |
| queue_index up, |
| Lng32 num_buffers, |
| ULng32 buffer_size |
| ); |
| |
| Long pack(void *); |
| Lng32 unpack(void *, void * reallocator); |
| |
| void setParams(NABoolean reorgTable, |
| NABoolean reorgIndex, |
| NABoolean updStatsTable, |
| NABoolean updStatsMvlog, |
| NABoolean updStatsMvs, |
| NABoolean updStatsMvgroup, |
| NABoolean refreshMvgroup, |
| NABoolean refreshMvs, |
| NABoolean reorgMvgroup, |
| NABoolean reorgMvs, |
| NABoolean reorgMvsIndex, |
| NABoolean continueOnError, |
| NABoolean cleanMaintainCIT, |
| NABoolean getSchemaLabelStats, |
| NABoolean getLabelStats, |
| NABoolean getTableLabelStats, |
| NABoolean getIndexLabelStats, |
| NABoolean getLabelStatsIncIndexes, |
| NABoolean getLabelStatsIncInternal, |
| NABoolean getLabelStatsIncRelated |
| ); |
| |
| void setOptionsParams(char* reorgTableOptions, |
| char* reorgIndexOptions, |
| char* updStatsTableOptions, |
| char* updStatsMvlogOptions, |
| char* updStatsMvsOptions, |
| char* updStatsMvgroupOptions, |
| char* refreshMvgroupOptions, |
| char* refreshMvsOptions, |
| char* reorgMvgroupOptions, |
| char* reorgMvsOptions, |
| char* reorgMvsIndexOptions, |
| char* cleanMaintainCITOptions); |
| |
| void setLists(Queue* indexList, |
| Queue* refreshMvgroupList, |
| Queue* refreshMvsList, |
| Queue* reorgMvgroupList, |
| Queue* reorgMvsList, |
| Queue* reorgMvsIndexList, |
| Queue* updStatsMvgroupList, |
| Queue* updStatsMvsList, |
| Queue* multiTablesNamesList, |
| Queue* skippedMultiTablesNamesList); |
| |
| void setControlParams |
| (NABoolean disableReorgTable, |
| NABoolean enableReorgTable, |
| NABoolean disableReorgIndex, |
| NABoolean enableReorgIndex, |
| NABoolean disableUpdStatsTable, |
| NABoolean enableUpdStatsTable, |
| NABoolean disableUpdStatsMvs, |
| NABoolean enableUpdStatsMvs, |
| NABoolean disableRefreshMvs, |
| NABoolean enableRefreshMvs, |
| NABoolean disableReorgMvs, |
| NABoolean enableReorgMvs, |
| NABoolean resetReorgTable, |
| NABoolean resetUpdStatsTable, |
| NABoolean resetUpdStatsMvs, |
| NABoolean resetRefreshMvs, |
| NABoolean resetReorgMvs, |
| NABoolean resetReorgIndex, |
| NABoolean enableUpdStatsMvslog, |
| NABoolean disableUpdStatsMvslog, |
| NABoolean resetUpdStatsMvslog, |
| NABoolean enableReorgMvsIndex, |
| NABoolean disableReorgMvsIndex, |
| NABoolean resetReorgMvsIndex, |
| NABoolean enableRefreshMvgroup, |
| NABoolean disableRefreshMvgroup, |
| NABoolean resetRefreshMvgroup, |
| NABoolean enableReorgMvgroup, |
| NABoolean disableReorgMvgroup, |
| NABoolean resetReorgMvgroup, |
| NABoolean enableUpdStatsMvgroup, |
| NABoolean disableUpdStatsMvgroup, |
| NABoolean resetUpdStatsMvgroup, |
| NABoolean enableTableLabelStats, |
| NABoolean disableTableLabelStats, |
| NABoolean resetTableLabelStats, |
| NABoolean enableIndexLabelStats, |
| NABoolean disableIndexLabelStats, |
| NABoolean resetIndexLabelStats |
| ); |
| |
| // --------------------------------------------------------------------- |
| // Redefine virtual functions required for Versioning. |
| //---------------------------------------------------------------------- |
| virtual short getClassSize() {return (short)sizeof(ComTdbExeUtilMaintainObject);} |
| |
| virtual const char *getNodeName() const |
| { |
| return "MAINTAIN_OBJECT"; |
| }; |
| |
| void setInitializeMaintain(NABoolean v) |
| {(v ? flags_ |= INITIALIZE_MAINTAIN : flags_ &= ~INITIALIZE_MAINTAIN); }; |
| NABoolean initializeMaintain() { return (flags_ & INITIALIZE_MAINTAIN) != 0; }; |
| |
| void setReInitializeMaintain(NABoolean v) |
| {(v ? flags_ |= REINITIALIZE_MAINTAIN : flags_ &= ~REINITIALIZE_MAINTAIN); }; |
| NABoolean reInitializeMaintain() { return (flags_ & REINITIALIZE_MAINTAIN) != 0; }; |
| |
| void setDropMaintain(NABoolean v) |
| {(v ? flags_ |= DROP_MAINTAIN : flags_ &= ~DROP_MAINTAIN); }; |
| NABoolean dropMaintain() { return (flags_ & DROP_MAINTAIN) != 0; }; |
| |
| void setCreateView(NABoolean v) |
| {(v ? flags_ |= CREATE_VIEW : flags_ &= ~CREATE_VIEW); }; |
| NABoolean createView() { return (flags_ & CREATE_VIEW) != 0; }; |
| |
| void setDropView(NABoolean v) |
| {(v ? flags_ |= DROP_VIEW : flags_ &= ~DROP_VIEW); }; |
| NABoolean dropView() { return (flags_ & DROP_VIEW) != 0; }; |
| |
| void setReorgTable(NABoolean v) |
| {(v ? flags_ |= REORG_TABLE : flags_ &= ~REORG_TABLE); }; |
| NABoolean reorgTable() { return (flags_ & REORG_TABLE) != 0; }; |
| |
| void setReorgIndex(NABoolean v) |
| {(v ? flags_ |= REORG_INDEX : flags_ &= ~REORG_INDEX); }; |
| NABoolean reorgIndex() { return (flags_ & REORG_INDEX) != 0; }; |
| |
| void setUpdStatsTable(NABoolean v) |
| {(v ? flags_ |= UPD_STATS_TABLE : flags_ &= ~UPD_STATS_TABLE); }; |
| NABoolean updStatsTable() { return (flags_ & UPD_STATS_TABLE) != 0; }; |
| |
| void setUpdStatsMvlog(NABoolean v) |
| {(v ? flags_ |= UPD_STATS_MVLOG : flags_ &= ~UPD_STATS_MVLOG); }; |
| NABoolean updStatsMvlog() { return (flags_ & UPD_STATS_MVLOG) != 0; }; |
| |
| void setRefreshMvs(NABoolean v) |
| {(v ? flags_ |= REFRESH_MVS : flags_ &= ~REFRESH_MVS); }; |
| NABoolean refreshMvs() { return (flags_ & REFRESH_MVS) != 0; }; |
| |
| void setRefreshMvgroup(NABoolean v) |
| {(v ? flags_ |= REFRESH_MVGROUP : flags_ &= ~REFRESH_MVGROUP); }; |
| NABoolean refreshMvgroup() { return (flags_ & REFRESH_MVGROUP) != 0; }; |
| |
| void setReorgMvgroup(NABoolean v) |
| {(v ? flags_ |= REORG_MVGROUP : flags_ &= ~REORG_MVGROUP); }; |
| NABoolean reorgMvgroup() { return (flags_ & REORG_MVGROUP) != 0; }; |
| |
| void setReorgMvs(NABoolean v) |
| {(v ? flags_ |= REORG_MVS : flags_ &= ~REORG_MVS); }; |
| NABoolean reorgMvs() { return (flags_ & REORG_MVS) != 0; }; |
| |
| void setReorgMvsIndex(NABoolean v) |
| {(v ? flags_ |= REORG_MVS_INDEX : flags_ &= ~REORG_MVS_INDEX); }; |
| NABoolean reorgMvsIndex() { return (flags_ & REORG_MVS_INDEX) != 0; }; |
| |
| void setUpdStatsMvs(NABoolean v) |
| {(v ? flags_ |= UPD_STATS_MVS : flags_ &= ~UPD_STATS_MVS); }; |
| NABoolean updStatsMvs() { return (flags_ & UPD_STATS_MVS) != 0; }; |
| |
| void setUpdStatsMvgroup(NABoolean v) |
| {(v ? flags_ |= UPD_STATS_MVGROUP : flags_ &= ~UPD_STATS_MVGROUP); }; |
| NABoolean updStatsMvgroup() { return (flags_ & UPD_STATS_MVGROUP) != 0; }; |
| |
| void setContinueOnError(NABoolean v) |
| {(v ? flags_ |= CONTINUE_ON_ERROR : flags_ &= ~CONTINUE_ON_ERROR); }; |
| NABoolean continueOnError() { return (flags_ & CONTINUE_ON_ERROR) != 0; }; |
| |
| void setDisplay(NABoolean v) |
| {(v ? flags_ |= DISPLAY : flags_ &= ~DISPLAY); }; |
| NABoolean display() { return (flags_ & DISPLAY) != 0; }; |
| |
| void setDisplayDetail(NABoolean v) |
| {(v ? flags_ |= DISPLAY_DETAIL : flags_ &= ~DISPLAY_DETAIL); }; |
| NABoolean displayDetail() { return (flags_ & DISPLAY_DETAIL) != 0; }; |
| |
| void setDoSpecifiedTask(NABoolean v) |
| {(v ? flags_ |= DO_SPECIFIED_TASK : flags_ &= ~DO_SPECIFIED_TASK); }; |
| NABoolean doSpecifiedTask() { return (flags_ & DO_SPECIFIED_TASK) != 0; }; |
| |
| void setSkipRefreshMvs(NABoolean v) |
| {(v ? flags_ |= SKIP_REFRESH_MVS : flags_ &= ~SKIP_REFRESH_MVS); }; |
| NABoolean skipRefreshMvs() { return (flags_ & SKIP_REFRESH_MVS) != 0; }; |
| |
| void setSkipReorgMvs(NABoolean v) |
| {(v ? flags_ |= SKIP_REORG_MVS : flags_ &= ~SKIP_REORG_MVS); }; |
| NABoolean skipReorgMvs() { return (flags_ & SKIP_REORG_MVS) != 0; }; |
| |
| |
| void setSkipUpdStatsMvs(NABoolean v) |
| {(v ? flags_ |= SKIP_UPD_STATS_MVS : flags_ &= ~SKIP_UPD_STATS_MVS); }; |
| NABoolean skipUpdStatsMvs() { return (flags_ & SKIP_UPD_STATS_MVS) != 0; }; |
| |
| void setGetStatus(NABoolean v) |
| {(v ? flags_ |= GET_STATUS : flags_ &= ~GET_STATUS); }; |
| NABoolean getStatus() { return (flags_ & GET_STATUS) != 0; }; |
| |
| void setGetDetails(NABoolean v) |
| {(v ? flags_ |= GET_DETAILS : flags_ &= ~GET_DETAILS); }; |
| NABoolean getDetails() { return (flags_ & GET_DETAILS) != 0; }; |
| |
| void setRun(NABoolean v) |
| {(v ? flags_ |= RUN : flags_ &= ~RUN); }; |
| NABoolean run() { return (flags_ & RUN) != 0; }; |
| |
| void setIfNeeded(NABoolean v) |
| {(v ? flags_ |= IF_NEEDED : flags_ &= ~IF_NEEDED); }; |
| NABoolean ifNeeded() { return (flags_ & IF_NEEDED) != 0; }; |
| |
| void setAllSpecified(NABoolean v) |
| {(v ? flags_ |= ALL_SPECIFIED : flags_ &= ~ALL_SPECIFIED); }; |
| NABoolean allSpecified() { return (flags_ & ALL_SPECIFIED) != 0; }; |
| |
| |
| |
| void setSchemaLabelStats(NABoolean v) |
| {(v ? flags2_ |= GET_SCHEMA_LABEL_STATS : flags2_ &= ~GET_SCHEMA_LABEL_STATS); }; |
| NABoolean getSchemaLabelStats() { return (flags2_ & GET_SCHEMA_LABEL_STATS) != 0; } |
| |
| void setTableLabelStats(NABoolean v) |
| {(v ? flags2_ |= GET_TABLE_LABEL_STATS : flags2_ &= ~GET_TABLE_LABEL_STATS); }; |
| NABoolean getTableLabelStats() { return (flags2_ & GET_TABLE_LABEL_STATS) != 0; } |
| void setIndexLabelStats(NABoolean v) |
| {(v ? flags2_ |= GET_INDEX_LABEL_STATS : flags2_ &= ~GET_INDEX_LABEL_STATS); }; |
| NABoolean getIndexLabelStats() { return (flags2_ & GET_INDEX_LABEL_STATS) != 0; } |
| void setLabelStatsIncIndexes(NABoolean v) |
| {(v ? flags2_ |= GET_LABEL_STATS_INC_INDEXES : flags2_ &= ~GET_LABEL_STATS_INC_INDEXES); }; |
| NABoolean getLabelStatsIncIndexes() { return (flags2_ & GET_LABEL_STATS_INC_INDEXES) != 0; } |
| |
| void setLabelStatsIncInternal(NABoolean v) |
| {(v ? flags2_ |= GET_LABEL_STATS_INC_INTERNAL : flags2_ &= ~GET_LABEL_STATS_INC_INTERNAL); }; |
| NABoolean getLabelStatsIncInternal() { return (flags2_ & GET_LABEL_STATS_INC_INTERNAL) != 0; } |
| |
| void setLabelStatsIncRelated(NABoolean v) |
| {(v ? flags2_ |= GET_LABEL_STATS_INC_RELATED : flags2_ &= ~GET_LABEL_STATS_INC_RELATED); }; |
| NABoolean getLabelStatsIncRelated() { return (flags2_ & GET_LABEL_STATS_INC_RELATED) != 0; } |
| |
| |
| |
| void setRunFrom(Int64 v) { from_ = v; } |
| void setRunTo(Int64 v) { to_ = v; } |
| Int64 runFrom() { return from_; } |
| Int64 runTo() { return to_; } |
| |
| void setDisableReorgTable(NABoolean v) |
| {(v ? controlFlags_ |= DISABLE_REORG_TABLE : controlFlags_ &= ~DISABLE_REORG_TABLE); }; |
| NABoolean disableReorgTable() { return (controlFlags_ & DISABLE_REORG_TABLE) != 0; }; |
| |
| void setDisableReorgIndex(NABoolean v) |
| {(v ? controlFlags_ |= DISABLE_REORG_INDEX : controlFlags_ &= ~DISABLE_REORG_INDEX); }; |
| NABoolean disableReorgIndex() { return (controlFlags_ & DISABLE_REORG_INDEX) != 0; }; |
| |
| void setDisableUpdStatsTable(NABoolean v) |
| {(v ? controlFlags_ |= DISABLE_UPD_STATS_TABLE : controlFlags_ &= ~DISABLE_UPD_STATS_TABLE); }; |
| NABoolean disableUpdStatsTable() { return (controlFlags_ & DISABLE_UPD_STATS_TABLE) != 0; }; |
| |
| void setDisableUpdStatsMvs(NABoolean v) |
| {(v ? controlFlags_ |= DISABLE_UPD_STATS_MVS : controlFlags_ &= ~DISABLE_UPD_STATS_MVS); }; |
| NABoolean disableUpdStatsMvs() { return (controlFlags_ & DISABLE_UPD_STATS_MVS) != 0; }; |
| |
| void setDisableRefreshMvs(NABoolean v) |
| {(v ? controlFlags2_ |= DISABLE_REFRESH_MVS : controlFlags2_ &= ~DISABLE_REFRESH_MVS); }; |
| NABoolean disableRefreshMvs() { return (controlFlags2_ & DISABLE_REFRESH_MVS) != 0; }; |
| |
| void setDisableReorgMvs(NABoolean v) |
| {(v ? controlFlags_ |= DISABLE_REORG_MVS : controlFlags_ &= ~DISABLE_REORG_MVS); }; |
| NABoolean disableReorgMvs() { return (controlFlags_ & DISABLE_REORG_MVS) != 0; }; |
| |
| void setEnableReorgTable(NABoolean v) |
| {(v ? controlFlags_ |= ENABLE_REORG_TABLE : controlFlags_ &= ~ENABLE_REORG_TABLE); }; |
| NABoolean enableReorgTable() { return (controlFlags_ & ENABLE_REORG_TABLE) != 0; }; |
| |
| void setEnableReorgIndex(NABoolean v) |
| {(v ? controlFlags_ |= ENABLE_REORG_INDEX : controlFlags_ &= ~ENABLE_REORG_INDEX); }; |
| NABoolean enableReorgIndex() { return (controlFlags_ & ENABLE_REORG_INDEX) != 0; }; |
| |
| void setEnableUpdStatsTable(NABoolean v) |
| {(v ? controlFlags_ |= ENABLE_UPD_STATS_TABLE : controlFlags_ &= ~ENABLE_UPD_STATS_TABLE); }; |
| NABoolean enableUpdStatsTable() { return (controlFlags_ & ENABLE_UPD_STATS_TABLE) != 0; }; |
| |
| void setEnableUpdStatsMvs(NABoolean v) |
| {(v ? controlFlags_ |= ENABLE_UPD_STATS_MVS : controlFlags_ &= ~ENABLE_UPD_STATS_MVS); }; |
| NABoolean enableUpdStatsMvs() { return (controlFlags_ & ENABLE_UPD_STATS_MVS) != 0; }; |
| |
| void setEnableRefreshMvs(NABoolean v) |
| {(v ? controlFlags2_ |= ENABLE_REFRESH_MVS : controlFlags2_ &= ~ENABLE_REFRESH_MVS); }; |
| NABoolean enableRefreshMvs() { return (controlFlags2_ & ENABLE_REFRESH_MVS) != 0; }; |
| |
| void setEnableReorgMvsIndex(NABoolean v) |
| {(v ? controlFlags2_ |= ENABLE_REORG_MVS_INDEX : controlFlags2_ &= ~ENABLE_REORG_MVS_INDEX); }; |
| NABoolean enableReorgMvsIndex() { return (controlFlags2_ & ENABLE_REORG_MVS_INDEX) != 0; }; |
| |
| void setDisableReorgMvsIndex(NABoolean v) |
| {(v ? controlFlags2_ |= DISABLE_REORG_MVS_INDEX : controlFlags2_ &= ~DISABLE_REORG_MVS_INDEX); }; |
| NABoolean disableReorgMvsIndex() { return (controlFlags2_ & DISABLE_REORG_MVS_INDEX) != 0; }; |
| |
| void setResetReorgMvsIndex(NABoolean v) |
| {(v ? controlFlags2_ |= RESET_REORG_MVS_INDEX : controlFlags2_ &= ~RESET_REORG_MVS_INDEX); }; |
| NABoolean resetReorgMvsIndex() { return (controlFlags2_ & RESET_REORG_MVS_INDEX) != 0; }; |
| |
| void setEnableReorgMvs(NABoolean v) |
| {(v ? controlFlags2_ |= ENABLE_REORG_MVS : controlFlags2_ &= ~ENABLE_REORG_MVS); }; |
| NABoolean enableReorgMvs() { return (controlFlags2_ & ENABLE_REORG_MVS) != 0; }; |
| |
| void setResetReorgTable(NABoolean v) |
| {(v ? controlFlags_ |= RESET_REORG_TABLE : controlFlags_ &= ~RESET_REORG_TABLE); }; |
| NABoolean resetReorgTable() { return (controlFlags_ & RESET_REORG_TABLE) != 0; }; |
| |
| void setResetUpdStatsTable(NABoolean v) |
| {(v ? controlFlags_ |= RESET_UPD_STATS_TABLE : controlFlags_ &= ~RESET_UPD_STATS_TABLE); }; |
| NABoolean resetUpdStatsTable() { return (controlFlags_ & RESET_UPD_STATS_TABLE) != 0; }; |
| |
| void setResetUpdStatsMvs(NABoolean v) |
| {(v ? controlFlags_ |= RESET_UPD_STATS_MVS : controlFlags_ &= ~RESET_UPD_STATS_MVS); }; |
| NABoolean resetUpdStatsMvs() { return (controlFlags_ & RESET_UPD_STATS_MVS) != 0; }; |
| |
| void setResetRefreshMvs(NABoolean v) |
| {(v ? controlFlags2_ |= RESET_REFRESH_MVS : controlFlags2_ &= ~RESET_REFRESH_MVS); }; |
| NABoolean resetRefreshMvs() { return (controlFlags2_ & RESET_REFRESH_MVS) != 0; }; |
| |
| void setResetReorgMvs(NABoolean v) |
| {(v ? controlFlags2_ |= RESET_REORG_MVS : controlFlags2_ &= ~RESET_REORG_MVS); }; |
| NABoolean resetReorgMvs() { return (controlFlags2_ & RESET_REORG_MVS) != 0; }; |
| |
| void setEnableUpdStatsMvlog(NABoolean v) |
| {(v ? controlFlags2_ |= ENABLE_UPD_STATS_MVLOG : controlFlags2_ &= ~ENABLE_UPD_STATS_MVLOG); }; |
| NABoolean enableUpdStatsMvlog() { return (controlFlags2_ & ENABLE_UPD_STATS_MVLOG) != 0; }; |
| |
| void setDisableUpdStatsMvlog(NABoolean v) |
| {(v ? controlFlags2_ |= DISABLE_UPD_STATS_MVLOG : controlFlags2_ &= ~DISABLE_UPD_STATS_MVLOG); }; |
| NABoolean disableUpdStatsMvlog() { return (controlFlags2_ & DISABLE_UPD_STATS_MVLOG) != 0; }; |
| |
| void setResetUpdStatsMvlog(NABoolean v) |
| {(v ? controlFlags2_ |= RESET_UPD_STATS_MVLOG : controlFlags2_ &= ~RESET_UPD_STATS_MVLOG); }; |
| NABoolean resetUpdStatsMvlog() { return (controlFlags2_ & RESET_UPD_STATS_MVLOG) != 0; }; |
| |
| void setResetReorgIndex(NABoolean v) |
| {(v ? controlFlags2_ |= RESET_REORG_INDEX : controlFlags2_ &= ~RESET_REORG_INDEX); }; |
| NABoolean resetReorgIndex() { return (controlFlags2_ & RESET_REORG_INDEX) != 0; }; |
| |
| void setEnableRefreshMvgroup(NABoolean v) |
| {(v ? controlFlags2_ |= ENABLE_REFRESH_MVGROUP : controlFlags2_ &= ~ENABLE_REFRESH_MVGROUP); }; |
| NABoolean enableRefreshMvgroup() { return (controlFlags2_ & ENABLE_REFRESH_MVGROUP) != 0; }; |
| |
| void setEnableTableLabelStats(NABoolean v) |
| {(v ? controlFlags2_ |= ENABLE_GET_TABLE_LABEL_STATS : controlFlags2_ &= ~ENABLE_GET_TABLE_LABEL_STATS); }; |
| NABoolean enableTableLabelStats() { return (controlFlags2_ & ENABLE_GET_TABLE_LABEL_STATS) != 0; }; |
| void setDisableTableLabelStats(NABoolean v) |
| {(v ? controlFlags2_ |= DISABLE_GET_TABLE_LABEL_STATS : controlFlags2_ &= ~DISABLE_GET_TABLE_LABEL_STATS); }; |
| NABoolean disableTableLabelStats() { return (controlFlags2_ & DISABLE_GET_TABLE_LABEL_STATS) != 0; }; |
| void setResetTableLabelStats(NABoolean v) |
| {(v ? controlFlags2_ |= RESET_GET_TABLE_LABEL_STATS : controlFlags2_ &= ~RESET_GET_TABLE_LABEL_STATS); }; |
| NABoolean resetTableLabelStats() { return (controlFlags2_ & RESET_GET_TABLE_LABEL_STATS) != 0; }; |
| |
| void setEnableIndexLabelStats(NABoolean v) |
| {(v ? controlFlags2_ |= ENABLE_GET_INDEX_LABEL_STATS : controlFlags2_ &= ~ENABLE_GET_INDEX_LABEL_STATS); }; |
| NABoolean enableIndexLabelStats() { return (controlFlags2_ & ENABLE_GET_INDEX_LABEL_STATS) != 0; }; |
| void setDisableIndexLabelStats(NABoolean v) |
| {(v ? controlFlags2_ |= ENABLE_GET_INDEX_LABEL_STATS : controlFlags2_ &= ~ENABLE_GET_INDEX_LABEL_STATS); }; |
| NABoolean disableIndexLabelStats() { return (controlFlags2_ & DISABLE_GET_INDEX_LABEL_STATS) != 0; }; |
| void setResetIndexLabelStats(NABoolean v) |
| {(v ? controlFlags2_ |= RESET_GET_INDEX_LABEL_STATS : controlFlags2_ &= ~RESET_GET_INDEX_LABEL_STATS); }; |
| NABoolean resetIndexLabelStats() { return (controlFlags2_ & RESET_GET_INDEX_LABEL_STATS) != 0; }; |
| |
| void setEnableUpdStatsMvgroup(NABoolean v) |
| {(v ? controlFlags2_ |= ENABLE_UPD_STATS_MVGROUP : controlFlags2_ &= ~ENABLE_UPD_STATS_MVGROUP); }; |
| NABoolean enableUpdStatsMvgroup() { return (controlFlags2_ & ENABLE_UPD_STATS_MVGROUP) != 0; }; |
| |
| void setDisableRefreshMvgroup(NABoolean v) |
| {(v ? controlFlags2_ |= DISABLE_REFRESH_MVGROUP : controlFlags2_ &= ~DISABLE_REFRESH_MVGROUP); }; |
| NABoolean disableRefreshMvgroup() { return (controlFlags2_ & DISABLE_REFRESH_MVGROUP) != 0; }; |
| |
| void setDisableReorgMvgroup(NABoolean v) |
| {(v ? controlFlags2_ |= DISABLE_REORG_MVGROUP : controlFlags2_ &= ~DISABLE_REORG_MVGROUP); }; |
| NABoolean disableReorgMvgroup() { return (controlFlags2_ & DISABLE_REORG_MVGROUP) != 0; }; |
| |
| void setEnableReorgMvgroup(NABoolean v) |
| {(v ? controlFlags2_ |= ENABLE_REORG_MVGROUP : controlFlags2_ &= ~ENABLE_REORG_MVGROUP); }; |
| NABoolean enableReorgMvgroup() { return (controlFlags2_ & ENABLE_REORG_MVGROUP) != 0; }; |
| |
| void setDisableUpdStatsMvgroup(NABoolean v) |
| {(v ? controlFlags2_ |= DISABLE_UPD_STATS_MVGROUP : controlFlags2_ &= ~DISABLE_UPD_STATS_MVGROUP); }; |
| NABoolean disableUpdStatsMvgroup() { return (controlFlags2_ & DISABLE_UPD_STATS_MVGROUP) != 0; }; |
| |
| void setResetRefreshMvgroup(NABoolean v) |
| {(v ? controlFlags2_ |= RESET_REFRESH_MVGROUP : controlFlags2_ &= ~RESET_REFRESH_MVGROUP); }; |
| NABoolean resetRefreshMvgroup() { return (controlFlags2_ & RESET_REFRESH_MVGROUP) != 0; }; |
| |
| void setResetReorgMvgroup(NABoolean v) |
| {(v ? controlFlags2_ |= RESET_REORG_MVGROUP : controlFlags2_ &= ~RESET_REORG_MVGROUP); }; |
| NABoolean resetReorgMvgroup() { return (controlFlags2_ & RESET_REORG_MVGROUP) != 0; }; |
| |
| void setResetUpdStatsMvgroup(NABoolean v) |
| {(v ? controlFlags2_ |= RESET_UPD_STATS_MVGROUP : controlFlags2_ &= ~RESET_UPD_STATS_MVGROUP); }; |
| NABoolean resetUpdStatsMvgroup() { return (controlFlags2_ & RESET_UPD_STATS_MVGROUP) != 0; }; |
| |
| void setForceReorgTable(NABoolean v) |
| {(v ? controlFlags_ |= FORCE_REORG_TABLE : controlFlags_ &= ~FORCE_REORG_TABLE); }; |
| NABoolean forceReorgTable() { return (controlFlags_ & FORCE_REORG_TABLE) != 0; }; |
| |
| void setForceReorgIndex(NABoolean v) |
| {(v ? controlFlags_ |= FORCE_REORG_INDEX : controlFlags_ &= ~FORCE_REORG_INDEX); }; |
| NABoolean forceReorgIndex() { return (controlFlags_ & FORCE_REORG_INDEX) != 0; }; |
| |
| void setForceUpdStatsTable(NABoolean v) |
| {(v ? controlFlags_ |= FORCE_UPD_STATS_TABLE : controlFlags_ &= ~FORCE_UPD_STATS_TABLE); }; |
| NABoolean forceUpdStatsTable() { return (controlFlags_ & FORCE_UPD_STATS_TABLE) != 0; }; |
| |
| void setForceUpdStatsMvs(NABoolean v) |
| {(v ? controlFlags_ |= FORCE_UPD_STATS_MVS : controlFlags_ &= ~FORCE_UPD_STATS_MVS); }; |
| NABoolean forceUpdStatsMvs() { return (controlFlags_ & FORCE_UPD_STATS_MVS) != 0; }; |
| |
| void setCleanMaintainCIT(NABoolean v) |
| {(v ? flags_ |= CLEAN_MAINTAIN_CIT : flags_ &= ~CLEAN_MAINTAIN_CIT); }; |
| NABoolean cleanMaintainCIT() { return (flags_ & CLEAN_MAINTAIN_CIT) != 0; }; |
| |
| void setNoControlInfoUpdate(NABoolean v) |
| {(v ? flags_ |= NO_CONTROL_INFO_UPDATE : flags_ &= ~NO_CONTROL_INFO_UPDATE); }; |
| NABoolean noControlInfoUpdate() { return (flags_ & NO_CONTROL_INFO_UPDATE) != 0; }; |
| |
| void setNoControlInfoTable (NABoolean v) |
| {(v ? flags_ |= NO_CONTROL_INFO_TABLE : flags_ &= ~NO_CONTROL_INFO_TABLE); }; |
| NABoolean noControlInfoTable() { return (flags_ & NO_CONTROL_INFO_TABLE) != 0; }; |
| |
| void setNoOutput(NABoolean v) |
| {(v ? flags_ |= NO_OUTPUT : flags_ &= ~NO_OUTPUT); }; |
| NABoolean noOutput() { return (flags_ & NO_OUTPUT) != 0; }; |
| |
| char * getReorgTableOptions() { return reorgTableOptions_; } |
| char * getReorgIndexOptions() { return reorgIndexOptions_; } |
| char * getUpdStatsTableOptions() { return updStatsTableOptions_; } |
| char * getUpdStatsMvlogOptions() { return updStatsMvlogOptions_; } |
| char * getUpdStatsMvsOptions() { return updStatsMvsOptions_; } |
| char * getUpdStatsMvgroupOptions() { return updStatsMvgroupOptions_; } |
| char * getRefreshMvgroupOptions() { return refreshMvgroupOptions_; } |
| char * getRefreshMvsOptions() { return refreshMvsOptions_; } |
| char * getReorgMvgroupOptions() { return reorgMvgroupOptions_; } |
| char * getReorgMvsOptions() { return reorgMvsOptions_; } |
| char * getReorgMvsIndexOptions() { return reorgMvsIndexOptions_; } |
| char * getCleanMaintainCITOptions() { return cleanMaintainCITOptions_; } |
| |
| Queue* getIndexList() { return indexList_; } |
| Queue* getRefreshMvgroupList() { return refreshMvgroupList_; } |
| Queue* getRefreshMvsList() { return refreshMvsList_; } |
| Queue* getReorgMvgroupList() { return reorgMvgroupList_; } |
| Queue* getReorgMvsList() { return reorgMvsList_; } |
| Queue* getReorgMvsIndexList() { return reorgMvsIndexList_; } |
| Queue* getUpdStatsMvgroupList() { return updStatsMvgroupList_; } |
| Queue* getUpdStatsMvsList() { return updStatsMvsList_; } |
| Queue* getMultiTablesNamesList() { return multiTablesNamesList_; } |
| Queue* getSkippedMultiTablesNamesList() { return skippedMultiTablesNamesList_; } |
| |
| NABoolean isControl() { return (controlFlags_ != 0); }; |
| |
| NABoolean isControl2() { return (controlFlags2_ != 0); }; |
| |
| char * getParentTableName() { return parentTableName_; } |
| char *getSchemaName() {return schemaName_;} |
| |
| void setMaintainedTableCreateTime(Int64 createTime) |
| { maintainedTableCreateTime_ = createTime;} |
| |
| Int64 getMaintainedTableCreateTime() { return maintainedTableCreateTime_; } |
| |
| void setParentTableObjectUID(Int64 objectUID) |
| { parentTableObjectUID_ = objectUID;} |
| |
| Int64 getParentTableObjectUID() { return parentTableObjectUID_; } |
| |
| void setMultiTablesCreateTimeList(Queue* mtctl) |
| { multiTablesCreateTimeList_ = mtctl;} |
| Queue * getMultiTablesCreateTimeList() |
| { return multiTablesCreateTimeList_; } |
| |
| NABoolean isCatalog() { return (ot_ == CATALOG_); }; |
| NABoolean isSchema() { return (ot_ == SCHEMA_); }; |
| NABoolean isMV() { return (ot_ == MV_); }; |
| |
| void setShortFormat(NABoolean v) |
| {(v ? formatFlags_ |= SHORT_ : formatFlags_ &= ~SHORT_); }; |
| NABoolean shortFormat() { return (formatFlags_ & SHORT_) != 0; }; |
| |
| void setLongFormat(NABoolean v) |
| {(v ? formatFlags_ |= LONG_ : formatFlags_ &= ~LONG_); }; |
| NABoolean longFormat() { return (formatFlags_ & LONG_) != 0; }; |
| |
| void setDetailFormat(NABoolean v) |
| {(v ? formatFlags_ |= DETAIL_ : formatFlags_ &= ~DETAIL_); }; |
| NABoolean detailFormat() { return (formatFlags_ & DETAIL_) != 0; }; |
| |
| void setTokenFormat(NABoolean v) |
| {(v ? formatFlags_ |= TOKEN_ : formatFlags_ &= ~TOKEN_); }; |
| NABoolean tokenFormat() { return (formatFlags_ & TOKEN_) != 0; }; |
| |
| void setCommandFormat(NABoolean v) |
| {(v ? formatFlags_ |= COMMAND_ : formatFlags_ &= ~COMMAND_); }; |
| NABoolean commandFormat() { return (formatFlags_ & COMMAND_) != 0; }; |
| |
| // --------------------------------------------------------------------- |
| // Used by the internal SHOWPLAN command to get attributes of a TDB. |
| // --------------------------------------------------------------------- |
| |
| void displayContents(Space *space, ULng32 flag); |
| |
| protected: |
| //enum for flags_ |
| enum |
| { |
| REORG_TABLE = 0x0001, |
| REORG_INDEX = 0x0002, |
| UPD_STATS_TABLE = 0x0004, |
| UPD_STATS_MVLOG = 0x0008, |
| REFRESH_MVGROUP = 0x0010, |
| REFRESH_MVS = 0x0020, |
| REORG_MVS = 0x0040, |
| REORG_MVS_INDEX = 0x0080, |
| CONTINUE_ON_ERROR = 0x0100, |
| DISPLAY = 0x0200, |
| DISPLAY_DETAIL = 0x0400, |
| DO_SPECIFIED_TASK = 0x0800, |
| SKIP_REFRESH_MVS = 0x1000, |
| GET_STATUS = 0x2000, |
| INITIALIZE_MAINTAIN = 0x4000, |
| REINITIALIZE_MAINTAIN = 0x8000, |
| DROP_MAINTAIN = 0x10000, |
| UPD_STATS_MVS = 0x20000, |
| UPD_STATS_MVGROUP = 0x40000, |
| REORG_MVGROUP = 0x80000, |
| SKIP_REORG_MVS = 0x100000, |
| SKIP_UPD_STATS_MVS = 0x200000, |
| CLEAN_MAINTAIN_CIT = 0x400000, |
| GET_DETAILS = 0x800000, |
| CREATE_VIEW = 0x1000000, |
| DROP_VIEW = 0x2000000, |
| RUN = 0x4000000, |
| IF_NEEDED = 0x8000000, |
| ALL_SPECIFIED = 0x10000000, |
| NO_CONTROL_INFO_UPDATE = 0x20000000, |
| NO_OUTPUT = 0x40000000, |
| NO_CONTROL_INFO_TABLE = 0x80000000, |
| |
| }; |
| //enum for flags2 |
| enum |
| { |
| |
| GET_TABLE_LABEL_STATS = 0x0001, |
| GET_INDEX_LABEL_STATS = 0x0002, |
| GET_LABEL_STATS_INC_INDEXES = 0x0004, |
| GET_LABEL_STATS_INC_INTERNAL = 0x0008, |
| GET_LABEL_STATS_INC_RELATED = 0x0010, |
| GET_SCHEMA_LABEL_STATS = 0x0020 |
| |
| }; |
| |
| enum |
| { |
| DISABLE_REORG_TABLE = 0x0001, |
| ENABLE_REORG_TABLE = 0x0002, |
| DISABLE_REORG_INDEX = 0x0004, |
| ENABLE_REORG_INDEX = 0x0008, |
| DISABLE_UPD_STATS_TABLE = 0x0010, |
| ENABLE_UPD_STATS_TABLE = 0x0020, |
| RESET_REORG_TABLE = 0x0040, |
| RESET_UPD_STATS_TABLE = 0x0080, |
| FORCE_REORG_TABLE = 0x0100, |
| FORCE_REORG_INDEX = 0x0200, |
| FORCE_UPD_STATS_TABLE = 0x0400, |
| DISABLE_UPD_STATS_MVS = 0x0800, |
| ENABLE_UPD_STATS_MVS = 0x1000, |
| RESET_UPD_STATS_MVS = 0x2000, |
| FORCE_UPD_STATS_MVS = 0x4000, |
| DISABLE_REORG_MVS = 0x8000 |
| }; |
| |
| enum |
| { |
| ENABLE_REORG_MVS = 0x0001, |
| RESET_REORG_MVS = 0x0002, |
| DISABLE_REFRESH_MVS = 0x0004, |
| ENABLE_REFRESH_MVS = 0x0008, |
| RESET_REFRESH_MVS = 0x0010, |
| RESET_REORG_INDEX = 0x0020, |
| ENABLE_UPD_STATS_MVLOG = 0x0040, |
| DISABLE_UPD_STATS_MVLOG = 0x0080, |
| RESET_UPD_STATS_MVLOG = 0x0100, |
| ENABLE_REORG_MVS_INDEX = 0x0200, |
| DISABLE_REORG_MVS_INDEX = 0x0400, |
| RESET_REORG_MVS_INDEX = 0x0800, |
| ENABLE_REFRESH_MVGROUP = 0x1000, |
| DISABLE_REFRESH_MVGROUP = 0x2000, |
| RESET_REFRESH_MVGROUP = 0x4000, |
| ENABLE_REORG_MVGROUP = 0x8000, |
| DISABLE_REORG_MVGROUP = 0x10000, |
| RESET_REORG_MVGROUP = 0x20000, |
| ENABLE_UPD_STATS_MVGROUP = 0x40000, |
| DISABLE_UPD_STATS_MVGROUP = 0x80000, |
| RESET_UPD_STATS_MVGROUP = 0x100000, |
| ENABLE_GET_TABLE_LABEL_STATS = 0x200000, |
| DISABLE_GET_TABLE_LABEL_STATS = 0x400000, |
| RESET_GET_TABLE_LABEL_STATS= 0x800000, |
| ENABLE_GET_INDEX_LABEL_STATS = 0x200000, |
| DISABLE_GET_INDEX_LABEL_STATS = 0x400000, |
| RESET_GET_INDEX_LABEL_STATS= 0x800000 |
| }; |
| |
| enum GetStatsFormat |
| { |
| SHORT_ = 0x0001, |
| LONG_ = 0x0002, |
| DETAIL_ = 0x0004, |
| TOKEN_ = 0x0008, |
| COMMAND_ = 0x0010 |
| }; |
| |
| NABasicPtr reorgTableOptions_; // 00-07 |
| NABasicPtr reorgIndexOptions_; // 08-15 |
| NABasicPtr updStatsTableOptions_; // 16-23 |
| NABasicPtr updStatsMvlogOptions_; // 24-31 |
| NABasicPtr refreshMvgroupOptions_; // 32-39 |
| NABasicPtr refreshMvsOptions_; // 40-47 |
| NABasicPtr reorgMvsOptions_; // 48-55 |
| NABasicPtr reorgMvsIndexOptions_; // 56-63 |
| |
| // list of indexes on the table. Used with reorgIndex task |
| QueuePtr indexList_; // 64-71 |
| |
| // list of mvgroups on the table. Used with refreshMvgroup task |
| QueuePtr refreshMvgroupList_; // 72-79 |
| |
| // list of mvs on the table. Used with reorgMvs task |
| QueuePtr refreshMvsList_; // 80-87 |
| |
| // list of mvs on the table. Used with reorgMvs task |
| QueuePtr reorgMvsList_; // 88-95 |
| |
| // list of indexes on the mvs. Used with reorgMvsIndex task |
| QueuePtr reorgMvsIndexList_; // 96-103 |
| |
| UInt32 flags_; // 104-107 |
| |
| UInt16 controlFlags_; // 108-109 |
| |
| UInt16 ot_; // 110-111 |
| |
| NABasicPtr parentTableName_; // 112-119 |
| UInt32 parentTableNameLen_; // 120-123 |
| |
| UInt16 formatFlags_; // 124-125 |
| UInt16 filler2_; // 126-127 |
| |
| Int64 maintainedTableCreateTime_; // 128-135 |
| Int64 parentTableObjectUID_; // 136-143 |
| |
| NABasicPtr updStatsMvsOptions_; // 144-151 |
| NABasicPtr updStatsMvgroupOptions_; // 152-159 |
| NABasicPtr cleanMaintainCITOptions_; // 160-167 |
| |
| // list of mvgroups on the table. Used with updStatsMvgroup task |
| QueuePtr updStatsMvgroupList_; // 168-175 |
| |
| // list of mvs on the table. Used with updStatsMvs task |
| QueuePtr updStatsMvsList_; // 176-183 |
| |
| // list of mvgroups on the table. Used with reorgMvgroup task |
| QueuePtr reorgMvgroupList_; // 184-191 |
| NABasicPtr reorgMvgroupOptions_; // 192-199 |
| |
| char filler3_[8]; // 200-207 |
| |
| // Additional set of control flags |
| UInt32 controlFlags2_; // 208-211 |
| |
| UInt32 flags2_; // 212-215 |
| |
| // start and end time to run maintain operations. |
| // Used with 'RUN' option. |
| Int64 from_; // 216-223 |
| Int64 to_; // 224-231 |
| |
| // names of tables being reorged. Valid when MULTI_REORG is set. |
| // Used when multiple tables are being reorged. |
| QueuePtr multiTablesNamesList_; // 232-239 |
| |
| QueuePtr multiTablesCreateTimeList_; // 240-247 |
| |
| // names of tables being skipped due to error during compilation. |
| // Used when multiple tables are being reorged. |
| QueuePtr skippedMultiTablesNamesList_; // 248-255 |
| NABasicPtr schemaName_; // 256-263 |
| UInt32 schemaNameLen_; // 264-267 |
| char filler4_[4]; // 268-271 |
| |
| |
| }; |
| |
| class ComTdbExeUtilLoadVolatileTable : public ComTdbExeUtil |
| { |
| friend class ExExeUtilLoadVolatileTableTcb; |
| friend class ExExeUtilLoadVolatileTablePrivateState; |
| |
| public: |
| ComTdbExeUtilLoadVolatileTable() |
| : ComTdbExeUtil() |
| {} |
| |
| ComTdbExeUtilLoadVolatileTable(char * tableName, |
| ULng32 tableNameLen, |
| char * insertQuery, |
| char * updStatsQuery, |
| Int16 querycharset, |
| Int64 threshold, |
| ex_cri_desc * work_cri_desc, |
| const unsigned short work_atp_index, |
| ex_cri_desc * given_cri_desc, |
| ex_cri_desc * returned_cri_desc, |
| queue_index down, |
| queue_index up, |
| Lng32 num_buffers, |
| ULng32 buffer_size |
| ); |
| |
| Long pack(void *); |
| Lng32 unpack(void *, void * reallocator); |
| |
| // --------------------------------------------------------------------- |
| // Redefine virtual functions required for Versioning. |
| //---------------------------------------------------------------------- |
| virtual short getClassSize() {return (short)sizeof(ComTdbExeUtilLoadVolatileTable);} |
| |
| virtual const char *getNodeName() const |
| { |
| return "LOAD_VOLATILE_TABLE"; |
| }; |
| |
| // --------------------------------------------------------------------- |
| // Used by the internal SHOWPLAN command to get attributes of a TDB. |
| // --------------------------------------------------------------------- |
| void displayContents(Space *space, ULng32 flag); |
| |
| private: |
| NABasicPtr insertQuery_; // 00-07 |
| NABasicPtr updStatsQuery_; // 08-15 |
| |
| // automatic update stats is done if num rows inserted exceeds threshold. |
| Int64 threshold_; // 16-23 |
| UInt32 flags_; // 24-27 |
| |
| char fillersComTdbExeUtilLoadVolatileTable_[116]; // 28-147 |
| }; |
| |
| class ComTdbExeUtilCleanupVolatileTables : public ComTdbExeUtil |
| { |
| friend class ExExeUtilCleanupVolatileTablesTcb; |
| friend class ExExeUtilCleanupVolatileTablesPrivateState; |
| |
| public: |
| ComTdbExeUtilCleanupVolatileTables() |
| : ComTdbExeUtil() |
| {} |
| |
| ComTdbExeUtilCleanupVolatileTables(char * catName, |
| ULng32 catNameLen, |
| ex_cri_desc * work_cri_desc, |
| const unsigned short work_atp_index, |
| ex_cri_desc * given_cri_desc, |
| ex_cri_desc * returned_cri_desc, |
| queue_index down, |
| queue_index up, |
| Lng32 num_buffers, |
| ULng32 buffer_size |
| ); |
| |
| // --------------------------------------------------------------------- |
| // Redefine virtual functions required for Versioning. |
| //---------------------------------------------------------------------- |
| virtual short getClassSize() {return (short)sizeof(ComTdbExeUtilCleanupVolatileTables);} |
| |
| virtual const char *getNodeName() const |
| { |
| return "CLEANUP_VOLATILE_TABLES"; |
| }; |
| |
| // --------------------------------------------------------------------- |
| // Used by the internal SHOWPLAN command to get attributes of a TDB. |
| // --------------------------------------------------------------------- |
| void displayContents(Space *space, ULng32 flag); |
| |
| void setCleanupAllTables(NABoolean v) |
| {(v ? flags_ |= CLEANUP_ALL_TABLES : flags_ &= ~CLEANUP_ALL_TABLES); }; |
| NABoolean cleanupAllTables() { return (flags_ & CLEANUP_ALL_TABLES) != 0; }; |
| void setCleanupHiveCSETables(NABoolean v) |
| {(v ? flags_ |= CLEANUP_HIVE_CSE_TABLES : flags_ &= ~CLEANUP_HIVE_CSE_TABLES); } |
| NABoolean cleanupHiveCSETables() { return (flags_ & CLEANUP_HIVE_CSE_TABLES) != 0; } |
| |
| private: |
| enum |
| { |
| // cleanup obsolete and active schemas/tables. |
| CLEANUP_ALL_TABLES = 0x0001, |
| // cleanup Hive tables used for common subexpressions |
| CLEANUP_HIVE_CSE_TABLES = 0x0002 |
| }; |
| |
| UInt32 flags_; // 00-03 |
| |
| char fillersComTdbExeUtilCleanupVolatileTables_[116]; // 04-119 |
| }; |
| |
| class ComTdbExeUtilGetVolatileInfo : public ComTdbExeUtil |
| { |
| friend class ExExeUtilGetVolatileInfoTcb; |
| friend class ExExeUtilGetVolatileInfoPrivateState; |
| |
| public: |
| ComTdbExeUtilGetVolatileInfo() |
| : ComTdbExeUtil() |
| {} |
| |
| ComTdbExeUtilGetVolatileInfo( |
| char * param1, |
| char * param2, |
| ex_cri_desc * work_cri_desc, |
| const unsigned short work_atp_index, |
| ex_cri_desc * given_cri_desc, |
| ex_cri_desc * returned_cri_desc, |
| queue_index down, |
| queue_index up, |
| Lng32 num_buffers, |
| ULng32 buffer_size |
| ); |
| |
| Long pack(void *); |
| Lng32 unpack(void *, void * reallocator); |
| |
| // --------------------------------------------------------------------- |
| // Redefine virtual functions required for Versioning. |
| //---------------------------------------------------------------------- |
| virtual short getClassSize() {return (short)sizeof(ComTdbExeUtilGetVolatileInfo);} |
| |
| virtual const char *getNodeName() const |
| { |
| return "GET_VOLATILE_INFO"; |
| }; |
| |
| void setAllSchemas(NABoolean v) |
| {(v ? flags_ |= ALL_SCHEMAS : flags_ &= ~ALL_SCHEMAS); }; |
| NABoolean allSchemas() { return (flags_ & ALL_SCHEMAS) != 0; }; |
| |
| void setAllTables(NABoolean v) |
| {(v ? flags_ |= ALL_TABLES : flags_ &= ~ALL_TABLES); }; |
| NABoolean allTables() { return (flags_ & ALL_TABLES) != 0; }; |
| |
| void setAllTablesInASession(NABoolean v) |
| {(v ? flags_ |= ALL_TABLES_IN_A_SESSION : flags_ &= ~ALL_TABLES_IN_A_SESSION); }; |
| NABoolean allTablesInASession() { return (flags_ & ALL_TABLES_IN_A_SESSION) != 0; }; |
| |
| void setVTCatSpecified(NABoolean v) |
| {(v ? flags_ |= VT_CAT_SPECIFIED : flags_ &= ~VT_CAT_SPECIFIED); }; |
| NABoolean vtCatSpecified() { return (flags_ & VT_CAT_SPECIFIED) != 0; }; |
| |
| // --------------------------------------------------------------------- |
| // Used by the internal SHOWPLAN command to get attributes of a TDB. |
| // --------------------------------------------------------------------- |
| void displayContents(Space *space, ULng32 flag); |
| |
| private: |
| enum GetType |
| { |
| ALL_SCHEMAS = 0x0001, |
| ALL_TABLES = 0x0002, |
| ALL_TABLES_IN_A_SESSION = 0x0004, |
| VT_CAT_SPECIFIED = 0x0008 |
| }; |
| |
| NABasicPtr param1_; // 00-07 |
| NABasicPtr param2_; // 08-15 |
| |
| UInt32 flags_; // 16-19 |
| |
| char fillersComTdbExeUtilGetVolatileInfo_[116]; // 20-135 |
| }; |
| |
| class ComTdbExeUtilGetErrorInfo : public ComTdbExeUtil |
| { |
| friend class ExExeUtilGetErrorInfoTcb; |
| friend class ExExeUtilGetErrorInfoPrivateState; |
| |
| public: |
| ComTdbExeUtilGetErrorInfo() |
| : ComTdbExeUtil() |
| {} |
| |
| ComTdbExeUtilGetErrorInfo( |
| Lng32 errNum, |
| ex_cri_desc * work_cri_desc, |
| const unsigned short work_atp_index, |
| ex_cri_desc * given_cri_desc, |
| ex_cri_desc * returned_cri_desc, |
| queue_index down, |
| queue_index up, |
| Lng32 num_buffers, |
| ULng32 buffer_size |
| ); |
| |
| // --------------------------------------------------------------------- |
| // Redefine virtual functions required for Versioning. |
| //---------------------------------------------------------------------- |
| virtual short getClassSize() {return (short)sizeof(ComTdbExeUtilGetErrorInfo);} |
| |
| virtual const char *getNodeName() const |
| { |
| return "GET_ERROR_INFO"; |
| }; |
| |
| // --------------------------------------------------------------------- |
| // Used by the internal SHOWPLAN command to get attributes of a TDB. |
| // --------------------------------------------------------------------- |
| void displayContents(Space *space, ULng32 flag); |
| |
| private: |
| Lng32 errNum_; // 00-03 |
| UInt32 flags_; // 04-07 |
| |
| char fillersComTdbExeUtilGetErrorInfo_[80]; // 08-87 |
| }; |
| |
| class ComTdbExeUtilCreateTableAs : public ComTdbExeUtil |
| { |
| friend class ExExeUtilCreateTableAsTcb; |
| friend class ExExeUtilCreateTableAsPrivateState; |
| |
| public: |
| ComTdbExeUtilCreateTableAs() |
| : ComTdbExeUtil() |
| {} |
| |
| ComTdbExeUtilCreateTableAs(char * tableName, |
| ULng32 tableNameLen, |
| char * createStmtStr, |
| char * siStmtStr, |
| char * viStmtStr, |
| char * usStmtStr, |
| Int64 threshold, |
| ex_cri_desc * work_cri_desc, |
| const unsigned short work_atp_index, |
| ex_cri_desc * given_cri_desc, |
| ex_cri_desc * returned_cri_desc, |
| queue_index down, |
| queue_index up, |
| Lng32 num_buffers, |
| ULng32 buffer_size |
| ); |
| |
| Long pack(void *); |
| Lng32 unpack(void *, void * reallocator); |
| |
| // --------------------------------------------------------------------- |
| // Redefine virtual functions required for Versioning. |
| //---------------------------------------------------------------------- |
| virtual short getClassSize() {return (short)sizeof(ComTdbExeUtilCreateTableAs);} |
| |
| virtual const char *getNodeName() const |
| { |
| return "CREATE_TABLE_AS"; |
| }; |
| |
| void setLoadIfExists(NABoolean v) |
| {(v ? flags_ |= LOAD_IF_EXISTS : flags_ &= ~LOAD_IF_EXISTS); }; |
| NABoolean loadIfExists() { return (flags_ & LOAD_IF_EXISTS) != 0; }; |
| |
| void setNoLoad(NABoolean v) |
| {(v ? flags_ |= NO_LOAD : flags_ &= ~NO_LOAD); }; |
| NABoolean noLoad() { return (flags_ & NO_LOAD) != 0; }; |
| |
| void setIsVolatile(NABoolean v) |
| {(v ? flags_ |= IS_VOLATILE : flags_ &= ~IS_VOLATILE); }; |
| NABoolean isVolatile() { return (flags_ & IS_VOLATILE) != 0; }; |
| |
| void setDeleteData(NABoolean v) |
| {(v ? flags_ |= DELETE_DATA : flags_ &= ~DELETE_DATA); }; |
| NABoolean deleteData() { return (flags_ & DELETE_DATA) != 0; }; |
| |
| // --------------------------------------------------------------------- |
| // Used by the internal SHOWPLAN command to get attributes of a TDB. |
| // --------------------------------------------------------------------- |
| void displayContents(Space *space, ULng32 flag); |
| |
| private: |
| enum |
| { |
| LOAD_IF_EXISTS = 0x0001, |
| NO_LOAD = 0x0002, |
| IS_VOLATILE = 0x0004, |
| DELETE_DATA = 0x0008 |
| }; |
| |
| // CREATE stmt |
| NABasicPtr ctQuery_; // 00-07 |
| |
| // Sidetree INSERT...SELECT stmt |
| NABasicPtr siQuery_; // 08-15 |
| |
| // VSBB INSERT...SELECT stmt |
| NABasicPtr viQuery_; // 16-23 |
| |
| // UPD STATS stmt |
| NABasicPtr usQuery_; // 24-31 |
| |
| // automatic update stats is done if num rows inserted exceeds threshold. |
| Int64 threshold_; // 32-39 |
| |
| UInt32 flags_; // 40-43 |
| |
| char fillersComTdbExeUtilCreateTableAs_[92]; // 44-135 |
| }; |
| |
| class ComTdbExeUtilHiveTruncate : public ComTdbExeUtil |
| { |
| public: |
| // flags |
| enum |
| { |
| TRUNC_DROP_TABLE_ON_DEALLOC = 0x0001, |
| IS_LEGACY = 0x0002, |
| IS_EXTERNAL = 0x0004, |
| IF_EXISTS = 0x0008, |
| TABLE_NOT_EXISTS = 0x0010 |
| }; |
| |
| ComTdbExeUtilHiveTruncate() |
| : ComTdbExeUtil() |
| {} |
| |
| ComTdbExeUtilHiveTruncate(char * tableName, |
| ULng32 tableNameLen, |
| char * hiveTableName, |
| char * tableLocation, |
| char * partnLocation, |
| char * hostName, |
| Lng32 portNum, |
| Int64 modTS, |
| char * hiveTruncQuery, |
| ex_cri_desc * given_cri_desc, |
| ex_cri_desc * returned_cri_desc, |
| queue_index down, |
| queue_index up, |
| Lng32 num_buffers, |
| ULng32 buffer_size |
| ); |
| |
| Long pack(void *); |
| Lng32 unpack(void *, void * reallocator); |
| |
| // --------------------------------------------------------------------- |
| // Redefine virtual functions required for Versioning. |
| //---------------------------------------------------------------------- |
| virtual short getClassSize() {return (short)sizeof(ComTdbExeUtilHiveTruncate);} |
| |
| virtual const char *getNodeName() const |
| { |
| return "HIVE_TRUNCATE"; |
| }; |
| |
| char * getTableLocation() const |
| { |
| return tableLocation_; |
| } |
| |
| char * getHdfsHost() const |
| { |
| return hdfsHost_; |
| } |
| |
| Lng32 getHdfsPort() const |
| { |
| return hdfsPort_; |
| } |
| |
| Int64 getModTS() const |
| { |
| return modTS_; |
| } |
| |
| char * getPartnLocation() const |
| { |
| return partnLocation_; |
| } |
| |
| char * getHiveTableName() const |
| { |
| return hiveTableName_; |
| } |
| |
| char * getHiveTruncQuery() const |
| { |
| return hiveTruncQuery_; |
| } |
| |
| void setDropOnDealloc(NABoolean v) |
| {(v ? flags_ |= TRUNC_DROP_TABLE_ON_DEALLOC : flags_ &= ~TRUNC_DROP_TABLE_ON_DEALLOC); } |
| NABoolean getDropOnDealloc() { return (flags_ & TRUNC_DROP_TABLE_ON_DEALLOC) != 0; } |
| |
| void setIsLegacy(NABoolean v) |
| {(v ? flags_ |= IS_LEGACY : flags_ &= ~IS_LEGACY); } |
| NABoolean getIsLegacy() { return (flags_ & IS_LEGACY) != 0; } |
| |
| void setIsExternal(NABoolean v) |
| {(v ? flags_ |= IS_EXTERNAL : flags_ &= ~IS_EXTERNAL); } |
| NABoolean getIsExternal() { return (flags_ & IS_EXTERNAL) != 0; } |
| |
| void setIfExists(NABoolean v) |
| {(v ? flags_ |= IF_EXISTS : flags_ &= ~IF_EXISTS); } |
| NABoolean getIfExists() { return (flags_ & IF_EXISTS) != 0; } |
| |
| void setTableNotExists(NABoolean v) |
| {(v ? flags_ |= TABLE_NOT_EXISTS : flags_ &= ~TABLE_NOT_EXISTS); } |
| NABoolean getTableNotExists() { return (flags_ & TABLE_NOT_EXISTS) != 0; } |
| |
| // --------------------------------------------------------------------- |
| // Used by the internal SHOWPLAN command to get attributes of a TDB. |
| // --------------------------------------------------------------------- |
| void displayContents(Space *space, ULng32 flag); |
| |
| private: |
| NABasicPtr hiveTableName_; // 00-07 |
| NABasicPtr tableLocation_; // 08-15 |
| NABasicPtr partnLocation_; // 16-23 |
| NABasicPtr hdfsHost_; // 24-31 |
| Int64 modTS_; // 32-39 |
| Int32 hdfsPort_; // 40-43 |
| UInt32 flags_; // 44-47 |
| NABasicPtr hiveTruncQuery_; // 48-55 |
| }; |
| |
| class ComTdbExeUtilHiveQuery : public ComTdbExeUtil |
| { |
| public: |
| ComTdbExeUtilHiveQuery() |
| : ComTdbExeUtil() |
| {} |
| ComTdbExeUtilHiveQuery(char * hiveQuery, |
| ULng32 hiveQueryLen, |
| ex_cri_desc * given_cri_desc, |
| ex_cri_desc * returned_cri_desc, |
| queue_index down, |
| queue_index up, |
| Lng32 num_buffers, |
| ULng32 buffer_size |
| ); |
| Long pack(void *); |
| Lng32 unpack(void *, void * reallocator); |
| virtual short getClassSize() {return (short)sizeof(ComTdbExeUtilHiveQuery);} |
| virtual const char *getNodeName() const |
| { |
| return "HIVE_QUERY"; |
| }; |
| char * getHiveQuery() const |
| { |
| return hiveQuery_; |
| } |
| void displayContents(Space *space, ULng32 flag); |
| private: |
| NABasicPtr hiveQuery_; // 00-07 |
| UInt32 hiveQueryLen_; // 08-11 |
| UInt32 flags_; // 12-15 |
| }; |
| class ComTdbExeUtilGetStatistics : public ComTdbExeUtil |
| { |
| friend class ExExeUtilGetStatisticsTcb; |
| friend class ExExeUtilGetRTSStatisticsTcb; |
| friend class ExExeUtilGetProcessStatisticsTcb; |
| friend class ExExeUtilGetStatisticsPrivateState; |
| |
| public: |
| ComTdbExeUtilGetStatistics() |
| : ComTdbExeUtil() |
| {} |
| |
| ComTdbExeUtilGetStatistics( |
| char * stmtName, |
| short statsReqType, |
| short statsMergeType, |
| short activeQueryNum, |
| ex_cri_desc * work_cri_desc, |
| const unsigned short work_atp_index, |
| ex_cri_desc * given_cri_desc, |
| ex_cri_desc * returned_cri_desc, |
| queue_index down, |
| queue_index up, |
| Lng32 num_buffers, |
| ULng32 buffer_size |
| ); |
| |
| Long pack(void *); |
| Lng32 unpack(void *, void * reallocator); |
| |
| // --------------------------------------------------------------------- |
| // Redefine virtual functions required for Versioning. |
| //---------------------------------------------------------------------- |
| virtual short getClassSize() {return (short)sizeof(ComTdbExeUtilGetStatistics);} |
| |
| virtual const char *getNodeName() const |
| { |
| return "GET_STATISTICS"; |
| }; |
| |
| void setCompilerStats(NABoolean v) |
| {(v ? flags_ |= COMPILER_STATS : flags_ &= ~COMPILER_STATS); }; |
| NABoolean compilerStats() { return (flags_ & COMPILER_STATS) != 0; }; |
| |
| void setExecutorStats(NABoolean v) |
| {(v ? flags_ |= EXECUTOR_STATS : flags_ &= ~EXECUTOR_STATS); }; |
| NABoolean executorStats() { return (flags_ & EXECUTOR_STATS) != 0; }; |
| |
| void setOtherStats(NABoolean v) |
| {(v ? flags_ |= OTHER_STATS : flags_ &= ~OTHER_STATS); }; |
| NABoolean otherStats() { return (flags_ & OTHER_STATS) != 0; }; |
| |
| void setDetailedStats(NABoolean v) |
| {(v ? flags_ |= DETAILED_STATS : flags_ &= ~DETAILED_STATS); }; |
| NABoolean detailedStats() { return (flags_ & DETAILED_STATS) != 0; }; |
| |
| void setOldFormat(NABoolean v) |
| {(v ? flags_ |= OLD_FORMAT : flags_ &= ~OLD_FORMAT); }; |
| NABoolean oldFormat() { return (flags_ & OLD_FORMAT) != 0; }; |
| |
| void setShortFormat(NABoolean v) |
| {(v ? flags_ |= SHORT_FORMAT : flags_ &= ~SHORT_FORMAT); }; |
| NABoolean shortFormat() { return (flags_ & SHORT_FORMAT) != 0; }; |
| |
| void setTokenizedFormat(NABoolean v) |
| {(v ? flags_ |= TOKENIZED_FORMAT : flags_ &= ~TOKENIZED_FORMAT); }; |
| NABoolean tokenizedFormat() { return (flags_ & TOKENIZED_FORMAT) != 0; }; |
| |
| void setSingleLineFormat(NABoolean v) |
| {(v ? flags_ |= SINGLELINE_FORMAT : flags_ &= ~SINGLELINE_FORMAT); }; |
| NABoolean singleLineFormat() { return (flags_ & SINGLELINE_FORMAT) != 0; }; |
| |
| short getStatsReqType() { return statsReqType_; } |
| |
| // --------------------------------------------------------------------- |
| // Used by the internal SHOWPLAN command to get attributes of a TDB. |
| // --------------------------------------------------------------------- |
| void displayContents(Space *space, ULng32 flag); |
| inline const char * getStmtName() const { return stmtName_.getPointer(); } |
| |
| protected: |
| enum |
| { |
| COMPILER_STATS = 0x0001, |
| EXECUTOR_STATS = 0x0002, |
| OTHER_STATS = 0x0004, |
| DETAILED_STATS = 0x0008, |
| OLD_FORMAT = 0x0010, |
| SHORT_FORMAT = 0x0020, |
| TOKENIZED_FORMAT = 0x0040, |
| SINGLELINE_FORMAT = 0x0100 |
| }; |
| |
| NABasicPtr stmtName_; // 00-07 |
| |
| UInt32 flags_; // 08-11 |
| |
| char filler1_[4]; // 12-15 |
| short statsReqType_; // 16-17 |
| short statsMergeType_; // 18-19 |
| |
| short activeQueryNum_; // 20-21 |
| |
| char fillersComTdbExeUtilGetStatistics_[106]; // 22-127 |
| }; |
| |
| class ComTdbExeUtilGetProcessStatistics : public ComTdbExeUtilGetStatistics |
| { |
| |
| public: |
| ComTdbExeUtilGetProcessStatistics() |
| : ComTdbExeUtilGetStatistics() |
| {} |
| |
| ComTdbExeUtilGetProcessStatistics( |
| char * pid, |
| short statsReqType, |
| short statsMergeType, |
| short activeQueryNum, |
| ex_cri_desc * work_cri_desc, |
| const unsigned short work_atp_index, |
| ex_cri_desc * given_cri_desc, |
| ex_cri_desc * returned_cri_desc, |
| queue_index down, |
| queue_index up, |
| Lng32 num_buffers, |
| ULng32 buffer_size |
| ) |
| : ComTdbExeUtilGetStatistics(pid, |
| statsReqType, statsMergeType, activeQueryNum, |
| //SQLCLI_STATS_REQ_QID, SQLCLI_DEFAULT_STATS, -1, |
| work_cri_desc, work_atp_index, |
| given_cri_desc, returned_cri_desc, |
| down, up, num_buffers, buffer_size) |
| { |
| setNodeType(ComTdb::ex_PROCESS_STATISTICS); |
| }; |
| |
| |
| // --------------------------------------------------------------------- |
| // Redefine virtual functions required for Versioning. |
| //---------------------------------------------------------------------- |
| virtual short getClassSize() {return (short)sizeof(ComTdbExeUtilGetProcessStatistics);} |
| |
| virtual const char *getNodeName() const |
| { |
| return "PROCESS_STATISTICS"; |
| }; |
| |
| inline const char * getPid() const { return getStmtName(); }; |
| |
| // --------------------------------------------------------------------- |
| // Used by the internal SHOWPLAN command to get attributes of a TDB. |
| // --------------------------------------------------------------------- |
| void displayContents(Space *space, ULng32 flag); |
| private: |
| }; |
| |
| /////////////////////////////////////////////////////////////////////////// |
| static const ComTdbVirtTableColumnInfo exeUtilGetUIDVirtTableColumnInfo[] = |
| { |
| { "GET_UID_OUTPUT", 0, COM_USER_COLUMN, REC_BIN64_SIGNED, 8, FALSE, SQLCHARSETCODE_UNKNOWN, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "",NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0} |
| }; |
| |
| class ComTdbExeUtilGetUID : public ComTdbExeUtil |
| { |
| friend class ExExeUtilGetUIDTcb; |
| friend class ExExeUtilGetUIDPrivateState; |
| |
| public: |
| ComTdbExeUtilGetUID() |
| : ComTdbExeUtil() |
| {} |
| |
| ComTdbExeUtilGetUID( |
| Int64 uid, |
| ex_cri_desc * work_cri_desc, |
| const unsigned short work_atp_index, |
| ex_cri_desc * given_cri_desc, |
| ex_cri_desc * returned_cri_desc, |
| queue_index down, |
| queue_index up, |
| Lng32 num_buffers, |
| ULng32 buffer_size |
| ); |
| |
| Long pack(void *); |
| Lng32 unpack(void *, void * reallocator); |
| |
| // --------------------------------------------------------------------- |
| // Redefine virtual functions required for Versioning. |
| //---------------------------------------------------------------------- |
| virtual short getClassSize() {return (short)sizeof(ComTdbExeUtilGetUID);} |
| |
| virtual const char *getNodeName() const |
| { |
| return "GET_UID"; |
| }; |
| |
| static Int32 getVirtTableNumCols() |
| { |
| return sizeof(exeUtilGetUIDVirtTableColumnInfo)/sizeof(ComTdbVirtTableColumnInfo); |
| } |
| |
| static ComTdbVirtTableColumnInfo * getVirtTableColumnInfo() |
| { |
| return (ComTdbVirtTableColumnInfo*)exeUtilGetUIDVirtTableColumnInfo; |
| } |
| |
| static Int32 getVirtTableNumKeys() |
| { |
| return 0; |
| } |
| |
| static ComTdbVirtTableKeyInfo * getVirtTableKeyInfo() |
| { |
| return NULL; |
| } |
| |
| Int64 getUID() { return uid_; } |
| |
| // --------------------------------------------------------------------- |
| // Used by the internal SHOWPLAN command to get attributes of a TDB. |
| // --------------------------------------------------------------------- |
| void displayContents(Space *space, ULng32 flag); |
| |
| private: |
| Int64 uid_; // 00-07 |
| |
| UInt32 flags_; // 08-15 |
| |
| char fillersComTdbExeUtilGetUID_[108]; // 16-133 |
| }; |
| |
| /////////////////////////////////////////////////////////////////////////// |
| static const ComTdbVirtTableColumnInfo exeUtilGetQIDVirtTableColumnInfo[] = |
| { |
| { "GET_QID_OUTPUT", 0, COM_USER_COLUMN, REC_BYTE_V_ASCII, 160, FALSE, SQLCHARSETCODE_UNKNOWN, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "",NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0} |
| }; |
| |
| class ComTdbExeUtilGetQID : public ComTdbExeUtil |
| { |
| friend class ExExeUtilGetQIDTcb; |
| friend class ExExeUtilGetQIDPrivateState; |
| |
| public: |
| ComTdbExeUtilGetQID() |
| : ComTdbExeUtil() |
| {} |
| |
| ComTdbExeUtilGetQID( |
| char * stmtName, |
| ex_cri_desc * work_cri_desc, |
| const unsigned short work_atp_index, |
| ex_cri_desc * given_cri_desc, |
| ex_cri_desc * returned_cri_desc, |
| queue_index down, |
| queue_index up, |
| Lng32 num_buffers, |
| ULng32 buffer_size |
| ); |
| |
| Long pack(void *); |
| Lng32 unpack(void *, void * reallocator); |
| |
| // --------------------------------------------------------------------- |
| // Redefine virtual functions required for Versioning. |
| //---------------------------------------------------------------------- |
| virtual short getClassSize() {return (short)sizeof(ComTdbExeUtilGetQID);} |
| |
| virtual const char *getNodeName() const |
| { |
| return "GET_QID"; |
| }; |
| |
| static Int32 getVirtTableNumCols() |
| { |
| return sizeof(exeUtilGetQIDVirtTableColumnInfo)/sizeof(ComTdbVirtTableColumnInfo); |
| } |
| |
| static ComTdbVirtTableColumnInfo * getVirtTableColumnInfo() |
| { |
| return (ComTdbVirtTableColumnInfo*)exeUtilGetQIDVirtTableColumnInfo; |
| } |
| |
| static Int32 getVirtTableNumKeys() |
| { |
| return 0; |
| } |
| |
| static ComTdbVirtTableKeyInfo * getVirtTableKeyInfo() |
| { |
| return NULL; |
| } |
| |
| char * getStmtName() { return stmtName_; } |
| |
| // --------------------------------------------------------------------- |
| // Used by the internal SHOWPLAN command to get attributes of a TDB. |
| // --------------------------------------------------------------------- |
| void displayContents(Space *space, ULng32 flag); |
| |
| private: |
| NABasicPtr stmtName_; |
| |
| UInt32 flags_; |
| |
| char fillersComTdbExeUtilGetQID_[108]; |
| }; |
| |
| class ComTdbExeUtilPopulateInMemStats : public ComTdbExeUtil |
| { |
| friend class ExExeUtilPopulateInMemStatsTcb; |
| friend class ExExeUtilPopulateInMemStatsPrivateState; |
| |
| public: |
| ComTdbExeUtilPopulateInMemStats() |
| : ComTdbExeUtil() |
| {} |
| |
| ComTdbExeUtilPopulateInMemStats( |
| Int64 uid, |
| char * inMemHistogramsTableName, |
| char * inMemHistintsTableName, |
| char * sourceTableCatName, |
| char * sourceTableSchName, |
| char * sourceTableObjName, |
| char * sourceHistogramsTableName, |
| char * sourceHistintsTableName, |
| ex_cri_desc * work_cri_desc, |
| const unsigned short work_atp_index, |
| ex_cri_desc * given_cri_desc, |
| ex_cri_desc * returned_cri_desc, |
| queue_index down, |
| queue_index up, |
| Lng32 num_buffers, |
| ULng32 buffer_size |
| ); |
| |
| Long pack(void *); |
| Lng32 unpack(void *, void * reallocator); |
| |
| // --------------------------------------------------------------------- |
| // Redefine virtual functions required for Versioning. |
| //---------------------------------------------------------------------- |
| virtual short getClassSize() {return (short)sizeof(ComTdbExeUtilPopulateInMemStats);} |
| |
| virtual const char *getNodeName() const |
| { |
| return "POP_IN_MEM_STATS"; |
| }; |
| |
| // --------------------------------------------------------------------- |
| // Used by the internal SHOWPLAN command to get attributes of a TDB. |
| // --------------------------------------------------------------------- |
| void displayContents(Space *space, ULng32 flag); |
| |
| inline const char * getInMemHistogramsTableName() const |
| { return inMemHistogramsTableName_.getPointer() ; } ; |
| |
| inline const char * getInMemHistintsTableName() const |
| { return inMemHistintsTableName_.getPointer() ; } ; |
| |
| inline const char * getSourceTableCatName() const |
| { return sourceTableCatName_.getPointer() ; } ; |
| |
| inline const char * getSourceTableSchName() const |
| { return sourceTableSchName_.getPointer() ; } ; |
| |
| inline const char * getSourceTableObjName() const |
| { return sourceTableObjName_.getPointer() ; } ; |
| |
| inline const char * getSourceHistogramsTableName() const |
| { return sourceHistogramsTableName_.getPointer(); } ; |
| |
| inline const char * getSourceHistintsTableName() const |
| { return sourceHistintsTableName_.getPointer() ; } ; |
| |
| private: |
| Int64 uid_; // 00-07 |
| NABasicPtr inMemHistogramsTableName_; // 08-15 |
| NABasicPtr inMemHistintsTableName_; // 16-23 |
| NABasicPtr sourceTableCatName_; // 24-31 |
| NABasicPtr sourceTableSchName_; // 32-39 |
| NABasicPtr sourceTableObjName_; // 40-47 |
| NABasicPtr sourceHistogramsTableName_; // 48-55 |
| NABasicPtr sourceHistintsTableName_; // 56-63 |
| |
| UInt32 flags_; // 64-67 |
| |
| char fillersComTdbExeUtilPopInMemStats_[108]; // 68-175 |
| }; |
| |
| class ComTdbExeUtilAqrWnrInsert : public ComTdbExeUtil |
| { |
| friend class ExExeUtilAqrWnrInsertTcb; |
| public: |
| ComTdbExeUtilAqrWnrInsert() |
| : ComTdbExeUtil() |
| {} |
| |
| ComTdbExeUtilAqrWnrInsert(char * tableName, |
| ULng32 tableNameLen, |
| ex_cri_desc * work_cri_desc, |
| const unsigned short work_atp_index, |
| ex_cri_desc * given_cri_desc, |
| ex_cri_desc * returned_cri_desc, |
| queue_index down, |
| queue_index up, |
| Lng32 num_buffers, |
| ULng32 buffer_size |
| ); |
| #if 0 |
| no need to pack/unpack until this subclass has some ptr type members. |
| Long pack (void *); |
| Lng32 unpack(void *, void * reallocator); |
| #endif |
| |
| void lockTarget(bool lt) { lt ? aqrWnrInsflags_ |= LOCK_TARGET : |
| aqrWnrInsflags_ &= ~LOCK_TARGET ; } |
| bool doLockTarget() const { return aqrWnrInsflags_ & LOCK_TARGET; } |
| |
| // --------------------------------------------------------------------- |
| // Redefine virtual functions required for Versioning. |
| //---------------------------------------------------------------------- |
| virtual short getClassSize() {return (short)sizeof(ComTdbExeUtilAqrWnrInsert);} |
| |
| virtual const char *getNodeName() const |
| { |
| return "AQRWNR_INSERT_UTIL"; |
| }; |
| |
| // --------------------------------------------------------------------- |
| // Used by the internal SHOWPLAN command to get attributes of a TDB. |
| // --------------------------------------------------------------------- |
| void displayContents(Space *space, ULng32 flag); |
| |
| private: |
| |
| enum |
| { |
| LOCK_TARGET = 0x00000001 |
| }; |
| |
| UInt32 aqrWnrInsflags_; // 00-03 |
| |
| char fillersComTdbExeUtilAqrWnrInsert_[20]; // 20-39 |
| }; |
| class ComTdbExeUtilLongRunning : public ComTdbExeUtil |
| { |
| public: |
| ComTdbExeUtilLongRunning() |
| : ComTdbExeUtil() |
| {} |
| |
| ComTdbExeUtilLongRunning(char * tableName, |
| ULng32 tableNameLen, |
| ex_cri_desc * work_cri_desc, |
| const unsigned short work_atp_index, |
| ex_cri_desc * given_cri_desc, |
| ex_cri_desc * returned_cri_desc, |
| queue_index down, |
| queue_index up, |
| Lng32 num_buffers, |
| ULng32 buffer_size |
| ); |
| |
| Long pack(void *); |
| Lng32 unpack(void *, void * reallocator); |
| |
| |
| // --------------------------------------------------------------------- |
| // Redefine virtual functions required for Versioning. |
| //---------------------------------------------------------------------- |
| virtual short getClassSize() {return (short)sizeof(ComTdbExeUtilLongRunning);} |
| |
| virtual const char *getNodeName() const |
| { |
| return "LONG_RUNNING"; |
| }; |
| |
| // --------------------------------------------------------------------- |
| // Used by the internal SHOWPLAN command to get attributes of a TDB. |
| // --------------------------------------------------------------------- |
| void displayContents(Space *space, ULng32 flag); |
| |
| void setLongRunningDelete(NABoolean v) |
| {(v ? flags_ |= LR_DELETE : flags_ &= ~LR_DELETE); }; |
| NABoolean longRunningDelete() { return (flags_ & LR_DELETE) != 0; }; |
| |
| void setLongRunningUpdate(NABoolean v) |
| {(v ? flags_ |= LR_UPDATE : flags_ &= ~LR_UPDATE); }; |
| NABoolean longRunningUpdate() { return (flags_ & LR_UPDATE) != 0; }; |
| |
| void setLongRunningInsertSelect(NABoolean v) |
| {(v ? flags_ |= LR_INSERT_SELECT : flags_ &= ~LR_INSERT_SELECT); }; |
| NABoolean longRunningInsertSelect() { return (flags_ & LR_INSERT_SELECT) != 0; }; |
| |
| void setLongRunningQueryPlan(NABoolean v) |
| {(v ? flags_ |= LR_QUERY_PLAN : flags_ &= ~LR_QUERY_PLAN); }; |
| NABoolean longRunningQueryPlan() { return (flags_ & LR_QUERY_PLAN) != 0; }; |
| |
| void setUseParserflags(NABoolean v) |
| {(v ? flags_ |= LR_PARSERFLAGS : flags_ &= ~LR_PARSERFLAGS); }; |
| NABoolean useParserflags() { return (flags_ & LR_PARSERFLAGS) != 0; }; |
| |
| char * getLruStmt() { return lruStmt_; }; |
| void setLruStmt(char * stmt) { lruStmt_ = stmt;}; |
| |
| Int64 getLruStmtLen() { return lruStmtLen_; }; |
| void setLruStmtLen(Int64 len) { lruStmtLen_ = len; }; |
| |
| char * getLruStmtWithCK() { return lruStmtWithCK_; }; |
| void setLruStmtWithCK(char * stmt) { lruStmtWithCK_ = stmt;}; |
| |
| Int64 getLruStmtWithCKLen() { return lruStmtWithCKLen_; }; |
| void setLruStmtWithCKLen (Int64 len) { lruStmtWithCKLen_ = len; }; |
| |
| char *getPredicate() { return predicate_; }; |
| void setPredicate(Space *space, char *predicate); |
| |
| Int64 getPredicateLen() { return predicateLen_; }; |
| |
| ULng32 getMultiCommitSize() {return multiCommitSize_;} |
| void setMultiCommitSize(ULng32 multiCommitSize) |
| {multiCommitSize_ = multiCommitSize;}; |
| |
| private: |
| |
| enum GetLongRunningType |
| { |
| LR_DELETE = 0x0001, |
| LR_UPDATE = 0x0002, |
| LR_INSERT_SELECT = 0x0004, |
| LR_QUERY_PLAN = 0x0008, |
| LR_PARSERFLAGS = 0x0010 |
| }; |
| |
| // Type of Long Running operation |
| UInt32 flags_; // 00-03 |
| |
| UInt32 multiCommitSize_; // 04-07 |
| |
| // Statement1 string |
| NABasicPtr lruStmt_; // 08-15 |
| |
| // Statement1 length |
| Int64 lruStmtLen_; // 16-23 |
| |
| // Statement with CK string |
| NABasicPtr lruStmtWithCK_; // 24-31 |
| |
| // Statement with CK length |
| Int64 lruStmtWithCKLen_; // 32-39 |
| |
| NABasicPtr predicate_; // 40-48 |
| |
| Int64 predicateLen_; // 49-56 |
| |
| char fillersComTdbExeUtilLongRunning_[72]; // 57-128 |
| }; |
| |
| class ComTdbExeUtilShowSet : public ComTdbExeUtil |
| { |
| friend class ExExeUtilShowSetTcb; |
| friend class ExExeUtilShowSetPrivateState; |
| |
| public: |
| enum ShowSetType |
| { |
| ALL_ = 1, |
| EXTERNALIZED_, |
| SINGLE_ |
| }; |
| |
| ComTdbExeUtilShowSet() |
| : ComTdbExeUtil() |
| {} |
| |
| ComTdbExeUtilShowSet( |
| UInt16 type, |
| char * param1, |
| char * param2, |
| ex_cri_desc * work_cri_desc, |
| const unsigned short work_atp_index, |
| ex_cri_desc * given_cri_desc, |
| ex_cri_desc * returned_cri_desc, |
| queue_index down, |
| queue_index up, |
| Lng32 num_buffers, |
| ULng32 buffer_size |
| ); |
| |
| Long pack(void *); |
| Lng32 unpack(void *, void * reallocator); |
| |
| // --------------------------------------------------------------------- |
| // Redefine virtual functions required for Versioning. |
| //---------------------------------------------------------------------- |
| virtual short getClassSize() {return (short)sizeof(ComTdbExeUtilShowSet);} |
| |
| virtual const char *getNodeName() const |
| { |
| return "SHOWSET"; |
| }; |
| |
| UInt16 getType() { return type_;} |
| |
| // --------------------------------------------------------------------- |
| // Used by the internal SHOWPLAN command to get attributes of a TDB. |
| // --------------------------------------------------------------------- |
| void displayContents(Space *space, ULng32 flag); |
| |
| private: |
| |
| NABasicPtr param1_; // 00-07 |
| NABasicPtr param2_; // 08-15 |
| |
| UInt16 type_; |
| UInt16 flags_; // 16-19 |
| |
| char fillersComTdbExeUtilShowSet_[116]; // 20-135 |
| }; |
| |
| class ComTdbExeUtilAQR : public ComTdbExeUtil |
| { |
| friend class ExExeUtilAQRTcb; |
| friend class ExExeUtilAQRPrivateState; |
| |
| public: |
| enum AQRTask |
| { |
| NONE_ = -1, |
| GET_ = 0, |
| ADD_, DELETE_, UPDATE_, |
| CLEAR_, RESET_ |
| }; |
| |
| ComTdbExeUtilAQR() |
| : ComTdbExeUtil() |
| {} |
| |
| ComTdbExeUtilAQR( |
| Lng32 task, |
| ex_cri_desc * given_cri_desc, |
| ex_cri_desc * returned_cri_desc, |
| queue_index down, |
| queue_index up, |
| Lng32 num_buffers, |
| ULng32 buffer_size |
| ); |
| |
| Long pack(void *); |
| Lng32 unpack(void *, void * reallocator); |
| |
| void setParams(Lng32 sqlcode, |
| Lng32 nskcode, |
| Lng32 retries, |
| Lng32 delay, |
| Lng32 type) |
| { |
| sqlcode_ = sqlcode; |
| nskcode_ = nskcode; |
| retries_ = retries; |
| delay_ = delay; |
| type_ = type; |
| } |
| |
| // --------------------------------------------------------------------- |
| // Redefine virtual functions required for Versioning. |
| //---------------------------------------------------------------------- |
| virtual short getClassSize() {return (short)sizeof(ComTdbExeUtilAQR);} |
| |
| virtual const char *getNodeName() const |
| { |
| return "AQR"; |
| }; |
| |
| Lng32 getTask() { return task_; } |
| |
| // --------------------------------------------------------------------- |
| // Used by the internal SHOWPLAN command to get attributes of a TDB. |
| // --------------------------------------------------------------------- |
| void displayContents(Space *space, ULng32 flag); |
| |
| private: |
| Lng32 task_; |
| Lng32 sqlcode_; |
| Lng32 nskcode_; |
| Lng32 retries_; |
| Lng32 delay_; |
| Lng32 type_; |
| UInt32 flags_; |
| |
| char fillersComTdbExeUtilAQR_[76]; // 24-103 |
| }; |
| |
| class ComTdbExeUtilGetMetadataInfo : public ComTdbExeUtil |
| { |
| friend class ExExeUtilGetMetadataInfoTcb; |
| friend class ExExeUtilGetMetadataInfoComplexTcb; |
| friend class ExExeUtilGetMetadataInfoVersionTcb; |
| friend class ExExeUtilGetHiveMetadataInfoTcb; |
| friend class ExExeUtilGetMetadataInfoPrivateState; |
| |
| public: |
| enum QueryType |
| { |
| NO_QUERY_ = -1, |
| |
| CATALOGS_ = 1, |
| |
| SCHEMAS_IN_CATALOG_, |
| VIEWS_IN_CATALOG_, |
| INVALID_VIEWS_IN_CATALOG_, |
| SEQUENCES_IN_CATALOG_, |
| TABLES_IN_CATALOG_, |
| OBJECTS_IN_CATALOG_, |
| HIVE_REG_TABLES_IN_CATALOG_, |
| HIVE_REG_VIEWS_IN_CATALOG_, |
| HIVE_REG_SCHEMAS_IN_CATALOG_, |
| HIVE_REG_OBJECTS_IN_CATALOG_, |
| HIVE_EXT_TABLES_IN_CATALOG_, |
| HBASE_REG_TABLES_IN_CATALOG_, |
| |
| TABLES_IN_SCHEMA_, |
| INDEXES_IN_SCHEMA_, |
| VIEWS_IN_SCHEMA_, |
| LIBRARIES_IN_SCHEMA_, |
| MVS_IN_SCHEMA_, |
| MVGROUPS_IN_SCHEMA_, |
| PRIVILEGES_ON_SCHEMA_, |
| PROCEDURES_IN_SCHEMA_, |
| SEQUENCES_IN_SCHEMA_, |
| SYNONYMS_IN_SCHEMA_, |
| FUNCTIONS_IN_SCHEMA_, |
| TABLE_FUNCTIONS_IN_SCHEMA_, |
| |
| OBJECTS_IN_SCHEMA_, |
| INVALID_VIEWS_IN_SCHEMA_, |
| |
| INDEXES_ON_TABLE_, |
| INDEXES_ON_MV_, |
| VIEWS_ON_TABLE_, |
| VIEWS_ON_VIEW_, |
| MVS_ON_TABLE_, |
| MVS_ON_VIEW_, |
| MVS_ON_MV_, |
| MVGROUPS_ON_TABLE_, |
| PRIVILEGES_ON_TABLE_, |
| PRIVILEGES_ON_MV_, |
| PRIVILEGES_ON_VIEW_, |
| PRIVILEGES_ON_SEQUENCE_, |
| SYNONYMS_ON_TABLE_, |
| |
| OBJECTS_ON_TABLE_, |
| PARTITIONS_FOR_TABLE_, |
| PARTITIONS_FOR_INDEX_, |
| |
| TABLES_IN_VIEW_, |
| VIEWS_IN_VIEW_, |
| OBJECTS_IN_VIEW_, |
| TABLES_IN_MV_, |
| MVS_IN_MV_, |
| OBJECTS_IN_MV_, |
| |
| ROLES_, |
| |
| ROLES_FOR_ROLE_, |
| USERS_FOR_ROLE_, |
| PRIVILEGES_FOR_ROLE_, |
| |
| USERS_, |
| |
| INDEXES_FOR_USER_, |
| LIBRARIES_FOR_USER_, |
| MVGROUPS_FOR_USER_, |
| MVS_FOR_USER_, |
| PRIVILEGES_FOR_USER_, |
| PROCEDURES_FOR_USER_, |
| ROLES_FOR_USER_, |
| SCHEMAS_FOR_USER_, |
| SYNONYMS_FOR_USER_, |
| TABLES_FOR_USER_, |
| TRIGGERS_FOR_USER_, |
| VIEWS_FOR_USER_, |
| |
| PROCEDURES_FOR_LIBRARY_, |
| FUNCTIONS_FOR_LIBRARY_, |
| TABLE_FUNCTIONS_FOR_LIBRARY_, |
| PRIVILEGES_ON_LIBRARY_, |
| PRIVILEGES_ON_PROCEDURE_, |
| PRIVILEGES_ON_ROUTINE_, |
| |
| COMPONENTS_, |
| COMPONENT_OPERATIONS_, |
| COMPONENT_PRIVILEGES_, |
| IUDLOG_TABLES_IN_SCHEMA_, |
| RANGELOG_TABLES_IN_SCHEMA_, |
| TRIGTEMP_TABLES_IN_SCHEMA_, |
| IUDLOG_TABLE_ON_TABLE_, |
| RANGELOG_TABLE_ON_TABLE_, |
| TRIGTEMP_TABLE_ON_TABLE_, |
| IUDLOG_TABLE_ON_MV_, |
| RANGELOG_TABLE_ON_MV_, |
| TRIGTEMP_TABLE_ON_MV_, |
| |
| HBASE_OBJECTS_ |
| |
| }; |
| |
| ComTdbExeUtilGetMetadataInfo() |
| : ComTdbExeUtil() |
| {} |
| |
| ComTdbExeUtilGetMetadataInfo( |
| QueryType queryType, |
| char * cat, |
| char * sch, |
| char * obj, |
| char * pattern, |
| char * param1, |
| ex_expr_base * scan_expr, |
| ex_cri_desc * work_cri_desc, |
| const unsigned short work_atp_index, |
| ex_cri_desc * given_cri_desc, |
| ex_cri_desc * returned_cri_desc, |
| queue_index down, |
| queue_index up, |
| Lng32 num_buffers, |
| ULng32 buffer_size, |
| char * server, |
| char * zkPort |
| ); |
| |
| Long pack(void *); |
| Lng32 unpack(void *, void * reallocator); |
| |
| const char * server() const { return server_; } |
| const char * zkPort() const { return zkPort_;} |
| |
| // --------------------------------------------------------------------- |
| // Redefine virtual functions required for Versioning. |
| //---------------------------------------------------------------------- |
| virtual short getClassSize() {return (short)sizeof(ComTdbExeUtilGetMetadataInfo);} |
| |
| virtual const char *getNodeName() const |
| { |
| return "GET_METADATA_INFO"; |
| }; |
| |
| QueryType queryType() { return queryType_; } |
| |
| void setNoHeader(NABoolean v) |
| {(v ? flags_ |= NO_HEADER : flags_ &= ~NO_HEADER); }; |
| NABoolean noHeader() { return (flags_ & NO_HEADER) != 0; }; |
| |
| void setUserObjs(NABoolean v) |
| {(v ? flags_ |= USER_OBJS : flags_ &= ~USER_OBJS); }; |
| NABoolean userObjs() { return (flags_ & USER_OBJS) != 0; }; |
| |
| void setSystemObjs(NABoolean v) |
| {(v ? flags_ |= SYSTEM_OBJS : flags_ &= ~SYSTEM_OBJS); }; |
| NABoolean systemObjs() { return (flags_ & SYSTEM_OBJS) != 0; }; |
| |
| void setAllObjs(NABoolean v) |
| {(v ? flags_ |= ALL_OBJS : flags_ &= ~ALL_OBJS); }; |
| NABoolean allObjs() { return (flags_ & ALL_OBJS) != 0; }; |
| |
| void setExternalObjs(NABoolean v) |
| {(v ? flags_ |= EXTERNAL_OBJS : flags_ &= ~EXTERNAL_OBJS); }; |
| NABoolean externalObjs() { return (flags_ & EXTERNAL_OBJS) != 0; }; |
| |
| void setGroupBy(NABoolean v) |
| {(v ? flags_ |= GROUP_BY : flags_ &= ~GROUP_BY); }; |
| NABoolean groupBy() { return (flags_ & GROUP_BY) != 0; }; |
| |
| void setOrderBy(NABoolean v) |
| {(v ? flags_ |= ORDER_BY : flags_ &= ~ORDER_BY); }; |
| NABoolean orderBy() { return (flags_ & ORDER_BY) != 0; }; |
| |
| void setGetVersion(NABoolean v) |
| {(v ? flags_ |= GET_VERSION : flags_ &= ~GET_VERSION); }; |
| NABoolean getVersion() { return (flags_ & GET_VERSION) != 0; }; |
| |
| void setGetObjectUid(NABoolean v) |
| {(v ? flags_ |= GET_OBJECT_UID : flags_ &= ~GET_OBJECT_UID); }; |
| NABoolean getObjectUid() { return (flags_ & GET_OBJECT_UID) != 0; }; |
| |
| void setReturnFullyQualNames(NABoolean v) |
| {(v ? flags_ |= RETURN_FULLY_QUAL_NAMES : flags_ &= ~RETURN_FULLY_QUAL_NAMES); }; |
| NABoolean returnFullyQualNames() { return (flags_ & RETURN_FULLY_QUAL_NAMES) != 0; }; |
| |
| void setIsIndex(NABoolean v) |
| {(v ? flags_ |= IS_INDEX : flags_ &= ~IS_INDEX); }; |
| NABoolean isIndex() { return (flags_ & IS_INDEX) != 0; }; |
| |
| void setIsMv(NABoolean v) |
| {(v ? flags_ |= IS_MV : flags_ &= ~IS_MV); }; |
| NABoolean isMv() { return (flags_ & IS_MV) != 0; }; |
| |
| void setIsHbase(NABoolean v) |
| {(v ? flags_ |= IS_HBASE : flags_ &= ~IS_HBASE); }; |
| NABoolean isHbase() { return (flags_ & IS_HBASE) != 0; }; |
| |
| void setCascade(NABoolean v) |
| {(v ? flags_ |= CASCADE : flags_ & CASCADE) != 0; }; |
| NABoolean cascade() { return (flags_ & CASCADE) != 0; }; |
| |
| // --------------------------------------------------------------------- |
| // Used by the internal SHOWPLAN command to get attributes of a TDB. |
| // --------------------------------------------------------------------- |
| void displayContents(Space *space, ULng32 flag); |
| |
| protected: |
| enum |
| { |
| NO_HEADER = 0x0001, |
| USER_OBJS = 0x0002, |
| SYSTEM_OBJS = 0x0004, |
| ALL_OBJS = 0x0008, |
| GROUP_BY = 0x0010, |
| ORDER_BY = 0x0020, |
| GET_VERSION = 0x0040, |
| RETURN_FULLY_QUAL_NAMES = 0x0080, |
| GET_OBJECT_UID = 0x0100, |
| IS_INDEX = 0x0200, |
| IS_MV = 0x0400, |
| IS_HBASE = 0x0800, |
| EXTERNAL_OBJS = 0x1000, |
| CASCADE = 0x2000 |
| }; |
| |
| char * getCat() { return cat_; } |
| char * getSch() { return sch_; } |
| char * getObj() { return obj_; } |
| char * getPattern() { return pattern_; } |
| char * getParam1() { return param1_; } |
| |
| QueryType queryType_; // 00-03 |
| |
| char filler1_[4]; // 04-07 |
| |
| // catalog name |
| NABasicPtr cat_; // 08-15 |
| |
| // schema name |
| NABasicPtr sch_; // 16-23 |
| |
| // object name |
| NABasicPtr obj_; // 24-31 |
| |
| NABasicPtr pattern_; // 32-39 |
| |
| NABasicPtr param1_; // 40-47 |
| |
| UInt32 flags_; // 48-51 |
| |
| char filler2_[4]; // 52-55 |
| |
| NABasicPtr server_; |
| NABasicPtr zkPort_; |
| |
| char fillersComTdbExeUtilGetMetadataInfo_[80]; // 56-143 |
| }; |
| |
| class ComTdbExeUtilGetHiveMetadataInfo : public ComTdbExeUtilGetMetadataInfo |
| { |
| |
| public: |
| |
| ComTdbExeUtilGetHiveMetadataInfo() |
| : ComTdbExeUtilGetMetadataInfo() |
| {} |
| |
| ComTdbExeUtilGetHiveMetadataInfo( |
| QueryType queryType, |
| char * cat, |
| char * sch, |
| char * obj, |
| char * pattern, |
| char * param1, |
| ex_expr_base * scan_expr, |
| ex_cri_desc * work_cri_desc, |
| const unsigned short work_atp_index, |
| ex_cri_desc * given_cri_desc, |
| ex_cri_desc * returned_cri_desc, |
| queue_index down, |
| queue_index up, |
| Lng32 num_buffers, |
| ULng32 buffer_size |
| ); |
| |
| Long pack(void *); |
| Lng32 unpack(void *, void * reallocator); |
| |
| // --------------------------------------------------------------------- |
| // Redefine virtual functions required for Versioning. |
| //---------------------------------------------------------------------- |
| virtual short getClassSize() {return (short)sizeof(ComTdbExeUtilGetHiveMetadataInfo);} |
| |
| virtual const char *getNodeName() const |
| { |
| return "GET_HIVE_METADATA_INFO"; |
| }; |
| |
| // --------------------------------------------------------------------- |
| // Used by the internal SHOWPLAN command to get attributes of a TDB. |
| // --------------------------------------------------------------------- |
| void displayContents(Space *space, ULng32 flag); |
| |
| private: |
| |
| NABasicPtr unused1_; |
| NABasicPtr unused2_; |
| NABasicPtr unused3_; |
| NABasicPtr unused4_; |
| }; |
| |
| class ComTdbExeUtilLobExtract : public ComTdbExeUtil |
| { |
| friend class ExExeUtilLobExtractTcb; |
| friend class ExExeUtilFileExtractTcb; |
| friend class ExExeUtilFileLoadTcb; |
| friend class ExExeUtilLobExtractPrivateState; |
| |
| public: |
| enum ExtractToType |
| { |
| TO_FILE_, TO_STRING_, TO_BUFFER_, TO_EXTERNAL_FROM_STRING_, |
| TO_EXTERNAL_FROM_FILE_, RETRIEVE_LENGTH_, RETRIEVE_HDFSFILENAME_, |
| RETRIEVE_OFFSET_,NOOP_ |
| }; |
| |
| |
| ComTdbExeUtilLobExtract() |
| : ComTdbExeUtil() |
| {} |
| |
| ComTdbExeUtilLobExtract |
| ( |
| char * handle, |
| Lng32 handleLen, |
| ExtractToType toType, |
| Int64 bufAddr, |
| Int64 extractSize, |
| Int64 intParam1, |
| Int64 intParam2, |
| Int32 lobStorageType, |
| char * stringParam1, |
| char * stringParam2, |
| char * stringParam3, |
| char * lobHdfsServer, |
| Lng32 lobHdfsPort, |
| ex_expr * input_expr, |
| ULng32 input_rowlen, |
| ex_cri_desc * work_cri_desc, |
| const unsigned short work_atp_index, |
| ex_cri_desc * given_cri_desc, |
| ex_cri_desc * returned_cri_desc, |
| queue_index down, |
| queue_index up, |
| Lng32 num_buffers, |
| ULng32 buffer_size |
| ); |
| |
| Long pack(void * space); |
| Lng32 unpack(void * base, void * reallocator); |
| |
| char * getHandle() { return handle_; } |
| Lng32 getHandleLen() { return handleLen_; } |
| char * getFileName() { return stringParam1_; } |
| char * getStringParam1() { return stringParam1_; } |
| char * getStringParam2() { return stringParam2_; } |
| char * getStringParam3() { return stringParam3_; } |
| |
| char * getLobHdfsServer() { return lobHdfsServer_; } |
| Lng32 getLobHdfsPort() { return lobHdfsPort_; } |
| |
| ExtractToType getToType() { return (ExtractToType)toType_; } |
| |
| // --------------------------------------------------------------------- |
| // Redefine virtual functions required for Versioning. |
| //---------------------------------------------------------------------- |
| virtual short getClassSize() {return (short)sizeof(ComTdbExeUtilLobExtract);} |
| |
| virtual const char *getNodeName() const |
| { |
| return "LOB_EXTRACT"; |
| }; |
| |
| // --------------------------------------------------------------------- |
| // Used by the internal SHOWPLAN command to get attributes of a TDB. |
| // --------------------------------------------------------------------- |
| void displayContents(Space *space, ULng32 flag); |
| |
| void setHandleInStringFormat(NABoolean v) |
| {(v ? flags_ |= STRING_FORMAT : flags_ &= ~STRING_FORMAT); }; |
| NABoolean handleInStringFormat() { return (flags_ & STRING_FORMAT) != 0; }; |
| |
| void setSrcIsFile(NABoolean v) |
| {(v ? flags_ |= SRC_IS_FILE : flags_ &= ~SRC_IS_FILE); }; |
| NABoolean srcIsFile() { return (flags_ & SRC_IS_FILE) != 0; }; |
| |
| // whether to create the file before load. Valid with toType of TO_EXTERNAL_FROM_* |
| void setWithCreate(NABoolean v) |
| {(v ? flags_ |= WITH_CREATE : flags_ &= ~WITH_CREATE); }; |
| NABoolean withCreate() { return (flags_ & WITH_CREATE) != 0; }; |
| |
| void setRetrieveLength(NABoolean v) |
| {(v ? flags_ |= RETRIEVE_LENGTH : flags_ &= ~RETRIEVE_LENGTH); }; |
| NABoolean retrieveLength() { return (flags_ & RETRIEVE_LENGTH) != 0; }; |
| |
| void setRetrieveHdfsFileName(NABoolean v) |
| {(v ? flags_ |= RETRIEVE_HDFSFILENAME : flags_ &= ~RETRIEVE_HDFSFILENAME); }; |
| NABoolean retrieveHdfsFileName() { return (flags_ & RETRIEVE_HDFSFILENAME) != 0; }; |
| void setRetrieveOffset(NABoolean v) |
| {(v ? flags_ |= RETRIEVE_OFFSET : flags_ &= ~RETRIEVE_OFFSET); }; |
| NABoolean retrieveOffset() { return (flags_ & RETRIEVE_OFFSET) != 0; }; |
| void setErrorIfNotExists(NABoolean v) |
| {(v ? flags_ |= ERROR_IF_NOT_EXISTS : flags_ &= ~ERROR_IF_NOT_EXISTS); }; |
| NABoolean errorIfNotExists() { return (flags_ & ERROR_IF_NOT_EXISTS) != 0; }; |
| |
| void setErrorIfExists(NABoolean v) |
| {(v ? flags_ |= ERROR_IF_EXISTS : flags_ &= ~ERROR_IF_EXISTS); }; |
| NABoolean errorIfExists() { return (flags_ & ERROR_IF_EXISTS) != 0; }; |
| |
| void setTruncateExisting(NABoolean v) |
| {(v ? flags_ |= TRUNCATE_EXISTING : flags_ &= ~TRUNCATE_EXISTING); }; |
| NABoolean truncateExisting() { return (flags_ & TRUNCATE_EXISTING) != 0; }; |
| |
| void setAppendOrCreate(NABoolean v) |
| {(v ? flags_ |= APPEND_OR_CREATE : flags_ &= ~APPEND_OR_CREATE); }; |
| NABoolean appendOrCreate() { return (flags_ & APPEND_OR_CREATE) != 0; }; |
| |
| void setExtractSizeIOAddr(Int64 ext_addr){ extractSizeIOAddr_ = ext_addr;}; |
| Int64 dataExtractSizeIOAddr() { return extractSizeIOAddr_;} |
| void setTotalBufSize(Int64 bufSize) { totalBufSize_ = bufSize;}; |
| Int64 getTotalBufSize() { return totalBufSize_;}; |
| void setBufAddr(Int64 bufAddr) {bufAddr_ = bufAddr;}; |
| Int64 getBufAddr() { return bufAddr_;}; |
| |
| private: |
| enum |
| { |
| STRING_FORMAT = 0x0001, |
| SRC_IS_FILE = 0x0002, |
| WITH_CREATE = 0x0004, |
| RETRIEVE_LENGTH =0x0008, |
| ERROR_IF_NOT_EXISTS =0x0010, |
| ERROR_IF_EXISTS =0x0020, |
| TRUNCATE_EXISTING = 0x0040, |
| APPEND_OR_CREATE = 0x0080, |
| RETRIEVE_HDFSFILENAME= 0x0100, |
| RETRIEVE_OFFSET=0x0200 |
| |
| |
| |
| }; |
| |
| NABasicPtr handle_; // 00-07 |
| short toType_; // 08-09 |
| Int32 flags_; |
| Lng32 handleLen_; |
| Int64 extractSizeIOAddr_; // as passed in via syntax size |
| Int64 totalBufSize_; // buf size |
| Int64 bufAddr_ ; //buffer addressed as passed in by user via syntax |
| Int64 intParam1_; |
| Int64 intParam2_; |
| Lng32 lobStorageType_ ; // valid when extract is from a file. |
| Lng32 lobHdfsPort_; |
| NABasicPtr lobHdfsServer_; |
| NABasicPtr stringParam1_; |
| NABasicPtr stringParam2_; |
| NABasicPtr stringParam3_; |
| |
| char fillersComTdbExeUtilLobExtract_[40]; |
| }; |
| |
| |
| class ComTdbExeUtilLobUpdate : public ComTdbExeUtil |
| { |
| friend class ExExeUtilLobUpdateTcb; |
| friend class ExExeUtilPrivateState; |
| |
| public: |
| enum UpdateFromType |
| { |
| FROM_BUFFER_, FROM_STRING_, FROM_EXTERNAL_,NOOP_ |
| }; |
| |
| |
| ComTdbExeUtilLobUpdate() |
| : ComTdbExeUtil() |
| {} |
| ComTdbExeUtilLobUpdate |
| ( |
| char * handle, |
| Lng32 handleLen, |
| UpdateFromType fromType, |
| Int64 bufAddr, |
| Int64 updateSize, |
| Int32 lobStorageType, |
| char * lobHdfsServer, |
| Lng32 lobHdfsPort, |
| char *loc, |
| ex_expr * input_expr, |
| ULng32 input_rowlen, |
| ex_cri_desc * work_cri_desc, |
| const unsigned short work_atp_index, |
| ex_cri_desc * given_cri_desc, |
| ex_cri_desc * returned_cri_desc, |
| queue_index down, |
| queue_index up, |
| Lng32 num_buffers, |
| ULng32 buffer_size |
| ); |
| Long pack(void * space); |
| Lng32 unpack(void * base, void * reallocator); |
| |
| char * getHandle() { return handle_; } |
| Lng32 getHandleLen() { return handleLen_; } |
| char * getLobHdfsServer() { return lobHdfsServer_; } |
| Lng32 getLobHdfsPort() { return lobHdfsPort_; } |
| char * getLobLocation() { return lobLoc_;} |
| |
| UpdateFromType getFromType() { return (UpdateFromType)fromType_; } |
| |
| // --------------------------------------------------------------------- |
| // Redefine virtual functions required for Versioning. |
| //---------------------------------------------------------------------- |
| virtual short getClassSize() {return (short)sizeof(ComTdbExeUtilLobUpdate);} |
| |
| virtual const char *getNodeName() const |
| { |
| return "LOB_UPDATE_UTIL"; |
| }; |
| |
| // --------------------------------------------------------------------- |
| // Used by the internal SHOWPLAN command to get attributes of a TDB. |
| // --------------------------------------------------------------------- |
| void displayContents(Space *space, ULng32 flag); |
| |
| void setAppend(NABoolean v) |
| {(v ? flags_ |= APPEND_ : flags_ &= ~APPEND_); }; |
| NABoolean isAppend() { return (flags_ & APPEND_) != 0; }; |
| |
| void setErrorIfExists(NABoolean v) |
| {(v ? flags_ |= ERROR_IF_EXISTS_ : flags_ &= ~ERROR_IF_EXISTS_); }; |
| NABoolean isErrorIfExists() { return (flags_ & ERROR_IF_EXISTS_) != 0; }; |
| |
| void setTruncate(NABoolean v) |
| {(v ? flags_ |= TRUNCATE_ : flags_ &= ~TRUNCATE_); }; |
| NABoolean isTruncate() { return (flags_ & TRUNCATE_) != 0; }; |
| |
| void setReplace(NABoolean v) |
| {(v ? flags_ |= REPLACE_ : flags_ &= ~REPLACE_); }; |
| NABoolean isReplace() { return (flags_ & REPLACE_) != 0; }; |
| |
| void setLobLocking(NABoolean v) |
| {(v ? flags_ |= LOB_LOCKING_ : flags_ &= ~LOB_LOCKING_); }; |
| NABoolean lobLocking() { return (flags_ & LOB_LOCKING_) != 0; }; |
| |
| void setUpdateSize(Int64 upd_size){ updateSize_ = upd_size;}; |
| Int64 updateSize() { return updateSize_;} |
| void setTotalBufSize(Int64 bufSize) { totalBufSize_ = bufSize;}; |
| Int64 getTotalBufSize() { return totalBufSize_;}; |
| void setBufAddr(Int64 bufAddr) {bufAddr_ = bufAddr;}; |
| Int64 getBufAddr() { return bufAddr_;}; |
| void setLobMaxSize(Int64 lms) {lobMaxSize_ = lms;}; |
| Int64 getLobMaxSize() { return lobMaxSize_;}; |
| void setLobMaxChunkSize(Int64 lmcs) {lobMaxChunkSize_ = lmcs;}; |
| Int64 getLobMaxChunkSize() { return lobMaxChunkSize_;}; |
| void setLobGCLimit(Int64 gcl ) {lobGCLimit_ = gcl;}; |
| Int64 getLobGCLimit() { return lobGCLimit_;}; |
| private: |
| enum |
| { |
| ERROR_IF_EXISTS_ = 0x0001, |
| TRUNCATE_ = 0x0002, |
| APPEND_ = 0x0004, |
| REPLACE_=0x0008, |
| LOB_LOCKING_=0x0010 |
| }; |
| NABasicPtr handle_; |
| Int32 handleLen_; |
| short fromType_; |
| Int32 flags_; |
| Int64 updateSize_; |
| Int64 totalBufSize_; |
| Int64 bufAddr_; |
| Lng32 lobStorageType_; |
| Lng32 lobHdfsPort_; |
| NABasicPtr lobHdfsServer_; |
| NABasicPtr lobLoc_; |
| Int64 lobMaxSize_; |
| Int64 lobMaxChunkSize_; |
| Int64 lobGCLimit_; |
| }; |
| |
| class ComTdbExeUtilLobShowddl : public ComTdbExeUtil |
| { |
| friend class ExExeUtilLobShowddlTcb; |
| friend class ExExeUtilLobShowddlPrivateState; |
| |
| public: |
| ComTdbExeUtilLobShowddl() |
| : ComTdbExeUtil() |
| {} |
| |
| ComTdbExeUtilLobShowddl |
| ( |
| char * tableName, |
| char * schName, |
| short schNameLen, |
| Int64 objectUID, |
| Lng32 numLOBs, |
| char * lobNumArray, |
| char * lobLocArray, |
| char * lobTypeArray, |
| short maxLocLen, |
| short sdOptions, |
| ex_cri_desc * given_cri_desc, |
| ex_cri_desc * returned_cri_desc, |
| queue_index down, |
| queue_index up, |
| Lng32 num_buffers, |
| ULng32 buffer_size |
| ); |
| |
| Long pack(void * space); |
| Lng32 unpack(void * base, void * reallocator); |
| |
| // --------------------------------------------------------------------- |
| // Redefine virtual functions required for Versioning. |
| //---------------------------------------------------------------------- |
| virtual short getClassSize() {return (short)sizeof(ComTdbExeUtilLobShowddl);} |
| |
| virtual const char *getNodeName() const |
| { |
| return "LOB_SHOWDDL"; |
| }; |
| |
| // --------------------------------------------------------------------- |
| // Used by the internal SHOWPLAN command to get attributes of a TDB. |
| // --------------------------------------------------------------------- |
| void displayContents(Space *space, ULng32 flag); |
| |
| short getLOBnum(short i); |
| char * getLOBloc(short i); |
| NABoolean getIsExternalLobCol(short i); |
| UInt16 numLOBs() { return numLOBs_; } |
| |
| char * getLOBnumArray() { return lobNumArray_; } |
| char * getLOBlocArray() { return lobLocArray_; } |
| char * getLOBtypeArray() { return lobTypeArray_;} |
| |
| char * schName() { return schName_; }; |
| private: |
| UInt32 flags_; |
| |
| UInt16 numLOBs_; |
| short maxLocLen_; |
| |
| // array of shorts. numLOBs entries. |
| // Each entry is the lobNum. |
| NABasicPtr lobNumArray_; |
| |
| // array of string, null terminated. numLOBs entries. |
| // Each entry is the storage location of lob data file. |
| NABasicPtr lobLocArray_; |
| //array of int32. numLOBs entries |
| NABasicPtr lobTypeArray_; |
| Int64 objectUID_; |
| |
| NABasicPtr schName_; |
| short schNameLen_; |
| |
| short sdOptions_; |
| char fillersComTdbExeUtilLobShowddl_[4]; |
| }; |
| |
| |
| static const ComTdbVirtTableColumnInfo hiveMDTablesColInfo[] = |
| { |
| { "CATALOG_NAME", 0, COM_USER_COLUMN, REC_BYTE_F_ASCII, 256, FALSE , SQLCHARSETCODE_UTF8, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "" ,NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0}, |
| { "SCHEMA_NAME", 1, COM_USER_COLUMN, REC_BYTE_F_ASCII, 256, FALSE , SQLCHARSETCODE_UTF8, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "" ,NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0}, |
| { "TABLE_NAME", 2, COM_USER_COLUMN, REC_BYTE_F_ASCII, 256, FALSE , SQLCHARSETCODE_UTF8, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "" ,NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0}, |
| { "FILE_FORMAT", 3, COM_USER_COLUMN, REC_BYTE_F_ASCII, 24, FALSE , SQLCHARSETCODE_ISO88591, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "" ,NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0}, |
| { "CREATE_TIME", 4, COM_USER_COLUMN, REC_BIN64_SIGNED, 8, FALSE , SQLCHARSETCODE_UNKNOWN, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "" ,NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0}, |
| { "NUM_COLS", 5, COM_USER_COLUMN, REC_BIN32_SIGNED, 4, FALSE , SQLCHARSETCODE_UNKNOWN, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "" ,NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0}, |
| { "NUM_PART_COLS", 6, COM_USER_COLUMN, REC_BIN32_SIGNED, 4, FALSE , SQLCHARSETCODE_UNKNOWN, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "" ,NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0}, |
| { "NUM_BUCKET_COLS",7, COM_USER_COLUMN, REC_BIN32_SIGNED, 4, FALSE , SQLCHARSETCODE_UNKNOWN, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "" ,NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0}, |
| { "NUM_SORT_COLS", 8, COM_USER_COLUMN, REC_BIN32_SIGNED, 4, FALSE , SQLCHARSETCODE_UNKNOWN, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "" ,NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0}, |
| { "HIVE_OWNER", 9, COM_USER_COLUMN, REC_BYTE_F_ASCII, 256, FALSE , SQLCHARSETCODE_UTF8, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "" ,NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0}, |
| { "FIELD_DELIMITER", 10, COM_USER_COLUMN, REC_BIN16_SIGNED, 2, FALSE, SQLCHARSETCODE_UNKNOWN, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "" ,NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0}, |
| { "RECORD_TERMINATOR", 11, COM_USER_COLUMN, REC_BIN16_SIGNED, 2, FALSE, SQLCHARSETCODE_UNKNOWN, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "" ,NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0}, |
| { "NULL_FORMAT", 12, COM_USER_COLUMN, REC_BYTE_F_ASCII, 8, FALSE, SQLCHARSETCODE_ISO88591, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "" ,NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0}, |
| { "LOCATION", 13, COM_USER_COLUMN, REC_BYTE_F_ASCII, 1024, FALSE , SQLCHARSETCODE_UTF8, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "" ,NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0}, |
| { "HIVE_TABLE_TYPE", 14, COM_USER_COLUMN, REC_BYTE_F_ASCII, 128, FALSE , SQLCHARSETCODE_UTF8, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "" ,NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0} |
| }; |
| |
| struct HiveMDTablesColInfoStruct |
| { |
| char catName[256]; |
| char schName[256]; |
| char tblName[256]; |
| char fileFormat[24]; |
| Int64 createTime; |
| Int32 numCols; |
| Int32 numPartCols; |
| Int32 numBucketCols; |
| Int32 numSortCols; |
| char hiveOwner[256]; |
| Int16 fieldDelimiter; |
| Int16 recordTerminator; |
| char nullFormat[8]; |
| char location[1024]; |
| char hiveTableType[128]; |
| }; |
| |
| #define HIVEMD_DATA_TYPE_LEN 32 |
| #define HIVEMD_DISPLAY_DATA_TYPE_LEN 96 |
| #define HIVEMD_CHARSET_LEN 40 |
| #define HIVEMD_DT_QUALIFIER_LEN 28 |
| static const ComTdbVirtTableColumnInfo hiveMDColumnsColInfo[] = |
| { |
| { "CATALOG_NAME", 0, COM_USER_COLUMN, REC_BYTE_F_ASCII, 256, FALSE, SQLCHARSETCODE_UTF8, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "" ,NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0}, |
| { "SCHEMA_NAME", 1, COM_USER_COLUMN, REC_BYTE_F_ASCII, 256, FALSE, SQLCHARSETCODE_UTF8, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "" ,NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0}, |
| { "TABLE_NAME", 2, COM_USER_COLUMN, REC_BYTE_F_ASCII, 256, FALSE, SQLCHARSETCODE_UTF8, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "" ,NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0}, |
| { "COLUMN_NAME", 3, COM_USER_COLUMN, REC_BYTE_F_ASCII, 256, FALSE, SQLCHARSETCODE_UTF8, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "" ,NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0}, |
| { "SQL_DATA_TYPE", 4, COM_USER_COLUMN, REC_BYTE_F_ASCII, HIVEMD_DATA_TYPE_LEN, FALSE, SQLCHARSETCODE_ISO88591, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "" ,NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0}, |
| { "FS_DATA_TYPE", 5, COM_USER_COLUMN, REC_BIN32_SIGNED, 4, FALSE, SQLCHARSETCODE_UNKNOWN, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "" ,NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0}, |
| { "DISPLAY_DATA_TYPE", 6, COM_USER_COLUMN, REC_BYTE_F_ASCII, HIVEMD_DISPLAY_DATA_TYPE_LEN, FALSE, SQLCHARSETCODE_ISO88591, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "" ,NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0}, |
| { "HIVE_DATA_TYPE", 7, COM_USER_COLUMN, REC_BYTE_F_ASCII, HIVEMD_DATA_TYPE_LEN, FALSE, SQLCHARSETCODE_ISO88591, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "" ,NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0}, |
| { "COLUMN_SIZE", 8, COM_USER_COLUMN, REC_BIN32_SIGNED, 4, FALSE, SQLCHARSETCODE_UNKNOWN, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "" ,NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0}, |
| { "CHARACTER_SET", 9, COM_USER_COLUMN, REC_BYTE_F_ASCII, HIVEMD_CHARSET_LEN, FALSE, SQLCHARSETCODE_ISO88591, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "" ,NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0}, |
| { "COLUMN_PRECISION", 10, COM_USER_COLUMN, REC_BIN32_SIGNED, 4, FALSE, SQLCHARSETCODE_UNKNOWN, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "" ,NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0}, |
| { "COLUMN_SCALE", 11, COM_USER_COLUMN, REC_BIN32_SIGNED, 4, FALSE, SQLCHARSETCODE_UNKNOWN, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "" ,NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0}, |
| { "DT_CODE", 12, COM_USER_COLUMN, REC_BIN32_SIGNED, 4, FALSE, SQLCHARSETCODE_UNKNOWN, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "" ,NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0}, |
| { "NULLABLE", 13, COM_USER_COLUMN, REC_BIN32_SIGNED, 4, FALSE, SQLCHARSETCODE_UNKNOWN, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "" ,NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0}, |
| { "COLUMN_NUMBER", 14, COM_USER_COLUMN, REC_BIN32_SIGNED, 4, FALSE, SQLCHARSETCODE_UNKNOWN, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "" ,NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0}, |
| { "PART_COL_NUMBER", 15, COM_USER_COLUMN, REC_BIN32_SIGNED, 4, FALSE, SQLCHARSETCODE_UNKNOWN, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "" ,NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0}, |
| { "BUCKET_COL_NUMBER", 16, COM_USER_COLUMN, REC_BIN32_SIGNED, 4, FALSE, SQLCHARSETCODE_UNKNOWN, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "" ,NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0}, |
| { "SORT_COL_NUMBER", 17, COM_USER_COLUMN, REC_BIN32_SIGNED, 4, FALSE, SQLCHARSETCODE_UNKNOWN, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "" ,NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0}, |
| { "DATETIME_QUALIFIER", 18, COM_USER_COLUMN, REC_BYTE_F_ASCII, HIVEMD_DT_QUALIFIER_LEN, FALSE, SQLCHARSETCODE_ISO88591, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "" ,NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0}, |
| { "DATETIME_START_FIELD", 19, COM_USER_COLUMN, REC_BIN32_SIGNED, 4, FALSE, SQLCHARSETCODE_UNKNOWN, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "" ,NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0}, |
| { "DATETIME_END_FIELD", 20, COM_USER_COLUMN, REC_BIN32_SIGNED, 4, FALSE, SQLCHARSETCODE_UNKNOWN, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "" ,NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0}, |
| { "DEFAULT_VALUE", 21, COM_USER_COLUMN, REC_BYTE_F_ASCII, 240, FALSE, SQLCHARSETCODE_UTF8, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "" ,NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0}, |
| }; |
| |
| struct HiveMDColumnsColInfoStruct |
| { |
| char catName[256]; |
| char schName[256]; |
| char tblName[256]; |
| char colName[256]; |
| char sqlDatatype[32]; |
| Lng32 fsDatatype; |
| char displayDatatype[96]; |
| char hiveDatatype[32]; |
| Lng32 colSize; |
| char charSet[40]; |
| Lng32 colPrecision; |
| Lng32 colScale; |
| Lng32 dtCode; |
| Lng32 nullable; |
| Lng32 colNum; |
| Lng32 partColNum; |
| Lng32 bucketColNum; |
| Lng32 sortColNum; |
| char dtQualifier[28]; |
| Lng32 dtStartField; |
| Lng32 dtEndField; |
| char defVal[240]; |
| }; |
| |
| static const ComTdbVirtTableKeyInfo hiveMDColumnsVirtTableKeyInfo[] = |
| { |
| // colname keyseqnumber tablecolnumber ordering |
| { NULL, 1, 0, 0 , 0, NULL, NULL }, |
| { NULL, 2, 1, 0 , 0, NULL, NULL }, |
| { NULL, 2, 2, 0 , 0, NULL, NULL } |
| }; |
| |
| static const ComTdbVirtTableColumnInfo hiveMDPKeysColInfo[] = |
| { |
| { "CATALOG_NAME", 0, COM_USER_COLUMN, REC_BYTE_F_ASCII, 256, FALSE , SQLCHARSETCODE_UNKNOWN, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "" ,NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0}, |
| { "SCHEMA_NAME", 1, COM_USER_COLUMN, REC_BYTE_F_ASCII, 256, FALSE , SQLCHARSETCODE_UNKNOWN, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "" ,NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0}, |
| { "TABLE_NAME", 2, COM_USER_COLUMN, REC_BYTE_F_ASCII, 256, FALSE , SQLCHARSETCODE_UNKNOWN, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "" ,NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0}, |
| { "COLUMN_NAME", 3, COM_USER_COLUMN, REC_BYTE_F_ASCII, 256, FALSE , SQLCHARSETCODE_UNKNOWN, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "" ,NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0}, |
| { "ORDINAL_POSITION", 4, COM_USER_COLUMN, REC_BIN32_SIGNED, 4, FALSE, SQLCHARSETCODE_UNKNOWN, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "",NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0} |
| }; |
| |
| struct HiveMDPKeysColInfoStruct |
| { |
| char catName[256]; |
| char schName[256]; |
| char tblName[256]; |
| char colName[256]; |
| Lng32 ordPos; |
| }; |
| |
| static const ComTdbVirtTableColumnInfo hiveMDFKeysColInfo[] = |
| { |
| { "CATALOG_NAME", 0, COM_USER_COLUMN, REC_BYTE_F_ASCII, 256, FALSE , SQLCHARSETCODE_UNKNOWN, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "" ,NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0}, |
| { "SCHEMA_NAME", 1, COM_USER_COLUMN, REC_BYTE_F_ASCII, 256, FALSE , SQLCHARSETCODE_UNKNOWN, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "" ,NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0}, |
| { "TABLE_NAME", 2, COM_USER_COLUMN, REC_BYTE_F_ASCII, 256, FALSE , SQLCHARSETCODE_UNKNOWN, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "" ,NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0}, |
| { "COLUMN_NAME", 3, COM_USER_COLUMN, REC_BYTE_F_ASCII, 256, FALSE , SQLCHARSETCODE_UNKNOWN, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "" ,NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0}, |
| { "KEY_SEQ", 4, COM_USER_COLUMN, REC_BIN32_SIGNED, 4, FALSE, SQLCHARSETCODE_UNKNOWN, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "",NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0} |
| }; |
| |
| struct HiveMDFKeysColInfoStruct |
| { |
| char catName[256]; |
| char schName[256]; |
| char tblName[256]; |
| char colName[256]; |
| Lng32 keySeq; |
| }; |
| |
| static const ComTdbVirtTableColumnInfo hiveMDViewsColInfo[] = |
| { |
| { "CATALOG_NAME", 0, COM_USER_COLUMN, REC_BYTE_F_ASCII, 256, FALSE , SQLCHARSETCODE_UNKNOWN, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "" ,NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0}, |
| { "SCHEMA_NAME", 1, COM_USER_COLUMN, REC_BYTE_F_ASCII, 256, FALSE , SQLCHARSETCODE_UNKNOWN, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "" ,NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0}, |
| { "VIEW_NAME", 2, COM_USER_COLUMN, REC_BYTE_F_ASCII, 256, FALSE , SQLCHARSETCODE_UNKNOWN, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "",NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0} |
| }; |
| |
| struct HiveMDViewsColInfoStruct |
| { |
| char catName[256]; |
| char schName[256]; |
| char viewName[256]; |
| }; |
| |
| static const ComTdbVirtTableColumnInfo hiveMDAliasColInfo[] = |
| { |
| { "CATALOG_NAME", 0, COM_USER_COLUMN, REC_BYTE_F_ASCII, 256, FALSE , SQLCHARSETCODE_UNKNOWN, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "" ,NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0}, |
| { "SCHEMA_NAME", 1, COM_USER_COLUMN, REC_BYTE_F_ASCII, 256, FALSE , SQLCHARSETCODE_UNKNOWN, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "" ,NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0}, |
| { "TABLE_NAME", 2, COM_USER_COLUMN, REC_BYTE_F_ASCII, 256, FALSE , SQLCHARSETCODE_UNKNOWN, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "" ,NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0}, |
| { "ALIAS_NAME", 3, COM_USER_COLUMN, REC_BYTE_F_ASCII, 256, FALSE , SQLCHARSETCODE_UNKNOWN, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "",NULL,NULL |
| ,COM_UNKNOWN_DIRECTION_LIT, 0} |
| }; |
| |
| struct HiveMDAliasColInfoStruct |
| { |
| char catName[256]; |
| char schName[256]; |
| char tblName[256]; |
| char aliasName[256]; |
| }; |
| |
| static const ComTdbVirtTableColumnInfo hiveMDSynonymColInfo[] = |
| { |
| { "CATALOG_NAME", 0, COM_USER_COLUMN, REC_BYTE_F_ASCII, 256, FALSE , SQLCHARSETCODE_UNKNOWN, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "" ,NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0}, |
| { "SCHEMA_NAME", 1, COM_USER_COLUMN, REC_BYTE_F_ASCII, 256, FALSE , SQLCHARSETCODE_UNKNOWN, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "" ,NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0}, |
| { "TABLE_NAME", 2, COM_USER_COLUMN, REC_BYTE_F_ASCII, 256, FALSE , SQLCHARSETCODE_UNKNOWN, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "" ,NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0}, |
| { "SYN_NAME", 3, COM_USER_COLUMN, REC_BYTE_F_ASCII, 256, FALSE , SQLCHARSETCODE_UNKNOWN, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "",NULL,NULL |
| ,COM_UNKNOWN_DIRECTION_LIT, 0} |
| }; |
| |
| struct HiveMDSynonymColInfoStruct |
| { |
| char catName[256]; |
| char schName[256]; |
| char tblName[256]; |
| char synName[256]; |
| }; |
| |
| static const ComTdbVirtTableColumnInfo hiveMDSysTablesColInfo[] = |
| { |
| { "CATALOG_NAME", 0, COM_USER_COLUMN, REC_BYTE_F_ASCII, 256, FALSE , SQLCHARSETCODE_UNKNOWN, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "" ,NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0}, |
| { "SCHEMA_NAME", 1, COM_USER_COLUMN, REC_BYTE_F_ASCII, 256, FALSE , SQLCHARSETCODE_UNKNOWN, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "" ,NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0}, |
| { "TABLE_NAME", 2, COM_USER_COLUMN, REC_BYTE_F_ASCII, 256, FALSE , SQLCHARSETCODE_UNKNOWN, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "",NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0} |
| }; |
| |
| struct HiveMDSysTablesColInfoStruct |
| { |
| char catName[256]; |
| char schName[256]; |
| char tblName[256]; |
| }; |
| |
| static const ComTdbVirtTableColumnInfo hiveMDSchemasColInfo[] = |
| { |
| { "CATALOG_NAME", 0, COM_USER_COLUMN, REC_BYTE_F_ASCII, 256, FALSE , SQLCHARSETCODE_UNKNOWN, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "" ,NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0}, |
| { "SCHEMA_NAME", 1, COM_USER_COLUMN, REC_BYTE_F_ASCII, 256, FALSE , SQLCHARSETCODE_UNKNOWN, 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "" ,NULL,NULL,COM_UNKNOWN_DIRECTION_LIT, 0} |
| }; |
| |
| struct HiveMDSchemasColInfoStruct |
| { |
| char catName[256]; |
| char schName[256]; |
| }; |
| |
| class ComTdbExeUtilHiveMDaccess : public ComTdbExeUtil |
| { |
| friend class ExExeUtilHiveMDaccessTcb; |
| |
| public: |
| enum MDType |
| { |
| NOOP_, |
| TABLES_, |
| COLUMNS_, |
| PKEYS_, |
| VIEWS_, |
| FKEYS_, |
| ALIAS_, |
| SYNONYMS_, |
| SYSTEM_TABLES_, |
| SCHEMAS_ |
| }; |
| |
| // Constructors |
| |
| // Default constructor (used in ComTdb::fixupVTblPtr() to extract |
| // the virtual table after unpacking. |
| |
| ComTdbExeUtilHiveMDaccess(); |
| |
| // Constructor used by the generator. |
| ComTdbExeUtilHiveMDaccess( |
| MDType type, |
| ULng32 returnedTuplelen, |
| ex_cri_desc *criDescParentDown, |
| ex_cri_desc *criDescParentUp, |
| ex_cri_desc *workCriDesc, |
| unsigned short workAtpIndex, |
| queue_index queueSizeDown, |
| queue_index queueSizeUp, |
| Lng32 numBuffers, |
| ULng32 bufferSize, |
| ex_expr *scanExpr, |
| char * hivePredStr, |
| char * catalogName, |
| char * schemaName, |
| char * objectName |
| ); |
| |
| char * hivePredStr() { return hivePredStr_;} |
| char * getCatalog() { return catalog_; } |
| char * getSchema() { return schema_; } |
| char * getObject() { return object_; } |
| |
| // This always returns TRUE for now |
| Int32 orderedQueueProtocol() const { return -1; }; |
| |
| // --------------------------------------------------------------------- |
| // Redefine virtual functions required for Versioning. |
| //---------------------------------------------------------------------- |
| virtual unsigned char getClassVersionID() |
| { |
| return 1; |
| } |
| |
| virtual void populateImageVersionIDArray() |
| { |
| setImageVersionID(1,getClassVersionID()); |
| ComTdb::populateImageVersionIDArray(); |
| } |
| |
| virtual short getClassSize() { return (short)sizeof(ComTdbExeUtilHiveMDaccess); } |
| |
| // Pack and Unpack routines |
| Long pack(void *); |
| Lng32 unpack(void *, void * reallocator); |
| |
| // For the GUI, Does nothing right now |
| void display() const {}; |
| |
| // --------------------------------------------------------------------- |
| // Used by the internal SHOWPLAN command to get attributes of a TDB. |
| // --------------------------------------------------------------------- |
| void displayContents(Space *space, ULng32 flag); |
| |
| // Virtual routines to provide a consistent interface to TDB's |
| |
| virtual const ComTdb *getChild(Int32 /*child*/) const { return NULL; }; |
| |
| // numChildren always returns 0 for ComTdbStats |
| virtual Int32 numChildren() const { return 0; }; |
| |
| virtual const char *getNodeName() const { return "EX_HIVE_MD"; }; |
| |
| // numExpressions always returns 2 for ComTdbStats |
| virtual Int32 numExpressions() const; |
| |
| // The names of the expressions |
| virtual const char * getExpressionName(Int32) const; |
| |
| // The expressions themselves |
| virtual ex_expr* getExpressionNode(Int32); |
| |
| static Int32 getVirtTableNumCols(char * name) |
| { |
| if (strcmp(name, "TABLES") == 0) |
| return sizeof(hiveMDTablesColInfo)/sizeof(ComTdbVirtTableColumnInfo); |
| else if (strcmp(name, "COLUMNS") == 0) |
| return sizeof(hiveMDColumnsColInfo)/sizeof(ComTdbVirtTableColumnInfo); |
| else if (strcmp(name, "PKEYS") == 0) |
| return sizeof(hiveMDPKeysColInfo)/sizeof(ComTdbVirtTableColumnInfo); |
| else if (strcmp(name, "FKEYS") == 0) |
| return sizeof(hiveMDFKeysColInfo)/sizeof(ComTdbVirtTableColumnInfo); |
| else if (strcmp(name, "VIEWS") == 0) |
| return sizeof(hiveMDViewsColInfo)/sizeof(ComTdbVirtTableColumnInfo); |
| else if (strcmp(name, "ALIAS") == 0) |
| return sizeof(hiveMDAliasColInfo)/sizeof(ComTdbVirtTableColumnInfo); |
| else if (strcmp(name, "SYNONYMS") == 0) |
| return sizeof(hiveMDSynonymColInfo)/sizeof(ComTdbVirtTableColumnInfo); |
| else if (strcmp(name, "SYSTEM_TABLES") == 0) |
| return sizeof(hiveMDSysTablesColInfo)/sizeof(ComTdbVirtTableColumnInfo); |
| else if (strcmp(name, "SCHEMAS") == 0) |
| return sizeof(hiveMDSchemasColInfo)/sizeof(ComTdbVirtTableColumnInfo); |
| else |
| return -1; |
| } |
| |
| static ComTdbVirtTableColumnInfo * getVirtTableColumnInfo (char * name) |
| { |
| if (strcmp(name, "TABLES") == 0) |
| return (ComTdbVirtTableColumnInfo*)hiveMDTablesColInfo; |
| else if (strcmp(name, "COLUMNS") == 0) |
| return (ComTdbVirtTableColumnInfo*)hiveMDColumnsColInfo; |
| else if (strcmp(name, "PKEYS") == 0) |
| return (ComTdbVirtTableColumnInfo*)hiveMDPKeysColInfo; |
| else if (strcmp(name, "FKEYS") == 0) |
| return (ComTdbVirtTableColumnInfo*)hiveMDFKeysColInfo; |
| else if (strcmp(name, "VIEWS") == 0) |
| return (ComTdbVirtTableColumnInfo*)hiveMDViewsColInfo; |
| else if (strcmp(name, "ALIAS") == 0) |
| return (ComTdbVirtTableColumnInfo*)hiveMDAliasColInfo; |
| else if (strcmp(name, "SYNONYMS") == 0) |
| return (ComTdbVirtTableColumnInfo*)hiveMDSynonymColInfo; |
| else if (strcmp(name, "SYSTEM_TABLES") == 0) |
| return (ComTdbVirtTableColumnInfo*)hiveMDSysTablesColInfo; |
| else if (strcmp(name, "SCHEMAS") == 0) |
| return (ComTdbVirtTableColumnInfo*)hiveMDSchemasColInfo; |
| else |
| return NULL; |
| } |
| |
| static Int32 getVirtTableNumKeys(char * name) |
| { |
| if (strcmp(name, "COLUMNS") == 0) |
| return sizeof(hiveMDColumnsVirtTableKeyInfo)/sizeof(ComTdbVirtTableKeyInfo); |
| else |
| return 0; |
| } |
| |
| static ComTdbVirtTableKeyInfo * getVirtTableKeyInfo(char * name) |
| { |
| if (strcmp(name, "COLUMNS") == 0) |
| return (ComTdbVirtTableKeyInfo *)hiveMDColumnsVirtTableKeyInfo; |
| else |
| return NULL; |
| } |
| |
| private: |
| |
| Int32 mdType_; // 00 - 03 |
| |
| char fillers_[4]; // 04 - 07 |
| |
| NABasicPtr hivePredStr_; // 08 - 15 |
| |
| NABasicPtr catalog_; // 16 - 23 |
| |
| NABasicPtr schema_; // 24 - 31 |
| |
| NABasicPtr object_; // 32 - 39 |
| }; |
| |
| class ComTdbExeUtilHBaseBulkLoad : public ComTdbExeUtil |
| { |
| friend class ExExeUtilHBaseBulkLoadTcb; |
| friend class ExExeUtilHbaseLoadPrivateState; |
| |
| public: |
| ComTdbExeUtilHBaseBulkLoad() |
| : ComTdbExeUtil() |
| {} |
| |
| ComTdbExeUtilHBaseBulkLoad(char * tableName, |
| ULng32 tableNameLen, |
| char * ldStmtStr, |
| ex_cri_desc * work_cri_desc, |
| const unsigned short work_atp_index, |
| ex_cri_desc * given_cri_desc, |
| ex_cri_desc * returned_cri_desc, |
| queue_index down, |
| queue_index up, |
| Lng32 num_buffers, |
| ULng32 buffer_size, |
| char * errCountTab, |
| char * logLocation |
| ); |
| |
| Long pack(void *); |
| Lng32 unpack(void *, void * reallocator); |
| |
| // --------------------------------------------------------------------- |
| // Redefine virtual functions required for Versioning. |
| //---------------------------------------------------------------------- |
| virtual short getClassSize() {return (short)sizeof(ComTdbExeUtilHBaseBulkLoad);} |
| |
| virtual const char *getNodeName() const |
| { |
| return "HBASE_BULK_LOAD"; |
| }; |
| |
| char * getErrCountTable() { return errCountTable_ ; } |
| char * getLoggingLocation() {return loggingLocation_;} |
| |
| void setPreloadCleanup(NABoolean v) |
| {(v ? flags_ |= PRE_LOAD_CLEANUP : flags_ &= ~PRE_LOAD_CLEANUP); }; |
| NABoolean getPreloadCleanup() { return (flags_ & PRE_LOAD_CLEANUP) != 0; }; |
| |
| void setPreparation(NABoolean v) |
| {(v ? flags_ |= PREPARATION : flags_ &= ~PREPARATION); }; |
| NABoolean getPreparation() { return (flags_ & PREPARATION) != 0; }; |
| |
| void setKeepHFiles(NABoolean v) |
| {(v ? flags_ |= KEEP_HFILES : flags_ &= ~KEEP_HFILES); }; |
| NABoolean getKeepHFiles() { return (flags_ & KEEP_HFILES) != 0; }; |
| |
| void setTruncateTable(NABoolean v) |
| {(v ? flags_ |= TRUNCATE_TABLE : flags_ &= ~TRUNCATE_TABLE); }; |
| NABoolean getTruncateTable() { return (flags_ & TRUNCATE_TABLE) != 0; }; |
| |
| void setNoRollback(NABoolean v) |
| {(v ? flags_ |= NO_ROLLBACK : flags_ &= ~NO_ROLLBACK); }; |
| NABoolean getNoRollback() { return (flags_ & NO_ROLLBACK) != 0; }; |
| |
| void setLogErrorRows(NABoolean v) |
| {(v ? flags_ |= LOG_ERROR_ROWS : flags_ &= ~LOG_ERROR_ROWS); }; |
| NABoolean getLogErrorRows() { return (flags_ & LOG_ERROR_ROWS) != 0; }; |
| |
| void setContinueOnError(NABoolean v) |
| {(v ? flags_ |= CONTINUE_ON_ERROR : flags_ &= ~CONTINUE_ON_ERROR); }; |
| NABoolean getContinueOnError() { return (flags_ & CONTINUE_ON_ERROR) != 0; }; |
| |
| void setSecure(NABoolean v) |
| {(v ? flags_ |= SECURE : flags_ &= ~SECURE); }; |
| NABoolean getSecure() { return (flags_ & SECURE) != 0; }; |
| |
| void setNoDuplicates(NABoolean v) |
| {(v ? flags_ |= NO_DUPLICATES : flags_ &= ~NO_DUPLICATES); }; |
| NABoolean getNoDuplicates() { return (flags_ & NO_DUPLICATES) != 0; }; |
| |
| void setRebuildIndexes(NABoolean v) |
| {(v ? flags_ |= REBUILD_INDEXES : flags_ &= ~REBUILD_INDEXES); }; |
| NABoolean getRebuildIndexes() { return (flags_ & REBUILD_INDEXES) != 0; }; |
| |
| void setConstraints(NABoolean v) |
| {(v ? flags_ |= CONSTRAINTS : flags_ &= ~CONSTRAINTS); }; |
| NABoolean getConstraints() { return (flags_ & CONSTRAINTS) != 0; }; |
| |
| void setNoOutput(NABoolean v) |
| {(v ? flags_ |= NO_OUTPUT : flags_ &= ~NO_OUTPUT); }; |
| NABoolean getNoOutput() { return (flags_ & NO_OUTPUT) != 0; }; |
| |
| void setIndexTableOnly(NABoolean v) |
| {(v ? flags_ |= INDEX_TABLE_ONLY : flags_ &= ~INDEX_TABLE_ONLY); }; |
| NABoolean getIndexTableOnly() { return (flags_ & INDEX_TABLE_ONLY) != 0; }; |
| void setUpsertUsingLoad(NABoolean v) |
| {(v ? flags_ |= UPSERT_USING_LOAD : flags_ &= ~UPSERT_USING_LOAD); }; |
| NABoolean getUpsertUsingLoad() { return (flags_ & UPSERT_USING_LOAD) != 0; }; |
| |
| void setForceCIF(NABoolean v) |
| {(v ? flags_ |= FORCE_CIF : flags_ &= ~FORCE_CIF); }; |
| NABoolean getForceCIF() { return (flags_ & FORCE_CIF) != 0; }; |
| |
| void setUpdateStats(NABoolean v) |
| { |
| (v ? flags_ |= UPDATE_STATS : flags_ &= ~UPDATE_STATS); }; |
| NABoolean getUpdateStats() { return (flags_ & UPDATE_STATS) != 0; }; |
| void setMaxErrorRows (Int32 v) { maxErrorRows_ = v; } |
| |
| Int32 getMaxErrorRows() const { return maxErrorRows_; } |
| |
| void setHasUniqueIndexes(NABoolean v) |
| {(v ? flags_ |= HAS_UNIQUE_INDEXES : flags_ &= ~HAS_UNIQUE_INDEXES); }; |
| NABoolean getHasUniqueIndexes() { return (flags_ & HAS_UNIQUE_INDEXES) != 0; }; |
| |
| |
| // --------------------------------------------------------------------- |
| // Used by the internal SHOWPLAN command to get attributes of a TDB. |
| // --------------------------------------------------------------------- |
| void displayContents(Space *space, ULng32 flag); |
| |
| private: |
| enum |
| { |
| PRE_LOAD_CLEANUP = 0x0001, |
| PREPARATION = 0x0002, |
| KEEP_HFILES = 0x0004, |
| TRUNCATE_TABLE = 0x0008, |
| NO_ROLLBACK = 0x0010, |
| LOG_ERROR_ROWS = 0x0020, |
| SECURE = 0x0040, |
| NO_DUPLICATES = 0x0080, |
| REBUILD_INDEXES = 0x0100, |
| CONSTRAINTS = 0x0200, |
| NO_OUTPUT = 0x0400, |
| INDEX_TABLE_ONLY = 0x0800, |
| UPSERT_USING_LOAD= 0x1000, |
| FORCE_CIF = 0x2000, |
| UPDATE_STATS = 0x4000, |
| CONTINUE_ON_ERROR= 0x8000, |
| HAS_UNIQUE_INDEXES= 0x10000 |
| }; |
| |
| // load stmt |
| NABasicPtr ldQuery_; // 00-07 |
| |
| UInt32 flags_; // 08-11 |
| Int32 maxErrorRows_; // 12-15 |
| NABasicPtr errCountTable_; // 16-23 |
| NABasicPtr loggingLocation_; // 24-31 |
| char fillersExeUtilHbaseLoad_[8]; // 32-39 |
| }; |
| |
| //****************************************************** |
| // Bulk Unload |
| //**************************8 |
| |
| class ComTdbExeUtilHBaseBulkUnLoad : public ComTdbExeUtil |
| { |
| friend class ExExeUtilHBaseBulkUnLoadTcb; |
| friend class ExExeUtilHbaseUnLoadPrivateState; |
| |
| public: |
| enum ScanTypeEnum |
| { |
| REGULAR_SCAN = 0, |
| SNAPSHOT_SCAN_CREATE = 1, |
| SNAPSHOT_SCAN_EXISTING = 2 |
| }; |
| ComTdbExeUtilHBaseBulkUnLoad() |
| : ComTdbExeUtil() |
| {} |
| |
| ComTdbExeUtilHBaseBulkUnLoad(char * tableName, |
| ULng32 tableNameLen, |
| char * ldStmtStr, |
| char * extractLocation, |
| ex_cri_desc * work_cri_desc, |
| const unsigned short work_atp_index, |
| ex_cri_desc * given_cri_desc, |
| ex_cri_desc * returned_cri_desc, |
| queue_index down, |
| queue_index up, |
| Lng32 num_buffers, |
| ULng32 buffer_size |
| ); |
| |
| Long pack(void *); |
| Lng32 unpack(void *, void * reallocator); |
| |
| // --------------------------------------------------------------------- |
| // Redefine virtual functions required for Versioning. |
| //---------------------------------------------------------------------- |
| virtual short getClassSize() {return (short)sizeof(ComTdbExeUtilHBaseBulkUnLoad);} |
| |
| virtual const char *getNodeName() const |
| { |
| return "HBASE_BULK_UNLOAD"; |
| }; |
| |
| |
| |
| void setEmptyTarget(NABoolean v) |
| {(v ? flags_ |= EMPTY_TARGET : flags_ &= ~EMPTY_TARGET); }; |
| NABoolean getEmptyTarget() { return (flags_ & EMPTY_TARGET) != 0; }; |
| |
| void setLogErrors(NABoolean v) |
| {(v ? flags_ |= LOG_ERRORS : flags_ &= ~LOG_ERRORS); }; |
| NABoolean getLogErrors() { return (flags_ & LOG_ERRORS) != 0; }; |
| |
| void setNoOutput(NABoolean v) |
| {(v ? flags_ |= NO_OUTPUT : flags_ &= ~NO_OUTPUT); }; |
| NABoolean getNoOutput() { return (flags_ & NO_OUTPUT) != 0; }; |
| |
| void setCompressType(UInt8 v){ |
| compressType_ = v; |
| }; |
| UInt8 getCompressType() { |
| return compressType_; |
| }; |
| void setOneFile(NABoolean v) |
| {(v ? flags_ |= ONE_FILE : flags_ &= ~ONE_FILE); }; |
| NABoolean getOneFile() { return (flags_ & ONE_FILE) != 0; }; |
| |
| void setMergePath(char * v){ |
| mergePath_ = v; |
| } |
| char * getMergePath() const { |
| return mergePath_; |
| } |
| |
| void setExtractLocation(char * v){ |
| extractLocation_ = v; |
| } |
| char * getExtractLocation() const { |
| return extractLocation_; |
| } |
| void setSkipWriteToFiles(NABoolean v) |
| {(v ? flags_ |= SKIP_WRITE_TO_FILES : flags_ &= ~SKIP_WRITE_TO_FILES); }; |
| NABoolean getSkipWriteToFiles() { return (flags_ & SKIP_WRITE_TO_FILES) != 0; }; |
| |
| void setOverwriteMergeFile(NABoolean v) |
| {(v ? flags_ |= OVERWRITE_MERGE_FILE : flags_ &= ~OVERWRITE_MERGE_FILE); }; |
| NABoolean getOverwriteMergeFile() { return (flags_ & OVERWRITE_MERGE_FILE) != 0; }; |
| |
| void setScanType(UInt8 v){ |
| //scan type values are set originally in parser can be only o, 1 or 2. |
| assert(v == REGULAR_SCAN || v == SNAPSHOT_SCAN_CREATE || v == SNAPSHOT_SCAN_EXISTING); |
| scanType_ = v; |
| }; |
| UInt8 getScanType() { |
| return scanType_; |
| }; |
| void setSnapshotSuffix(char * v){ |
| snapshotSuffix_ = v; |
| } |
| char * getSnapshotSuffix() const { |
| return snapshotSuffix_; |
| } |
| |
| // --------------------------------------------------------------------- |
| // Used by the internal SHOWPLAN command to get attributes of a TDB. |
| // --------------------------------------------------------------------- |
| void displayContents(Space *space, ULng32 flag); |
| |
| private: |
| enum |
| { |
| EMPTY_TARGET = 0x0001, |
| LOG_ERRORS = 0x0002, |
| ONE_FILE = 0x0004, |
| NO_OUTPUT = 0x0008, |
| SKIP_WRITE_TO_FILES = 0x0010, |
| OVERWRITE_MERGE_FILE= 0x0020 |
| }; |
| |
| // load stmt |
| NABasicPtr uldQuery_; // 00 - 07 |
| NABasicPtr mergePath_; // 08 - 15 |
| NABasicPtr extractLocation_; // 16 - 23 |
| UInt32 flags_; // 24 - 27 |
| UInt8 compressType_; // 28 - 28 |
| UInt8 scanType_; // 29 - 29 |
| NABasicPtr snapshotSuffix_; // 30 - 37 |
| char fillersExeUtilHbaseUnLoad_[16]; // 38 - 53 |
| }; |
| |
| #define STATS_NAME_MAX_LEN 256 |
| #define STATS_REGION_NAME_MAX_LEN 512 |
| |
| static const ComTdbVirtTableColumnInfo comTdbRegionStatsVirtTableColumnInfo[] = |
| { |
| { "CATALOG_NAME", 0, COM_USER_COLUMN, REC_BYTE_F_ASCII, 256, FALSE, SQLCHARSETCODE_UTF8 , 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "",NULL,NULL, COM_UNKNOWN_DIRECTION_LIT, 0 }, |
| { "SCHEMA_NAME", 1, COM_USER_COLUMN, REC_BYTE_F_ASCII, 256, FALSE, SQLCHARSETCODE_UTF8 , 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "",NULL,NULL, COM_UNKNOWN_DIRECTION_LIT, 0 }, |
| { "OBJECT_NAME", 2, COM_USER_COLUMN, REC_BYTE_F_ASCII, 256, FALSE, SQLCHARSETCODE_UTF8 , 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "",NULL,NULL, COM_UNKNOWN_DIRECTION_LIT, 0 }, |
| { "REGION_SERVER", 3, COM_USER_COLUMN, REC_BYTE_F_ASCII, 256, FALSE, SQLCHARSETCODE_UTF8 , 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "",NULL,NULL, COM_UNKNOWN_DIRECTION_LIT, 0 }, |
| { "REGION_NUM", 4, COM_USER_COLUMN, REC_BIN64_SIGNED, 4, FALSE, SQLCHARSETCODE_UTF8 , 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "",NULL,NULL, COM_UNKNOWN_DIRECTION_LIT, 0 }, |
| { "REGION_NAME", 5, COM_USER_COLUMN, REC_BYTE_F_ASCII, 512, FALSE, SQLCHARSETCODE_UTF8 , 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "",NULL,NULL, COM_UNKNOWN_DIRECTION_LIT, 0 }, |
| { "NUM_STORES", 6, COM_USER_COLUMN, REC_BIN32_SIGNED, 8, FALSE, SQLCHARSETCODE_UTF8 , 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "",NULL,NULL, COM_UNKNOWN_DIRECTION_LIT, 0 }, |
| { "NUM_STORE_FILES", 7, COM_USER_COLUMN, REC_BIN32_SIGNED, 8, FALSE, SQLCHARSETCODE_UTF8 , 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "",NULL,NULL, COM_UNKNOWN_DIRECTION_LIT, 0 }, |
| { "STORE_FILE_UNCOMP_SIZE", 8, COM_USER_COLUMN, REC_BIN64_SIGNED, 8, FALSE, SQLCHARSETCODE_UTF8 , 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "",NULL,NULL, COM_UNKNOWN_DIRECTION_LIT, 0 }, |
| { "STORE_FILE_SIZE", 9, COM_USER_COLUMN, REC_BIN64_SIGNED, 8, FALSE, SQLCHARSETCODE_UTF8 , 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "",NULL,NULL, COM_UNKNOWN_DIRECTION_LIT, 0 }, |
| { "MEM_STORE_SIZE", 10, COM_USER_COLUMN, REC_BIN64_SIGNED, 8, FALSE, SQLCHARSETCODE_UTF8 , 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "",NULL,NULL, COM_UNKNOWN_DIRECTION_LIT, 0 }, |
| { "READ_REQUESTS_COUNT", 11, COM_USER_COLUMN, REC_BIN64_SIGNED, 8, FALSE, SQLCHARSETCODE_UTF8 , 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "",NULL,NULL, COM_UNKNOWN_DIRECTION_LIT, 0 }, |
| { "WRITE_REQUESTS_COUNT", 12, COM_USER_COLUMN, REC_BIN64_SIGNED, 8, FALSE, SQLCHARSETCODE_UTF8 , 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "",NULL,NULL, COM_UNKNOWN_DIRECTION_LIT, 0 } |
| }; |
| |
| struct ComTdbRegionStatsVirtTableColumnStruct |
| { |
| char catalogName[STATS_NAME_MAX_LEN]; |
| char schemaName[STATS_NAME_MAX_LEN]; |
| char objectName[STATS_NAME_MAX_LEN]; |
| char regionServer[STATS_NAME_MAX_LEN]; |
| Int64 regionNum; |
| char regionName[STATS_REGION_NAME_MAX_LEN]; |
| Lng32 numStores; |
| Lng32 numStoreFiles; |
| Int64 storeFileUncompSize; |
| Int64 storeFileSize; |
| Int64 memStoreSize; |
| Int64 readRequestsCount; |
| Int64 writeRequestsCount; |
| }; |
| |
| static const ComTdbVirtTableColumnInfo comTdbClusterStatsVirtTableColumnInfo[] = |
| { |
| { "REGION_SERVER", 0, COM_USER_COLUMN, REC_BYTE_F_ASCII, 256, FALSE, SQLCHARSETCODE_UTF8 , 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "",NULL,NULL, COM_UNKNOWN_DIRECTION_LIT, 0 }, |
| { "REGION_NAME", 1, COM_USER_COLUMN, REC_BYTE_F_ASCII, 512, FALSE, SQLCHARSETCODE_UTF8 , 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "",NULL,NULL, COM_UNKNOWN_DIRECTION_LIT, 0 }, |
| { "CATALOG_NAME", 1, COM_USER_COLUMN, REC_BYTE_F_ASCII, 256, FALSE, SQLCHARSETCODE_UTF8 , 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "",NULL,NULL, COM_UNKNOWN_DIRECTION_LIT, 0 }, |
| { "SCHEMA_NAME", 2, COM_USER_COLUMN, REC_BYTE_F_ASCII, 256, FALSE, SQLCHARSETCODE_UTF8 , 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "",NULL,NULL, COM_UNKNOWN_DIRECTION_LIT, 0 }, |
| { "OBJECT_NAME", 3, COM_USER_COLUMN, REC_BYTE_F_ASCII, 256, FALSE, SQLCHARSETCODE_UTF8 , 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "",NULL,NULL, COM_UNKNOWN_DIRECTION_LIT, 0 }, |
| { "NUM_STORES", 4, COM_USER_COLUMN, REC_BIN32_SIGNED, 8, FALSE, SQLCHARSETCODE_UTF8 , 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "",NULL,NULL, COM_UNKNOWN_DIRECTION_LIT, 0 }, |
| { "NUM_STORE_FILES", 5, COM_USER_COLUMN, REC_BIN32_SIGNED, 8, FALSE, SQLCHARSETCODE_UTF8 , 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "",NULL,NULL, COM_UNKNOWN_DIRECTION_LIT, 0 }, |
| { "STORE_FILE_UNCOMP_SIZE", 6, COM_USER_COLUMN, REC_BIN64_SIGNED, 8, FALSE, SQLCHARSETCODE_UTF8 , 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "",NULL,NULL, COM_UNKNOWN_DIRECTION_LIT, 0 }, |
| { "STORE_FILE_SIZE", 7, COM_USER_COLUMN, REC_BIN64_SIGNED, 8, FALSE, SQLCHARSETCODE_UTF8 , 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "",NULL,NULL, COM_UNKNOWN_DIRECTION_LIT, 0 }, |
| { "MEM_STORE_SIZE", 8, COM_USER_COLUMN, REC_BIN64_SIGNED, 8, FALSE, SQLCHARSETCODE_UTF8 , 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "",NULL,NULL, COM_UNKNOWN_DIRECTION_LIT, 0 }, |
| { "READ_REQUESTS_COUNT", 9, COM_USER_COLUMN, REC_BIN64_SIGNED, 8, FALSE, SQLCHARSETCODE_UTF8 , 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "",NULL,NULL, COM_UNKNOWN_DIRECTION_LIT, 0 }, |
| { "WRITE_REQUESTS_COUNT", 10, COM_USER_COLUMN, REC_BIN64_SIGNED, 8, FALSE, SQLCHARSETCODE_UTF8 , 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "",NULL,NULL, COM_UNKNOWN_DIRECTION_LIT, 0 } |
| }; |
| |
| struct ComTdbClusterStatsVirtTableColumnStruct |
| { |
| char regionServer[STATS_NAME_MAX_LEN]; |
| char regionName[STATS_REGION_NAME_MAX_LEN]; |
| char catalogName[STATS_NAME_MAX_LEN]; |
| char schemaName[STATS_NAME_MAX_LEN]; |
| char objectName[STATS_NAME_MAX_LEN]; |
| Lng32 numStores; |
| Lng32 numStoreFiles; |
| Int64 storeFileUncompSize; |
| Int64 storeFileSize; |
| Int64 memStoreSize; |
| Int64 readRequestsCount; |
| Int64 writeRequestsCount; |
| }; |
| |
| |
| class ComTdbExeUtilRegionStats : public ComTdbExeUtil |
| { |
| friend class ExExeUtilRegionStatsTcb; |
| friend class ExExeUtilRegionStatsPrivateState; |
| |
| public: |
| ComTdbExeUtilRegionStats() |
| : ComTdbExeUtil() |
| {} |
| |
| ComTdbExeUtilRegionStats( |
| char * tableName, |
| ex_expr_base * input_expr, |
| ULng32 input_rowlen, |
| ex_expr_base * scan_expr, |
| ex_cri_desc * work_cri_desc, |
| const unsigned short work_atp_index, |
| ex_cri_desc * given_cri_desc, |
| ex_cri_desc * returned_cri_desc, |
| queue_index down, |
| queue_index up, |
| Lng32 num_buffers, |
| ULng32 buffer_size |
| ); |
| |
| void setIsIndex(NABoolean v) |
| {(v ? flags_ |= IS_INDEX : flags_ &= ~IS_INDEX); }; |
| NABoolean isIndex() { return (flags_ & IS_INDEX) != 0; }; |
| |
| void setDisplayFormat(NABoolean v) |
| {(v ? flags_ |= DISPLAY_FORMAT : flags_ &= ~DISPLAY_FORMAT); }; |
| NABoolean displayFormat() { return (flags_ & DISPLAY_FORMAT) != 0; }; |
| |
| void setSummaryOnly(NABoolean v) |
| {(v ? flags_ |= SUMMARY_ONLY : flags_ &= ~SUMMARY_ONLY); }; |
| NABoolean summaryOnly() { return (flags_ & SUMMARY_ONLY) != 0; }; |
| |
| void setClusterView(NABoolean v) |
| {(v ? flags_ |= CLUSTER_VIEW : flags_ &= ~CLUSTER_VIEW); }; |
| NABoolean clusterView() { return (flags_ & CLUSTER_VIEW) != 0; }; |
| const NABoolean clusterView() const { return (flags_ & CLUSTER_VIEW) != 0; }; |
| |
| // --------------------------------------------------------------------- |
| // Redefine virtual functions required for Versioning. |
| //---------------------------------------------------------------------- |
| virtual short getClassSize() {return (short)sizeof(ComTdbExeUtilRegionStats);} |
| |
| virtual const char *getNodeName() const |
| { |
| return (clusterView() ? "GET_CLUSTER_STATS" : "GET_REGION_STATS"); |
| }; |
| |
| int getVirtTableNumCols() |
| { |
| return |
| (clusterView() |
| ? sizeof(comTdbClusterStatsVirtTableColumnInfo)/sizeof(ComTdbVirtTableColumnInfo) |
| : sizeof(comTdbRegionStatsVirtTableColumnInfo)/sizeof(ComTdbVirtTableColumnInfo)); |
| } |
| |
| ComTdbVirtTableColumnInfo * getVirtTableColumnInfo() |
| { |
| return (ComTdbVirtTableColumnInfo*) |
| (clusterView() |
| ? comTdbClusterStatsVirtTableColumnInfo |
| : comTdbRegionStatsVirtTableColumnInfo); |
| } |
| |
| int getVirtTableNumKeys() |
| { |
| return 0; |
| } |
| |
| ComTdbVirtTableKeyInfo * getVirtTableKeyInfo() |
| { |
| return NULL; |
| } |
| |
| private: |
| enum |
| { |
| IS_INDEX = 0x0001, |
| DISPLAY_FORMAT = 0x0002, |
| SUMMARY_ONLY = 0x0004, |
| CLUSTER_VIEW = 0x0008 |
| }; |
| |
| UInt32 flags_; // 00-03 |
| |
| char fillersComTdbExeUtilRegionStats_[76]; // 04-79 |
| }; |
| |
| |
| |
| // Lob info virtual table info |
| static const ComTdbVirtTableColumnInfo comTdbLobInfoVirtTableColumnInfo[] = |
| { |
| { "CATALOG_NAME", 0, COM_USER_COLUMN, REC_BYTE_F_ASCII, 256, FALSE, SQLCHARSETCODE_UTF8 , 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "",NULL,NULL, COM_UNKNOWN_DIRECTION_LIT, 0 }, |
| { "SCHEMA_NAME", 1, COM_USER_COLUMN, REC_BYTE_F_ASCII, 256, FALSE, SQLCHARSETCODE_UTF8 , 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "",NULL,NULL, COM_UNKNOWN_DIRECTION_LIT, 0 }, |
| { "OBJECT_NAME", 2, COM_USER_COLUMN, REC_BYTE_F_ASCII, 256, FALSE, SQLCHARSETCODE_UTF8 , 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "",NULL,NULL, COM_UNKNOWN_DIRECTION_LIT, 0 }, |
| { "COLUMN_NAME", 3, COM_USER_COLUMN, REC_BYTE_F_ASCII, 256, FALSE, SQLCHARSETCODE_UTF8 , 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "",NULL,NULL, COM_UNKNOWN_DIRECTION_LIT, 0 }, |
| { "LOB_LOCATION", 4, COM_USER_COLUMN, REC_BYTE_F_ASCII, 256, FALSE, SQLCHARSETCODE_UTF8 , 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "",NULL,NULL, COM_UNKNOWN_DIRECTION_LIT, 0 }, |
| { "LOB_DATA_FILE", 5, COM_USER_COLUMN, REC_BYTE_F_ASCII, 256, FALSE, SQLCHARSETCODE_UTF8 , 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "",NULL,NULL, COM_UNKNOWN_DIRECTION_LIT, 0 }, |
| { "LOB_DATA_FILE_SIZE_EOD", 6, COM_USER_COLUMN, REC_BIN64_SIGNED, 8, FALSE, SQLCHARSETCODE_UTF8 , 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "",NULL,NULL, COM_UNKNOWN_DIRECTION_LIT, 0 }, |
| { "LOB_DATA_FILE_SIZE_USED", 7, COM_USER_COLUMN, REC_BIN64_SIGNED, 8, FALSE, SQLCHARSETCODE_UTF8 , 0, 0, 0, 0, 0, 0, 0, COM_NO_DEFAULT, "",NULL,NULL, COM_UNKNOWN_DIRECTION_LIT, 0 } |
| |
| }; |
| |
| #define LOBINFO_MAX_FILE_LEN 256 |
| struct ComTdbLobInfoVirtTableColumnStruct |
| { |
| char catalogName[LOBINFO_MAX_FILE_LEN]; |
| char schemaName[LOBINFO_MAX_FILE_LEN]; |
| char objectName[LOBINFO_MAX_FILE_LEN]; |
| char columnName[LOBINFO_MAX_FILE_LEN]; |
| char lobLocation[LOBINFO_MAX_FILE_LEN]; |
| char lobDataFile[LOBINFO_MAX_FILE_LEN]; |
| Int64 lobDataFileSizeEod; |
| Int64 lobDataFileSizeUsed; |
| }; |
| |
| |
| class ComTdbExeUtilLobInfo : public ComTdbExeUtil |
| { |
| friend class ExExeUtilLobInfoTcb; |
| friend class ExExeUtilLobInfoTableTcb; |
| friend class ExExeUtilLobInfoPrivateState; |
| |
| public: |
| ComTdbExeUtilLobInfo() |
| : ComTdbExeUtil() |
| {} |
| Lng32 getNumLobs() { return numLOBs_;} |
| char *getLobColList(){return lobColArray_;} |
| char *getLobNumList() {return lobNumArray_;} |
| char *getLobLocList() {return lobLocArray_;} |
| char *getLobTypeList(){return lobTypeArray_;} |
| Int64 getObjectUID() { return objectUID_;} |
| Int32 getHdfsPort() { return hdfsPort_;} |
| char *getHdfsServer() {return hdfsServer_;} |
| NABoolean isTableFormat() { return tableFormat_;} |
| ComTdbExeUtilLobInfo( |
| char * tableName, |
| Int64 objectUID, |
| Lng32 numLOBs, |
| char* lobColArray, |
| char* lobNumArray, |
| char* lobLocArray, |
| char *lobTypeArray, |
| Int32 hdfsPort, |
| char *hdfsServer, |
| NABoolean tableFormat, |
| ex_cri_desc * work_cri_desc, |
| const unsigned short work_atp_index, |
| ex_cri_desc * given_cri_desc, |
| ex_cri_desc * returned_cri_desc, |
| queue_index down, |
| queue_index up, |
| Lng32 num_buffers, |
| ULng32 buffer_size |
| ); |
| |
| |
| |
| // --------------------------------------------------------------------- |
| // Redefine virtual functions required for Versioning. |
| //---------------------------------------------------------------------- |
| virtual short getClassSize() {return (short)sizeof(ComTdbExeUtilRegionStats);} |
| |
| virtual const char *getNodeName() const |
| { |
| return "GET_LOB_INFO"; |
| }; |
| |
| static int getVirtTableNumCols() |
| { |
| return sizeof(comTdbLobInfoVirtTableColumnInfo)/sizeof(ComTdbVirtTableColumnInfo); |
| } |
| |
| static ComTdbVirtTableColumnInfo * getVirtTableColumnInfo() |
| { |
| return (ComTdbVirtTableColumnInfo*)comTdbLobInfoVirtTableColumnInfo; |
| } |
| |
| static int getVirtTableNumKeys() |
| { |
| return 0; |
| } |
| |
| static ComTdbVirtTableKeyInfo * getVirtTableKeyInfo() |
| { |
| return NULL; |
| } |
| Long pack(void *); |
| Lng32 unpack(void *, void * reallocator); |
| private: |
| UInt32 flags_; |
| UInt16 numLOBs_; |
| |
| //array fo strings - column names |
| NABasicPtr lobColArray_; |
| // array of shorts. numLOBs entries. |
| // Each entry is the lobNum. |
| NABasicPtr lobNumArray_; |
| //array of int32. numLOBS entries |
| NABasicPtr lobTypeArray_; |
| |
| // array of string, null terminated. numLOBs entries. |
| // Each entry is the storage location of lob data file. |
| NABasicPtr lobLocArray_; |
| Int32 hdfsPort_; |
| NABasicPtr hdfsServer_; |
| Int64 objectUID_; |
| |
| NABoolean tableFormat_; |
| |
| }; |
| #endif |
| |
| |
| |