mariadb_field_attr(3)

  Name

mariadb_field_attr - returns extended metadata information for pluggable field types

  Synopsis

    #include <mysql.h>
    int *mariadb_field_attr(MARIADB_CONST_STRING *attr,
                            const MYSQL_FIELD *field,
                            enum mariadb_field_attr_t type)

  Description

Returns extended metadata information for pluggable field types like JSON and GEOMETRY.

  Parameter

•   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 are MARIADB_FIELD_METADATA_DATA_TYPE_NAME and MARIADB_FIELD_METADATA_FORMAT_NAME.

  Return value

Returns zero on success or non zero if the field doesn’t provide extended metadata information.

  Notes

•   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(3)

  Example

    #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;
    }

  History

mariadb_field_attr was added in MariaDB Connector/C 3.1.8

  See also

•   mysql_store_result(3)

•   mysql_use_result(3)

•   mariadb_get_info(3)

•   mysql_fetch_fields(3)