MariaDB Connector/C Types and Definitions
MariaDB Connector/C provides the following types and definitions.
Enumeration Types
enum mysql_option
enum mysql_option
is used as a parameter in mysql_optionsv() and mysql_get_optionsv() API functions. For a list of integral constants and their meanings please check the documentation of mysql_get_optionsv().
enum enum_mysql_timestamp_type
enum enum_mysql_timestamp_type
is used in the MYSQL_TIME structure and indicates the type. It has the following constants:
MYSQL_TIMESTAMP_NONE
MYSQL_TIMESTAMP_ERROR
MYSQL_TIMESTAMP_DATE
MYSQL_TIMESTAMP_DATETIME
MYSQL_TIMESTAMP_TIME
enum mysql_set_option
enum mysql_set_option
is used as a parameter in mysql_set_server_option() and has the following constants:
MYSQL_OPTIONS_MULTI_STATEMENTS_ON
MYSQL_OPTIONS_MULTI_STATEMENTS_OFF
enum enum_field_types
enum field_types
describes the different field types used by MariaDB ] and has the following constants:
MYSQL_TYPE_DECIMAL
MYSQL_TYPE_TINY
MYSQL_TYPE_SHORT
MYSQL_TYPE_LONG
MYSQL_TYPE_FLOAT
MYSQL_TYPE_DOUBLE
MYSQL_TYPE_NULL
MYSQL_TYPE_TIMESTAMP
MYSQL_TYPE_LONGLONG
MYSQL_TYPE_INT24
MYSQL_TYPE_DATE
MYSQL_TYPE_TIME
MYSQL_TYPE_DATETIME
MYSQL_TYPE_YEAR
MYSQL_TYPE_NEWDATE
MYSQL_TYPE_VARCHAR
MYSQL_TYPE_BIT
MYSQL_TYPE_TIMESTAMP2
MYSQL_TYPE_DATETIME2
MYSQL_TYPE_TIME2
MYSQL_TYPE_JSON
MYSQL_TYPE_NEWDECIMAL
MYSQL_TYPE_ENUM
MYSQL_TYPE_SET
MYSQL_TYPE_TINY_BLOB
MYSQL_TYPE_MEDIUM_BLOB
MYSQL_TYPE_LONG_BLOB
MYSQL_TYPE_BLOB
MYSQL_TYPE_VAR_STRING
MYSQL_TYPE_STRING
MYSQL_TYPE_GEOMETRY
enum mysql_enum_shutdown_level
enum mysql_enum_shutdown_level
is used as a parameter in mysql_server_shutdown() and has the following constants:
SHUTDOWN_DEFAULT
KILL_QUERY
KILL_CONNECTION
enum enum_stmt_attr_type
enum_stmt_attr_type
is used to set different statement options. For a detailed description please check mysql_stmt_attr_set() function.
enum enum_cursor_type
enum_cursor_type
specifies the cursor type and is used in mysql_stmt_attr_set() function. Currently the following constants are supported:
CURSOR_TYPE_READ_ONLY
CURSOR_TYPE_NO_CURSOR
enum enum_indicator_type
enum_indicator_type
describes the type of indicator used for prepared statements bulk operations.
STMT_INDICATOR_NTS
String is zero terminated
STMT_INDICATOR_NONE
No indicator in use
STMT_INDICATOR_NULL
Value is NULL
STMT_INDICATOR_DEFAULT
Use default value
STMT_INDICATOR_IGNORE
Ignore the specified value
STMT_INDICATOR_IGNORE_ROW
Skip the current row
Definitions
Field Flags
The following field flags are used in MYSQL_FIELD structure.
Flag
Value
Description
NOT_NULL_FLAG
1
Field can't be NULL
PRI_KEY_FLAG
2
Field is part of primary key
UNIQUE_KEY_FLAG
4
Field is part of unique key
MULTIPLE_KEY_FLAG
8
Field is part of a key
BLOB_FLAG
16
Field is a blob
UNSIGNED_FLAG
32
Field is unsigned integer
ZEROFILL_FLAG
64
Field is zero filled
BINARY_FLAG
128
Field is binary
ENUM_FLAG
256
Field is enum
AUTO_INCREMENT_FLAG
512
Field is an autoincrement field
TIMESTAMP_FLAG
1024
Field is a timestamp
SET_FLAG
2048
Field is a set
NO_DEFAULT_VALUE_FLAG
4096
Field has no default value
ON_UPDATE_NOW_FLAG
8192
If a field is updated it will get the current time value (NOW())
NUM_FLAG
32768
Field is numeric
Server Status
The server_status can be obtained by the mariadb_get_infov() function using the MARIADB_CONNECTION_SERVER_STATUS
option.
SERVER_STATUS_IN_TRANS
1
A transaction is currently active
SERVER_STATUS_AUTOCOMMIT
2
Autocommit mode is set
SERVER_MORE_RESULTS_EXISTS
8
more results exists (more packet follow)
SERVER_QUERY_NO_GOOD_INDEX_USED
16
SERVER_QUERY_NO_INDEX_USED
32
SERVER_STATUS_CURSOR_EXISTS
64
when using COM_STMT_FETCH, indicate that current cursor still has result
SERVER_STATUS_LAST_ROW_SENT
128
when using COM_STMT_FETCH, indicate that current cursor has finished to send results
SERVER_STATUS_DB_DROPPED
1<<8
database has been dropped
SERVER_STATUS_NO_BACKSLASH_ESCAPES
1<<9
current escape mode is "no backslash escape"
SERVER_STATUS_METADATA_CHANGED
1<<10
A DDL change did have an impact on an existing PREPARE (an automatic reprepare has been executed)
SERVER_QUERY_WAS_SLOW
1<<11
Last statement took more than the time value specified in server variable long_query_time.
SERVER_PS_OUT_PARAMS
1<<12
this resultset contain stored procedure output parameter
SERVER_STATUS_IN_TRANS_READONLY
1<<13
current transaction is a read-only transaction
SERVER_SESSION_STATE_CHANGED
1<<14
session state change. see Session change type for more information
Macros
IS_PRI_KEY(flag)
True if the field is part of a primary key
IS_NOT_NULL(flags)
True if the field is defined as not NULL
IS_BLOB(flags)
True if the field is a text or blob field
IS_NUM(column_type)
True if the column type is numeric
IS_LONGDATA(column_type)
True if the column is a blob or text field
Last updated
Was this helpful?