18 #ifndef NdbDictionary_H 
   19 #define NdbDictionary_H 
   21 #include <ndb_types.h> 
  104     virtual int getObjectId() 
const = 0;
 
  194     virtual int getObjectId() 
const;
 
  246       Olddecimalunsigned = NDB_TYPE_OLDDECIMALUNSIGNED,
 
  248       Decimalunsigned = NDB_TYPE_DECIMALUNSIGNED,
 
  278       ArrayTypeFixed = NDB_ARRAYTYPE_FIXED,          
 
  279       ArrayTypeShortVar = NDB_ARRAYTYPE_SHORT_VAR,   
 
  280       ArrayTypeMediumVar = NDB_ARRAYTYPE_MEDIUM_VAR 
 
  289       StorageTypeMemory = NDB_STORAGETYPE_MEMORY,
 
  290       StorageTypeDisk = NDB_STORAGETYPE_DISK,
 
  291       StorageTypeDefault = NDB_STORAGETYPE_DEFAULT
 
  320 #ifndef DOXYGEN_SHOULD_SKIP_INTERNAL 
  321     int getAttrId() 
const;
 
  416 #ifndef DOXYGEN_SHOULD_SKIP_DEPRECATED 
  420     ArrayType getArrayType() 
const;
 
  421     StorageType getStorageType() 
const;
 
  553 #ifndef DOXYGEN_SHOULD_SKIP_DEPRECATED 
  554     inline void setDistributionKey(
bool enable)
 
  558     void setArrayType(ArrayType 
type);
 
  559     void setStorageType(StorageType 
type);
 
  568 #ifndef DOXYGEN_SHOULD_SKIP_DEPRECATED 
  586     const void* getDefaultValue(
unsigned int* len = 0) 
const;
 
  588 #ifndef DOXYGEN_SHOULD_SKIP_INTERNAL 
  589     const Table * getBlobTable() 
const;
 
  591     void setAutoIncrement(
bool);
 
  592     bool getAutoIncrement() 
const;
 
  593     void setAutoIncrementInitialValue(Uint64 val);
 
  595     static const Column * FRAGMENT;
 
  596     static const Column * FRAGMENT_FIXED_MEMORY;
 
  597     static const Column * FRAGMENT_VARSIZED_MEMORY;
 
  598     static const Column * ROW_COUNT;
 
  599     static const Column * COMMIT_COUNT;
 
  600     static const Column * ROW_SIZE;
 
  601     static const Column * RANGE_NO;
 
  602     static const Column * DISK_REF;
 
  603     static const Column * RECORDS_IN_RANGE;
 
  604     static const Column * ROWID;
 
  605     static const Column * ROW_GCI;
 
  606     static const Column * ROW_GCI64;
 
  607     static const Column * ROW_AUTHOR;
 
  608     static const Column * ANY_VALUE;
 
  609     static const Column * COPY_ROWID;
 
  610     static const Column * LOCK_REF;
 
  611     static const Column * OP_ID;
 
  612     static const Column * OPTIMIZE;
 
  613     static const Column * FRAGMENT_EXTENT_SPACE;
 
  614     static const Column * FRAGMENT_FREE_EXTENT_SPACE;
 
  616     int getSizeInBytes() 
const;
 
  618     int getBlobVersion() 
const; 
 
  619     void setBlobVersion(
int blobVersion); 
 
  629 #ifndef DOXYGEN_SHOULD_SKIP_INTERNAL 
  638 #ifndef DOXYGEN_SHOULD_SKIP_INTERNAL 
  669     enum SingleUserMode {
 
  670       SingleUserModeLocked    = NDB_SUM_LOCKED,
 
  671       SingleUserModeReadOnly  = NDB_SUM_READONLY,
 
  672       SingleUserModeReadWrite = NDB_SUM_READ_WRITE
 
  799     Uint32 getFrmLength() 
const;
 
  823     Table(
const char * name = 
"");
 
  842     int setName(
const char * name);
 
  859     bool getLinearFlag() 
const;
 
  902     int setTablespaceName(
const char * name);
 
  903     const char * getTablespaceName() 
const;
 
  905     bool getTablespace(Uint32 *
id= 0, Uint32 *version= 0) 
const;
 
  907     bool getHashMap(Uint32* 
id = 0, Uint32* version = 0) 
const;
 
  908     int setHashMap(
const class HashMap &);
 
  919     void setStatusInvalid() 
const;
 
  930     Uint32 getDefaultNoPartitionsFlag() 
const;
 
  940     int setFrm(
const void* data, Uint32 len);
 
  956     Uint32 getFragmentDataLen() 
const;
 
  971     Uint32 getRangeListDataLen() 
const;
 
  981                             Uint32* nodeIdArrayPtr,
 
  982                             Uint32 arraySize) 
