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

📄 dbdict.hpp

📁 mysql-5.0.22.tar.gz源码包
💻 HPP
📖 第 1 页 / 共 5 页
字号:
      NDB_NODE_ALIVE = 1,      NDB_NODE_DEAD = 2    };    bool hotSpare;    NodeState nodeState;  };  typedef Ptr<NodeRecord> NodeRecordPtr;  CArray<NodeRecord> c_nodes;  NdbNodeBitmask c_aliveNodes;    /**   * This record stores all the information about a table and all its attributes   ****************************************************************************/  struct PageRecord {    Uint32 word[8192];  };    typedef Ptr<PageRecord> PageRecordPtr;  CArray<PageRecord> c_pageRecordArray;  struct SchemaPageRecord {    Uint32 word[NDB_SF_PAGE_SIZE_IN_WORDS];  };  CArray<SchemaPageRecord> c_schemaPageRecordArray;  /**   * A page for create index table signal.   */  PageRecord c_indexPage;public:  Dbdict(const class Configuration &);  virtual ~Dbdict();private:  BLOCK_DEFINES(Dbdict);  // Signal receivers  void execDICTSTARTREQ(Signal* signal);    void execGET_TABINFOREQ(Signal* signal);  void execGET_TABLEDID_REQ(Signal* signal);  void execGET_TABINFO_REF(Signal* signal);  void execGET_TABINFO_CONF(Signal* signal);  void execCONTINUEB(Signal* signal);  void execDUMP_STATE_ORD(Signal* signal);  void execHOT_SPAREREP(Signal* signal);  void execDIADDTABCONF(Signal* signal);  void execDIADDTABREF(Signal* signal);  void execTAB_COMMITCONF(Signal* signal);  void execTAB_COMMITREF(Signal* signal);  void execGET_SCHEMA_INFOREQ(Signal* signal);  void execSCHEMA_INFO(Signal* signal);  void execSCHEMA_INFOCONF(Signal* signal);  void execREAD_NODESCONF(Signal* signal);  void execFSCLOSECONF(Signal* signal);  void execFSOPENCONF(Signal* signal);  void execFSOPENREF(Signal* signal);  void execFSREADCONF(Signal* signal);  void execFSREADREF(Signal* signal);  void execFSWRITECONF(Signal* signal);  void execNDB_STTOR(Signal* signal);  void execREAD_CONFIG_REQ(Signal* signal);  void execSTTOR(Signal* signal);  void execTC_SCHVERCONF(Signal* signal);  void execNODE_FAILREP(Signal* signal);  void execINCL_NODEREQ(Signal* signal);  void execAPI_FAILREQ(Signal* signal);  void execWAIT_GCP_REF(Signal* signal);  void execWAIT_GCP_CONF(Signal* signal);  void execLIST_TABLES_REQ(Signal* signal);  // Index signals  void execCREATE_INDX_REQ(Signal* signal);  void execCREATE_INDX_CONF(Signal* signal);  void execCREATE_INDX_REF(Signal* signal);  void execALTER_INDX_REQ(Signal* signal);  void execALTER_INDX_CONF(Signal* signal);  void execALTER_INDX_REF(Signal* signal);  void execCREATE_TABLE_CONF(Signal* signal);  void execCREATE_TABLE_REF(Signal* signal);  void execDROP_INDX_REQ(Signal* signal);  void execDROP_INDX_CONF(Signal* signal);  void execDROP_INDX_REF(Signal* signal);  void execDROP_TABLE_CONF(Signal* signal);  void execDROP_TABLE_REF(Signal* signal);  void execBUILDINDXREQ(Signal* signal);  void execBUILDINDXCONF(Signal* signal);  void execBUILDINDXREF(Signal* signal);  void execBACKUP_FRAGMENT_REQ(Signal*);  // Util signals used by Event code  void execUTIL_PREPARE_CONF(Signal* signal);  void execUTIL_PREPARE_REF (Signal* signal);  void execUTIL_EXECUTE_CONF(Signal* signal);  void execUTIL_EXECUTE_REF (Signal* signal);  void execUTIL_RELEASE_CONF(Signal* signal);  void execUTIL_RELEASE_REF (Signal* signal);  // Event signals from API  void execCREATE_EVNT_REQ (Signal* signal);  void execCREATE_EVNT_CONF(Signal* signal);  void execCREATE_EVNT_REF (Signal* signal);  void execDROP_EVNT_REQ (Signal* signal);  void execSUB_START_REQ (Signal* signal);  void execSUB_START_CONF (Signal* signal);  void execSUB_START_REF (Signal* signal);  void execSUB_STOP_REQ (Signal* signal);  void execSUB_STOP_CONF (Signal* signal);  void execSUB_STOP_REF (Signal* signal);  // Event signals from SUMA  void execCREATE_SUBID_CONF(Signal* signal);  void execCREATE_SUBID_REF (Signal* signal);  void execSUB_CREATE_CONF(Signal* signal);  void execSUB_CREATE_REF (Signal* signal);  void execSUB_SYNC_CONF(Signal* signal);  void execSUB_SYNC_REF (Signal* signal);  void execSUB_REMOVE_REQ(Signal* signal);  void execSUB_REMOVE_CONF(Signal* signal);  void execSUB_REMOVE_REF(Signal* signal);  // Trigger signals  void execCREATE_TRIG_REQ(Signal* signal);  void execCREATE_TRIG_CONF(Signal* signal);  void execCREATE_TRIG_REF(Signal* signal);  void execALTER_TRIG_REQ(Signal* signal);  void execALTER_TRIG_CONF(Signal* signal);  void execALTER_TRIG_REF(Signal* signal);  void execDROP_TRIG_REQ(Signal* signal);  void execDROP_TRIG_CONF(Signal* signal);  void execDROP_TRIG_REF(Signal* signal);  void execDROP_TABLE_REQ(Signal* signal);    void execPREP_DROP_TAB_REQ(Signal* signal);  void execPREP_DROP_TAB_REF(Signal* signal);    void execPREP_DROP_TAB_CONF(Signal* signal);  void execDROP_TAB_REQ(Signal* signal);    void execDROP_TAB_REF(Signal* signal);    void execDROP_TAB_CONF(Signal* signal);  void execCREATE_TABLE_REQ(Signal* signal);  void execALTER_TABLE_REQ(Signal* signal);  void execCREATE_FRAGMENTATION_REF(Signal*);  void execCREATE_FRAGMENTATION_CONF(Signal*);  void execCREATE_TAB_REQ(Signal* signal);  void execADD_FRAGREQ(Signal* signal);  void execLQHFRAGREF(Signal* signal);  void execLQHFRAGCONF(Signal* signal);  void execLQHADDATTREF(Signal* signal);  void execLQHADDATTCONF(Signal* signal);  void execCREATE_TAB_REF(Signal* signal);  void execCREATE_TAB_CONF(Signal* signal);    void execALTER_TAB_REQ(Signal* signal);  void execALTER_TAB_REF(Signal* signal);  void execALTER_TAB_CONF(Signal* signal);  bool check_ndb_versions() const;  /*   *  2.4 COMMON STORED VARIABLES   */  /**   * This record stores all the state needed    * when the schema page is being sent to other nodes   ***************************************************************************/  struct SendSchemaRecord {    /** Number of words of schema data */    Uint32 noOfWords;    /** Page Id of schema data */    Uint32 pageId;    Uint32 nodeId;    SignalCounter m_SCHEMAINFO_Counter;        Uint32 noOfWordsCurrentlySent;    Uint32 noOfSignalsSentSinceDelay;    bool inUse;  };  SendSchemaRecord c_sendSchemaRecord;  /**   * This record stores all the state needed    * when a table file is being read from disk   ****************************************************************************/  struct ReadTableRecord {    /** Number of Pages */    Uint32 noOfPages;    /** Page Id*/    Uint32 pageId;    /** Table Id of read table */    Uint32 tableId;        bool inUse;    Callback m_callback;  };  ReadTableRecord c_readTableRecord;  /**   * This record stores all the state needed    * when a table file is being written to disk   ****************************************************************************/  struct WriteTableRecord {    /** Number of Pages */    Uint32 noOfPages;    /** Page Id*/    Uint32 pageId;    /** Table Files Handled, local state variable */    Uint32 noOfTableFilesHandled;    /** Table Id of written table */    Uint32 tableId;    /** State, indicates from where it was called */    enum TableWriteState {      IDLE = 0,      WRITE_ADD_TABLE_MASTER = 1,      WRITE_ADD_TABLE_SLAVE = 2,      WRITE_RESTART_FROM_MASTER = 3,      WRITE_RESTART_FROM_OWN = 4,      TWR_CALLBACK = 5    };    TableWriteState tableWriteState;    Callback m_callback;  };  WriteTableRecord c_writeTableRecord;  /**   * This record stores all the state needed    * when a schema file is being read from disk   ****************************************************************************/  struct ReadSchemaRecord {    /** Page Id of schema page */    Uint32 pageId;    /** First page to read */    Uint32 firstPage;    /** Number of pages to read */    Uint32 noOfPages;    /** State, indicates from where it was called */    enum SchemaReadState {      IDLE = 0,      INITIAL_READ_HEAD = 1,      INITIAL_READ = 2    };    SchemaReadState schemaReadState;  };  ReadSchemaRecord c_readSchemaRecord;  /**   * This record stores all the state needed    * when a schema file is being written to disk   ****************************************************************************/  struct WriteSchemaRecord {    /** Page Id of schema page */    Uint32 pageId;    /** Rewrite entire file */    Uint32 newFile;    /** First page to write */    Uint32 firstPage;    /** Number of pages to write */    Uint32 noOfPages;    /** Schema Files Handled, local state variable */    Uint32 noOfSchemaFilesHandled;    bool inUse;    Callback m_callback;  };  WriteSchemaRecord c_writeSchemaRecord;  /**   * This record stores all the information needed    * when a file is being read from disk   ****************************************************************************/  struct RestartRecord {    /**    Global check point identity       */    Uint32 gciToRestart;    /**    The active table at restart process */    Uint32 activeTable;    /**    The active table at restart process */    BlockReference returnBlockRef;  };  RestartRecord c_restartRecord;  /**   * This record stores all the information needed    * when a file is being read from disk   ****************************************************************************/  struct RetrieveRecord {    RetrieveRecord(){ noOfWaiters = 0;}        /**    Only one retrieve table definition at a time       */    bool busyState;        /**     * No of waiting in time queue     */    Uint32 noOfWaiters;        /**    Block Reference of retriever       */    BlockReference blockRef;    /**    Id of retriever       */    Uint32 m_senderData;    /**    Table id of retrieved table       */    Uint32 tableId;    /**    Starting page to retrieve data from   */    Uint32 retrievePage;    /**    Number of pages retrieved   */    Uint32 retrievedNoOfPages;    /**    Number of words retrieved   */    Uint32 retrievedNoOfWords;    /**    Number of words sent currently   */    Uint32 currentSent;    /**     * Long signal stuff     */    bool m_useLongSig;  };  RetrieveRecord c_retrieveRecord;  /**   * This record stores all the information needed    * when a file is being read from disk   *    * This is the info stored in one entry of the schema   * page. Each table has 4 words of info.   * Word 1: Schema version (upper 16 bits)   *         Table State (lower 16 bits)   * Word 2: Number of pages of table description   * Word 3: Global checkpoint id table was created   * Word 4: Currently zero   ****************************************************************************/  struct SchemaRecord {    /**    Schema file first page (0)   */    Uint32 schemaPage;    /**    Old Schema file first page (used at node restart)    */    Uint32 oldSchemaPage;        Callback m_callback;  };  SchemaRecord c_schemaRecord;  /*   * Schema file, list of schema pages.  Use an array until a pool   * exists and NDBFS interface can use it.   */  struct XSchemaFile {    SchemaFile* schemaPage;    Uint32 noOfPages;  };  // 0-normal 1-old  XSchemaFile c_schemaFile[2];  void initSchemaFile(XSchemaFile *, Uint32 firstPage, Uint32 lastPage,                      bool initEntries);  void resizeSchemaFile(XSchemaFile * xsf, Uint32 noOfPages);  void computeChecksum(XSchemaFile *, Uint32 pageNo);  bool validateChecksum(const XSchemaFile *);  SchemaFile::TableEntry * getTableEntry(XSchemaFile *, Uint32 tableId);  Uint32 computeChecksum(const Uint32 * src, Uint32 len);  /* ----------------------------------------------------------------------- */  // Node References  /* ----------------------------------------------------------------------- */  Uint16 c_masterNodeId;  /* ----------------------------------------------------------------------- */  // Various current system properties  /* ----------------------------------------------------------------------- */  Uint16 c_numberNode;  Uint16 c_noHotSpareNodes;  Uint16 c_noNodesFailed;  Uint32 c_failureNr;  /* ----------------------------------------------------------------------- */  // State variables  /* ----------------------------------------------------------------------- */    enum BlockState {

⌨️ 快捷键说明

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