All pages
Powered by GitBook
1 of 1

Loading...

MariaDB Connector/C Data Structures

This page describes the public data structures used by MariaDB Connector/C.

MYSQL

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 structure should be considered as opaque; copying or changing values of its members might produce unexpected results, errors or program crashes.

MYSQL_RES

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 .

The MYSQL_RES structure should be considered as opaque; copying or changing values of its members might produce unexpected results, errors or program crashes.

MYSQL_ROW

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.

After freeing the result set with MYSQL_ROW becomes invalid.

MYSQL_STMT

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_STMT structure should be considered as opaque; copying or changing values of its members might produce unexpected results, errors or program crashes.

MYSQL_FIELD

The MYSQL_FIELD structure describes the metadata of a column. It can be obtained by the function.

It has the following members:

MYSQL_BIND

The MYSQL_BIND structure is used to provide parameters for prepared statements or to receive output column value from prepared statements.

MYSQL_TIME

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

mysql_use_result()
mysql_store_result()
mysql_stmt_result_metadata()
mysql_free_result()
mysql_fetch_row()
mysql_free_result()
mysql_stmt_init()
mysql_stmt_close()
mysql_fetch_field()

unsigned int

unsigned long

unsigned int

Buffer type