#include <ndb_types.h>Include dependency graph for NdbDictionary.hpp:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.
Classes | |
| class | NdbDictionary |
| Data dictionary class. More... | |
| class | NdbDictionary::Object |
| Meta information about a database object (a table, index, etc). More... | |
| class | NdbDictionary::ObjectId |
| class | NdbDictionary::Column |
| Represents a column in an NDB Cluster table. More... | |
| class | NdbDictionary::Table |
| Represents a table in NDB Cluster. More... | |
| class | NdbDictionary::Index |
| Represents an index in an NDB Cluster. More... | |
| class | NdbDictionary::Event |
| Represents an Event in NDB Cluster. More... | |
| struct | NdbDictionary::AutoGrowSpecification |
| class | NdbDictionary::LogfileGroup |
| class | NdbDictionary::Tablespace |
| class | NdbDictionary::Datafile |
| class | NdbDictionary::Undofile |
| class | NdbDictionary::Dictionary |
| Dictionary for defining and retreiving meta data. More... | |
| class | NdbDictionary::Dictionary::List |
| Structure for retrieving lists of object names. More... | |
| struct | NdbDictionary::Dictionary::List::Element |
| Object to be stored in an NdbDictionary::Dictionary::List. More... | |
Typedefs | |
| typedef charset_info_st | CHARSET_INFO |
Functions | |
| NdbOut & | operator<< (class NdbOut &out, const NdbDictionary::Column &col) |
| typedef struct charset_info_st CHARSET_INFO |
Definition at line 24 of file NdbDictionary.hpp.
| class NdbOut& operator<< | ( | class NdbOut & | out, | |
| const NdbDictionary::Column & | col | |||
| ) |
Definition at line 1685 of file NdbDictionary.cpp.
01686 { 01687 const CHARSET_INFO *cs = col.getCharset(); 01688 const char *csname = cs ? cs->name : "?"; 01689 out << col.getName() << " "; 01690 switch (col.getType()) { 01691 case NdbDictionary::Column::Tinyint: 01692 out << "Tinyint"; 01693 break; 01694 case NdbDictionary::Column::Tinyunsigned: 01695 out << "Tinyunsigned"; 01696 break; 01697 case NdbDictionary::Column::Smallint: 01698 out << "Smallint"; 01699 break; 01700 case NdbDictionary::Column::Smallunsigned: 01701 out << "Smallunsigned"; 01702 break; 01703 case NdbDictionary::Column::Mediumint: 01704 out << "Mediumint"; 01705 break; 01706 case NdbDictionary::Column::Mediumunsigned: 01707 out << "Mediumunsigned"; 01708 break; 01709 case NdbDictionary::Column::Int: 01710 out << "Int"; 01711 break; 01712 case NdbDictionary::Column::Unsigned: 01713 out << "Unsigned"; 01714 break; 01715 case NdbDictionary::Column::Bigint: 01716 out << "Bigint"; 01717 break; 01718 case NdbDictionary::Column::Bigunsigned: 01719 out << "Bigunsigned"; 01720 break; 01721 case NdbDictionary::Column::Float: 01722 out << "Float"; 01723 break; 01724 case NdbDictionary::Column::Double: 01725 out << "Double"; 01726 break; 01727 case NdbDictionary::Column::Olddecimal: 01728 out << "Olddecimal(" << col.getPrecision() << "," << col.getScale() << ")"; 01729 break; 01730 case NdbDictionary::Column::Olddecimalunsigned: 01731 out << "Olddecimalunsigned(" << col.getPrecision() << "," << col.getScale() << ")"; 01732 break; 01733 case NdbDictionary::Column::Decimal: 01734 out << "Decimal(" << col.getPrecision() << "," << col.getScale() << ")"; 01735 break; 01736 case NdbDictionary::Column::Decimalunsigned: 01737 out << "Decimalunsigned(" << col.getPrecision() << "," << col.getScale() << ")"; 01738 break; 01739 case NdbDictionary::Column::Char: 01740 out << "Char(" << col.getLength() << ";" << csname << ")"; 01741 break; 01742 case NdbDictionary::Column::Varchar: 01743 out << "Varchar(" << col.getLength() << ";" << csname << ")"; 01744 break; 01745 case NdbDictionary::Column::Binary: 01746 out << "Binary(" << col.getLength() << ")"; 01747 break; 01748 case NdbDictionary::Column::Varbinary: 01749 out << "Varbinary(" << col.getLength() << ")"; 01750 break; 01751 case NdbDictionary::Column::Datetime: 01752 out << "Datetime"; 01753 break; 01754 case NdbDictionary::Column::Date: 01755 out << "Date"; 01756 break; 01757 case NdbDictionary::Column::Blob: 01758 out << "Blob(" << col.getInlineSize() << "," << col.getPartSize() 01759 << ";" << col.getStripeSize() << ")"; 01760 break; 01761 case NdbDictionary::Column::Text: 01762 out << "Text(" << col.getInlineSize() << "," << col.getPartSize() 01763 << ";" << col.getStripeSize() << ";" << csname << ")"; 01764 break; 01765 case NdbDictionary::Column::Time: 01766 out << "Time"; 01767 break; 01768 case NdbDictionary::Column::Year: 01769 out << "Year"; 01770 break; 01771 case NdbDictionary::Column::Timestamp: 01772 out << "Timestamp"; 01773 break; 01774 case NdbDictionary::Column::Undefined: 01775 out << "Undefined"; 01776 break; 01777 case NdbDictionary::Column::Bit: 01778 out << "Bit(" << col.getLength() << ")"; 01779 break; 01780 case NdbDictionary::Column::Longvarchar: 01781 out << "Longvarchar(" << col.getLength() << ";" << csname << ")"; 01782 break; 01783 case NdbDictionary::Column::Longvarbinary: 01784 out << "Longvarbinary(" << col.getLength() << ")"; 01785 break; 01786 default: 01787 out << "Type" << (Uint32)col.getType(); 01788 break; 01789 } 01790 // show unusual (non-MySQL) array size 01791 if (col.getLength() != 1) { 01792 switch (col.getType()) { 01793 case NdbDictionary::Column::Char: 01794 case NdbDictionary::Column::Varchar: 01795 case NdbDictionary::Column::Binary: 01796 case NdbDictionary::Column::Varbinary: 01797 case NdbDictionary::Column::Blob: 01798 case NdbDictionary::Column::Text: 01799 case NdbDictionary::Column::Bit: 01800 case NdbDictionary::Column::Longvarchar: 01801 case NdbDictionary::Column::Longvarbinary: 01802 break; 01803 default: 01804 out << " [" << col.getLength() << "]"; 01805 break; 01806 } 01807 } 01808 01809 if (col.getPrimaryKey()) 01810 out << " PRIMARY KEY"; 01811 else if (! col.getNullable()) 01812 out << " NOT NULL"; 01813 else 01814 out << " NULL"; 01815 01816 if(col.getDistributionKey()) 01817 out << " DISTRIBUTION KEY"; 01818 01819 switch (col.getArrayType()) { 01820 case NDB_ARRAYTYPE_FIXED: 01821 out << " AT=FIXED"; 01822 break; 01823 case NDB_ARRAYTYPE_SHORT_VAR: 01824 out << " AT=SHORT_VAR"; 01825 break; 01826 case NDB_ARRAYTYPE_MEDIUM_VAR: 01827 out << " AT=MEDIUM_VAR"; 01828 break; 01829 default: 01830 out << " AT=" << (int)col.getArrayType() << "?"; 01831 break; 01832 } 01833 01834 switch (col.getStorageType()) { 01835 case NDB_STORAGETYPE_MEMORY: 01836 out << " ST=MEMORY"; 01837 break; 01838 case NDB_STORAGETYPE_DISK: 01839 out << " ST=DISK"; 01840 break; 01841 default: 01842 out << " ST=" << (int)col.getStorageType() << "?"; 01843 break; 01844 } 01845 01846 return out; 01847 }
1.4.7

