All pages
Powered by GitBook
1 of 1

Loading...

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 and API functions. For a list of integral constants and their meanings, please check the documentation of .

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

enum mysql_set_option

enum mysql_set_option is used as a parameter in 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

enum mysql_enum_shutdown_level

enum mysql_enum_shutdown_level is used as a parameter in 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 function.

enum enum_cursor_type

enum_cursor_type specifies the cursor type and is used in 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.

Definitions

Field Flags

The following field flags are used in structure.

Server Status

The server_status can be obtained by the function using the MARIADB_CONNECTION_SERVER_STATUS option.

Macros

  • MYSQL_TIMESTAMP_TIME

  • 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

  • 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

    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

    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

    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

    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

    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

    mysql_optionsv()
    mysql_get_optionsv()
    mysql_get_optionsv()
    mysql_set_server_option()
    mysql_server_shutdown()
    mysql_stmt_attr_set()
    mysql_stmt_attr_set()
    MYSQL_FIELD
    mariadb_get_infov()

    BLOB_FLAG

    SERVER_STATUS_CURSOR_EXISTS