mirror of
https://github.com/MariaDB/server.git
synced 2025-08-07 00:04:31 +03:00
Bug#27047 INFORMATION_SCHEMA table cannot have BIGINT fields
added support for DATE, TIME, BLOB, FLOAT and all *INT variants in I_S tables
This commit is contained in:
44
sql/item.h
44
sql/item.h
@@ -1840,33 +1840,57 @@ public:
|
|||||||
|
|
||||||
|
|
||||||
/* for show tables */
|
/* for show tables */
|
||||||
|
class Item_partition_func_safe_string: public Item_string
|
||||||
class Item_datetime :public Item_string
|
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
Item_datetime(const char *item_name): Item_string(item_name,"",0,
|
Item_partition_func_safe_string(const char *name, uint length,
|
||||||
&my_charset_bin)
|
CHARSET_INFO *cs= NULL):
|
||||||
{ max_length=19;}
|
Item_string(name, length, cs)
|
||||||
enum_field_types field_type() const { return MYSQL_TYPE_DATETIME; }
|
{}
|
||||||
bool check_partition_func_processor(byte *int_arg) {return TRUE;}
|
bool check_partition_func_processor(byte *int_arg) {return TRUE;}
|
||||||
};
|
};
|
||||||
|
|
||||||
class Item_empty_string :public Item_string
|
|
||||||
|
class Item_return_date_time :public Item_partition_func_safe_string
|
||||||
|
{
|
||||||
|
enum_field_types date_time_field_type;
|
||||||
|
public:
|
||||||
|
Item_return_date_time(const char *name_arg, enum_field_types field_type_arg)
|
||||||
|
:Item_partition_func_safe_string(name_arg, 0, &my_charset_bin),
|
||||||
|
date_time_field_type(field_type_arg)
|
||||||
|
{ }
|
||||||
|
enum_field_types field_type() const { return date_time_field_type; }
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
class Item_blob :public Item_partition_func_safe_string
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
Item_blob(const char *name, uint length) :
|
||||||
|
Item_partition_func_safe_string(name, length, &my_charset_bin)
|
||||||
|
{ max_length= length; }
|
||||||
|
enum Type type() const { return TYPE_HOLDER; }
|
||||||
|
enum_field_types field_type() const { return MYSQL_TYPE_BLOB; }
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
class Item_empty_string :public Item_partition_func_safe_string
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
Item_empty_string(const char *header,uint length, CHARSET_INFO *cs= NULL) :
|
Item_empty_string(const char *header,uint length, CHARSET_INFO *cs= NULL) :
|
||||||
Item_string("",0, cs ? cs : &my_charset_bin)
|
Item_partition_func_safe_string("",0, cs ? cs : &my_charset_bin)
|
||||||
{ name=(char*) header; max_length= cs ? length * cs->mbmaxlen : length; }
|
{ name=(char*) header; max_length= cs ? length * cs->mbmaxlen : length; }
|
||||||
void make_field(Send_field *field);
|
void make_field(Send_field *field);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
class Item_return_int :public Item_int
|
class Item_return_int :public Item_int
|
||||||
{
|
{
|
||||||
enum_field_types int_field_type;
|
enum_field_types int_field_type;
|
||||||
public:
|
public:
|
||||||
Item_return_int(const char *name_arg, uint length,
|
Item_return_int(const char *name_arg, uint length,
|
||||||
enum_field_types field_type_arg)
|
enum_field_types field_type_arg, longlong value= 0)
|
||||||
:Item_int(name_arg, 0, length), int_field_type(field_type_arg)
|
:Item_int(name_arg, value, length), int_field_type(field_type_arg)
|
||||||
{
|
{
|
||||||
unsigned_flag=1;
|
unsigned_flag=1;
|
||||||
}
|
}
|
||||||
|
@@ -784,7 +784,9 @@ db_show_routine_status(THD *thd, int type, const char *wild)
|
|||||||
{
|
{
|
||||||
switch (used_field->field_type) {
|
switch (used_field->field_type) {
|
||||||
case MYSQL_TYPE_TIMESTAMP:
|
case MYSQL_TYPE_TIMESTAMP:
|
||||||
field_list.push_back(item=new Item_datetime(used_field->field_name));
|
field_list.push_back(item=
|
||||||
|
new Item_return_date_time(used_field->field_name,
|
||||||
|
MYSQL_TYPE_DATETIME));
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
field_list.push_back(item=new Item_empty_string(used_field->field_name,
|
field_list.push_back(item=new Item_empty_string(used_field->field_name,
|
||||||
|
229
sql/sql_show.cc
229
sql/sql_show.cc
@@ -4704,16 +4704,26 @@ TABLE *create_schema_table(THD *thd, TABLE_LIST *table_list)
|
|||||||
for (; fields_info->field_name; fields_info++)
|
for (; fields_info->field_name; fields_info++)
|
||||||
{
|
{
|
||||||
switch (fields_info->field_type) {
|
switch (fields_info->field_type) {
|
||||||
|
case MYSQL_TYPE_TINY:
|
||||||
case MYSQL_TYPE_LONG:
|
case MYSQL_TYPE_LONG:
|
||||||
if (!(item= new Item_int(fields_info->field_name,
|
case MYSQL_TYPE_SHORT:
|
||||||
fields_info->value,
|
case MYSQL_TYPE_LONGLONG:
|
||||||
fields_info->field_length)))
|
case MYSQL_TYPE_INT24:
|
||||||
|
if (!(item= new Item_return_int(fields_info->field_name,
|
||||||
|
fields_info->field_length,
|
||||||
|
fields_info->field_type,
|
||||||
|
fields_info->value)))
|
||||||
{
|
{
|
||||||
DBUG_RETURN(0);
|
DBUG_RETURN(0);
|
||||||
}
|
}
|
||||||
|
item->unsigned_flag= (fields_info->field_flags & MY_I_S_UNSIGNED);
|
||||||
break;
|
break;
|
||||||
|
case MYSQL_TYPE_DATE:
|
||||||
|
case MYSQL_TYPE_TIME:
|
||||||
case MYSQL_TYPE_TIMESTAMP:
|
case MYSQL_TYPE_TIMESTAMP:
|
||||||
if (!(item=new Item_datetime(fields_info->field_name)))
|
case MYSQL_TYPE_DATETIME:
|
||||||
|
if (!(item=new Item_return_date_time(fields_info->field_name,
|
||||||
|
fields_info->field_type)))
|
||||||
{
|
{
|
||||||
DBUG_RETURN(0);
|
DBUG_RETURN(0);
|
||||||
}
|
}
|
||||||
@@ -4729,7 +4739,7 @@ TABLE *create_schema_table(THD *thd, TABLE_LIST *table_list)
|
|||||||
{
|
{
|
||||||
DBUG_RETURN(0);
|
DBUG_RETURN(0);
|
||||||
}
|
}
|
||||||
item->unsigned_flag= (fields_info->field_length/10000)%10;
|
item->unsigned_flag= (fields_info->field_flags & MY_I_S_UNSIGNED);
|
||||||
item->decimals= fields_info->field_length%10;
|
item->decimals= fields_info->field_length%10;
|
||||||
item->max_length= (fields_info->field_length/100)%100;
|
item->max_length= (fields_info->field_length/100)%100;
|
||||||
if (item->unsigned_flag == 0)
|
if (item->unsigned_flag == 0)
|
||||||
@@ -4739,6 +4749,16 @@ TABLE *create_schema_table(THD *thd, TABLE_LIST *table_list)
|
|||||||
item->set_name(fields_info->field_name,
|
item->set_name(fields_info->field_name,
|
||||||
strlen(fields_info->field_name), cs);
|
strlen(fields_info->field_name), cs);
|
||||||
break;
|
break;
|
||||||
|
case MYSQL_TYPE_TINY_BLOB:
|
||||||
|
case MYSQL_TYPE_MEDIUM_BLOB:
|
||||||
|
case MYSQL_TYPE_LONG_BLOB:
|
||||||
|
case MYSQL_TYPE_BLOB:
|
||||||
|
if (!(item= new Item_blob(fields_info->field_name,
|
||||||
|
fields_info->field_length)))
|
||||||
|
{
|
||||||
|
DBUG_RETURN(0);
|
||||||
|
}
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
/* Don't let unimplemented types pass through. Could be a grave error. */
|
/* Don't let unimplemented types pass through. Could be a grave error. */
|
||||||
DBUG_ASSERT(fields_info->field_type == MYSQL_TYPE_STRING);
|
DBUG_ASSERT(fields_info->field_type == MYSQL_TYPE_STRING);
|
||||||
@@ -4754,7 +4774,7 @@ TABLE *create_schema_table(THD *thd, TABLE_LIST *table_list)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
field_list.push_back(item);
|
field_list.push_back(item);
|
||||||
item->maybe_null= fields_info->maybe_null;
|
item->maybe_null= (fields_info->field_flags & MY_I_S_MAYBE_NULL);
|
||||||
field_count++;
|
field_count++;
|
||||||
}
|
}
|
||||||
TMP_TABLE_PARAM *tmp_table_param =
|
TMP_TABLE_PARAM *tmp_table_param =
|
||||||
@@ -5374,25 +5394,29 @@ ST_FIELD_INFO tables_fields_info[]=
|
|||||||
{"TABLE_NAME", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, "Name"},
|
{"TABLE_NAME", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, "Name"},
|
||||||
{"TABLE_TYPE", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, 0},
|
{"TABLE_TYPE", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, 0},
|
||||||
{"ENGINE", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 1, "Engine"},
|
{"ENGINE", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 1, "Engine"},
|
||||||
{"VERSION", MY_INT64_NUM_DECIMAL_DIGITS , MYSQL_TYPE_LONG, 0, 1, "Version"},
|
{"VERSION", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, 0,
|
||||||
|
(MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED), "Version"},
|
||||||
{"ROW_FORMAT", 10, MYSQL_TYPE_STRING, 0, 1, "Row_format"},
|
{"ROW_FORMAT", 10, MYSQL_TYPE_STRING, 0, 1, "Row_format"},
|
||||||
{"TABLE_ROWS", MY_INT64_NUM_DECIMAL_DIGITS , MYSQL_TYPE_LONG, 0, 1, "Rows"},
|
{"TABLE_ROWS", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, 0,
|
||||||
{"AVG_ROW_LENGTH", MY_INT64_NUM_DECIMAL_DIGITS , MYSQL_TYPE_LONG, 0, 1,
|
(MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED), "Rows"},
|
||||||
"Avg_row_length"},
|
{"AVG_ROW_LENGTH", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, 0,
|
||||||
{"DATA_LENGTH", MY_INT64_NUM_DECIMAL_DIGITS , MYSQL_TYPE_LONG, 0, 1,
|
(MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED), "Avg_row_length"},
|
||||||
"Data_length"},
|
{"DATA_LENGTH", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, 0,
|
||||||
{"MAX_DATA_LENGTH", MY_INT64_NUM_DECIMAL_DIGITS , MYSQL_TYPE_LONG, 0, 1,
|
(MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED), "Data_length"},
|
||||||
"Max_data_length"},
|
{"MAX_DATA_LENGTH", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, 0,
|
||||||
{"INDEX_LENGTH", MY_INT64_NUM_DECIMAL_DIGITS , MYSQL_TYPE_LONG, 0, 1,
|
(MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED), "Max_data_length"},
|
||||||
"Index_length"},
|
{"INDEX_LENGTH", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, 0,
|
||||||
{"DATA_FREE", MY_INT64_NUM_DECIMAL_DIGITS , MYSQL_TYPE_LONG, 0, 1, "Data_free"},
|
(MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED), "Index_length"},
|
||||||
{"AUTO_INCREMENT", MY_INT64_NUM_DECIMAL_DIGITS , MYSQL_TYPE_LONG, 0, 1,
|
{"DATA_FREE", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, 0,
|
||||||
"Auto_increment"},
|
(MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED), "Data_free"},
|
||||||
{"CREATE_TIME", 0, MYSQL_TYPE_TIMESTAMP, 0, 1, "Create_time"},
|
{"AUTO_INCREMENT", MY_INT64_NUM_DECIMAL_DIGITS , MYSQL_TYPE_LONGLONG, 0,
|
||||||
{"UPDATE_TIME", 0, MYSQL_TYPE_TIMESTAMP, 0, 1, "Update_time"},
|
(MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED), "Auto_increment"},
|
||||||
{"CHECK_TIME", 0, MYSQL_TYPE_TIMESTAMP, 0, 1, "Check_time"},
|
{"CREATE_TIME", 0, MYSQL_TYPE_DATETIME, 0, 1, "Create_time"},
|
||||||
|
{"UPDATE_TIME", 0, MYSQL_TYPE_DATETIME, 0, 1, "Update_time"},
|
||||||
|
{"CHECK_TIME", 0, MYSQL_TYPE_DATETIME, 0, 1, "Check_time"},
|
||||||
{"TABLE_COLLATION", 64, MYSQL_TYPE_STRING, 0, 1, "Collation"},
|
{"TABLE_COLLATION", 64, MYSQL_TYPE_STRING, 0, 1, "Collation"},
|
||||||
{"CHECKSUM", MY_INT64_NUM_DECIMAL_DIGITS , MYSQL_TYPE_LONG, 0, 1, "Checksum"},
|
{"CHECKSUM", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, 0,
|
||||||
|
(MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED), "Checksum"},
|
||||||
{"CREATE_OPTIONS", 255, MYSQL_TYPE_STRING, 0, 1, "Create_options"},
|
{"CREATE_OPTIONS", 255, MYSQL_TYPE_STRING, 0, 1, "Create_options"},
|
||||||
{"TABLE_COMMENT", 80, MYSQL_TYPE_STRING, 0, 0, "Comment"},
|
{"TABLE_COMMENT", 80, MYSQL_TYPE_STRING, 0, 0, "Comment"},
|
||||||
{0, 0, MYSQL_TYPE_STRING, 0, 0, 0}
|
{0, 0, MYSQL_TYPE_STRING, 0, 0, 0}
|
||||||
@@ -5405,15 +5429,20 @@ ST_FIELD_INFO columns_fields_info[]=
|
|||||||
{"TABLE_SCHEMA", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, 0},
|
{"TABLE_SCHEMA", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, 0},
|
||||||
{"TABLE_NAME", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, 0},
|
{"TABLE_NAME", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, 0},
|
||||||
{"COLUMN_NAME", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, "Field"},
|
{"COLUMN_NAME", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, "Field"},
|
||||||
{"ORDINAL_POSITION", MY_INT64_NUM_DECIMAL_DIGITS , MYSQL_TYPE_LONG, 0, 0, 0},
|
{"ORDINAL_POSITION", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, 0,
|
||||||
{"COLUMN_DEFAULT", MAX_FIELD_VARCHARLENGTH, MYSQL_TYPE_STRING, 0, 1, "Default"},
|
MY_I_S_UNSIGNED, 0},
|
||||||
|
{"COLUMN_DEFAULT", MAX_FIELD_VARCHARLENGTH, MYSQL_TYPE_STRING, 0,
|
||||||
|
1, "Default"},
|
||||||
{"IS_NULLABLE", 3, MYSQL_TYPE_STRING, 0, 0, "Null"},
|
{"IS_NULLABLE", 3, MYSQL_TYPE_STRING, 0, 0, "Null"},
|
||||||
{"DATA_TYPE", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, 0},
|
{"DATA_TYPE", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, 0},
|
||||||
{"CHARACTER_MAXIMUM_LENGTH", MY_INT64_NUM_DECIMAL_DIGITS , MYSQL_TYPE_LONG, 0, 1,
|
{"CHARACTER_MAXIMUM_LENGTH", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG,
|
||||||
0},
|
0, (MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED), 0},
|
||||||
{"CHARACTER_OCTET_LENGTH", MY_INT64_NUM_DECIMAL_DIGITS , MYSQL_TYPE_LONG, 0, 1, 0},
|
{"CHARACTER_OCTET_LENGTH", MY_INT64_NUM_DECIMAL_DIGITS , MYSQL_TYPE_LONGLONG,
|
||||||
{"NUMERIC_PRECISION", MY_INT64_NUM_DECIMAL_DIGITS , MYSQL_TYPE_LONG, 0, 1, 0},
|
0, (MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED), 0},
|
||||||
{"NUMERIC_SCALE", MY_INT64_NUM_DECIMAL_DIGITS , MYSQL_TYPE_LONG, 0, 1, 0},
|
{"NUMERIC_PRECISION", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG,
|
||||||
|
0, (MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED), 0},
|
||||||
|
{"NUMERIC_SCALE", MY_INT64_NUM_DECIMAL_DIGITS , MYSQL_TYPE_LONGLONG,
|
||||||
|
0, (MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED), 0},
|
||||||
{"CHARACTER_SET_NAME", 64, MYSQL_TYPE_STRING, 0, 1, 0},
|
{"CHARACTER_SET_NAME", 64, MYSQL_TYPE_STRING, 0, 1, 0},
|
||||||
{"COLLATION_NAME", 64, MYSQL_TYPE_STRING, 0, 1, "Collation"},
|
{"COLLATION_NAME", 64, MYSQL_TYPE_STRING, 0, 1, "Collation"},
|
||||||
{"COLUMN_TYPE", 65535, MYSQL_TYPE_STRING, 0, 0, "Type"},
|
{"COLUMN_TYPE", 65535, MYSQL_TYPE_STRING, 0, 0, "Type"},
|
||||||
@@ -5430,7 +5459,7 @@ ST_FIELD_INFO charsets_fields_info[]=
|
|||||||
{"CHARACTER_SET_NAME", 64, MYSQL_TYPE_STRING, 0, 0, "Charset"},
|
{"CHARACTER_SET_NAME", 64, MYSQL_TYPE_STRING, 0, 0, "Charset"},
|
||||||
{"DEFAULT_COLLATE_NAME", 64, MYSQL_TYPE_STRING, 0, 0, "Default collation"},
|
{"DEFAULT_COLLATE_NAME", 64, MYSQL_TYPE_STRING, 0, 0, "Default collation"},
|
||||||
{"DESCRIPTION", 60, MYSQL_TYPE_STRING, 0, 0, "Description"},
|
{"DESCRIPTION", 60, MYSQL_TYPE_STRING, 0, 0, "Description"},
|
||||||
{"MAXLEN", 3 ,MYSQL_TYPE_LONG, 0, 0, "Maxlen"},
|
{"MAXLEN", 3, MYSQL_TYPE_LONGLONG, 0, 0, "Maxlen"},
|
||||||
{0, 0, MYSQL_TYPE_STRING, 0, 0, 0}
|
{0, 0, MYSQL_TYPE_STRING, 0, 0, 0}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -5439,10 +5468,10 @@ ST_FIELD_INFO collation_fields_info[]=
|
|||||||
{
|
{
|
||||||
{"COLLATION_NAME", 64, MYSQL_TYPE_STRING, 0, 0, "Collation"},
|
{"COLLATION_NAME", 64, MYSQL_TYPE_STRING, 0, 0, "Collation"},
|
||||||
{"CHARACTER_SET_NAME", 64, MYSQL_TYPE_STRING, 0, 0, "Charset"},
|
{"CHARACTER_SET_NAME", 64, MYSQL_TYPE_STRING, 0, 0, "Charset"},
|
||||||
{"ID", MY_INT32_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONG, 0, 0, "Id"},
|
{"ID", MY_INT32_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, 0, 0, "Id"},
|
||||||
{"IS_DEFAULT", 3, MYSQL_TYPE_STRING, 0, 0, "Default"},
|
{"IS_DEFAULT", 3, MYSQL_TYPE_STRING, 0, 0, "Default"},
|
||||||
{"IS_COMPILED", 3, MYSQL_TYPE_STRING, 0, 0, "Compiled"},
|
{"IS_COMPILED", 3, MYSQL_TYPE_STRING, 0, 0, "Compiled"},
|
||||||
{"SORTLEN", 3 ,MYSQL_TYPE_LONG, 0, 0, "Sortlen"},
|
{"SORTLEN", 3, MYSQL_TYPE_LONGLONG, 0, 0, "Sortlen"},
|
||||||
{0, 0, MYSQL_TYPE_STRING, 0, 0, 0}
|
{0, 0, MYSQL_TYPE_STRING, 0, 0, 0}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -5469,19 +5498,19 @@ ST_FIELD_INFO events_fields_info[]=
|
|||||||
{"EVENT_BODY", 8, MYSQL_TYPE_STRING, 0, 0, 0},
|
{"EVENT_BODY", 8, MYSQL_TYPE_STRING, 0, 0, 0},
|
||||||
{"EVENT_DEFINITION", 65535, MYSQL_TYPE_STRING, 0, 0, 0},
|
{"EVENT_DEFINITION", 65535, MYSQL_TYPE_STRING, 0, 0, 0},
|
||||||
{"EVENT_TYPE", 9, MYSQL_TYPE_STRING, 0, 0, "Type"},
|
{"EVENT_TYPE", 9, MYSQL_TYPE_STRING, 0, 0, "Type"},
|
||||||
{"EXECUTE_AT", 0, MYSQL_TYPE_TIMESTAMP, 0, 1, "Execute at"},
|
{"EXECUTE_AT", 0, MYSQL_TYPE_DATETIME, 0, 1, "Execute at"},
|
||||||
{"INTERVAL_VALUE", 256, MYSQL_TYPE_STRING, 0, 1, "Interval value"},
|
{"INTERVAL_VALUE", 256, MYSQL_TYPE_STRING, 0, 1, "Interval value"},
|
||||||
{"INTERVAL_FIELD", 18, MYSQL_TYPE_STRING, 0, 1, "Interval field"},
|
{"INTERVAL_FIELD", 18, MYSQL_TYPE_STRING, 0, 1, "Interval field"},
|
||||||
{"SQL_MODE", 65535, MYSQL_TYPE_STRING, 0, 0, 0},
|
{"SQL_MODE", 65535, MYSQL_TYPE_STRING, 0, 0, 0},
|
||||||
{"STARTS", 0, MYSQL_TYPE_TIMESTAMP, 0, 1, "Starts"},
|
{"STARTS", 0, MYSQL_TYPE_DATETIME, 0, 1, "Starts"},
|
||||||
{"ENDS", 0, MYSQL_TYPE_TIMESTAMP, 0, 1, "Ends"},
|
{"ENDS", 0, MYSQL_TYPE_DATETIME, 0, 1, "Ends"},
|
||||||
{"STATUS", 18, MYSQL_TYPE_STRING, 0, 0, "Status"},
|
{"STATUS", 18, MYSQL_TYPE_STRING, 0, 0, "Status"},
|
||||||
{"ON_COMPLETION", 12, MYSQL_TYPE_STRING, 0, 0, 0},
|
{"ON_COMPLETION", 12, MYSQL_TYPE_STRING, 0, 0, 0},
|
||||||
{"CREATED", 0, MYSQL_TYPE_TIMESTAMP, 0, 0, 0},
|
{"CREATED", 0, MYSQL_TYPE_DATETIME, 0, 0, 0},
|
||||||
{"LAST_ALTERED", 0, MYSQL_TYPE_TIMESTAMP, 0, 0, 0},
|
{"LAST_ALTERED", 0, MYSQL_TYPE_DATETIME, 0, 0, 0},
|
||||||
{"LAST_EXECUTED", 0, MYSQL_TYPE_TIMESTAMP, 0, 1, 0},
|
{"LAST_EXECUTED", 0, MYSQL_TYPE_DATETIME, 0, 1, 0},
|
||||||
{"EVENT_COMMENT", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, 0},
|
{"EVENT_COMMENT", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, 0},
|
||||||
{"ORIGINATOR", 10, MYSQL_TYPE_LONG, 0, 0, "Originator"},
|
{"ORIGINATOR", 10, MYSQL_TYPE_LONGLONG, 0, 0, "Originator"},
|
||||||
{0, 0, MYSQL_TYPE_STRING, 0, 0, 0}
|
{0, 0, MYSQL_TYPE_STRING, 0, 0, 0}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -5512,8 +5541,8 @@ ST_FIELD_INFO proc_fields_info[]=
|
|||||||
{"SQL_DATA_ACCESS", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, 0},
|
{"SQL_DATA_ACCESS", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, 0},
|
||||||
{"SQL_PATH", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 1, 0},
|
{"SQL_PATH", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 1, 0},
|
||||||
{"SECURITY_TYPE", 7, MYSQL_TYPE_STRING, 0, 0, "Security_type"},
|
{"SECURITY_TYPE", 7, MYSQL_TYPE_STRING, 0, 0, "Security_type"},
|
||||||
{"CREATED", 0, MYSQL_TYPE_TIMESTAMP, 0, 0, "Created"},
|
{"CREATED", 0, MYSQL_TYPE_DATETIME, 0, 0, "Created"},
|
||||||
{"LAST_ALTERED", 0, MYSQL_TYPE_TIMESTAMP, 0, 0, "Modified"},
|
{"LAST_ALTERED", 0, MYSQL_TYPE_DATETIME, 0, 0, "Modified"},
|
||||||
{"SQL_MODE", 65535, MYSQL_TYPE_STRING, 0, 0, 0},
|
{"SQL_MODE", 65535, MYSQL_TYPE_STRING, 0, 0, 0},
|
||||||
{"ROUTINE_COMMENT", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, "Comment"},
|
{"ROUTINE_COMMENT", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, "Comment"},
|
||||||
{"DEFINER", 77, MYSQL_TYPE_STRING, 0, 0, "Definer"},
|
{"DEFINER", 77, MYSQL_TYPE_STRING, 0, 0, "Definer"},
|
||||||
@@ -5526,14 +5555,15 @@ ST_FIELD_INFO stat_fields_info[]=
|
|||||||
{"TABLE_CATALOG", FN_REFLEN, MYSQL_TYPE_STRING, 0, 1, 0},
|
{"TABLE_CATALOG", FN_REFLEN, MYSQL_TYPE_STRING, 0, 1, 0},
|
||||||
{"TABLE_SCHEMA", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, 0},
|
{"TABLE_SCHEMA", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, 0},
|
||||||
{"TABLE_NAME", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, "Table"},
|
{"TABLE_NAME", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, "Table"},
|
||||||
{"NON_UNIQUE", 1, MYSQL_TYPE_LONG, 0, 0, "Non_unique"},
|
{"NON_UNIQUE", 1, MYSQL_TYPE_LONGLONG, 0, 0, "Non_unique"},
|
||||||
{"INDEX_SCHEMA", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, 0},
|
{"INDEX_SCHEMA", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, 0},
|
||||||
{"INDEX_NAME", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, "Key_name"},
|
{"INDEX_NAME", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, "Key_name"},
|
||||||
{"SEQ_IN_INDEX", 2, MYSQL_TYPE_LONG, 0, 0, "Seq_in_index"},
|
{"SEQ_IN_INDEX", 2, MYSQL_TYPE_LONGLONG, 0, 0, "Seq_in_index"},
|
||||||
{"COLUMN_NAME", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, "Column_name"},
|
{"COLUMN_NAME", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, "Column_name"},
|
||||||
{"COLLATION", 1, MYSQL_TYPE_STRING, 0, 1, "Collation"},
|
{"COLLATION", 1, MYSQL_TYPE_STRING, 0, 1, "Collation"},
|
||||||
{"CARDINALITY", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONG, 0, 1, "Cardinality"},
|
{"CARDINALITY", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, 0, 1,
|
||||||
{"SUB_PART", 3, MYSQL_TYPE_LONG, 0, 1, "Sub_part"},
|
"Cardinality"},
|
||||||
|
{"SUB_PART", 3, MYSQL_TYPE_LONGLONG, 0, 1, "Sub_part"},
|
||||||
{"PACKED", 10, MYSQL_TYPE_STRING, 0, 1, "Packed"},
|
{"PACKED", 10, MYSQL_TYPE_STRING, 0, 1, "Packed"},
|
||||||
{"NULLABLE", 3, MYSQL_TYPE_STRING, 0, 0, "Null"},
|
{"NULLABLE", 3, MYSQL_TYPE_STRING, 0, 0, "Null"},
|
||||||
{"INDEX_TYPE", 16, MYSQL_TYPE_STRING, 0, 0, "Index_type"},
|
{"INDEX_TYPE", 16, MYSQL_TYPE_STRING, 0, 0, "Index_type"},
|
||||||
@@ -5623,8 +5653,8 @@ ST_FIELD_INFO key_column_usage_fields_info[]=
|
|||||||
{"TABLE_SCHEMA", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, 0},
|
{"TABLE_SCHEMA", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, 0},
|
||||||
{"TABLE_NAME", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, 0},
|
{"TABLE_NAME", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, 0},
|
||||||
{"COLUMN_NAME", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, 0},
|
{"COLUMN_NAME", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, 0},
|
||||||
{"ORDINAL_POSITION", 10 ,MYSQL_TYPE_LONG, 0, 0, 0},
|
{"ORDINAL_POSITION", 10 ,MYSQL_TYPE_LONGLONG, 0, 0, 0},
|
||||||
{"POSITION_IN_UNIQUE_CONSTRAINT", 10 ,MYSQL_TYPE_LONG, 0, 1, 0},
|
{"POSITION_IN_UNIQUE_CONSTRAINT", 10 ,MYSQL_TYPE_LONGLONG, 0, 1, 0},
|
||||||
{"REFERENCED_TABLE_SCHEMA", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 1, 0},
|
{"REFERENCED_TABLE_SCHEMA", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 1, 0},
|
||||||
{"REFERENCED_TABLE_NAME", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 1, 0},
|
{"REFERENCED_TABLE_NAME", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 1, 0},
|
||||||
{"REFERENCED_COLUMN_NAME", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 1, 0},
|
{"REFERENCED_COLUMN_NAME", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 1, 0},
|
||||||
@@ -5646,8 +5676,8 @@ ST_FIELD_INFO open_tables_fields_info[]=
|
|||||||
{
|
{
|
||||||
{"Database", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, "Database"},
|
{"Database", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, "Database"},
|
||||||
{"Table",NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, "Table"},
|
{"Table",NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, "Table"},
|
||||||
{"In_use", 1, MYSQL_TYPE_LONG, 0, 0, "In_use"},
|
{"In_use", 1, MYSQL_TYPE_LONGLONG, 0, 0, "In_use"},
|
||||||
{"Name_locked", 4, MYSQL_TYPE_LONG, 0, 0, "Name_locked"},
|
{"Name_locked", 4, MYSQL_TYPE_LONGLONG, 0, 0, "Name_locked"},
|
||||||
{0, 0, MYSQL_TYPE_STRING, 0, 0, 0}
|
{0, 0, MYSQL_TYPE_STRING, 0, 0, 0}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -5661,7 +5691,7 @@ ST_FIELD_INFO triggers_fields_info[]=
|
|||||||
{"EVENT_OBJECT_CATALOG", FN_REFLEN, MYSQL_TYPE_STRING, 0, 1, 0},
|
{"EVENT_OBJECT_CATALOG", FN_REFLEN, MYSQL_TYPE_STRING, 0, 1, 0},
|
||||||
{"EVENT_OBJECT_SCHEMA",NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, 0},
|
{"EVENT_OBJECT_SCHEMA",NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, 0},
|
||||||
{"EVENT_OBJECT_TABLE", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, "Table"},
|
{"EVENT_OBJECT_TABLE", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, "Table"},
|
||||||
{"ACTION_ORDER", 4, MYSQL_TYPE_LONG, 0, 0, 0},
|
{"ACTION_ORDER", 4, MYSQL_TYPE_LONGLONG, 0, 0, 0},
|
||||||
{"ACTION_CONDITION", 65535, MYSQL_TYPE_STRING, 0, 1, 0},
|
{"ACTION_CONDITION", 65535, MYSQL_TYPE_STRING, 0, 1, 0},
|
||||||
{"ACTION_STATEMENT", 65535, MYSQL_TYPE_STRING, 0, 0, "Statement"},
|
{"ACTION_STATEMENT", 65535, MYSQL_TYPE_STRING, 0, 0, "Statement"},
|
||||||
{"ACTION_ORIENTATION", 9, MYSQL_TYPE_STRING, 0, 0, 0},
|
{"ACTION_ORIENTATION", 9, MYSQL_TYPE_STRING, 0, 0, 0},
|
||||||
@@ -5670,7 +5700,7 @@ ST_FIELD_INFO triggers_fields_info[]=
|
|||||||
{"ACTION_REFERENCE_NEW_TABLE", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 1, 0},
|
{"ACTION_REFERENCE_NEW_TABLE", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 1, 0},
|
||||||
{"ACTION_REFERENCE_OLD_ROW", 3, MYSQL_TYPE_STRING, 0, 0, 0},
|
{"ACTION_REFERENCE_OLD_ROW", 3, MYSQL_TYPE_STRING, 0, 0, 0},
|
||||||
{"ACTION_REFERENCE_NEW_ROW", 3, MYSQL_TYPE_STRING, 0, 0, 0},
|
{"ACTION_REFERENCE_NEW_ROW", 3, MYSQL_TYPE_STRING, 0, 0, 0},
|
||||||
{"CREATED", 0, MYSQL_TYPE_TIMESTAMP, 0, 1, "Created"},
|
{"CREATED", 0, MYSQL_TYPE_DATETIME, 0, 1, "Created"},
|
||||||
{"SQL_MODE", 65535, MYSQL_TYPE_STRING, 0, 0, "sql_mode"},
|
{"SQL_MODE", 65535, MYSQL_TYPE_STRING, 0, 0, "sql_mode"},
|
||||||
{"DEFINER", 65535, MYSQL_TYPE_STRING, 0, 0, "Definer"},
|
{"DEFINER", 65535, MYSQL_TYPE_STRING, 0, 0, "Definer"},
|
||||||
{0, 0, MYSQL_TYPE_STRING, 0, 0, 0}
|
{0, 0, MYSQL_TYPE_STRING, 0, 0, 0}
|
||||||
@@ -5684,23 +5714,27 @@ ST_FIELD_INFO partitions_fields_info[]=
|
|||||||
{"TABLE_NAME", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, 0},
|
{"TABLE_NAME", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, 0},
|
||||||
{"PARTITION_NAME", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 1, 0},
|
{"PARTITION_NAME", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 1, 0},
|
||||||
{"SUBPARTITION_NAME", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 1, 0},
|
{"SUBPARTITION_NAME", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 1, 0},
|
||||||
{"PARTITION_ORDINAL_POSITION", 21 , MYSQL_TYPE_LONG, 0, 1, 0},
|
{"PARTITION_ORDINAL_POSITION", 21 , MYSQL_TYPE_LONGLONG, 0,
|
||||||
{"SUBPARTITION_ORDINAL_POSITION", 21 , MYSQL_TYPE_LONG, 0, 1, 0},
|
(MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED), 0},
|
||||||
|
{"SUBPARTITION_ORDINAL_POSITION", 21 , MYSQL_TYPE_LONGLONG, 0,
|
||||||
|
(MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED), 0},
|
||||||
{"PARTITION_METHOD", 12, MYSQL_TYPE_STRING, 0, 1, 0},
|
{"PARTITION_METHOD", 12, MYSQL_TYPE_STRING, 0, 1, 0},
|
||||||
{"SUBPARTITION_METHOD", 12, MYSQL_TYPE_STRING, 0, 1, 0},
|
{"SUBPARTITION_METHOD", 12, MYSQL_TYPE_STRING, 0, 1, 0},
|
||||||
{"PARTITION_EXPRESSION", 65535, MYSQL_TYPE_STRING, 0, 1, 0},
|
{"PARTITION_EXPRESSION", 65535, MYSQL_TYPE_STRING, 0, 1, 0},
|
||||||
{"SUBPARTITION_EXPRESSION", 65535, MYSQL_TYPE_STRING, 0, 1, 0},
|
{"SUBPARTITION_EXPRESSION", 65535, MYSQL_TYPE_STRING, 0, 1, 0},
|
||||||
{"PARTITION_DESCRIPTION", 65535, MYSQL_TYPE_STRING, 0, 1, 0},
|
{"PARTITION_DESCRIPTION", 65535, MYSQL_TYPE_STRING, 0, 1, 0},
|
||||||
{"TABLE_ROWS", 21 , MYSQL_TYPE_LONG, 0, 0, 0},
|
{"TABLE_ROWS", 21 , MYSQL_TYPE_LONGLONG, 0, MY_I_S_UNSIGNED, 0},
|
||||||
{"AVG_ROW_LENGTH", 21 , MYSQL_TYPE_LONG, 0, 0, 0},
|
{"AVG_ROW_LENGTH", 21 , MYSQL_TYPE_LONGLONG, 0, MY_I_S_UNSIGNED, 0},
|
||||||
{"DATA_LENGTH", 21 , MYSQL_TYPE_LONG, 0, 0, 0},
|
{"DATA_LENGTH", 21 , MYSQL_TYPE_LONGLONG, 0, MY_I_S_UNSIGNED, 0},
|
||||||
{"MAX_DATA_LENGTH", 21 , MYSQL_TYPE_LONG, 0, 1, 0},
|
{"MAX_DATA_LENGTH", 21 , MYSQL_TYPE_LONGLONG, 0,
|
||||||
{"INDEX_LENGTH", 21 , MYSQL_TYPE_LONG, 0, 0, 0},
|
(MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED), 0},
|
||||||
{"DATA_FREE", 21 , MYSQL_TYPE_LONG, 0, 0, 0},
|
{"INDEX_LENGTH", 21 , MYSQL_TYPE_LONGLONG, 0, MY_I_S_UNSIGNED, 0},
|
||||||
{"CREATE_TIME", 0, MYSQL_TYPE_TIMESTAMP, 0, 1, 0},
|
{"DATA_FREE", 21 , MYSQL_TYPE_LONGLONG, 0, MY_I_S_UNSIGNED, 0},
|
||||||
{"UPDATE_TIME", 0, MYSQL_TYPE_TIMESTAMP, 0, 1, 0},
|
{"CREATE_TIME", 0, MYSQL_TYPE_DATETIME, 0, 1, 0},
|
||||||
{"CHECK_TIME", 0, MYSQL_TYPE_TIMESTAMP, 0, 1, 0},
|
{"UPDATE_TIME", 0, MYSQL_TYPE_DATETIME, 0, 1, 0},
|
||||||
{"CHECKSUM", 21 , MYSQL_TYPE_LONG, 0, 1, 0},
|
{"CHECK_TIME", 0, MYSQL_TYPE_DATETIME, 0, 1, 0},
|
||||||
|
{"CHECKSUM", 21 , MYSQL_TYPE_LONGLONG, 0,
|
||||||
|
(MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED), 0},
|
||||||
{"PARTITION_COMMENT", 80, MYSQL_TYPE_STRING, 0, 0, 0},
|
{"PARTITION_COMMENT", 80, MYSQL_TYPE_STRING, 0, 0, 0},
|
||||||
{"NODEGROUP", 12 , MYSQL_TYPE_STRING, 0, 0, 0},
|
{"NODEGROUP", 12 , MYSQL_TYPE_STRING, 0, 0, 0},
|
||||||
{"TABLESPACE_NAME", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 1, 0},
|
{"TABLESPACE_NAME", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 1, 0},
|
||||||
@@ -5734,12 +5768,12 @@ ST_FIELD_INFO system_variables_fields_info[]=
|
|||||||
|
|
||||||
ST_FIELD_INFO processlist_fields_info[]=
|
ST_FIELD_INFO processlist_fields_info[]=
|
||||||
{
|
{
|
||||||
{"ID", 4, MYSQL_TYPE_LONG, 0, 0, "Id"},
|
{"ID", 4, MYSQL_TYPE_LONGLONG, 0, 0, "Id"},
|
||||||
{"USER", 16, MYSQL_TYPE_STRING, 0, 0, "User"},
|
{"USER", 16, MYSQL_TYPE_STRING, 0, 0, "User"},
|
||||||
{"HOST", LIST_PROCESS_HOST_LEN, MYSQL_TYPE_STRING, 0, 0, "Host"},
|
{"HOST", LIST_PROCESS_HOST_LEN, MYSQL_TYPE_STRING, 0, 0, "Host"},
|
||||||
{"DB", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 1, "Db"},
|
{"DB", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 1, "Db"},
|
||||||
{"COMMAND", 16, MYSQL_TYPE_STRING, 0, 0, "Command"},
|
{"COMMAND", 16, MYSQL_TYPE_STRING, 0, 0, "Command"},
|
||||||
{"TIME", 7, MYSQL_TYPE_LONG, 0, 0, "Time"},
|
{"TIME", 7, MYSQL_TYPE_LONGLONG, 0, 0, "Time"},
|
||||||
{"STATE", 64, MYSQL_TYPE_STRING, 0, 1, "State"},
|
{"STATE", 64, MYSQL_TYPE_STRING, 0, 1, "State"},
|
||||||
{"INFO", PROCESS_LIST_INFO_WIDTH, MYSQL_TYPE_STRING, 0, 1, "Info"},
|
{"INFO", PROCESS_LIST_INFO_WIDTH, MYSQL_TYPE_STRING, 0, 1, "Info"},
|
||||||
{0, 0, MYSQL_TYPE_STRING, 0, 0, 0}
|
{0, 0, MYSQL_TYPE_STRING, 0, 0, 0}
|
||||||
@@ -5763,7 +5797,7 @@ ST_FIELD_INFO plugin_fields_info[]=
|
|||||||
|
|
||||||
ST_FIELD_INFO files_fields_info[]=
|
ST_FIELD_INFO files_fields_info[]=
|
||||||
{
|
{
|
||||||
{"FILE_ID", 4, MYSQL_TYPE_LONG, 0, 0, 0},
|
{"FILE_ID", 4, MYSQL_TYPE_LONGLONG, 0, 0, 0},
|
||||||
{"FILE_NAME", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 1, 0},
|
{"FILE_NAME", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 1, 0},
|
||||||
{"FILE_TYPE", 20, MYSQL_TYPE_STRING, 0, 0, 0},
|
{"FILE_TYPE", 20, MYSQL_TYPE_STRING, 0, 0, 0},
|
||||||
{"TABLESPACE_NAME", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 1, 0},
|
{"TABLESPACE_NAME", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 1, 0},
|
||||||
@@ -5771,34 +5805,45 @@ ST_FIELD_INFO files_fields_info[]=
|
|||||||
{"TABLE_SCHEMA", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 1, 0},
|
{"TABLE_SCHEMA", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 1, 0},
|
||||||
{"TABLE_NAME", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 1, 0},
|
{"TABLE_NAME", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 1, 0},
|
||||||
{"LOGFILE_GROUP_NAME", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 1, 0},
|
{"LOGFILE_GROUP_NAME", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 1, 0},
|
||||||
{"LOGFILE_GROUP_NUMBER", 4, MYSQL_TYPE_LONG, 0, 1, 0},
|
{"LOGFILE_GROUP_NUMBER", 4, MYSQL_TYPE_LONGLONG, 0, 1, 0},
|
||||||
{"ENGINE", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, 0},
|
{"ENGINE", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, 0},
|
||||||
{"FULLTEXT_KEYS", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 1, 0},
|
{"FULLTEXT_KEYS", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 1, 0},
|
||||||
{"DELETED_ROWS", 4, MYSQL_TYPE_LONG, 0, 1, 0},
|
{"DELETED_ROWS", 4, MYSQL_TYPE_LONGLONG, 0, 1, 0},
|
||||||
{"UPDATE_COUNT", 4, MYSQL_TYPE_LONG, 0, 1, 0},
|
{"UPDATE_COUNT", 4, MYSQL_TYPE_LONGLONG, 0, 1, 0},
|
||||||
{"FREE_EXTENTS", 4, MYSQL_TYPE_LONG, 0, 1, 0},
|
{"FREE_EXTENTS", 4, MYSQL_TYPE_LONGLONG, 0, 1, 0},
|
||||||
{"TOTAL_EXTENTS", 4, MYSQL_TYPE_LONG, 0, 1, 0},
|
{"TOTAL_EXTENTS", 4, MYSQL_TYPE_LONGLONG, 0, 1, 0},
|
||||||
{"EXTENT_SIZE", 4, MYSQL_TYPE_LONG, 0, 0, 0},
|
{"EXTENT_SIZE", 4, MYSQL_TYPE_LONGLONG, 0, 0, 0},
|
||||||
{"INITIAL_SIZE", 21, MYSQL_TYPE_LONG, 0, 1, 0},
|
{"INITIAL_SIZE", 21, MYSQL_TYPE_LONGLONG, 0,
|
||||||
{"MAXIMUM_SIZE", 21, MYSQL_TYPE_LONG, 0, 1, 0},
|
(MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED), 0},
|
||||||
{"AUTOEXTEND_SIZE", 21, MYSQL_TYPE_LONG, 0, 1, 0},
|
{"MAXIMUM_SIZE", 21, MYSQL_TYPE_LONGLONG, 0,
|
||||||
{"CREATION_TIME", 0, MYSQL_TYPE_TIMESTAMP, 0, 1, 0},
|
(MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED), 0},
|
||||||
{"LAST_UPDATE_TIME", 0, MYSQL_TYPE_TIMESTAMP, 0, 1, 0},
|
{"AUTOEXTEND_SIZE", 21, MYSQL_TYPE_LONGLONG, 0,
|
||||||
{"LAST_ACCESS_TIME", 0, MYSQL_TYPE_TIMESTAMP, 0, 1, 0},
|
(MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED), 0},
|
||||||
{"RECOVER_TIME", 4, MYSQL_TYPE_LONG, 0, 1, 0},
|
{"CREATION_TIME", 0, MYSQL_TYPE_DATETIME, 0, 1, 0},
|
||||||
{"TRANSACTION_COUNTER", 4, MYSQL_TYPE_LONG, 0, 1, 0},
|
{"LAST_UPDATE_TIME", 0, MYSQL_TYPE_DATETIME, 0, 1, 0},
|
||||||
{"VERSION", 21 , MYSQL_TYPE_LONG, 0, 1, "Version"},
|
{"LAST_ACCESS_TIME", 0, MYSQL_TYPE_DATETIME, 0, 1, 0},
|
||||||
|
{"RECOVER_TIME", 4, MYSQL_TYPE_LONGLONG, 0, 1, 0},
|
||||||
|
{"TRANSACTION_COUNTER", 4, MYSQL_TYPE_LONGLONG, 0, 1, 0},
|
||||||
|
{"VERSION", 21 , MYSQL_TYPE_LONGLONG, 0,
|
||||||
|
(MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED), "Version"},
|
||||||
{"ROW_FORMAT", 10, MYSQL_TYPE_STRING, 0, 1, "Row_format"},
|
{"ROW_FORMAT", 10, MYSQL_TYPE_STRING, 0, 1, "Row_format"},
|
||||||
{"TABLE_ROWS", 21 , MYSQL_TYPE_LONG, 0, 1, "Rows"},
|
{"TABLE_ROWS", 21 , MYSQL_TYPE_LONGLONG, 0,
|
||||||
{"AVG_ROW_LENGTH", 21 , MYSQL_TYPE_LONG, 0, 1, "Avg_row_length"},
|
(MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED), "Rows"},
|
||||||
{"DATA_LENGTH", 21 , MYSQL_TYPE_LONG, 0, 1, "Data_length"},
|
{"AVG_ROW_LENGTH", 21 , MYSQL_TYPE_LONGLONG, 0,
|
||||||
{"MAX_DATA_LENGTH", 21 , MYSQL_TYPE_LONG, 0, 1, "Max_data_length"},
|
(MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED), "Avg_row_length"},
|
||||||
{"INDEX_LENGTH", 21 , MYSQL_TYPE_LONG, 0, 1, "Index_length"},
|
{"DATA_LENGTH", 21 , MYSQL_TYPE_LONGLONG, 0,
|
||||||
{"DATA_FREE", 21 , MYSQL_TYPE_LONG, 0, 1, "Data_free"},
|
(MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED), "Data_length"},
|
||||||
{"CREATE_TIME", 0, MYSQL_TYPE_TIMESTAMP, 0, 1, "Create_time"},
|
{"MAX_DATA_LENGTH", 21 , MYSQL_TYPE_LONGLONG, 0,
|
||||||
{"UPDATE_TIME", 0, MYSQL_TYPE_TIMESTAMP, 0, 1, "Update_time"},
|
(MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED), "Max_data_length"},
|
||||||
{"CHECK_TIME", 0, MYSQL_TYPE_TIMESTAMP, 0, 1, "Check_time"},
|
{"INDEX_LENGTH", 21 , MYSQL_TYPE_LONGLONG, 0,
|
||||||
{"CHECKSUM", 21 , MYSQL_TYPE_LONG, 0, 1, "Checksum"},
|
(MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED), "Index_length"},
|
||||||
|
{"DATA_FREE", 21 , MYSQL_TYPE_LONGLONG, 0,
|
||||||
|
(MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED), "Data_free"},
|
||||||
|
{"CREATE_TIME", 0, MYSQL_TYPE_DATETIME, 0, 1, "Create_time"},
|
||||||
|
{"UPDATE_TIME", 0, MYSQL_TYPE_DATETIME, 0, 1, "Update_time"},
|
||||||
|
{"CHECK_TIME", 0, MYSQL_TYPE_DATETIME, 0, 1, "Check_time"},
|
||||||
|
{"CHECKSUM", 21 , MYSQL_TYPE_LONGLONG, 0,
|
||||||
|
(MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED), "Checksum"},
|
||||||
{"STATUS", 20, MYSQL_TYPE_STRING, 0, 0, 0},
|
{"STATUS", 20, MYSQL_TYPE_STRING, 0, 0, 0},
|
||||||
{"EXTRA", 255, MYSQL_TYPE_STRING, 0, 1, 0},
|
{"EXTRA", 255, MYSQL_TYPE_STRING, 0, 1, 0},
|
||||||
{0, 0, MYSQL_TYPE_STRING, 0, 0, 0}
|
{0, 0, MYSQL_TYPE_STRING, 0, 0, 0}
|
||||||
|
@@ -554,13 +554,17 @@ enum enum_schema_tables
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
#define MY_I_S_MAYBE_NULL 1
|
||||||
|
#define MY_I_S_UNSIGNED 2
|
||||||
|
|
||||||
|
|
||||||
typedef struct st_field_info
|
typedef struct st_field_info
|
||||||
{
|
{
|
||||||
const char* field_name;
|
const char* field_name;
|
||||||
uint field_length;
|
uint field_length;
|
||||||
enum enum_field_types field_type;
|
enum enum_field_types field_type;
|
||||||
int value;
|
int value;
|
||||||
bool maybe_null;
|
uint field_flags; // Field atributes(maybe_null, signed, unsigned etc.)
|
||||||
const char* old_name;
|
const char* old_name;
|
||||||
} ST_FIELD_INFO;
|
} ST_FIELD_INFO;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user