const;
 
  994     Uint64 getMaxRows() 
const;
 
 1001     Uint64 getMinRows() 
const;
 
 1007     enum SingleUserMode getSingleUserMode() 
const;
 
 1015     void setRowGCIIndicator(
bool value);
 
 1016     bool getRowGCIIndicator() 
const;
 
 1018     void setRowChecksumIndicator(
bool value);
 
 1019     bool getRowChecksumIndicator() 
const;
 
 1021 #ifndef DOXYGEN_SHOULD_SKIP_INTERNAL 
 1022     const char *getMysqlName() 
const;
 
 1024     void setStoredTable(
bool x) { 
setLogging(x); }
 
 1025     bool getStoredTable()
 const { 
return getLogging(); }
 
 1027     int getRowSizeInBytes() 
const ;
 
 1028     int createTableInDb(
Ndb*, 
bool existingEqualIsOk = 
true) 
const ;
 
 1030     int getReplicaCount() 
const ;
 
 1032     bool getTemporary() 
const;
 
 1033     void setTemporary(
bool); 
 
 1041     void setForceVarPart(
bool);
 
 1051     int checkColumns(
const Uint32* bitmap, 
unsigned len_in_bytes) 
const;
 
 1065     Column::StorageType getStorageType() 
const;
 
 1071     Uint32 getExtraRowGciBits() 
const;
 
 1077     Uint32 getExtraRowAuthorBits() 
const;
 
 1122     bool hasDefaultValues() 
const;
 
 1125 #ifndef DOXYGEN_SHOULD_SKIP_INTERNAL 
 1162 #ifndef DOXYGEN_SHOULD_SKIP_DEPRECATED 
 1175 #ifndef DOXYGEN_SHOULD_SKIP_DEPRECATED 
 1273 #ifndef DOXYGEN_SHOULD_SKIP_DEPRECATED 
 1290 #ifndef DOXYGEN_SHOULD_SKIP_DEPRECATED 
 1314 #ifndef DOXYGEN_SHOULD_SKIP_DEPRECATED 
 1315     void setStoredIndex(
bool x) { 
setLogging(x); }
 
 1316     bool getStoredIndex()
 const { 
return getLogging(); }
 
 1318     bool getTemporary() 
const;
 
 1319     void setTemporary(
bool); 
 
 1325 #ifndef DOXYGEN_SHOULD_SKIP_INTERNAL 
 1358 #ifndef DOXYGEN_SHOULD_SKIP_INTERNAL 
 1361     friend class NdbDicitionaryImpl;
 
 1392 #ifndef DOXYGEN_SHOULD_SKIP_INTERNAL 
 1394     friend class NdbDicitionaryImpl;
 
 1409 #ifndef DOXYGEN_SHOULD_SKIP_INTERNAL 
 1416 #ifndef DOXYGEN_SHOULD_SKIP_INTERNAL 
 1418       TE_FIRST_NON_DATA_EVENT =1<<4,
 
 1432 #ifndef DOXYGEN_SHOULD_SKIP_INTERNAL 
 1438       _TE_FIRST_NON_DATA_EVENT=4,
 
 1443       _TE_CLUSTER_FAILURE=8,
 
 1445       _TE_NODE_FAILURE=10,
 
 1458 #ifndef DOXYGEN_SHOULD_SKIP_INTERNAL 
 1461 #if 0 // not supported 
 1472 #ifndef DOXYGEN_SHOULD_SKIP_INTERNAL 
 1529     int setTable(
const char *tableName);
 
 1560 #ifndef DOXYGEN_SHOULD_SKIP_INTERNAL 
 1561     void addColumn(
const Column &c);
 
 1635 #ifndef DOXYGEN_SHOULD_SKIP_INTERNAL 
 1640 #ifndef DOXYGEN_SHOULD_SKIP_INTERNAL 
 1649   enum NdbRecordFlags {
 
 1654     RecMysqldShrinkVarchar= 0x1,
 
 1656     RecMysqldBitfield= 0x2
 
 1685     Uint32 nullbit_byte_offset;
 
 1687     Uint32 nullbit_bit_in_byte;
 
 1721   static bool getFirstAttrId(
const NdbRecord* 
record, Uint32& firstAttrId);
 
 1742                                Uint32& nullbit_byte_offset,
 
 1743                                Uint32& nullbit_bit_in_byte);
 
 1816   static const unsigned char* getEmptyBitmask();
 
 1822     const char * filename_pattern;
 
 1834     void setName(
const char * 
name);
 
 1835     const char* getName() 
