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_NTSString is zero terminated
STMT_INDICATOR_NONENo indicator in use
STMT_INDICATOR_NULLValue is NULL
STMT_INDICATOR_DEFAULTUse default value
STMT_INDICATOR_IGNOREIgnore the specified value
STMT_INDICATOR_IGNORE_ROWSkip the current row

Definitions

Field Flags

The following field flags are used in MYSQL_FIELD structure.

FlagValueDescription
NOT_NULL_FLAG1Field can't be NULL
PRI_KEY_FLAG2Field is part of primary key
UNIQUE_KEY_FLAG4Field is part of unique key
MULTIPLE_KEY_FLAG8Field is part of a key
BLOB_FLAG16Field is a blob
UNSIGNED_FLAG32Field is unsigned integer
ZEROFILL_FLAG64Field is zero filled
BINARY_FLAG128Field is binary
ENUM_FLAG256Field is enum
AUTO_INCREMENT_FLAG512Field is an autoincrement field
TIMESTAMP_FLAG1024Field is a timestamp
SET_FLAG2048Field is a set
NO_DEFAULT_VALUE_FLAG4096Field has no default value
ON_UPDATE_NOW_FLAG8192If a field is updated it will get the current time value (NOW())
NUM_FLAG32768Field 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_TRANS1A transaction is currently active
SERVER_STATUS_AUTOCOMMIT2Autocommit mode is set
SERVER_MORE_RESULTS_EXISTS8more results exists (more packet follow)
SERVER_QUERY_NO_GOOD_INDEX_USED16
SERVER_QUERY_NO_INDEX_USED32
SERVER_STATUS_CURSOR_EXISTS64when using COM_STMT_FETCH, indicate that current cursor still has result
SERVER_STATUS_LAST_ROW_SENT128when using COM_STMT_FETCH, indicate that current cursor has finished to send results
SERVER_STATUS_DB_DROPPED1<<8database has been dropped
SERVER_STATUS_NO_BACKSLASH_ESCAPES1<<9current escape mode is "no backslash escape"
SERVER_STATUS_METADATA_CHANGED1<<10A DDL change did have an impact on an existing PREPARE (an automatic reprepare has been executed)
SERVER_QUERY_WAS_SLOW1<<11Last statement took more than the time value specified in server variable long_query_time.
SERVER_PS_OUT_PARAMS1<<12this resultset contain stored procedure output parameter
SERVER_STATUS_IN_TRANS_READONLY1<<13current transaction is a read-only transaction
SERVER_SESSION_STATE_CHANGED1<<14session 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

Comments

Comments loading...