Skip to content

Commit

Permalink
MDEV-19991 Turn I_S tables GEOMETRY_COLUMNS and SPATIAL_REF_SYS into …
Browse files Browse the repository at this point in the history
…a plugin

Cleanups.
  • Loading branch information
svoj committed Jul 9, 2019
1 parent a179de0 commit 0940e25
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 35 deletions.
39 changes: 6 additions & 33 deletions plugin/type_geom/plugin.cc
Original file line number Diff line number Diff line change
Expand Up @@ -74,18 +74,11 @@ static int spatial_ref_sys_fill(THD *thd, TABLE_LIST *tables, COND *cond)
}


static int fill_table_spatial_ref_sys(THD *thd, TABLE_LIST* tables, COND* cond)
{
spatial_ref_sys_fill(thd, tables, cond);
return 0;
}


static int plugin_init_spatial_ref_sys(void *p)
{
ST_SCHEMA_TABLE *schema= (ST_SCHEMA_TABLE *)p;
schema->fields_info= spatial_ref_sys_fields_info;
schema->fill_table= fill_table_spatial_ref_sys;
schema->fill_table= spatial_ref_sys_fill;
return 0;
}

Expand Down Expand Up @@ -203,35 +196,15 @@ static int get_geometry_column_record(THD *thd, TABLE_LIST *tables,
}


static ST_SCHEMA_TABLE geometry_columns=
{
"GEOMETRY_COLUMNS", // table_name
geometry_columns_fields_info, // fields_info
0, // reset_table
NULL, // fill_table
NULL, // old_format
get_geometry_column_record, // process_table
1, // idx_field1
2, // idx_field2
0, // hidden
OPTIMIZE_I_S_TABLE|OPEN_VIEW_FULL // i_s_requested_object
};


static int fill_table_geometry_columns(THD *thd, TABLE_LIST* tables, COND* cond)
{
tables->schema_table= &geometry_columns;
optimize_for_get_all_tables(thd, tables, cond);
get_all_tables(thd, tables, cond);
return 0;
}


static int plugin_init_geometry_columns(void *p)
{
ST_SCHEMA_TABLE *schema= (ST_SCHEMA_TABLE *)p;
schema->fields_info= geometry_columns_fields_info;
schema->fill_table= fill_table_geometry_columns;
schema->fill_table= get_all_tables;
schema->process_table= get_geometry_column_record;
schema->idx_field1= 1;
schema->idx_field2= 2;
schema->i_s_requested_object= OPTIMIZE_I_S_TABLE | OPEN_VIEW_FULL;
return 0;
}

Expand Down
2 changes: 1 addition & 1 deletion sql/sql_show.cc
Original file line number Diff line number Diff line change
Expand Up @@ -8417,7 +8417,7 @@ int make_schema_select(THD *thd, SELECT_LEX *sel,
*/

bool optimize_for_get_all_tables(THD *thd, TABLE_LIST *tables, COND *cond)
static bool optimize_for_get_all_tables(THD *thd, TABLE_LIST *tables, COND *cond)
{
SELECT_LEX *lsel= tables->schema_select_lex;
ST_SCHEMA_TABLE *schema_table= tables->schema_table;
Expand Down
1 change: 0 additions & 1 deletion sql/sql_show.h
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,6 @@ typedef struct system_status_var STATUS_VAR;
typedef enum { WITHOUT_DB_NAME, WITH_DB_NAME } enum_with_db_name;

int get_all_tables(THD *thd, TABLE_LIST *tables, COND *cond);
bool optimize_for_get_all_tables(THD *thd, TABLE_LIST *tables, COND *cond);

int show_create_table(THD *thd, TABLE_LIST *table_list, String *packet,
Table_specification_st *create_info_arg,
Expand Down

0 comments on commit 0940e25

Please sign in to comment.