-
Notifications
You must be signed in to change notification settings - Fork 257
dyncol_structures
Georg Richter edited this page Sep 2, 2018
·
2 revisions
DYNAMIC_COLUMN
represents a packed dynamic column blob. It is essentially a string-with-length and is defined as follows:
/* A generic-purpose arbitrary-length string defined in MySQL Client API */
typedef struct st_dynamic_string
{
char *str;
size_t length,max_length,alloc_increment;
} DYNAMIC_STRING;
typedef DYNAMIC_STRING DYNAMIC_COLUMN;
Dynamic columns blob stores {name, value} pairs. DYNAMIC_COLUMN_VALUE
structure is used to represent the value in accessible form.
struct st_dynamic_column_value
{
DYNAMIC_COLUMN_TYPE type;
union
{
long long long_value;
unsigned long long ulong_value;
double double_value;
struct {
MYSQL_LEX_STRING value;
CHARSET_INFO *charset;
} string;
struct {
decimal_digit_t buffer[DECIMAL_BUFF_LENGTH];
decimal_t value;
} decimal;
MYSQL_TIME time_value;
} x;
};
typedef struct st_dynamic_column_value DYNAMIC_COLUMN_VALUE;
MYSQL_LEX_STRING
is a structure which represents a binary string.
struct st_mysql_lex_string
{
char *str;
size_t length;
};
typedef struct st_mysql_lex_string MYSQL_LEX_STRING;
MariaDB Connector/C Reference