mysqlpp::mysql_type_info Class Reference

Holds basic type information for ColData. More...

#include <type_info.h>

List of all members.

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_infooperator= (unsigned char n)
 Assign a new internal type value.
mysql_type_infooperator= (const mysql_type_info &t)
 Assign another mysql_type_info object to this object.
mysql_type_infooperator= (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.


Detailed Description

Holds basic type information for ColData.

Class to hold basic type information for mysqlpp::ColData.


Constructor & Destructor Documentation

mysqlpp::mysql_type_info::mysql_type_info ( unsigned char  n = static_cast<unsigned char>(-1)  )  [inline]

Create object.

Parameters:
n index into the internal type table
Because of the 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.

Parameters:
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.

Parameters:
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.


Member Function Documentation

mysql_type_info& mysqlpp::mysql_type_info::operator= ( unsigned char  n  )  [inline]

Assign a new internal type value.

Parameters:
n an index into the internal MySQL++ type table
This function shouldn't be used outside the library.

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.

Returns:
true if the type needs to be quoted for syntactically correct SQL.

bool mysqlpp::mysql_type_info::escape_q (  )  const

Returns true if the SQL type is of a type that needs to be escaped.

Returns:
true if the type needs to be escaped for syntactically correct SQL.

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.


Member Data Documentation

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.


The documentation for this class was generated from the following files:
Generated on Tue Jan 23 12:05:17 2007 for MySQL++ by  doxygen 1.5.1-3