MySQL++
3.3.0
|
SQL field type information. More...
#include <type_info.h>
Public Member Functions | |
mysql_type_info () | |
Default constructor. More... | |
mysql_type_info (enum_field_types t, bool _unsigned=false, bool _null=false) | |
Create object from MySQL C API type info. More... | |
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. More... | |
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. More... | |
const char * | name () const |
Returns an implementation-defined name of the C++ type. More... | |
const char * | sql_name () const |
Returns the name of the SQL type. More... | |
const std::type_info & | c_type () const |
Returns the type_info for the C++ type associated with the SQL type. More... | |
const mysql_type_info | base_type () const |
Returns the type_info for the C++ type inside of the mysqlpp::Null type. More... | |
int | id () const |
Returns the ID of the SQL type. More... | |
bool | quote_q () const |
Returns true if the SQL type is of a type that needs to be quoted. More... | |
bool | escape_q () const |
Returns true if the SQL type is of a type that needs to be escaped. More... | |
bool | before (mysql_type_info &b) |
Provides a way to compare two types for sorting. More... | |
Static Public Attributes | |
static const enum_field_types | string_type |
The internal constant we use for our string type. More... | |
SQL field type information.
|
inline |
Default constructor.
This only exists because FieldTypes keeps a vector of these objects. You are expected to copy real values into it before using it via the copy ctor or one of the assignment operators. If you don't, we have arranged a pretty spectacular crash for your program. So there.
|
inline |
Create object from MySQL C API type info.
t | the underlying 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 |
|
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.
|
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().
Referenced by mysqlpp::SQLBuffer::quote_q().
|
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.
|
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.
Referenced by mysqlpp::operator!=(), mysqlpp::operator==(), and mysqlpp::SQLBuffer::quote_q().
bool mysqlpp::mysql_type_info::escape_q | ( | ) | const |
Returns true if the SQL type is of a type that needs to be escaped.
Referenced by mysqlpp::String::escape_q(), and mysqlpp::SQLBuffer::escape_q().
|
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.
Referenced by mysqlpp::operator!=(), mysqlpp::operator==(), and mysqlpp::SQLTypeAdapter::type_id().
|
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.
|
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.
bool mysqlpp::mysql_type_info::quote_q | ( | ) | const |
Returns true if the SQL type is of a type that needs to be quoted.
Referenced by mysqlpp::String::quote_q(), and mysqlpp::SQLBuffer::quote_q().
|
inline |
Returns the name of the SQL type.
Returns the SQL name for the type.
|
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.
Referenced by mysqlpp::SQLTypeAdapter::assign(), mysqlpp::SQLBuffer::is_string(), mysqlpp::String::it_is_null(), mysqlpp::String::operator=(), and mysqlpp::String::type().