This page describes the public data structures used by MariaDB Connector/C.
The MYSQL structure represents one database connection and is used by most of MariaDB Connector/C's API functions. The MYSQL structure needs to be allocated and initialized by the mysql_init() API function. It will be released by the mysql_close() function.
The MYSQL_RES structure represents a result set which contains data and metadata information. It will be returned by the , and API functions and needs to be released by .
MYSQL_ROW represents an array of character pointers, pointing to the columns of the actual data row.
Data will be received by the function. The size of the array is the number of columns for the current row.
The MYSQL_STMT structure represents a prepared statement handle and is used by MariaDB Connector/C's prepared statement API functions. The MYSQL_STMT structure needs to be allocated and initialized by the function and needs to be released by the function.
The MYSQL_FIELD structure describes the metadata of a column. It can be obtained by the function.
It has the following members:
The MYSQL_BIND structure is used to provide parameters for prepared statements or to receive output column value from prepared statements.
The MYSQL_TIME structure is used for date and time values in prepared statements. It has the following members:
table_length
The length of table name
char *
org_table
The original name of the table
unsigned int
org_table_length
The length of original table name
char *
db
The name of the database (schema)
unsigned int
db_length
The length of database name
char *
catalog
The catalog name (always 'def')
unsigned int
catalog_length
The length of catalog name
char *
def
default value
unsigned int
def_length
The length of default value
unsigned int
length
The length (width) of the column definition
unsigned int
max_length
The maximum length of the column value
unsigned int
flags
Flags
unsigned int
decimals
Number of decimals
enum enum_field_types
type
Field type
buffer_length
Length of buffer
enum enum_field_types
buffer_type
unsigned long
length_value
Used if length pointer is NULL
my_bool
error_value
Used if error pointer is NULL
my_bool
is_null_value
Used if is_null pointer is NULL
my_bool
is_unsigned
Set if integer type is unsigned
my_bool
is_null_value
Used if value is NULL
second
Second
unsigned long
second_part
Fractional seconds (max. 6 digits)
my_bool
neg
Negative value
enum enum_mysql_timestamp_type
time_type
Type
char *
name
The name of the column
unsigned int
name_length
The length of column name
char *
org_name
The original name of the column
unsigned int
org_name_length
The length of original column name
char *
table
The name of the table
unsigned long *
length
Pointer for the length of the buffer (not used for parameters). The length is ignored for numeric and fixed size data types, as the buffer_type value determines the size of the data.
my_bool *
is_nulll
Pointer which indicates if column is NULL (not used for parameters)
my_bool *
error
Pointer which indicates if an error occured
void *
buffer
Data buffer which contains or receives data
char *
u.indicator
Array of indicator variables for bulk operation parameter
unsigned int
year
Year
unsigned int
month
Month
unsigned int
day
Day
unsigned int
hour
Hour
unsigned int
minute
Minute
unsigned int
unsigned long
unsigned int