本節提供有關 Table 類別的資訊,該類別在 NDB API 中建立資料庫表格模型。
- 父類別
- 子類別
無
- 描述
-
Table類別表示 NDB Cluster 資料庫中的表格。此類別延伸了Object類別,而該類別又是NdbDictionary類別的內部類別。可以使用 NDB API 獨立於 MySQL 伺服器建立表格。但是,通常不建議這樣做,因為以這種方式建立的表格無法被 MySQL 伺服器看到。同樣地,可以使用
Table方法修改現有表格,但這些變更 (重新命名表格除外) 對 MySQL 不可見。 - 方法
-
下表列出此類別的公用方法以及每個方法的目的或用法
表 2.79 Table 類別方法和描述
名稱 描述 Table()類別建構函式 ~Table()解構函式 addColumn()將資料行新增至表格 aggregate()計算表格的彙總資料 equal()將表格與另一個表格比較 getColumn()從表格中取得資料行 (依名稱) getDefaultNoPartitionsFlag()檢查是否正在使用預設分割區數目 getFragmentCount()取得此表格的片段數目 getExtraMetadata()取得此表格的額外中繼資料 getForceVarPart()表格是否強制配置可變部分 getFragmentData()取得表格片段資料 (ID、狀態和節點群組) getFragmentDataLen()取得表格片段資料的長度 getFragmentNodes()取得片段所在資料節點的 ID getFragmentType()取得表格的 FragmentTypegetFrmData()從表格 .FRM檔案取得資料;在 NDB 8.0.27 中已棄用getFrmLength()取得表格 .FRM檔案的長度;在 NDB 8.0.27 中已棄用getHashMap()取得表格的雜湊對應。 getKValue()取得表格的 KValuegetLinearFlag()取得表格線性雜湊旗標的目前設定 getLogging()檢查是否已為此表格啟用磁碟記錄 getMaxLoadFactor()取得表格的最大負載因數 getMaxRows()取得此表格可能包含的最大資料列數 getMinLoadFactor()取得表格的最小負載因數 getMinRows()取得表格中的最小資料列數 (用於計算分割區) getName()取得表格的名稱 getNoOfAutoIncrementColumns()取得表格中自動遞增資料行的數目 getNoOfColumns()取得表格中的資料行數目 getNoOfPrimaryKeys()取得表格主鍵中的欄位數量 getObjectId()取得表格的物件 ID getObjectStatus()取得表格的物件狀態 getObjectType()已在 NDB 7.5.0 中移除 (Bug #47960, Bug #11756088) getObjectVersion()取得表格的物件版本 getPartitionBalance()取得用於此表格的分割區平衡(片段計數類型)(NDB 7.5 及更新版本) getPartitionBalanceString()以字串形式取得用於此表格的分割區平衡(NDB 7.5 及更新版本) getPartitionId()從雜湊值取得分割區 ID getPrimaryKey()取得表格主鍵的名稱 getRangeListData()取得 RANGE或LIST陣列getRangeListDataLen()取得表格 RANGE或LIST陣列的長度getRowChecksumIndicator()檢查是否已設定資料列總和檢查碼指示器 getRowGCIIndicator()檢查是否已設定資料列 GCI 指示器 getRowGCIIndicator()檢查是否已設定資料列 GCI 指示器 getRowSizeInBytes()以位元組為單位取得此表格的資料列大小 getSingleUserMode()取得此表格的 SingleUserModegetTableId()取得表格的 ID getTablespace()取得包含此表格的表格空間 getTablespaceData()取得包含表格的表格空間的 ID 和版本 getTablespaceDataLen()取得表格表格空間資料的長度 getTablespaceNames()取得表格片段中使用的表格空間名稱 hasDefaultValues()判斷表格是否有任何欄位使用預設值 setDefaultNoPartitionsFlag()切換是否應為表格使用預設分割區數量 setExtraMetadata()設定此表格的額外中繼資料 setForceVarPart()強制表格配置可變部分 getFragmentCount()取得此表格的片段數目 setFragmentData()設定片段 ID、節點群組 ID 和片段狀態 setFragmentType()設定表格的 FragmentTypesetFrm()設定要用於此表格的 .FRM檔案;在 NDB 8.0.27 中已棄用setHashMap()設定表格的雜湊映射。 setKValue()設定 KValuesetLinearFlag()設定表格的線性雜湊旗標 setLogging()切換表格到磁碟的記錄 setMaxLoadFactor()設定表格的最大負載因子 ( MaxLoadFactor)setMaxRows()設定表格中的最大資料列數 setMinLoadFactor()設定表格的最小負載因子 ( MinLoadFactor)setPartitionBalance()設定此表格的分割區平衡(片段計數類型)(NDB 7.5 及更新版本) setName()設定表格的名稱 setObjectType()已在 NDB 7.5.0 中移除 (Bug #47960, Bug #11756088) setRangeListData()設定 LIST和RANGE分割區資料setRowChecksumIndicator()設定資料列總和檢查碼指示器 setRowGCIIndicator()設定資料列 GCI 指示器 setSingleUserMode()設定此表格的 SingleUserMode值setStatusInvalid()setTablespace()設定要用於此表格的表格空間 setTablespaceData()設定表格空間 ID 和版本 setTablespaceNames()設定片段的表格空間名稱 validate()在建立新表格之前驗證其定義
- 類型
Table類別定義單一公用類型SingleUserMode。
此類別的賦值 (=) 運算子已多載,因此它始終執行深層複製。
與其他資料庫物件一樣,使用 NDB API 完成的 Table 物件建立和對現有表格的屬性變更,在 MySQL 中是不可見的。例如,如果您使用 Table::addColumn() 將新欄位新增至表格,則 MySQL 無法看到新欄位。關於表格,此規則的唯一例外是使用 Table::setName() 變更現有 NDB 表格的名稱,這在 MySQL 中是可見的。
計算表格大小。計算資料儲存時,應加上所有屬性的大小(每個屬性至少耗用 4 個位元組),以及 12 個位元組的額外負荷。可變大小的屬性大小為 12 個位元組加上實際資料儲存部分,以及基於可變部分大小的額外負荷。例如,假設一個表格有 5 個屬性:一個 64 位元屬性、一個 32 位元屬性、兩個 16 位元屬性和一個包含 64 個 8 位元屬性的陣列。此表格每個記錄耗用的記憶體量是以下各項的總和:
64 位元屬性 8 個位元組
32 位元屬性 4 個位元組
兩個 16 位元屬性 8 個位元組,由於向右對齊,每個都佔用 4 個位元組
陣列 64 個位元組(每個陣列元素 64 * 1 個位元組)
12 個位元組的額外負荷
每個記錄總計 96 個位元組。此外,您應假設大約 2% 的額外負荷用於配置頁首和浪費空間。因此,100 萬個記錄應耗用 96 MB,而額外的頁首和其他額外負荷約為 2 MB。向上捨入產生 100 MB。
- 描述
將欄位新增至表格。
- 簽章
void addColumn ( const Column& column )- 參數
要新增至表格的欄位參考。
- 傳回值
此方法的回傳類型為
void,但它會建立原始Column物件的副本。
- 描述
此方法會計算表格的彙總資料。必須先執行此方法,
getNoOfPrimaryKeys()等彙總方法才能正常運作,然後才能建立表格並透過getTableId()擷取表格。- 簽章
int aggregate ( struct NdbError& error )- 參數
對
NdbError物件的參考。- 傳回值
整數,如果成功,則值為
0,如果表格處於不一致的狀態,則值為-1。在後者的情況下,也會設定error。
- 描述
此方法用於取得欄位定義,並提供欄位的索引或名稱。
- 簽章
-
此方法可以使用欄位 ID 或欄位名稱來叫用,如此處所示
Column* getColumn ( const int AttributeId ) Column* getColumn ( const char* name ) - 參數
以下之一:欄位在表格中的索引(如同欄位的
getColumnNo()方法傳回),或欄位的名稱。- 傳回值
具有指定索引或名稱的欄位指標。如果沒有這樣的欄位,則此方法會傳回
NULL。
- 描述
此方法用於找出表格是否使用預設的分割區數量。
- 簽章
Uint32 getDefaultNoPartitionsFlag ( void ) const- 參數
無.
- 傳回值
32 位元不帶正負號的整數。
- 描述
-
取得並解壓縮此表格的額外中繼資料。
此方法是在 NDB 8.0 中新增的。
- 簽章
int getExtraMetadata ( Uint32& version, void** data, Uint32* length ) const- 參數
-
此方法採用以下三個參數
version:按照慣例,如 NDB Cluster 程式碼中所用,1表示額外中繼資料包含如 NDB 7.6 及更早版本中的.frm檔案(Blob 資料);2表示它是如 NDB 8.0 中的序列化字典資訊。這些值實際上是任意的,且與應用程式相關。data:以中繼資料擷取的已儲存資料。length:已儲存資料(中繼資料)的長度。
- 傳回值
如果成功,則傳回
0,如果失敗,則傳回任何其他值。非零值應解譯為錯誤類型的錯誤碼。
- 描述
無論表格實際上是否有任何可變大小的欄位,表格是否強制配置可變大小的部分。這是為了允許後續將欄位線上新增至表格(請參閱使用 NDB Cluster 中的 ALTER TABLE 進行線上作業)。
- 簽章
bool getForceVarPart ( void ) const- 參數
無.
- 傳回值
當強制表格配置可變大小的部分時為
true。
- 描述
以位元組為單位取得要讀取的表格片段資料的長度。
- 簽章
Uint32 getFragmentDataLen ( void ) const- 參數
無.
- 傳回值
要讀取的位元組數,為 32 位元不帶正負號的整數。
- 描述
此方法會擷取儲存指定片段的節點清單。
- 簽章
Uint32 getFragmentNodes ( Uint32 fragmentId, Uint32* nodeIdArrayPtr, Uint32 arraySize ) const- 參數
-
此方法採用以下三個參數
fragmentId:所需片段的 ID。-
nodeIdArrayPtr:包含此片段的節點的節點 ID 陣列指標。注意通常,主要片段是此陣列中的項目 0。
arraySize:包含節點 ID 的陣列大小。如果此值小於片段數,則只會將前arraySize個項目寫入此陣列。
- 傳回值
傳回值
0表示錯誤;否則,這是表格片段數量,為 32 位元不帶正負號的整數。
此功能已棄用,應避免使用。它可能會在 NDB Cluster 的未來版本中移除。
- 描述
-
從與表格相關聯的
.FRM檔案取得資料。MySQL 8.0 和 NDB 8.0 不再使用
.FRM檔案,而是使用 MySQL 資料字典來儲存表格中繼資料;因此,從 NDB 8.0.27 開始,此方法已被棄用,並可能在未來的 NDB 版本中移除。若要讀取和寫入表格中繼資料,請改用getExtraMetadata()和setExtraMetadata()。 - 簽章
const void* getFrmData ( void ) const- 參數
無.
- 傳回值
指向
.FRM資料的指標。
此功能已棄用,應避免使用。它可能會在 NDB Cluster 的未來版本中移除。
- 描述
-
取得表格
.FRM檔案資料的長度(以位元組為單位)。MySQL 8.0 和 NDB 8.0 不再使用
.FRM檔案,而是使用 MySQL 資料字典來儲存表格中繼資料;因此,從 NDB 8.0.27 開始,此方法已被棄用,並可能在未來的 NDB 版本中移除。若要讀取和寫入表格中繼資料,請改用getExtraMetadata()和setExtraMetadata()。 - 簽章
Uint32 getFrmLength ( void ) const- 參數
無.
- 傳回值
.FRM檔案資料的長度(一個無號 32 位元整數)。
- 描述
取得用於此表格的雜湊映射。
- 簽章
bool getHashMap ( Uint32* id = 0, Uint32* version = 0 ) const- 參數
表格 ID 和版本。
- 傳回值
如果表格具有雜湊映射,則為 True,否則為 False。
- 描述
此方法取得 KValue,這是一個雜湊參數,目前限制為值
6。在未來的版本中,可能會將此參數設定為其他值。- 簽章
int getKValue ( void ) const- 參數
無.
- 傳回值
一個整數(目前總是
6)。
- 描述
此類別用於檢查表格是否記錄到磁碟上,也就是說,它是永久表格還是暫時表格。
- 簽章
bool getLogging ( void ) const- 參數
無.
- 傳回值
傳回布林值。如果此方法傳回
true,則會在表格上執行完整檢查點和記錄。如果傳回false,則表格為暫時表格,且不會記錄到磁碟上;在系統重新啟動時,表格仍然存在並保留其定義,但它將會是空的。預設記錄值為true。
- 描述
此方法傳回當本機雜湊表中的容器開始分割時的載入因數(一個雜湊參數)。
- 簽章
int getMaxLoadFactor ( void ) const- 參數
無.
- 傳回值
一個最大值為 100 的整數。當傳回最大值時,表示已最佳化記憶體使用量。較小的值表示每個容器中儲存的資料較少,這表示可以更快地找到金鑰,但會消耗更多記憶體。
- 描述
此方法取得表格可以容納的最大列數。這用於計算分割區的數量。
- 簽章
Uint64 getMaxRows ( void ) const- 參數
無.
- 傳回值
最大表格列數,以 64 位元無號整數表示。
- 描述
此方法取得開始縮減雜湊表時的載入因數值。這應該始終小於
getMaxLoadFactor()傳回的值。- 簽章
int getMinLoadFactor ( void ) const- 參數
無.
- 傳回值
以整數表示的百分比;請參閱 Table::getMaxLoadFactor()。
- 描述
此方法用於取得表格中的自動遞增欄位數。
- 簽章
int getNoOfAutoIncrementColumns ( void ) const- 參數
無.
- 傳回值
一個整數,表示表格中自動遞增欄位的數量。
- 描述
此方法取得表格的狀態。
- 簽章
virtual Object::Status getObjectStatus ( void ) const- 參數
無.
- 傳回值
一個
Object::Status值。
- 描述
此方法無法按預期運作,並在 NDB 7.5.0 中移除(Bug #47960, Bug #11756088)。
- 簽章
Object::Type getObjectType ( void ) const- 參數
無.
- 傳回值
傳回一個
Object::Type值。
- 描述
此方法取得表格的物件版本(請參閱 NDB 綱要物件版本)。
- 簽章
virtual int getObjectVersion ( void ) const- 參數
無.
- 傳回值
表格的物件版本,以整數表示。
- 描述
-
此方法取得表格的分割區平衡配置(片段計數類型)。
在 NDB 7.5 之前,此方法稱為
getFragmentCountType()。 - 簽章
Object::PartitionBalance getPartitionBalance ( void ) const- 參數
無.
- 傳回值
分割區平衡配置,作為
Object::PartitionBalance類型的值。
- 描述
-
此方法取得表格的分割區平衡配置(片段計數類型),並將其以字串形式傳回。
在 NDB 7.5 之前,此方法稱為
getFragmentCountTypeString()。 - 簽章
const char* getPartitionBalanceString ( void ) const- 參數
無.
- 傳回值
分割區平衡配置,作為字串值。
- 描述
給定雜湊值,取得表格分割區 ID。
- 簽章
Uint32 getPartitionId ( Uint32 hashvalue ) const- 參數
一個
hashvalue。請注意,如果實際上沒有擷取表格(例如,使用getTableId()),則結果可能不準確或無用。- 傳回值
對應於
hashvalue的分割區識別碼。
- 描述
取得此表格中資料列的大小。這是可以儲存在表格單一列中的(最大)資料量,不包括儲存在表格外部的任何 Blob 資料。
- 簽章
int getRowSizeInBytes ( void ) const- 參數
無.
- 傳回值
資料列的大小,以位元組為單位。
- 描述
取得表格的單一使用者模式。
- 簽章
enum SingleUserMode getSingleUserMode ( void ) const- 參數
無.
- 傳回值
一個
SingleUserMode值。
- 描述
此方法以兩種方式使用:取得此表格所指派的表格空間名稱;驗證給定的表格空間是否為此表格使用的表格空間。
- 簽章
-
若要取得表格空間的名稱,請不帶任何引數調用
const char* getTablespace ( void ) const若要判斷表格空間是否為給定 ID 和版本所指示的表格空間,請按照此處所示的方式提供這些作為引數
bool getTablespace ( Uint32* id = 0, Uint32* version = 0 ) const - 參數
-
參數的數量和類型取決於此方法的使用方式
當用於取得表格使用的表格空間名稱時,會不帶任何引數調用它。
-
當用於判斷給定的表格空間是否為此表格使用的表格空間時,則 getTablespace() 會採用兩個參數
表格空間
id,以指向 32 位元無號整數的指標形式給定表格空間
version,也以指向 32 位元無號整數的指標形式給定
id和version的預設值均為0。
- 傳回值
-
傳回類型取決於方法的呼叫方式
當不帶任何引數呼叫
getTablespace()時,它會傳回Tablespace物件執行個體。當使用兩個引數呼叫時,如果表格空間與具有指示的 ID 和版本的表格空間相同,則傳回
true;否則,傳回false。
- 描述
此方法取得
getTablespaceNames()傳回的表格空間名稱資料的長度。(請參閱 Table::getTablespaceNames()。)- 簽章
Uint32 getTablespaceNamesLen ( void ) const- 參數
無.
- 傳回值
以位元組為單位傳回名稱資料的長度,以 32 位元無號整數表示。
- 描述
-
用於判斷表格是否有任何定義了預設值而非
NULL的欄位。若要讀取和寫入預設欄位值,請使用
Column::getDefaultValue()和Column::setDefaultValue()。 - 簽章
bool hasDefaultValues ( void ) const- 參數
無.
- 傳回值
如果表格有任何具有預設值而非
NULL的欄位,則傳回true,否則傳回false。
- 描述
此方法設定一個指示器,決定是否針對資料表使用預設的分割區數量。
- 簽章
void setDefaultNoPartitionsFlag ( Uint32 indicator ) const- 參數
此方法接受一個引數
indicator,一個 32 位元無號整數。- 傳回值
無.
- 描述
-
儲存此資料表的封裝額外中繼資料。資料會不經任何修改地封裝到給定的
Table物件的緩衝區中。於 NDB 8.0 中新增。
- 簽章
int setExtraMetadata ( Uint32 version, const void* data, Uint32 length )- 參數
-
此方法使用的三個參數列於此處:
version:如在 NDB Cluster 程式碼中所使用,1表示額外中繼資料包含一個.frm檔案(blob 資料),如 NDB 7.6 及更早版本;2表示它是序列化的字典資訊,如 NDB 8.0。您應了解這僅是一種慣例,這些值可以視需要而應用程式特定。data:實際要儲存為中繼資料的資料。length:要儲存的資料長度。
- 傳回值
成功時傳回
0。任何其他值表示失敗;在這種情況下,該值是一個錯誤碼,表示錯誤的類型。
- 描述
強制資料表配置可變大小的部分,以便即使資料表沒有可變大小的欄位,也能對資料表執行線上操作。如需有關 NDB Cluster 中線上操作的詳細資訊,請參閱在 NDB Cluster 中使用 ALTER TABLE 進行線上操作。
- 簽章
void setForceVarPart ( bool force )- 參數
將
force設定為true以使資料表擁有可變大小的部分時使用。- 傳回值
無.
- 描述
-
此方法寫入一個包含以下片段資訊的陣列:
片段 ID
節點群組 ID
片段狀態
- 簽章
void setFragmentData ( const void* data, Uint32 len )- 參數
-
此方法接受以下兩個參數:
要寫入的片段資料指標
此資料的長度 (
len),以位元組為單位,為 32 位元無號整數
- 傳回值
無.
- 描述
此方法設定資料表的分散類型。
- 簽章
void setFragmentType ( FragmentType fragmentType )- 參數
此方法接受一個引數,即一個
Object::FragmentType值。- 傳回值
無.
此功能已棄用,應避免使用。它可能會在 NDB Cluster 的未來版本中移除。
- 描述
-
此方法用於將資料寫入此資料表的
.FRM檔案。MySQL 8.0 和 NDB 8.0 不再使用
.FRM檔案,而是使用 MySQL 資料字典來儲存表格中繼資料;因此,從 NDB 8.0.27 開始,此方法已被棄用,並可能在未來的 NDB 版本中移除。若要讀取和寫入表格中繼資料,請改用getExtraMetadata()和setExtraMetadata()。 - 簽章
void setFrm ( const void* data, Uint32 len )- 參數
-
此方法接受以下兩個引數:
要寫入的
data指標。資料的長度 (
len)。
- 傳回值
無.
- 描述
此方法設定
KValue,一個雜湊參數。- 簽章
void setKValue ( int kValue )- 參數
kValue是一個整數。目前唯一允許的值是6。在未來的版本中,這可能會變成可變參數。- 傳回值
無.
- 描述
設定資料表的線性雜湊旗標。請參閱 Table::getLinearFlag()。
- 簽章
void setLinearFlag ( Uint32 flag )- 參數
flag是一個 32 位元無號整數。- 傳回值
無.
- 描述
切換資料表的記錄狀態。請參閱 Table::getLogging()。
- 簽章
void setLogging ( bool enable )- 參數
如果
enable為true,則啟用此資料表的記錄;如果為false,則停用記錄。- 傳回值
無.
- 描述
此方法設定在本機雜湊表中分割容器時的最大負載因子。
- 簽章
void setMaxLoadFactor ( int max )- 參數
-
此方法接受一個參數
max,一個百分比的整數表示法(例如,45代表 45%)。如需詳細資訊,請參閱 Table::getMaxLoadFactor()。此值永遠不應大於最小負載因子。
- 傳回值
無.
- 描述
此方法設定資料表可容納的最大列數。
- 簽章
void setMaxRows ( Uint64 maxRows )- 參數
maxRows是一個 64 位元無號整數,代表資料表可容納的最大列數。- 傳回值
無.
- 描述
此方法設定開始縮減雜湊表時的最小負載因子。
- 簽章
void setMinLoadFactor ( int min )- 參數
此方法接受一個參數
min,一個百分比的整數表示法(例如,45代表 45%)。如需詳細資訊,請參閱 Table::getMinLoadFactor()。- 傳回值
無.
- 描述
-
此方法設定資料表的名稱。
這是
Table中唯一一個其效果對 MySQL 可見的set方法。*() - 簽章
void setName ( const char* name )- 參數
name是資料表的新名稱。- 傳回值
無.
- 描述
此方法無法按預期運作,並在 NDB 7.5.0 中移除(Bug #47960, Bug #11756088)。
- 簽章
void setObjectType ( Object::Type type )- 參數
所需的物件
type。這必須是 Object::Type 中列出的Type值之一。- 傳回值
無.
- 描述
-
設定資料表的分割區平衡配置。
在 NDB 7.5 之前,此方法稱為
setFragmentCountType()。 - 簽章
void setPartitionBalance ( Object::PartitionBalance scheme )- 參數
scheme是用於資料表的分割區平衡配置。這是一個類型為PartitionBalance的值。- 傳回值
無.
- 描述
此方法設定一個陣列,其中包含將範圍值和清單值對應至片段的資訊。這本質上是一個排序的映射,由片段 ID/值對組成。對於範圍分割區,每個片段都有一個配對。對於清單分割區,它可以是任意數量的配對,但至少與片段一樣多的配對。
- 簽章
void setRangeListData ( const void* data, Uint32 len )- 參數
-
此方法需要以下兩個參數:
一個指標,指向包含 ID/值配對的範圍或清單
data此資料的長度 (
len),為 32 位元無號整數。
- 傳回值
無.
- 描述
設定列總和檢查碼指示器。
- 簽章
void setRowChecksumIndicator ( bool value ) const- 參數
一個
true或falsevalue。- 傳回值
無.
- 描述
為資料表設定
SingleUserMode。- 簽章
void setSingleUserMode ( enum SingleUserMode )- 參數
一個
SingleUserMode值。- 傳回值
無.
- 描述
-
此方法設定資料表的表空間。
請參閱 第 2.3.28 節,「表空間類別」。
- 簽章
-
使用表空間的名稱
void setTablespace ( const char* name )使用
Tablespace物件void setTablespace ( const class Tablespace& tablespace ) - 參數
-
此方法可以使用單一引數呼叫,該引數可以是以下兩種類型之一:
表空間的
name(一個字串)。現有
Tablespace執行個體的參考。
- 傳回值
無.
- 描述
此方法設定每個片段的表空間資訊,並包括表空間 ID 和表空間版本。
- 簽章
void setTablespaceData ( const void* data, Uint32 len )- 參數
-
此方法需要以下兩個參數:
指向包含表空間 ID 和版本的
data指標此資料的長度 (
len),為 32 位元無號整數。
- 傳回值
無.
- 描述
設定資料表片段所使用的表空間名稱。
- 簽章
void setTablespaceNames ( const void* data Uint32 len )- 參數
-
此方法接受以下兩個參數:
指向表空間名稱
data的指標名稱資料的長度 (
len),為 32 位元無號整數。
- 傳回值
無.
- 描述
-
此方法會驗證新資料表在建立之前的定義,執行
Table::aggregate()方法,並執行額外檢查。validate()在建立或擷取資料表時會自動呼叫。因此,通常不需要直接呼叫aggregate()或validate()。您應了解,即使在呼叫
validate()方法之後,仍然可能存在只能在實際建立資料表時由NDB核心偵測到的錯誤。 - 簽章
int validate ( struct NdbError& error )- 參數
對
NdbError物件的參考。- 傳回值
整數,如果成功,則值為
0,如果表格處於不一致的狀態,則值為-1。在後者的情況下,也會設定error。