#include <type_info.h>
Public Member Functions | |
mysql_type_info (unsigned char n=static_cast< unsigned char >(-1)) | |
Create object. | |
mysql_type_info (enum_field_types t, bool _unsigned, bool _null) | |
Create object from MySQL C API type info. | |
mysql_type_info (const MYSQL_FIELD &f) | |
Create object from a MySQL C API field. | |
mysql_type_info (const mysql_type_info &t) | |
Create object as a copy of another. | |
mysql_type_info (const std::type_info &t) | |
Create object from a C++ type_info object. | |
mysql_type_info & | operator= (unsigned char n) |
Assign a new internal type value. | |
mysql_type_info & | operator= (const mysql_type_info &t) |
Assign another mysql_type_info object to this object. | |
mysql_type_info & | operator= (const std::type_info &t) |
Assign a C++ type_info object to this object. | |
const char * | name () const |
Returns an implementation-defined name of the C++ type. | |
const char * | sql_name () const |
Returns the name of the SQL type. | |
const std::type_info & | c_type () const |
Returns the type_info for the C++ type associated with the SQL type. | |
const unsigned int | length () const |
Return length of data in this field. | |
const unsigned int | max_length () const |
Return maximum length of data in this field. | |
const mysql_type_info | base_type () const |
Returns the type_info for the C++ type inside of the mysqlpp::Null type. | |
int | id () const |
Returns the ID of the SQL type. | |
bool | quote_q () const |
Returns true if the SQL type is of a type that needs to be quoted. | |
bool | escape_q () const |
Returns true if the SQL type is of a type that needs to be escaped. | |
bool | before (mysql_type_info &b) |
Provides a way to compare two types for sorting. | |
Public Attributes | |
unsigned int | _length |
field length, from MYSQL_FIELD | |
unsigned int | _max_length |
max data length, from MYSQL_FIELD | |
Static Public Attributes | |
static const unsigned char | string_type = 20 |
The internal constant we use for our string type. |
Class to hold basic type information for mysqlpp::ColData.
mysqlpp::mysql_type_info::mysql_type_info | ( | unsigned char | n = static_cast<unsigned char>(-1) |
) | [inline] |
Create object.
n | index into the internal type table |
n
parameter's definition, this constructor shouldn't be used outside the library.The default is intended to try and crash a program using a default mysql_type_info object. This is a very wrong thing to do.
mysqlpp::mysql_type_info::mysql_type_info | ( | enum_field_types | t, | |
bool | _unsigned, | |||
bool | _null | |||
) | [inline] |
Create object from MySQL C API type info.
t | the MySQL C API type ID for this type | |
_unsigned | if true, this is the unsigned version of the type | |
_null | if true, this type can hold a SQL null |
mysqlpp::mysql_type_info::mysql_type_info | ( | const MYSQL_FIELD & | f | ) | [inline] |
Create object from a MySQL C API field.
f | field from which we extract the type info |
mysqlpp::mysql_type_info::mysql_type_info | ( | const std::type_info & | t | ) | [inline] |
Create object from a C++ type_info object.
This tries to map a C++ type to the closest MySQL data type. It is necessarily somewhat approximate.
mysql_type_info& mysqlpp::mysql_type_info::operator= | ( | unsigned char | n | ) | [inline] |
Assign a new internal type value.
n | an index into the internal MySQL++ type table |
mysql_type_info& mysqlpp::mysql_type_info::operator= | ( | const std::type_info & | t | ) | [inline] |
Assign a C++ type_info object to this object.
This tries to map a C++ type to the closest MySQL data type. It is necessarily somewhat approximate.
const char* mysqlpp::mysql_type_info::name | ( | ) | const [inline] |
Returns an implementation-defined name of the C++ type.
Returns the name that would be returned by typeid().name() for the C++ type associated with the SQL type.
const char* mysqlpp::mysql_type_info::sql_name | ( | ) | const [inline] |
Returns the name of the SQL type.
Returns the SQL name for the type.
const std::type_info& mysqlpp::mysql_type_info::c_type | ( | ) | const [inline] |
Returns the type_info for the C++ type associated with the SQL type.
Returns the C++ type_info record corresponding to the SQL type.
const unsigned int mysqlpp::mysql_type_info::length | ( | ) | const [inline] |
Return length of data in this field.
This only works if you initialized this object from a MYSQL_FIELD object.
const unsigned int mysqlpp::mysql_type_info::max_length | ( | ) | const [inline] |
Return maximum length of data in this field.
This only works if you initialized this object from a MYSQL_FIELD object.
const mysql_type_info mysqlpp::mysql_type_info::base_type | ( | ) | const [inline] |
Returns the type_info for the C++ type inside of the mysqlpp::Null type.
Returns the type_info for the C++ type inside the mysqlpp::Null type. If the type is not Null then this is the same as c_type().
int mysqlpp::mysql_type_info::id | ( | ) | const [inline] |
Returns the ID of the SQL type.
Returns the ID number MySQL uses for this type. Note: Do not depend on the value of this ID as it may change between MySQL versions.
bool mysqlpp::mysql_type_info::quote_q | ( | ) | const |
Returns true if the SQL type is of a type that needs to be quoted.
bool mysqlpp::mysql_type_info::escape_q | ( | ) | const |
Returns true if the SQL type is of a type that needs to be escaped.
bool mysqlpp::mysql_type_info::before | ( | mysql_type_info & | b | ) | [inline] |
Provides a way to compare two types for sorting.
Returns true if the SQL ID of this type is lower than that of another. Used by mysqlpp::type_info_cmp when comparing types.
const unsigned char mysqlpp::mysql_type_info::string_type = 20 [static] |
The internal constant we use for our string type.
We expose this because other parts of MySQL++ need to know what the string constant is at the moment.