You are here : Cmysql/mysql.hmysql_options4

mysql_options4() - mysql/mysql.h

 mysql_options4() is similar to
        mysql_options() but has an extra
        fourth argument so that two values can be passed for the option
        specified in the second argument.mysql_options4()mysql_options4()mysql_options()mysql_options()The following list describes the permitted options, their
        effect, and how arg1 and
        arg2 are used.arg1arg2MYSQL_OPT_CONNECT_ATTR_ADD (argument
            types: char *, char *)
          
            This option adds an attribute key/value pair to the current
            set of connection attributes to pass to the server at
            connect time. Both arguments are pointers to null-terminated
            strings. The first and second strings indicate the key and
            value, respectively. If the key is empty or already exists
            in the current set of connection attributes, an error
            occurs. Comparison of the key name with existing keys is
            case sensitive.
          
            Key names that begin with an underscore
            (_) are reserved for internal use and
            should not be created by application programs. This
            convention permits new attributes to be introduced by MySQL
            without colliding with application attributes.
          
mysql_options4() imposes a
            limit of 64KB on the aggregate size of connection attribute
            data it will accept. For calls that cause this limit to be
            exceeded, a
            CR_INVALID_PARAMETER_NO
            error occurs. Attribute size-limit checks also occur on the
            server side. For details, see
            Section 23.9.9, “Performance Schema Connection Attribute Tables”,
            which also describes how the Performance Schema exposes
            connection attributes through the
            session_connect_attrs and
            session_account_connect_attrs
            tables.
          
            See also the descriptions for the
            MYSQL_OPT_CONNECT_ATTR_RESET
MYSQL_OPT_CONNECT_ATTR_DELETE options in
            the description of the
            mysql_options() function.MYSQL_OPT_CONNECT_ATTR_ADD (argument
            types: char *, char *)
          
            This option adds an attribute key/value pair to the current
            set of connection attributes to pass to the server at
            connect time. Both arguments are pointers to null-terminated
            strings. The first and second strings indicate the key and
            value, respectively. If the key is empty or already exists
            in the current set of connection attributes, an error
            occurs. Comparison of the key name with existing keys is
            case sensitive.
          
            Key names that begin with an underscore
            (_) are reserved for internal use and
            should not be created by application programs. This
            convention permits new attributes to be introduced by MySQL
            without colliding with application attributes.
          
mysql_options4() imposes a
            limit of 64KB on the aggregate size of connection attribute
            data it will accept. For calls that cause this limit to be
            exceeded, a
            CR_INVALID_PARAMETER_NO
            error occurs. Attribute size-limit checks also occur on the
            server side. For details, see
            Section 23.9.9, “Performance Schema Connection Attribute Tables”,
            which also describes how the Performance Schema exposes
            connection attributes through the
            session_connect_attrs and
            session_account_connect_attrs
            tables.
          
            See also the descriptions for the
            MYSQL_OPT_CONNECT_ATTR_RESET
MYSQL_OPT_CONNECT_ATTR_DELETE options in
            the description of the
            mysql_options() function.MYSQL_OPT_CONNECT_ATTR_ADD (argument
            types: char *, char *)
          
            This option adds an attribute key/value pair to the current
            set of connection attributes to pass to the server at
            connect time. Both arguments are pointers to null-terminated
            strings. The first and second strings indicate the key and
            value, respectively. If the key is empty or already exists
            in the current set of connection attributes, an error
            occurs. Comparison of the key name with existing keys is
            case sensitive.
          
            Key names that begin with an underscore
            (_) are reserved for internal use and
            should not be created by application programs. This
            convention permits new attributes to be introduced by MySQL
            without colliding with application attributes.
          
mysql_options4() imposes a
            limit of 64KB on the aggregate size of connection attribute
            data it will accept. For calls that cause this limit to be
            exceeded, a
            CR_INVALID_PARAMETER_NO
            error occurs. Attribute size-limit checks also occur on the
            server side. For details, see
            Section 23.9.9, “Performance Schema Connection Attribute Tables”,
            which also describes how the Performance Schema exposes
            connection attributes through the
            session_connect_attrs and
            session_account_connect_attrs
            tables.
          
            See also the descriptions for the
            MYSQL_OPT_CONNECT_ATTR_RESET
MYSQL_OPT_CONNECT_ATTR_DELETE options in
            the description of the
            mysql_options() function.MYSQL_OPT_CONNECT_ATTR_ADD (argument
            types: char *, char *)MYSQL_OPT_CONNECT_ATTR_ADDchar *, char *This option adds an attribute key/value pair to the current
            set of connection attributes to pass to the server at
            connect time. Both arguments are pointers to null-terminated
            strings. The first and second strings indicate the key and
            value, respectively. If the key is empty or already exists
            in the current set of connection attributes, an error
            occurs. Comparison of the key name with existing keys is
            case sensitive.Key names that begin with an underscore
            (_) are reserved for internal use and
            should not be created by application programs. This
            convention permits new attributes to be introduced by MySQL
            without colliding with application attributes._mysql_options4() imposes a
            limit of 64KB on the aggregate size of connection attribute
            data it will accept. For calls that cause this limit to be
            exceeded, a
            CR_INVALID_PARAMETER_NO
            error occurs. Attribute size-limit checks also occur on the
            server side. For details, see
            Section 23.9.9, “Performance Schema Connection Attribute Tables”,
            which also describes how the Performance Schema exposes
            connection attributes through the
            session_connect_attrs and
            session_account_connect_attrs
            tables.mysql_options4()mysql_options4()CR_INVALID_PARAMETER_NOCR_INVALID_PARAMETER_NOSection 23.9.9, “Performance Schema Connection Attribute Tables”session_connect_attrssession_connect_attrssession_account_connect_attrssession_account_connect_attrsSee also the descriptions for the
            MYSQL_OPT_CONNECT_ATTR_RESET
MYSQL_OPT_CONNECT_ATTR_DELETE options in
            the description of the
            mysql_options() function.MYSQL_OPT_CONNECT_ATTR_RESETMYSQL_OPT_CONNECT_ATTR_DELETEmysql_options()mysql_options()


Syntax

int mysql_options4(MYSQL *mysql, enum mysql_option
        option, const void *arg1, const void *arg2)


Example

MYSQL mysql;

mysql_init(&mysql);
mysql_options(&mysql,MYSQL_OPT_CONNECT_ATTR_RESET, 0);
mysql_options4(&mysql,MYSQL_OPT_CONNECT_ATTR_ADD, "key1", "value1");
mysql_options4(&mysql,MYSQL_OPT_CONNECT_ATTR_ADD, "key2", "value2");
mysql_options4(&mysql,MYSQL_OPT_CONNECT_ATTR_ADD, "key3", "value3");
mysql_options(&mysql,MYSQL_OPT_CONNECT_ATTR_DELETE, "key1");
if (!mysql_real_connect(&mysql,"host","user","passwd","database",0,NULL,0))
{
    fprintf(stderr, "Failed to connect to database: Error: %s\n",
        mysql_error(&mysql));
}


Output / Return Value

 Zero for success. Nonzero if you specify an unknown option.


Limitations


Alternatives / See Also


Reference