⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dbdict.hpp

📁 mysql-5.0.27版本源码包
💻 HPP
📖 第 1 页 / 共 5 页
字号:
          m_errorLine = ref->getErrorLine();          m_errorNode = ref->getErrorNode();        }      }    }    void setError(const DropIndxRef* ref) {      m_lastError = AlterIndxRef::NoError;      if (ref != 0) {        m_lastError = (AlterIndxRef::ErrorCode)ref->getErrorCode();        if (! hasError()) {          m_errorCode = m_lastError;          m_errorLine = ref->getErrorLine();          m_errorNode = ref->getErrorNode();        }      }    }    void setError(const BuildIndxRef* ref) {      m_lastError = AlterIndxRef::NoError;      if (ref != 0) {        m_lastError = (AlterIndxRef::ErrorCode)ref->getErrorCode();        if (! hasError()) {          m_errorCode = m_lastError;          m_errorLine = 0;          m_errorNode = 0;        }      }    }    void setError(const CreateTrigRef* ref) {      m_lastError = AlterIndxRef::NoError;      if (ref != 0) {        m_lastError = (AlterIndxRef::ErrorCode)ref->getErrorCode();        if (! hasError()) {          m_errorCode = m_lastError;          m_errorLine = ref->getErrorLine();          m_errorNode = ref->getErrorNode();        }      }    }    void setError(const DropTrigRef* ref) {      m_lastError = AlterIndxRef::NoError;      if (ref != 0) {        m_lastError = (AlterIndxRef::ErrorCode)ref->getErrorCode();        if (! hasError()) {          m_errorCode = m_lastError;          m_errorLine = ref->getErrorLine();          m_errorNode = ref->getErrorNode();        }      }    }  };  typedef Ptr<OpAlterIndex> OpAlterIndexPtr;  /**   * Operation record for build index.   */  struct OpBuildIndex : OpRecordCommon {    // original request plus buffer for attribute lists    BuildIndxReq m_request;    AttributeList m_attrList;    AttributeList m_tableKeyList;    // coordinator DICT    Uint32 m_coordinatorRef;    bool m_isMaster;    // state info    BuildIndxReq::RequestType m_requestType;    Uint32 m_requestFlag;    Uint32 m_constrTriggerId;    // error info    BuildIndxRef::ErrorCode m_lastError;    BuildIndxRef::ErrorCode m_errorCode;    Uint32 m_errorLine;    Uint32 m_errorNode;    // counters    SignalCounter m_signalCounter;    // ctor    OpBuildIndex() {      memset(&m_request, 0, sizeof(m_request));      m_coordinatorRef = 0;      m_requestType = BuildIndxReq::RT_UNDEFINED;      m_requestFlag = 0;      m_lastError = BuildIndxRef::NoError;      m_errorCode = BuildIndxRef::NoError;      m_errorLine = 0;      m_errorNode = 0;    }    void save(const BuildIndxReq* req) {      m_request = *req;      m_requestType = req->getRequestType();      m_requestFlag = req->getRequestFlag();    }    bool hasLastError() {      return m_lastError != BuildIndxRef::NoError;    }    bool hasError() {      return m_errorCode != BuildIndxRef::NoError;    }    void setError(const BuildIndxRef* ref) {      m_lastError = BuildIndxRef::NoError;      if (ref != 0) {        m_lastError = ref->getErrorCode();        if (! hasError()) {          m_errorCode = m_lastError;          m_errorLine = 0;          m_errorNode = 0;        }      }    }    void setError(const AlterIndxRef* ref) {      m_lastError = BuildIndxRef::NoError;      if (ref != 0) {        m_lastError = (BuildIndxRef::ErrorCode)ref->getErrorCode();        if (! hasError()) {          m_errorCode = m_lastError;          m_errorLine = ref->getErrorLine();          m_errorNode = ref->getErrorNode();        }      }    }    void setError(const CreateTrigRef* ref) {      m_lastError = BuildIndxRef::NoError;      if (ref != 0) {        m_lastError = (BuildIndxRef::ErrorCode)ref->getErrorCode();        if (! hasError()) {          m_errorCode = m_lastError;          m_errorLine = ref->getErrorLine();          m_errorNode = ref->getErrorNode();        }      }    }    void setError(const DropTrigRef* ref) {      m_lastError = BuildIndxRef::NoError;      if (ref != 0) {        m_lastError = (BuildIndxRef::ErrorCode)ref->getErrorCode();        if (! hasError()) {          m_errorCode = m_lastError;          m_errorLine = ref->getErrorLine();          m_errorNode = ref->getErrorNode();        }      }    }  };  typedef Ptr<OpBuildIndex> OpBuildIndexPtr;  /**   * Operation record for create trigger.   */  struct OpCreateTrigger : OpRecordCommon {    // original request (trigger id will be added)    CreateTrigReq m_request;    char m_triggerName[MAX_TAB_NAME_SIZE];    // coordinator DICT    Uint32 m_coordinatorRef;    bool m_isMaster;    // state info    CreateTrigReq::RequestType m_requestType;    Uint32 m_requestFlag;    // error info    CreateTrigRef::ErrorCode m_lastError;    CreateTrigRef::ErrorCode m_errorCode;    Uint32 m_errorLine;    Uint32 m_errorNode;    // counters    SignalCounter m_signalCounter;    // ctor    OpCreateTrigger() {      memset(&m_request, 0, sizeof(m_request));      m_coordinatorRef = 0;      m_requestType = CreateTrigReq::RT_UNDEFINED;      m_requestFlag = 0;      m_lastError = CreateTrigRef::NoError;      m_errorCode = CreateTrigRef::NoError;      m_errorLine = 0;      m_errorNode = 0;    }    void save(const CreateTrigReq* req) {      m_request = *req;      m_requestType = req->getRequestType();      m_requestFlag = req->getRequestFlag();    }    bool hasLastError() {      return m_lastError != CreateTrigRef::NoError;    }    bool hasError() {      return m_errorCode != CreateTrigRef::NoError;    }    void setError(const CreateTrigRef* ref) {      m_lastError = CreateTrigRef::NoError;      if (ref != 0) {        m_lastError = ref->getErrorCode();        if (! hasError()) {          m_errorCode = m_lastError;          m_errorLine = ref->getErrorLine();          m_errorNode = ref->getErrorNode();        }      }    }    void setError(const AlterTrigRef* ref) {      m_lastError = CreateTrigRef::NoError;      if (ref != 0) {        m_lastError = (CreateTrigRef::ErrorCode)ref->getErrorCode();        if (! hasError()) {          m_errorCode = m_lastError;          m_errorLine = ref->getErrorLine();          m_errorNode = ref->getErrorNode();        }      }    }  };  typedef Ptr<OpCreateTrigger> OpCreateTriggerPtr;  /**   * Operation record for drop trigger.   */  struct OpDropTrigger : OpRecordCommon {    // original request    DropTrigReq m_request;    // coordinator DICT    Uint32 m_coordinatorRef;    bool m_isMaster;    // state info    DropTrigReq::RequestType m_requestType;    Uint32 m_requestFlag;    // error info    DropTrigRef::ErrorCode m_lastError;    DropTrigRef::ErrorCode m_errorCode;    Uint32 m_errorLine;    Uint32 m_errorNode;    // counters    SignalCounter m_signalCounter;    // ctor    OpDropTrigger() {      memset(&m_request, 0, sizeof(m_request));      m_coordinatorRef = 0;      m_requestType = DropTrigReq::RT_UNDEFINED;      m_requestFlag = 0;      m_lastError = DropTrigRef::NoError;      m_errorCode = DropTrigRef::NoError;      m_errorLine = 0;      m_errorNode = 0;    }    void save(const DropTrigReq* req) {      m_request = *req;      m_requestType = req->getRequestType();      m_requestFlag = req->getRequestFlag();    }    bool hasLastError() {      return m_lastError != DropTrigRef::NoError;    }    bool hasError() {      return m_errorCode != DropTrigRef::NoError;    }    void setError(const DropTrigRef* ref) {      m_lastError = DropTrigRef::NoError;      if (ref != 0) {        m_lastError = ref->getErrorCode();        if (! hasError()) {          m_errorCode = m_lastError;          m_errorLine = ref->getErrorLine();          m_errorNode = ref->getErrorNode();        }      }    }    void setError(const AlterTrigRef* ref) {      m_lastError = DropTrigRef::NoError;      if (ref != 0) {        m_lastError = (DropTrigRef::ErrorCode)ref->getErrorCode();        if (! hasError()) {          m_errorCode = m_lastError;          m_errorLine = ref->getErrorLine();          m_errorNode = ref->getErrorNode();        }      }    }  };  typedef Ptr<OpDropTrigger> OpDropTriggerPtr;  /**   * Operation record for alter trigger.   */  struct OpAlterTrigger : OpRecordCommon {    // original request    AlterTrigReq m_request;    // nodes participating in operation    NdbNodeBitmask m_nodes;    // coordinator DICT    Uint32 m_coordinatorRef;    bool m_isMaster;    // state info    AlterTrigReq::RequestType m_requestType;    Uint32 m_requestFlag;    // error info    AlterTrigRef::ErrorCode m_lastError;    AlterTrigRef::ErrorCode m_errorCode;    Uint32 m_errorLine;    Uint32 m_errorNode;    // counters    SignalCounter m_signalCounter;    // ctor    OpAlterTrigger() {      memset(&m_request, 0, sizeof(m_request));      m_coordinatorRef = 0;      m_requestType = AlterTrigReq::RT_UNDEFINED;      m_requestFlag = 0;      m_lastError = AlterTrigRef::NoError;      m_errorCode = AlterTrigRef::NoError;      m_errorLine = 0;      m_errorNode = 0;    }    void save(const AlterTrigReq* req) {      m_request = *req;      m_requestType = req->getRequestType();      m_requestFlag = req->getRequestFlag();    }    bool hasLastError() {      return m_lastError != AlterTrigRef::NoError;    }    bool hasError() {      return m_errorCode != AlterTrigRef::NoError;    }    void setError(const AlterTrigRef* ref) {      m_lastError = AlterTrigRef::NoError;      if (ref != 0) {        m_lastError = (AlterTrigRef::ErrorCode)ref->getErrorCode();        if (! hasError()) {          m_errorCode = m_lastError;          m_errorLine = ref->getErrorLine();          m_errorNode = ref->getErrorNode();        }      }    }    void setError(const CreateTrigRef* ref) {      m_lastError = AlterTrigRef::NoError;      if (ref != 0) {        m_lastError = (AlterTrigRef::ErrorCode)ref->getErrorCode();        if (! hasError()) {          m_errorCode = m_lastError;          m_errorLine = ref->getErrorLine();          m_errorNode = ref->getErrorNode();        }      }    }    void setError(const DropTrigRef* ref) {      m_lastError = AlterTrigRef::NoError;      if (ref != 0) {        m_lastError = (AlterTrigRef::ErrorCode)ref->getErrorCode();        if (! hasError()) {          m_errorCode = m_lastError;          m_errorLine = ref->getErrorLine();          m_errorNode = ref->getErrorNode();        }      }    }  };  typedef Ptr<OpAlterTrigger> OpAlterTriggerPtr;  // Common operation record poolpublic:  STATIC_CONST( opCreateTableSize = sizeof(CreateTableRecord) );  STATIC_CONST( opDropTableSize = sizeof(DropTableRecord) );  STATIC_CONST( opCreateIndexSize = sizeof(OpCreateIndex) );  STATIC_CONST( opDropIndexSize = sizeof(OpDropIndex) );  STATIC_CONST( opAlterIndexSize = sizeof(OpAlterIndex) );  STATIC_CONST( opBuildIndexSize = sizeof(OpBuildIndex) );  STATIC_CONST( opCreateTriggerSize = sizeof(OpCreateTrigger) );  STATIC_CONST( opDropTriggerSize = sizeof(OpDropTrigger) );  STATIC_CONST( opAlterTriggerSize = sizeof(OpAlterTrigger) );private:#define PTR_ALIGN(n) ((((n)+sizeof(void*)-1)>>2)&~((sizeof(void*)-1)>>2))  union OpRecordUnion {    Uint32 u_opCreateTable  [PTR_ALIGN(opCreateTableSize)];    Uint32 u_opDropTable    [PTR_ALIGN(opDropTableSize)];    Uint32 u_opCreateIndex  [PTR_ALIGN(opCreateIndexSize)];    Uint32 u_opDropIndex    [PTR_ALIGN(opDropIndexSize)];    Uint32 u_opAlterIndex   [PTR_ALIGN(opAlterIndexSize)];    Uint32 u_opBuildIndex   [PTR_ALIGN(opBuildIndexSize)];    Uint32 u_opCreateTrigger[PTR_ALIGN(opCreateTriggerSize)];    Uint32 u_opDropTrigger  [PTR_ALIGN(opDropTriggerSize)];    Uint32 u_opAlterTrigger [PTR_ALIGN(opAlterTriggerSize)];    Uint32 nextPool;  };  ArrayPool<OpRecordUnion> c_opRecordPool;    // Operation records  KeyTable2<CreateTableRecord, OpRecordUnion> c_opCreateTable;  KeyTable2<DropTableRecord, OpRecordUnion> c_opDropTable;  KeyTable2<OpCreateIndex, OpRecordUnion> c_opCreateIndex;  KeyTable2<OpDropIndex, OpRecordUnion> c_opDropIndex;  KeyTable2<OpAlterIndex, OpRecordUnion> c_opAlterIndex;  KeyTable2<OpBuildIndex, OpRecordUnion> c_opBuildIndex;  KeyTable2<OpCreateTrigger, OpRecordUnion> c_opCreateTrigger;  KeyTable2<OpDropTrigger, OpRecordUnion> c_opDropTrigger;  KeyTable2<OpAlterTrigger, OpRecordUnion> c_opAlterTrigger;  // Unique key for operation  XXX move to some system table  Uint32 c_opRecordSequence;  /*   * Master DICT can be locked in 2 mutually exclusive ways:   *   * 1) for schema ops, via operation records   * 2) against schema ops, via a lock queue

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -