-
Notifications
You must be signed in to change notification settings - Fork 256
mariadb_field_attr
Georg Richter edited this page Jun 11, 2021
·
2 revisions
mariadb_field_attr - returns extended metadata information for pluggable field types
#include <mysql.h>
int *mariadb_field_attr(MARIADB_CONST_STRING *attr,
const MYSQL_FIELD *field,
enum mariadb_field_attr_t type)
Returns extended metadata information for pluggable field types like JSON and GEOMETRY.
-
attr
: A pointer which returns extended metadata information -
field
: Specifies the field which contains extended metadata information -
type:
Specifies type of metadata information. Supported types areMARIADB_FIELD_METADATA_DATA_TYPE_NAME
andMARIADB_FIELD_METADATA_FORMAT_NAME
.
Returns zero on success or non zero if the field doesn't provide extended metadata information.
- Pluggable field type support is available in MariaDB server version 10.5.2 and later
- To check if the server supports pluggable field types, check the extended server capabilities which can be obtained by api function mariadb_get_info()
#include <mysql.h>
int display_extended_field_attribute(MYSQL *mysql)
{
MYSQL_RES *result;
MYSQL_FIELD *fields;
if (mysql_query(mysql, "CREATE TEMPORARY TABLE t1 (a POINT)"))
return 1;
if (mysql_query(mysql, "SELECT a FROM t1"))
return 1;
if (!(result= mysql_store_result(mysql)))
return 1;
if ((fields= mysql_fetch_fields(result)))
{
MARIADB_CONST_STRING field_attr;
if (!mariadb_field_attr(&field_attr, &fields[0],
MARIADB_FIELD_ATTR_DATA_TYPE_NAME))
{
printf("Extended field attribute: %s\n", field_attr.str);
}
}
mysql_free_result(result);
return 0;
}
mariadb_field_attr was added in MariaDB Connector/C 3.1.8
MariaDB Connector/C Reference