📄 ndbdictionary.cpp
字号:
}voidNdbDictionary::Index::addColumnName(const char * name){ const Column c(name); addColumn(c);}voidNdbDictionary::Index::addIndexColumn(const char * name){ const Column c(name); addColumn(c);}voidNdbDictionary::Index::addColumnNames(unsigned noOfNames, const char ** names){ for(unsigned i = 0; i < noOfNames; i++) { const Column c(names[i]); addColumn(c); }}voidNdbDictionary::Index::addIndexColumns(int noOfNames, const char ** names){ for(int i = 0; i < noOfNames; i++) { const Column c(names[i]); addColumn(c); }}voidNdbDictionary::Index::setType(NdbDictionary::Index::Type t){ m_impl.m_type = t;}NdbDictionary::Index::TypeNdbDictionary::Index::getType() const { return m_impl.m_type;}voidNdbDictionary::Index::setLogging(bool val){ m_impl.m_logging = val;}bool NdbDictionary::Index::getLogging() const { return m_impl.m_logging;}NdbDictionary::Object::StatusNdbDictionary::Index::getObjectStatus() const { return m_impl.m_status;}int NdbDictionary::Index::getObjectVersion() const { return m_impl.m_version;}/***************************************************************** * Event facade */NdbDictionary::Event::Event(const char * name) : m_impl(* new NdbEventImpl(* this)){ setName(name);}NdbDictionary::Event::Event(const char * name, const Table& table) : m_impl(* new NdbEventImpl(* this)){ setName(name); setTable(table);}NdbDictionary::Event::Event(NdbEventImpl & impl) : m_impl(impl) {}NdbDictionary::Event::~Event(){ NdbEventImpl * tmp = &m_impl; if(this != tmp){ delete tmp; }}void NdbDictionary::Event::setName(const char * name){ m_impl.setName(name);}const char *NdbDictionary::Event::getName() const{ return m_impl.getName();}void NdbDictionary::Event::setTable(const Table& table){ m_impl.setTable(table);}void NdbDictionary::Event::setTable(const char * table){ m_impl.setTable(table);}const char*NdbDictionary::Event::getTableName() const{ return m_impl.getTableName();}voidNdbDictionary::Event::addTableEvent(const TableEvent t){ m_impl.addTableEvent(t);}voidNdbDictionary::Event::setDurability(EventDurability d){ m_impl.setDurability(d);}NdbDictionary::Event::EventDurabilityNdbDictionary::Event::getDurability() const{ return m_impl.getDurability();}voidNdbDictionary::Event::addColumn(const Column & c){ NdbColumnImpl* col = new NdbColumnImpl; (* col) = NdbColumnImpl::getImpl(c); m_impl.m_columns.push_back(col);}voidNdbDictionary::Event::addEventColumn(unsigned attrId){ m_impl.m_attrIds.push_back(attrId);}voidNdbDictionary::Event::addEventColumn(const char * name){ const Column c(name); addColumn(c);}voidNdbDictionary::Event::addEventColumns(int n, const char ** names){ for (int i = 0; i < n; i++) addEventColumn(names[i]);}int NdbDictionary::Event::getNoOfEventColumns() const{ return m_impl.getNoOfEventColumns();}NdbDictionary::Object::StatusNdbDictionary::Event::getObjectStatus() const{ return m_impl.m_status;}int NdbDictionary::Event::getObjectVersion() const{ return m_impl.m_version;}void NdbDictionary::Event::print(){ m_impl.print();}/***************************************************************** * Dictionary facade */NdbDictionary::Dictionary::Dictionary(Ndb & ndb) : m_impl(* new NdbDictionaryImpl(ndb, *this)){}NdbDictionary::Dictionary::Dictionary(NdbDictionaryImpl & impl) : m_impl(impl) {}NdbDictionary::Dictionary::~Dictionary(){ NdbDictionaryImpl * tmp = &m_impl; if(this != tmp){ delete tmp; }}int NdbDictionary::Dictionary::createTable(const Table & t){ return m_impl.createTable(NdbTableImpl::getImpl(t));}intNdbDictionary::Dictionary::dropTable(Table & t){ return m_impl.dropTable(NdbTableImpl::getImpl(t));}intNdbDictionary::Dictionary::dropTable(const char * name){ return m_impl.dropTable(name);}intNdbDictionary::Dictionary::alterTable(const Table & t){ return m_impl.alterTable(NdbTableImpl::getImpl(t));}const NdbDictionary::Table * NdbDictionary::Dictionary::getTable(const char * name, void **data) const{ NdbTableImpl * t = m_impl.getTable(name, data); if(t) return t->m_facade; return 0;}void NdbDictionary::Dictionary::set_local_table_data_size(unsigned sz){ m_impl.m_local_table_data_size= sz;}const NdbDictionary::Table * NdbDictionary::Dictionary::getTable(const char * name) const{ return getTable(name, 0);}voidNdbDictionary::Dictionary::invalidateTable(const char * name){ DBUG_ENTER("NdbDictionaryImpl::invalidateTable"); NdbTableImpl * t = m_impl.getTable(name); if(t) m_impl.invalidateObject(* t); DBUG_VOID_RETURN;}voidNdbDictionary::Dictionary::removeCachedTable(const char * name){ NdbTableImpl * t = m_impl.getTable(name); if(t) m_impl.removeCachedObject(* t);}intNdbDictionary::Dictionary::createIndex(const Index & ind){ return m_impl.createIndex(NdbIndexImpl::getImpl(ind));}int NdbDictionary::Dictionary::dropIndex(const char * indexName, const char * tableName){ return m_impl.dropIndex(indexName, tableName);}const NdbDictionary::Index * NdbDictionary::Dictionary::getIndex(const char * indexName, const char * tableName) const{ NdbIndexImpl * i = m_impl.getIndex(indexName, tableName); if(i) return i->m_facade; return 0;}voidNdbDictionary::Dictionary::invalidateIndex(const char * indexName, const char * tableName){ DBUG_ENTER("NdbDictionaryImpl::invalidateIndex"); NdbIndexImpl * i = m_impl.getIndex(indexName, tableName); if(i) { assert(i->m_table != 0); m_impl.invalidateObject(* i->m_table); } DBUG_VOID_RETURN;}voidNdbDictionary::Dictionary::removeCachedIndex(const char * indexName, const char * tableName){ NdbIndexImpl * i = m_impl.getIndex(indexName, tableName); if(i) { assert(i->m_table != 0); m_impl.removeCachedObject(* i->m_table); }}const NdbDictionary::Table *NdbDictionary::Dictionary::getIndexTable(const char * indexName, const char * tableName) const{ NdbIndexImpl * i = m_impl.getIndex(indexName, tableName); NdbTableImpl * t = m_impl.getTable(tableName); if(i && t) { NdbTableImpl * it = m_impl.getIndexTable(i, t); return it->m_facade; } return 0;}intNdbDictionary::Dictionary::createEvent(const Event & ev){ return m_impl.createEvent(NdbEventImpl::getImpl(ev));}int NdbDictionary::Dictionary::dropEvent(const char * eventName){ return m_impl.dropEvent(eventName);}const NdbDictionary::Event *NdbDictionary::Dictionary::getEvent(const char * eventName){ NdbEventImpl * t = m_impl.getEvent(eventName); if(t) return t->m_facade; return 0;}intNdbDictionary::Dictionary::listObjects(List& list, Object::Type type){ return m_impl.listObjects(list, type);}intNdbDictionary::Dictionary::listObjects(List& list, Object::Type type) const{ return m_impl.listObjects(list, type);}intNdbDictionary::Dictionary::listIndexes(List& list, const char * tableName){ const NdbDictionary::Table* tab= getTable(tableName); if(tab == 0) { return -1; } return m_impl.listIndexes(list, tab->getTableId());}intNdbDictionary::Dictionary::listIndexes(List& list, const char * tableName) const{ const NdbDictionary::Table* tab= getTable(tableName); if(tab == 0) { return -1; } return m_impl.listIndexes(list, tab->getTableId());}const struct NdbError & NdbDictionary::Dictionary::getNdbError() const { return m_impl.getNdbError();}// printersNdbOut&operator<<(NdbOut& out, const NdbDictionary::Column& col){ const CHARSET_INFO *cs = col.getCharset(); const char *csname = cs ? cs->name : "?"; out << col.getName() << " "; switch (col.getType()) { case NdbDictionary::Column::Tinyint: out << "Tinyint"; break; case NdbDictionary::Column::Tinyunsigned: out << "Tinyunsigned"; break; case NdbDictionary::Column::Smallint: out << "Smallint"; break; case NdbDictionary::Column::Smallunsigned: out << "Smallunsigned"; break; case NdbDictionary::Column::Mediumint: out << "Mediumint"; break; case NdbDictionary::Column::Mediumunsigned: out << "Mediumunsigned"; break; case NdbDictionary::Column::Int: out << "Int"; break; case NdbDictionary::Column::Unsigned: out << "Unsigned"; break; case NdbDictionary::Column::Bigint: out << "Bigint"; break; case NdbDictionary::Column::Bigunsigned: out << "Bigunsigned"; break; case NdbDictionary::Column::Float: out << "Float"; break; case NdbDictionary::Column::Double: out << "Double"; break; case NdbDictionary::Column::Olddecimal: out << "Olddecimal(" << col.getPrecision() << "," << col.getScale() << ")"; break; case NdbDictionary::Column::Olddecimalunsigned: out << "Olddecimalunsigned(" << col.getPrecision() << "," << col.getScale() << ")"; break; case NdbDictionary::Column::Decimal: out << "Decimal(" << col.getPrecision() << "," << col.getScale() << ")"; break; case NdbDictionary::Column::Decimalunsigned: out << "Decimalunsigned(" << col.getPrecision() << "," << col.getScale() << ")"; break; case NdbDictionary::Column::Char: out << "Char(" << col.getLength() << ";" << csname << ")"; break; case NdbDictionary::Column::Varchar: out << "Varchar(" << col.getLength() << ";" << csname << ")"; break; case NdbDictionary::Column::Binary: out << "Binary(" << col.getLength() << ")"; break; case NdbDictionary::Column::Varbinary: out << "Varbinary(" << col.getLength() << ")"; break; case NdbDictionary::Column::Datetime: out << "Datetime"; break; case NdbDictionary::Column::Date: out << "Date"; break; case NdbDictionary::Column::Blob: out << "Blob(" << col.getInlineSize() << "," << col.getPartSize() << ";" << col.getStripeSize() << ")"; break; case NdbDictionary::Column::Text: out << "Text(" << col.getInlineSize() << "," << col.getPartSize() << ";" << col.getStripeSize() << ";" << csname << ")"; break; case NdbDictionary::Column::Time: out << "Time"; break; case NdbDictionary::Column::Year: out << "Year"; break; case NdbDictionary::Column::Timestamp: out << "Timestamp"; break; case NdbDictionary::Column::Undefined: out << "Undefined"; break; case NdbDictionary::Column::Bit: out << "Bit(" << col.getLength() << ")"; break; case NdbDictionary::Column::Longvarchar: out << "Longvarchar(" << col.getLength() << ";" << csname << ")"; break; case NdbDictionary::Column::Longvarbinary: out << "Longvarbinary(" << col.getLength() << ")"; break; default: out << "Type" << (Uint32)col.getType(); break; } // show unusual (non-MySQL) array size if (col.getLength() != 1) { switch (col.getType()) { case NdbDictionary::Column::Char: case NdbDictionary::Column::Varchar: case NdbDictionary::Column::Binary: case NdbDictionary::Column::Varbinary: case NdbDictionary::Column::Blob: case NdbDictionary::Column::Text: case NdbDictionary::Column::Bit: case NdbDictionary::Column::Longvarchar: case NdbDictionary::Column::Longvarbinary: break; default: out << " [" << col.getLength() << "]"; break; } } if (col.getPrimaryKey()) out << " PRIMARY KEY"; else if (! col.getNullable()) out << " NOT NULL"; else out << " NULL"; if(col.getDistributionKey()) out << " DISTRIBUTION KEY"; return out;}const NdbDictionary::Column * NdbDictionary::Column::FRAGMENT = 0;const NdbDictionary::Column * NdbDictionary::Column::FRAGMENT_MEMORY = 0;const NdbDictionary::Column * NdbDictionary::Column::ROW_COUNT = 0;const NdbDictionary::Column * NdbDictionary::Column::COMMIT_COUNT = 0;const NdbDictionary::Column * NdbDictionary::Column::ROW_SIZE = 0;const NdbDictionary::Column * NdbDictionary::Column::RANGE_NO = 0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -