#ifndef MYSQLRESULTSETMETADATA_H #define MYSQLRESULTSETMETADATA_H #include #include namespace MySQL { class MySQLResultSet; class MySQLResultSetMetaDataImpl; class MySQLResultSetMetaData { public: MySQLResultSetMetaData(); ~MySQLResultSetMetaData(); public: std::string CatalogName(uint32_t column); uint32_t ColumnCount(); uint32_t ColumnDisplaySize(uint32_t column); std::string ColumnLabel(uint32_t column); std::string ColumnName(uint32_t column); int ColumnType(uint32_t column); std::string ColumnTypeName(uint32_t column); uint32_t Precision(uint32_t column); uint32_t Scale(uint32_t column); std::string SchemaName(uint32_t column); std::string TableName(uint32_t column); bool AutoIncrement(uint32_t column); bool CaseSensitive(uint32_t column); bool Currency(uint32_t column); bool DefinitelyWritable(uint32_t column); int Nullable(uint32_t column); bool Numeric(uint32_t column); bool ReadOnly(uint32_t column); bool Searchable(uint32_t column); bool Signed(uint32_t column); bool Writable(uint32_t column); bool Zerofill(uint32_t column); private: MySQLResultSetMetaData(std::shared_ptr pMySQLResultSetMetaDataImpl); private: friend class MySQLResultSet; friend class MySQLResultSetMetaDataImpl; private: std::shared_ptr m_pMySQLResultSetMetaDataImpl; }; } // namespace MySQL #endif // MYSQLRESULTSETMETADATA_H