const;
 
 1837     void setUndoBufferSize(Uint32 sz);
 
 1838     Uint32 getUndoBufferSize() 
const;
 
 1843     Uint64 getUndoFreeWords() 
const;
 
 1876     void setName(
const char * 
name);
 
 1877     const char* getName() 
const;
 
 1879     void setExtentSize(Uint32 sz);
 
 1880     Uint32 getExtentSize() 
const;
 
 1885     void setDefaultLogfileGroup(
const char * name);
 
 1886     void setDefaultLogfileGroup(
const class LogfileGroup&);
 
 1888     const char * getDefaultLogfileGroup() 
const;
 
 1889     Uint32 getDefaultLogfileGroupId() 
const;
 
 1918     void setPath(
const char * 
name);
 
 1919     const char* getPath() 
const;
 
 1921     void setSize(Uint64);
 
 1922     Uint64 getSize() 
const;
 
 1923     Uint64 getFree() 
const;
 
 1925     int setTablespace(
const char * name);
 
 1927     const char * getTablespace() 
const;
 
 1928     void getTablespaceId(
ObjectId * dst) 
const;
 
 1930     void setNode(Uint32 nodeId);
 
 1931     Uint32 getNode() 
const;
 
 1933     Uint32 getFileNo() 
const;
 
 1962     void setPath(
const char * path);
 
 1963     const char* getPath() 
const;
 
 1965     void setSize(Uint64);
 
 1966     Uint64 getSize() 
const;
 
 1968     void setLogfileGroup(
const char * 
name);
 
 1970     const char * getLogfileGroup() 
const;
 
 1971     void getLogfileGroupId(
ObjectId * dst) 
const;
 
 1973     void setNode(Uint32 nodeId);
 
 1974     Uint32 getNode() 
const;
 
 1976     Uint32 getFileNo() 
const;
 
 2010     void setName(
const char *);
 
 2011     const char * getName() 
const;
 
 2013     void setMap(
const Uint32* values, Uint32 len);
 
 2014     Uint32 getMapLen() 
const;
 
 2015     int getMapValues(Uint32* dst, Uint32 len) 
const;
 
 2073           temp(NDB_TEMP_TAB_PERMANENT),
 
 2084           for (
unsigned i = 0; 
i < 
count; 
i++) {
 
 2112 #ifndef DOXYGEN_SHOULD_SKIP_DEPRECATED 
 2119                     bool fullyQualified) 
const;
 
 2149 #ifndef DOXYGEN_SHOULD_SKIP_INTERNAL 
 2153     const Table * 
getBlobTable(
const Table *, 
const char * col_name);
 
 2154     const Table * 
getBlobTable(
const Table *, Uint32 col_no);
 
 2160     void putTable(
const Table * 
table);
 
 2169     const Index * 
getIndex(
const char * indexName,
 
 2170                            const char * tableName) 
const;
 
 2178 #ifndef DOXYGEN_SHOULD_SKIP_DEPRECATED 
 2183 #ifndef DOXYGEN_SHOULD_SKIP_INTERNAL 
 2211     int dropEvent(
const char * eventName, 
int force= 0);
 
 2218     const Event * 
getEvent(
const char * eventName);
 
 2225 #ifndef DOXYGEN_SHOULD_SKIP_DEPRECATED 
 2297 #ifndef DOXYGEN_SHOULD_SKIP_INTERNAL 
 2306     int alterTable(
const Table & f, 
const Table & t);
 
 2350                   const char * tableName);
 
 2358     int updateIndexStat(
const Index&, 
const Table&);
 
 2363     int updateIndexStat(Uint32 indexId, Uint32 indexVersion, Uint32 tableId);
 
 2369     int deleteIndexStat(
const Index&, 
const Table&);
 
 2374     int deleteIndexStat(Uint32 indexId, Uint32 indexVersion, Uint32 tableId);
 
 2376 #ifndef DOXYGEN_SHOULD_SKIP_INTERNAL 
 2384                          const char * tableName);
 
 2411       WarnUndobufferRoundUp = 0x1,  
 
 2412       WarnUndofileRoundDown = 0x2,  
 
 2413       WarnExtentRoundUp = 0x4,      
 
 2414       WarnDatafileRoundDown = 0x8,  
 
 2415       WarnDatafileRoundUp = 0x10    
 
 2418     int createLogfileGroup(
const LogfileGroup &, ObjectId* = 0);
 
 2419     int dropLogfileGroup(
const LogfileGroup&);
 
 2420     LogfileGroup getLogfileGroup(
const char * 
name);
 
 2422     int createTablespace(
const Tablespace &, ObjectId* = 0);
 
 2423     int dropTablespace(
const Tablespace&);
 
 2424     Tablespace getTablespace(
const char * 
name);
 
 2425     Tablespace getTablespace(Uint32 tablespaceId);
 
 2427     int createDatafile(
const Datafile &, 
bool overwrite_existing = 
false, ObjectId* = 0);
 
 2428     int dropDatafile(
const Datafile&);
 
 2429     Datafile getDatafile(Uint32 node, 
const char * path);
 
 2431     int createUndofile(
const Undofile &, 
bool overwrite_existing = 
false, ObjectId * = 0);
 
 2432     int dropUndofile(
const Undofile&);
 
 2433     Undofile getUndofile(Uint32 node, 
const char * path);
 
 2542       SchemaTransAbort = 1,
 
 2544       SchemaTransBackground = 2
 
 2558 #ifndef DOXYGEN_SHOULD_SKIP_INTERNAL 
 2565     const Table * getIndexTable(
const char * indexName, 
 
 2566                                 const char * tableName) 
const;
 
 2568 #ifndef DOXYGEN_SHOULD_SKIP_INTERNAL 
 2570     void set_local_table_data_size(
unsigned sz);
 
 2572     const Index * getIndexGlobal(
const char * indexName,
 
 2573                                  const Table &ndbtab) 
const;
 
 2574     const Index * getIndexGlobal(
const char * indexName,
 
 2575                                  const char * tableName) 
const;
 
 2576     const Table * getTableGlobal(
const char * tableName) 
const;
 
 2577     int alterTableGlobal(
const Table &f, 
const Table &t);
 
 2578     int dropTableGlobal(
const Table &ndbtab);
 
 2580     int removeIndexGlobal(
const Index &ndbidx, 
int invalidate) 
const;
 
 2581     int removeTableGlobal(
const Table &ndbtab, 
int invalidate) 
const;
 
 2582     void invalidateDbGlobal(
const char * dbname);
 
 2626     const char *lines_terminated_by;
 
 2627     const char *fields_terminated_by;
 
 2628     const char *start_array_enclosure;
 
 2629     const char *end_array_enclosure;
 
 2630     const char *fields_enclosed_by;
 
 2631     const char *fields_optionally_enclosed_by;
 
 2632     const char *hex_prefix;
 
 2633     const char *null_string;
 
 2638   class NdbOut& printFormattedValue(
class NdbOut& out,