vitess.io/vitess@v0.16.2/go/vt/vtgate/semantics/info_schema.go (about)

     1  /*
     2  Copyright 2022 The Vitess Authors.
     3  
     4  Licensed under the Apache License, Version 2.0 (the "License");
     5  you may not use this file except in compliance with the License.
     6  You may obtain a copy of the License at
     7  
     8      http://www.apache.org/licenses/LICENSE-2.0
     9  
    10  Unless required by applicable law or agreed to in writing, software
    11  distributed under the License is distributed on an "AS IS" BASIS,
    12  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    13  See the License for the specific language governing permissions and
    14  limitations under the License.
    15  */
    16  
    17  package semantics
    18  
    19  import (
    20  	"strings"
    21  
    22  	"vitess.io/vitess/go/mysql/collations"
    23  	"vitess.io/vitess/go/vt/key"
    24  	"vitess.io/vitess/go/vt/proto/query"
    25  	topodatapb "vitess.io/vitess/go/vt/proto/topodata"
    26  	"vitess.io/vitess/go/vt/servenv"
    27  	"vitess.io/vitess/go/vt/sqlparser"
    28  	"vitess.io/vitess/go/vt/vtgate/vindexes"
    29  )
    30  
    31  func createCol(name string, typ int) vindexes.Column {
    32  	return vindexes.Column{Name: sqlparser.NewIdentifierCI(name), Type: query.Type(typ)}
    33  }
    34  
    35  // getInfoSchema57 returns a map of all information_schema tables and their columns with types
    36  // To recreate this information from MySQL, you can run the test in info_schema_gen_test.go
    37  func getInfoSchema57() map[string][]vindexes.Column {
    38  	infSchema := map[string][]vindexes.Column{}
    39  	var cols []vindexes.Column
    40  	cols = append(cols, createCol("CHARACTER_SET_NAME", 6165))
    41  	cols = append(cols, createCol("DEFAULT_COLLATE_NAME", 6165))
    42  	cols = append(cols, createCol("DESCRIPTION", 6165))
    43  	cols = append(cols, createCol("MAXLEN", 265))
    44  	infSchema["CHARACTER_SETS"] = cols
    45  	cols = []vindexes.Column{}
    46  	cols = append(cols, createCol("COLLATION_NAME", 6165))
    47  	cols = append(cols, createCol("CHARACTER_SET_NAME", 6165))
    48  	infSchema["COLLATION_CHARACTER_SET_APPLICABILITY"] = cols
    49  	cols = []vindexes.Column{}
    50  	cols = append(cols, createCol("COLLATION_NAME", 6165))
    51  	cols = append(cols, createCol("CHARACTER_SET_NAME", 6165))
    52  	cols = append(cols, createCol("ID", 265))
    53  	cols = append(cols, createCol("IS_DEFAULT", 6165))
    54  	cols = append(cols, createCol("IS_COMPILED", 6165))
    55  	cols = append(cols, createCol("SORTLEN", 265))
    56  	infSchema["COLLATIONS"] = cols
    57  	cols = []vindexes.Column{}
    58  	cols = append(cols, createCol("GRANTEE", 6165))
    59  	cols = append(cols, createCol("TABLE_CATALOG", 6165))
    60  	cols = append(cols, createCol("TABLE_SCHEMA", 6165))
    61  	cols = append(cols, createCol("TABLE_NAME", 6165))
    62  	cols = append(cols, createCol("COLUMN_NAME", 6165))
    63  	cols = append(cols, createCol("PRIVILEGE_TYPE", 6165))
    64  	cols = append(cols, createCol("IS_GRANTABLE", 6165))
    65  	infSchema["COLUMN_PRIVILEGES"] = cols
    66  	cols = []vindexes.Column{}
    67  	cols = append(cols, createCol("TABLE_CATALOG", 6165))
    68  	cols = append(cols, createCol("TABLE_SCHEMA", 6165))
    69  	cols = append(cols, createCol("TABLE_NAME", 6165))
    70  	cols = append(cols, createCol("COLUMN_NAME", 6165))
    71  	cols = append(cols, createCol("ORDINAL_POSITION", 265))
    72  	cols = append(cols, createCol("COLUMN_DEFAULT", 6163))
    73  	cols = append(cols, createCol("IS_NULLABLE", 6165))
    74  	cols = append(cols, createCol("DATA_TYPE", 6165))
    75  	cols = append(cols, createCol("CHARACTER_MAXIMUM_LENGTH", 265))
    76  	cols = append(cols, createCol("CHARACTER_OCTET_LENGTH", 265))
    77  	cols = append(cols, createCol("NUMERIC_PRECISION", 265))
    78  	cols = append(cols, createCol("NUMERIC_SCALE", 265))
    79  	cols = append(cols, createCol("DATETIME_PRECISION", 265))
    80  	cols = append(cols, createCol("CHARACTER_SET_NAME", 6165))
    81  	cols = append(cols, createCol("COLLATION_NAME", 6165))
    82  	cols = append(cols, createCol("COLUMN_TYPE", 6163))
    83  	cols = append(cols, createCol("COLUMN_KEY", 6165))
    84  	cols = append(cols, createCol("EXTRA", 6165))
    85  	cols = append(cols, createCol("PRIVILEGES", 6165))
    86  	cols = append(cols, createCol("COLUMN_COMMENT", 6165))
    87  	cols = append(cols, createCol("GENERATION_EXPRESSION", 6163))
    88  	infSchema["COLUMNS"] = cols
    89  	cols = []vindexes.Column{}
    90  	cols = append(cols, createCol("ENGINE", 6165))
    91  	cols = append(cols, createCol("SUPPORT", 6165))
    92  	cols = append(cols, createCol("COMMENT", 6165))
    93  	cols = append(cols, createCol("TRANSACTIONS", 6165))
    94  	cols = append(cols, createCol("XA", 6165))
    95  	cols = append(cols, createCol("SAVEPOINTS", 6165))
    96  	infSchema["ENGINES"] = cols
    97  	cols = []vindexes.Column{}
    98  	cols = append(cols, createCol("EVENT_CATALOG", 6165))
    99  	cols = append(cols, createCol("EVENT_SCHEMA", 6165))
   100  	cols = append(cols, createCol("EVENT_NAME", 6165))
   101  	cols = append(cols, createCol("DEFINER", 6165))
   102  	cols = append(cols, createCol("TIME_ZONE", 6165))
   103  	cols = append(cols, createCol("EVENT_BODY", 6165))
   104  	cols = append(cols, createCol("EVENT_DEFINITION", 6163))
   105  	cols = append(cols, createCol("EVENT_TYPE", 6165))
   106  	cols = append(cols, createCol("EXECUTE_AT", 2064))
   107  	cols = append(cols, createCol("INTERVAL_VALUE", 6165))
   108  	cols = append(cols, createCol("INTERVAL_FIELD", 6165))
   109  	cols = append(cols, createCol("SQL_MODE", 6165))
   110  	cols = append(cols, createCol("STARTS", 2064))
   111  	cols = append(cols, createCol("ENDS", 2064))
   112  	cols = append(cols, createCol("STATUS", 6165))
   113  	cols = append(cols, createCol("ON_COMPLETION", 6165))
   114  	cols = append(cols, createCol("CREATED", 2064))
   115  	cols = append(cols, createCol("LAST_ALTERED", 2064))
   116  	cols = append(cols, createCol("LAST_EXECUTED", 2064))
   117  	cols = append(cols, createCol("EVENT_COMMENT", 6165))
   118  	cols = append(cols, createCol("ORIGINATOR", 265))
   119  	cols = append(cols, createCol("CHARACTER_SET_CLIENT", 6165))
   120  	cols = append(cols, createCol("COLLATION_CONNECTION", 6165))
   121  	cols = append(cols, createCol("DATABASE_COLLATION", 6165))
   122  	infSchema["EVENTS"] = cols
   123  	cols = []vindexes.Column{}
   124  	cols = append(cols, createCol("FILE_ID", 265))
   125  	cols = append(cols, createCol("FILE_NAME", 6165))
   126  	cols = append(cols, createCol("FILE_TYPE", 6165))
   127  	cols = append(cols, createCol("TABLESPACE_NAME", 6165))
   128  	cols = append(cols, createCol("TABLE_CATALOG", 6165))
   129  	cols = append(cols, createCol("TABLE_SCHEMA", 6165))
   130  	cols = append(cols, createCol("TABLE_NAME", 6165))
   131  	cols = append(cols, createCol("LOGFILE_GROUP_NAME", 6165))
   132  	cols = append(cols, createCol("LOGFILE_GROUP_NUMBER", 265))
   133  	cols = append(cols, createCol("ENGINE", 6165))
   134  	cols = append(cols, createCol("FULLTEXT_KEYS", 6165))
   135  	cols = append(cols, createCol("DELETED_ROWS", 265))
   136  	cols = append(cols, createCol("UPDATE_COUNT", 265))
   137  	cols = append(cols, createCol("FREE_EXTENTS", 265))
   138  	cols = append(cols, createCol("TOTAL_EXTENTS", 265))
   139  	cols = append(cols, createCol("EXTENT_SIZE", 265))
   140  	cols = append(cols, createCol("INITIAL_SIZE", 265))
   141  	cols = append(cols, createCol("MAXIMUM_SIZE", 265))
   142  	cols = append(cols, createCol("AUTOEXTEND_SIZE", 265))
   143  	cols = append(cols, createCol("CREATION_TIME", 2064))
   144  	cols = append(cols, createCol("LAST_UPDATE_TIME", 2064))
   145  	cols = append(cols, createCol("LAST_ACCESS_TIME", 2064))
   146  	cols = append(cols, createCol("RECOVER_TIME", 265))
   147  	cols = append(cols, createCol("TRANSACTION_COUNTER", 265))
   148  	cols = append(cols, createCol("VERSION", 265))
   149  	cols = append(cols, createCol("ROW_FORMAT", 6165))
   150  	cols = append(cols, createCol("TABLE_ROWS", 265))
   151  	cols = append(cols, createCol("AVG_ROW_LENGTH", 265))
   152  	cols = append(cols, createCol("DATA_LENGTH", 265))
   153  	cols = append(cols, createCol("MAX_DATA_LENGTH", 265))
   154  	cols = append(cols, createCol("INDEX_LENGTH", 265))
   155  	cols = append(cols, createCol("DATA_FREE", 265))
   156  	cols = append(cols, createCol("CREATE_TIME", 2064))
   157  	cols = append(cols, createCol("UPDATE_TIME", 2064))
   158  	cols = append(cols, createCol("CHECK_TIME", 2064))
   159  	cols = append(cols, createCol("CHECKSUM", 265))
   160  	cols = append(cols, createCol("STATUS", 6165))
   161  	cols = append(cols, createCol("EXTRA", 6165))
   162  	infSchema["FILES"] = cols
   163  	cols = []vindexes.Column{}
   164  	cols = append(cols, createCol("VARIABLE_NAME", 6165))
   165  	cols = append(cols, createCol("VARIABLE_VALUE", 6165))
   166  	infSchema["GLOBAL_STATUS"] = cols
   167  	cols = []vindexes.Column{}
   168  	cols = append(cols, createCol("VARIABLE_NAME", 6165))
   169  	cols = append(cols, createCol("VARIABLE_VALUE", 6165))
   170  	infSchema["GLOBAL_VARIABLES"] = cols
   171  	cols = []vindexes.Column{}
   172  	cols = append(cols, createCol("POOL_ID", 265))
   173  	cols = append(cols, createCol("BLOCK_ID", 265))
   174  	cols = append(cols, createCol("SPACE", 265))
   175  	cols = append(cols, createCol("PAGE_NUMBER", 265))
   176  	cols = append(cols, createCol("PAGE_TYPE", 6165))
   177  	cols = append(cols, createCol("FLUSH_TYPE", 265))
   178  	cols = append(cols, createCol("FIX_COUNT", 265))
   179  	cols = append(cols, createCol("IS_HASHED", 6165))
   180  	cols = append(cols, createCol("NEWEST_MODIFICATION", 265))
   181  	cols = append(cols, createCol("OLDEST_MODIFICATION", 265))
   182  	cols = append(cols, createCol("ACCESS_TIME", 265))
   183  	cols = append(cols, createCol("TABLE_NAME", 6165))
   184  	cols = append(cols, createCol("INDEX_NAME", 6165))
   185  	cols = append(cols, createCol("NUMBER_RECORDS", 265))
   186  	cols = append(cols, createCol("DATA_SIZE", 265))
   187  	cols = append(cols, createCol("COMPRESSED_SIZE", 265))
   188  	cols = append(cols, createCol("PAGE_STATE", 6165))
   189  	cols = append(cols, createCol("IO_FIX", 6165))
   190  	cols = append(cols, createCol("IS_OLD", 6165))
   191  	cols = append(cols, createCol("FREE_PAGE_CLOCK", 265))
   192  	infSchema["INNODB_BUFFER_PAGE"] = cols
   193  	cols = []vindexes.Column{}
   194  	cols = append(cols, createCol("POOL_ID", 265))
   195  	cols = append(cols, createCol("LRU_POSITION", 265))
   196  	cols = append(cols, createCol("SPACE", 265))
   197  	cols = append(cols, createCol("PAGE_NUMBER", 265))
   198  	cols = append(cols, createCol("PAGE_TYPE", 6165))
   199  	cols = append(cols, createCol("FLUSH_TYPE", 265))
   200  	cols = append(cols, createCol("FIX_COUNT", 265))
   201  	cols = append(cols, createCol("IS_HASHED", 6165))
   202  	cols = append(cols, createCol("NEWEST_MODIFICATION", 265))
   203  	cols = append(cols, createCol("OLDEST_MODIFICATION", 265))
   204  	cols = append(cols, createCol("ACCESS_TIME", 265))
   205  	cols = append(cols, createCol("TABLE_NAME", 6165))
   206  	cols = append(cols, createCol("INDEX_NAME", 6165))
   207  	cols = append(cols, createCol("NUMBER_RECORDS", 265))
   208  	cols = append(cols, createCol("DATA_SIZE", 265))
   209  	cols = append(cols, createCol("COMPRESSED_SIZE", 265))
   210  	cols = append(cols, createCol("COMPRESSED", 6165))
   211  	cols = append(cols, createCol("IO_FIX", 6165))
   212  	cols = append(cols, createCol("IS_OLD", 6165))
   213  	cols = append(cols, createCol("FREE_PAGE_CLOCK", 265))
   214  	infSchema["INNODB_BUFFER_PAGE_LRU"] = cols
   215  	cols = []vindexes.Column{}
   216  	cols = append(cols, createCol("POOL_ID", 265))
   217  	cols = append(cols, createCol("POOL_SIZE", 265))
   218  	cols = append(cols, createCol("FREE_BUFFERS", 265))
   219  	cols = append(cols, createCol("DATABASE_PAGES", 265))
   220  	cols = append(cols, createCol("OLD_DATABASE_PAGES", 265))
   221  	cols = append(cols, createCol("MODIFIED_DATABASE_PAGES", 265))
   222  	cols = append(cols, createCol("PENDING_DECOMPRESS", 265))
   223  	cols = append(cols, createCol("PENDING_READS", 265))
   224  	cols = append(cols, createCol("PENDING_FLUSH_LRU", 265))
   225  	cols = append(cols, createCol("PENDING_FLUSH_LIST", 265))
   226  	cols = append(cols, createCol("PAGES_MADE_YOUNG", 265))
   227  	cols = append(cols, createCol("PAGES_NOT_MADE_YOUNG", 265))
   228  	cols = append(cols, createCol("PAGES_MADE_YOUNG_RATE", 1036))
   229  	cols = append(cols, createCol("PAGES_MADE_NOT_YOUNG_RATE", 1036))
   230  	cols = append(cols, createCol("NUMBER_PAGES_READ", 265))
   231  	cols = append(cols, createCol("NUMBER_PAGES_CREATED", 265))
   232  	cols = append(cols, createCol("NUMBER_PAGES_WRITTEN", 265))
   233  	cols = append(cols, createCol("PAGES_READ_RATE", 1036))
   234  	cols = append(cols, createCol("PAGES_CREATE_RATE", 1036))
   235  	cols = append(cols, createCol("PAGES_WRITTEN_RATE", 1036))
   236  	cols = append(cols, createCol("NUMBER_PAGES_GET", 265))
   237  	cols = append(cols, createCol("HIT_RATE", 265))
   238  	cols = append(cols, createCol("YOUNG_MAKE_PER_THOUSAND_GETS", 265))
   239  	cols = append(cols, createCol("NOT_YOUNG_MAKE_PER_THOUSAND_GETS", 265))
   240  	cols = append(cols, createCol("NUMBER_PAGES_READ_AHEAD", 265))
   241  	cols = append(cols, createCol("NUMBER_READ_AHEAD_EVICTED", 265))
   242  	cols = append(cols, createCol("READ_AHEAD_RATE", 1036))
   243  	cols = append(cols, createCol("READ_AHEAD_EVICTED_RATE", 1036))
   244  	cols = append(cols, createCol("LRU_IO_TOTAL", 265))
   245  	cols = append(cols, createCol("LRU_IO_CURRENT", 265))
   246  	cols = append(cols, createCol("UNCOMPRESS_TOTAL", 265))
   247  	cols = append(cols, createCol("UNCOMPRESS_CURRENT", 265))
   248  	infSchema["INNODB_BUFFER_POOL_STATS"] = cols
   249  	cols = []vindexes.Column{}
   250  	cols = append(cols, createCol("page_size", 263))
   251  	cols = append(cols, createCol("compress_ops", 263))
   252  	cols = append(cols, createCol("compress_ops_ok", 263))
   253  	cols = append(cols, createCol("compress_time", 263))
   254  	cols = append(cols, createCol("uncompress_ops", 263))
   255  	cols = append(cols, createCol("uncompress_time", 263))
   256  	infSchema["INNODB_CMP"] = cols
   257  	cols = []vindexes.Column{}
   258  	cols = append(cols, createCol("database_name", 6165))
   259  	cols = append(cols, createCol("table_name", 6165))
   260  	cols = append(cols, createCol("index_name", 6165))
   261  	cols = append(cols, createCol("compress_ops", 263))
   262  	cols = append(cols, createCol("compress_ops_ok", 263))
   263  	cols = append(cols, createCol("compress_time", 263))
   264  	cols = append(cols, createCol("uncompress_ops", 263))
   265  	cols = append(cols, createCol("uncompress_time", 263))
   266  	infSchema["INNODB_CMP_PER_INDEX"] = cols
   267  	cols = []vindexes.Column{}
   268  	cols = append(cols, createCol("database_name", 6165))
   269  	cols = append(cols, createCol("table_name", 6165))
   270  	cols = append(cols, createCol("index_name", 6165))
   271  	cols = append(cols, createCol("compress_ops", 263))
   272  	cols = append(cols, createCol("compress_ops_ok", 263))
   273  	cols = append(cols, createCol("compress_time", 263))
   274  	cols = append(cols, createCol("uncompress_ops", 263))
   275  	cols = append(cols, createCol("uncompress_time", 263))
   276  	infSchema["INNODB_CMP_PER_INDEX_RESET"] = cols
   277  	cols = []vindexes.Column{}
   278  	cols = append(cols, createCol("page_size", 263))
   279  	cols = append(cols, createCol("compress_ops", 263))
   280  	cols = append(cols, createCol("compress_ops_ok", 263))
   281  	cols = append(cols, createCol("compress_time", 263))
   282  	cols = append(cols, createCol("uncompress_ops", 263))
   283  	cols = append(cols, createCol("uncompress_time", 263))
   284  	infSchema["INNODB_CMP_RESET"] = cols
   285  	cols = []vindexes.Column{}
   286  	cols = append(cols, createCol("page_size", 263))
   287  	cols = append(cols, createCol("buffer_pool_instance", 263))
   288  	cols = append(cols, createCol("pages_used", 263))
   289  	cols = append(cols, createCol("pages_free", 263))
   290  	cols = append(cols, createCol("relocation_ops", 265))
   291  	cols = append(cols, createCol("relocation_time", 263))
   292  	infSchema["INNODB_CMPMEM"] = cols
   293  	cols = []vindexes.Column{}
   294  	cols = append(cols, createCol("page_size", 263))
   295  	cols = append(cols, createCol("buffer_pool_instance", 263))
   296  	cols = append(cols, createCol("pages_used", 263))
   297  	cols = append(cols, createCol("pages_free", 263))
   298  	cols = append(cols, createCol("relocation_ops", 265))
   299  	cols = append(cols, createCol("relocation_time", 263))
   300  	infSchema["INNODB_CMPMEM_RESET"] = cols
   301  	cols = []vindexes.Column{}
   302  	cols = append(cols, createCol("DOC_ID", 265))
   303  	infSchema["INNODB_FT_BEING_DELETED"] = cols
   304  	cols = []vindexes.Column{}
   305  	cols = append(cols, createCol("KEY", 6165))
   306  	cols = append(cols, createCol("VALUE", 6165))
   307  	infSchema["INNODB_FT_CONFIG"] = cols
   308  	cols = []vindexes.Column{}
   309  	cols = append(cols, createCol("value", 6165))
   310  	infSchema["INNODB_FT_DEFAULT_STOPWORD"] = cols
   311  	cols = []vindexes.Column{}
   312  	cols = append(cols, createCol("DOC_ID", 265))
   313  	infSchema["INNODB_FT_DELETED"] = cols
   314  	cols = []vindexes.Column{}
   315  	cols = append(cols, createCol("WORD", 6165))
   316  	cols = append(cols, createCol("FIRST_DOC_ID", 265))
   317  	cols = append(cols, createCol("LAST_DOC_ID", 265))
   318  	cols = append(cols, createCol("DOC_COUNT", 265))
   319  	cols = append(cols, createCol("DOC_ID", 265))
   320  	cols = append(cols, createCol("POSITION", 265))
   321  	infSchema["INNODB_FT_INDEX_CACHE"] = cols
   322  	cols = []vindexes.Column{}
   323  	cols = append(cols, createCol("WORD", 6165))
   324  	cols = append(cols, createCol("FIRST_DOC_ID", 265))
   325  	cols = append(cols, createCol("LAST_DOC_ID", 265))
   326  	cols = append(cols, createCol("DOC_COUNT", 265))
   327  	cols = append(cols, createCol("DOC_ID", 265))
   328  	cols = append(cols, createCol("POSITION", 265))
   329  	infSchema["INNODB_FT_INDEX_TABLE"] = cols
   330  	cols = []vindexes.Column{}
   331  	cols = append(cols, createCol("requesting_trx_id", 6165))
   332  	cols = append(cols, createCol("requested_lock_id", 6165))
   333  	cols = append(cols, createCol("blocking_trx_id", 6165))
   334  	cols = append(cols, createCol("blocking_lock_id", 6165))
   335  	infSchema["INNODB_LOCK_WAITS"] = cols
   336  	cols = []vindexes.Column{}
   337  	cols = append(cols, createCol("lock_id", 6165))
   338  	cols = append(cols, createCol("lock_trx_id", 6165))
   339  	cols = append(cols, createCol("lock_mode", 6165))
   340  	cols = append(cols, createCol("lock_type", 6165))
   341  	cols = append(cols, createCol("lock_table", 6165))
   342  	cols = append(cols, createCol("lock_index", 6165))
   343  	cols = append(cols, createCol("lock_space", 265))
   344  	cols = append(cols, createCol("lock_page", 265))
   345  	cols = append(cols, createCol("lock_rec", 265))
   346  	cols = append(cols, createCol("lock_data", 6165))
   347  	infSchema["INNODB_LOCKS"] = cols
   348  	cols = []vindexes.Column{}
   349  	cols = append(cols, createCol("NAME", 6165))
   350  	cols = append(cols, createCol("SUBSYSTEM", 6165))
   351  	cols = append(cols, createCol("COUNT", 265))
   352  	cols = append(cols, createCol("MAX_COUNT", 265))
   353  	cols = append(cols, createCol("MIN_COUNT", 265))
   354  	cols = append(cols, createCol("AVG_COUNT", 1036))
   355  	cols = append(cols, createCol("COUNT_RESET", 265))
   356  	cols = append(cols, createCol("MAX_COUNT_RESET", 265))
   357  	cols = append(cols, createCol("MIN_COUNT_RESET", 265))
   358  	cols = append(cols, createCol("AVG_COUNT_RESET", 1036))
   359  	cols = append(cols, createCol("TIME_ENABLED", 2064))
   360  	cols = append(cols, createCol("TIME_DISABLED", 2064))
   361  	cols = append(cols, createCol("TIME_ELAPSED", 265))
   362  	cols = append(cols, createCol("TIME_RESET", 2064))
   363  	cols = append(cols, createCol("STATUS", 6165))
   364  	cols = append(cols, createCol("TYPE", 6165))
   365  	cols = append(cols, createCol("COMMENT", 6165))
   366  	infSchema["INNODB_METRICS"] = cols
   367  	cols = []vindexes.Column{}
   368  	cols = append(cols, createCol("TABLE_ID", 265))
   369  	cols = append(cols, createCol("NAME", 6165))
   370  	cols = append(cols, createCol("POS", 265))
   371  	cols = append(cols, createCol("MTYPE", 263))
   372  	cols = append(cols, createCol("PRTYPE", 263))
   373  	cols = append(cols, createCol("LEN", 263))
   374  	infSchema["INNODB_SYS_COLUMNS"] = cols
   375  	cols = []vindexes.Column{}
   376  	cols = append(cols, createCol("SPACE", 263))
   377  	cols = append(cols, createCol("PATH", 6165))
   378  	infSchema["INNODB_SYS_DATAFILES"] = cols
   379  	cols = []vindexes.Column{}
   380  	cols = append(cols, createCol("INDEX_ID", 265))
   381  	cols = append(cols, createCol("NAME", 6165))
   382  	cols = append(cols, createCol("POS", 263))
   383  	infSchema["INNODB_SYS_FIELDS"] = cols
   384  	cols = []vindexes.Column{}
   385  	cols = append(cols, createCol("ID", 6165))
   386  	cols = append(cols, createCol("FOR_NAME", 6165))
   387  	cols = append(cols, createCol("REF_NAME", 6165))
   388  	cols = append(cols, createCol("N_COLS", 263))
   389  	cols = append(cols, createCol("TYPE", 263))
   390  	infSchema["INNODB_SYS_FOREIGN"] = cols
   391  	cols = []vindexes.Column{}
   392  	cols = append(cols, createCol("ID", 6165))
   393  	cols = append(cols, createCol("FOR_COL_NAME", 6165))
   394  	cols = append(cols, createCol("REF_COL_NAME", 6165))
   395  	cols = append(cols, createCol("POS", 263))
   396  	infSchema["INNODB_SYS_FOREIGN_COLS"] = cols
   397  	cols = []vindexes.Column{}
   398  	cols = append(cols, createCol("INDEX_ID", 265))
   399  	cols = append(cols, createCol("NAME", 6165))
   400  	cols = append(cols, createCol("TABLE_ID", 265))
   401  	cols = append(cols, createCol("TYPE", 263))
   402  	cols = append(cols, createCol("N_FIELDS", 263))
   403  	cols = append(cols, createCol("PAGE_NO", 263))
   404  	cols = append(cols, createCol("SPACE", 263))
   405  	cols = append(cols, createCol("MERGE_THRESHOLD", 263))
   406  	infSchema["INNODB_SYS_INDEXES"] = cols
   407  	cols = []vindexes.Column{}
   408  	cols = append(cols, createCol("TABLE_ID", 265))
   409  	cols = append(cols, createCol("NAME", 6165))
   410  	cols = append(cols, createCol("FLAG", 263))
   411  	cols = append(cols, createCol("N_COLS", 263))
   412  	cols = append(cols, createCol("SPACE", 263))
   413  	cols = append(cols, createCol("FILE_FORMAT", 6165))
   414  	cols = append(cols, createCol("ROW_FORMAT", 6165))
   415  	cols = append(cols, createCol("ZIP_PAGE_SIZE", 263))
   416  	cols = append(cols, createCol("SPACE_TYPE", 6165))
   417  	infSchema["INNODB_SYS_TABLES"] = cols
   418  	cols = []vindexes.Column{}
   419  	cols = append(cols, createCol("SPACE", 263))
   420  	cols = append(cols, createCol("NAME", 6165))
   421  	cols = append(cols, createCol("FLAG", 263))
   422  	cols = append(cols, createCol("FILE_FORMAT", 6165))
   423  	cols = append(cols, createCol("ROW_FORMAT", 6165))
   424  	cols = append(cols, createCol("PAGE_SIZE", 263))
   425  	cols = append(cols, createCol("ZIP_PAGE_SIZE", 263))
   426  	cols = append(cols, createCol("SPACE_TYPE", 6165))
   427  	cols = append(cols, createCol("FS_BLOCK_SIZE", 263))
   428  	cols = append(cols, createCol("FILE_SIZE", 265))
   429  	cols = append(cols, createCol("ALLOCATED_SIZE", 265))
   430  	infSchema["INNODB_SYS_TABLESPACES"] = cols
   431  	cols = []vindexes.Column{}
   432  	cols = append(cols, createCol("TABLE_ID", 265))
   433  	cols = append(cols, createCol("NAME", 6165))
   434  	cols = append(cols, createCol("STATS_INITIALIZED", 6165))
   435  	cols = append(cols, createCol("NUM_ROWS", 265))
   436  	cols = append(cols, createCol("CLUST_INDEX_SIZE", 265))
   437  	cols = append(cols, createCol("OTHER_INDEX_SIZE", 265))
   438  	cols = append(cols, createCol("MODIFIED_COUNTER", 265))
   439  	cols = append(cols, createCol("AUTOINC", 265))
   440  	cols = append(cols, createCol("REF_COUNT", 263))
   441  	infSchema["INNODB_SYS_TABLESTATS"] = cols
   442  	cols = []vindexes.Column{}
   443  	cols = append(cols, createCol("TABLE_ID", 265))
   444  	cols = append(cols, createCol("POS", 263))
   445  	cols = append(cols, createCol("BASE_POS", 263))
   446  	infSchema["INNODB_SYS_VIRTUAL"] = cols
   447  	cols = []vindexes.Column{}
   448  	cols = append(cols, createCol("TABLE_ID", 265))
   449  	cols = append(cols, createCol("NAME", 6165))
   450  	cols = append(cols, createCol("N_COLS", 263))
   451  	cols = append(cols, createCol("SPACE", 263))
   452  	cols = append(cols, createCol("PER_TABLE_TABLESPACE", 6165))
   453  	cols = append(cols, createCol("IS_COMPRESSED", 6165))
   454  	infSchema["INNODB_TEMP_TABLE_INFO"] = cols
   455  	cols = []vindexes.Column{}
   456  	cols = append(cols, createCol("trx_id", 6165))
   457  	cols = append(cols, createCol("trx_state", 6165))
   458  	cols = append(cols, createCol("trx_started", 2064))
   459  	cols = append(cols, createCol("trx_requested_lock_id", 6165))
   460  	cols = append(cols, createCol("trx_wait_started", 2064))
   461  	cols = append(cols, createCol("trx_weight", 265))
   462  	cols = append(cols, createCol("trx_mysql_thread_id", 265))
   463  	cols = append(cols, createCol("trx_query", 6165))
   464  	cols = append(cols, createCol("trx_operation_state", 6165))
   465  	cols = append(cols, createCol("trx_tables_in_use", 265))
   466  	cols = append(cols, createCol("trx_tables_locked", 265))
   467  	cols = append(cols, createCol("trx_lock_structs", 265))
   468  	cols = append(cols, createCol("trx_lock_memory_bytes", 265))
   469  	cols = append(cols, createCol("trx_rows_locked", 265))
   470  	cols = append(cols, createCol("trx_rows_modified", 265))
   471  	cols = append(cols, createCol("trx_concurrency_tickets", 265))
   472  	cols = append(cols, createCol("trx_isolation_level", 6165))
   473  	cols = append(cols, createCol("trx_unique_checks", 263))
   474  	cols = append(cols, createCol("trx_foreign_key_checks", 263))
   475  	cols = append(cols, createCol("trx_last_foreign_key_error", 6165))
   476  	cols = append(cols, createCol("trx_adaptive_hash_latched", 263))
   477  	cols = append(cols, createCol("trx_adaptive_hash_timeout", 265))
   478  	cols = append(cols, createCol("trx_is_read_only", 263))
   479  	cols = append(cols, createCol("trx_autocommit_non_locking", 263))
   480  	infSchema["INNODB_TRX"] = cols
   481  	cols = []vindexes.Column{}
   482  	cols = append(cols, createCol("CONSTRAINT_CATALOG", 6165))
   483  	cols = append(cols, createCol("CONSTRAINT_SCHEMA", 6165))
   484  	cols = append(cols, createCol("CONSTRAINT_NAME", 6165))
   485  	cols = append(cols, createCol("TABLE_CATALOG", 6165))
   486  	cols = append(cols, createCol("TABLE_SCHEMA", 6165))
   487  	cols = append(cols, createCol("TABLE_NAME", 6165))
   488  	cols = append(cols, createCol("COLUMN_NAME", 6165))
   489  	cols = append(cols, createCol("ORDINAL_POSITION", 265))
   490  	cols = append(cols, createCol("POSITION_IN_UNIQUE_CONSTRAINT", 265))
   491  	cols = append(cols, createCol("REFERENCED_TABLE_SCHEMA", 6165))
   492  	cols = append(cols, createCol("REFERENCED_TABLE_NAME", 6165))
   493  	cols = append(cols, createCol("REFERENCED_COLUMN_NAME", 6165))
   494  	infSchema["KEY_COLUMN_USAGE"] = cols
   495  	cols = []vindexes.Column{}
   496  	cols = append(cols, createCol("QUERY", 6163))
   497  	cols = append(cols, createCol("TRACE", 6163))
   498  	cols = append(cols, createCol("MISSING_BYTES_BEYOND_MAX_MEM_SIZE", 263))
   499  	cols = append(cols, createCol("INSUFFICIENT_PRIVILEGES", 257))
   500  	infSchema["OPTIMIZER_TRACE"] = cols
   501  	cols = []vindexes.Column{}
   502  	cols = append(cols, createCol("SPECIFIC_CATALOG", 6165))
   503  	cols = append(cols, createCol("SPECIFIC_SCHEMA", 6165))
   504  	cols = append(cols, createCol("SPECIFIC_NAME", 6165))
   505  	cols = append(cols, createCol("ORDINAL_POSITION", 263))
   506  	cols = append(cols, createCol("PARAMETER_MODE", 6165))
   507  	cols = append(cols, createCol("PARAMETER_NAME", 6165))
   508  	cols = append(cols, createCol("DATA_TYPE", 6165))
   509  	cols = append(cols, createCol("CHARACTER_MAXIMUM_LENGTH", 263))
   510  	cols = append(cols, createCol("CHARACTER_OCTET_LENGTH", 263))
   511  	cols = append(cols, createCol("NUMERIC_PRECISION", 265))
   512  	cols = append(cols, createCol("NUMERIC_SCALE", 263))
   513  	cols = append(cols, createCol("DATETIME_PRECISION", 265))
   514  	cols = append(cols, createCol("CHARACTER_SET_NAME", 6165))
   515  	cols = append(cols, createCol("COLLATION_NAME", 6165))
   516  	cols = append(cols, createCol("DTD_IDENTIFIER", 6163))
   517  	cols = append(cols, createCol("ROUTINE_TYPE", 6165))
   518  	infSchema["PARAMETERS"] = cols
   519  	cols = []vindexes.Column{}
   520  	cols = append(cols, createCol("TABLE_CATALOG", 6165))
   521  	cols = append(cols, createCol("TABLE_SCHEMA", 6165))
   522  	cols = append(cols, createCol("TABLE_NAME", 6165))
   523  	cols = append(cols, createCol("PARTITION_NAME", 6165))
   524  	cols = append(cols, createCol("SUBPARTITION_NAME", 6165))
   525  	cols = append(cols, createCol("PARTITION_ORDINAL_POSITION", 265))
   526  	cols = append(cols, createCol("SUBPARTITION_ORDINAL_POSITION", 265))
   527  	cols = append(cols, createCol("PARTITION_METHOD", 6165))
   528  	cols = append(cols, createCol("SUBPARTITION_METHOD", 6165))
   529  	cols = append(cols, createCol("PARTITION_EXPRESSION", 6163))
   530  	cols = append(cols, createCol("SUBPARTITION_EXPRESSION", 6163))
   531  	cols = append(cols, createCol("PARTITION_DESCRIPTION", 6163))
   532  	cols = append(cols, createCol("TABLE_ROWS", 265))
   533  	cols = append(cols, createCol("AVG_ROW_LENGTH", 265))
   534  	cols = append(cols, createCol("DATA_LENGTH", 265))
   535  	cols = append(cols, createCol("MAX_DATA_LENGTH", 265))
   536  	cols = append(cols, createCol("INDEX_LENGTH", 265))
   537  	cols = append(cols, createCol("DATA_FREE", 265))
   538  	cols = append(cols, createCol("CREATE_TIME", 2064))
   539  	cols = append(cols, createCol("UPDATE_TIME", 2064))
   540  	cols = append(cols, createCol("CHECK_TIME", 2064))
   541  	cols = append(cols, createCol("CHECKSUM", 265))
   542  	cols = append(cols, createCol("PARTITION_COMMENT", 6165))
   543  	cols = append(cols, createCol("NODEGROUP", 6165))
   544  	cols = append(cols, createCol("TABLESPACE_NAME", 6165))
   545  	infSchema["PARTITIONS"] = cols
   546  	cols = []vindexes.Column{}
   547  	cols = append(cols, createCol("PLUGIN_NAME", 6165))
   548  	cols = append(cols, createCol("PLUGIN_VERSION", 6165))
   549  	cols = append(cols, createCol("PLUGIN_STATUS", 6165))
   550  	cols = append(cols, createCol("PLUGIN_TYPE", 6165))
   551  	cols = append(cols, createCol("PLUGIN_TYPE_VERSION", 6165))
   552  	cols = append(cols, createCol("PLUGIN_LIBRARY", 6165))
   553  	cols = append(cols, createCol("PLUGIN_LIBRARY_VERSION", 6165))
   554  	cols = append(cols, createCol("PLUGIN_AUTHOR", 6165))
   555  	cols = append(cols, createCol("PLUGIN_DESCRIPTION", 6163))
   556  	cols = append(cols, createCol("PLUGIN_LICENSE", 6165))
   557  	cols = append(cols, createCol("LOAD_OPTION", 6165))
   558  	infSchema["PLUGINS"] = cols
   559  	cols = []vindexes.Column{}
   560  	cols = append(cols, createCol("ID", 265))
   561  	cols = append(cols, createCol("USER", 6165))
   562  	cols = append(cols, createCol("HOST", 6165))
   563  	cols = append(cols, createCol("DB", 6165))
   564  	cols = append(cols, createCol("COMMAND", 6165))
   565  	cols = append(cols, createCol("TIME", 263))
   566  	cols = append(cols, createCol("STATE", 6165))
   567  	cols = append(cols, createCol("INFO", 6163))
   568  	infSchema["PROCESSLIST"] = cols
   569  	cols = []vindexes.Column{}
   570  	cols = append(cols, createCol("QUERY_ID", 263))
   571  	cols = append(cols, createCol("SEQ", 263))
   572  	cols = append(cols, createCol("STATE", 6165))
   573  	cols = append(cols, createCol("DURATION", 18))
   574  	cols = append(cols, createCol("CPU_USER", 18))
   575  	cols = append(cols, createCol("CPU_SYSTEM", 18))
   576  	cols = append(cols, createCol("CONTEXT_VOLUNTARY", 263))
   577  	cols = append(cols, createCol("CONTEXT_INVOLUNTARY", 263))
   578  	cols = append(cols, createCol("BLOCK_OPS_IN", 263))
   579  	cols = append(cols, createCol("BLOCK_OPS_OUT", 263))
   580  	cols = append(cols, createCol("MESSAGES_SENT", 263))
   581  	cols = append(cols, createCol("MESSAGES_RECEIVED", 263))
   582  	cols = append(cols, createCol("PAGE_FAULTS_MAJOR", 263))
   583  	cols = append(cols, createCol("PAGE_FAULTS_MINOR", 263))
   584  	cols = append(cols, createCol("SWAPS", 263))
   585  	cols = append(cols, createCol("SOURCE_FUNCTION", 6165))
   586  	cols = append(cols, createCol("SOURCE_FILE", 6165))
   587  	cols = append(cols, createCol("SOURCE_LINE", 263))
   588  	infSchema["PROFILING"] = cols
   589  	cols = []vindexes.Column{}
   590  	cols = append(cols, createCol("CONSTRAINT_CATALOG", 6165))
   591  	cols = append(cols, createCol("CONSTRAINT_SCHEMA", 6165))
   592  	cols = append(cols, createCol("CONSTRAINT_NAME", 6165))
   593  	cols = append(cols, createCol("UNIQUE_CONSTRAINT_CATALOG", 6165))
   594  	cols = append(cols, createCol("UNIQUE_CONSTRAINT_SCHEMA", 6165))
   595  	cols = append(cols, createCol("UNIQUE_CONSTRAINT_NAME", 6165))
   596  	cols = append(cols, createCol("MATCH_OPTION", 6165))
   597  	cols = append(cols, createCol("UPDATE_RULE", 6165))
   598  	cols = append(cols, createCol("DELETE_RULE", 6165))
   599  	cols = append(cols, createCol("TABLE_NAME", 6165))
   600  	cols = append(cols, createCol("REFERENCED_TABLE_NAME", 6165))
   601  	infSchema["REFERENTIAL_CONSTRAINTS"] = cols
   602  	cols = []vindexes.Column{}
   603  	cols = append(cols, createCol("SPECIFIC_NAME", 6165))
   604  	cols = append(cols, createCol("ROUTINE_CATALOG", 6165))
   605  	cols = append(cols, createCol("ROUTINE_SCHEMA", 6165))
   606  	cols = append(cols, createCol("ROUTINE_NAME", 6165))
   607  	cols = append(cols, createCol("ROUTINE_TYPE", 6165))
   608  	cols = append(cols, createCol("DATA_TYPE", 6165))
   609  	cols = append(cols, createCol("CHARACTER_MAXIMUM_LENGTH", 263))
   610  	cols = append(cols, createCol("CHARACTER_OCTET_LENGTH", 263))
   611  	cols = append(cols, createCol("NUMERIC_PRECISION", 265))
   612  	cols = append(cols, createCol("NUMERIC_SCALE", 263))
   613  	cols = append(cols, createCol("DATETIME_PRECISION", 265))
   614  	cols = append(cols, createCol("CHARACTER_SET_NAME", 6165))
   615  	cols = append(cols, createCol("COLLATION_NAME", 6165))
   616  	cols = append(cols, createCol("DTD_IDENTIFIER", 6163))
   617  	cols = append(cols, createCol("ROUTINE_BODY", 6165))
   618  	cols = append(cols, createCol("ROUTINE_DEFINITION", 6163))
   619  	cols = append(cols, createCol("EXTERNAL_NAME", 6165))
   620  	cols = append(cols, createCol("EXTERNAL_LANGUAGE", 6165))
   621  	cols = append(cols, createCol("PARAMETER_STYLE", 6165))
   622  	cols = append(cols, createCol("IS_DETERMINISTIC", 6165))
   623  	cols = append(cols, createCol("SQL_DATA_ACCESS", 6165))
   624  	cols = append(cols, createCol("SQL_PATH", 6165))
   625  	cols = append(cols, createCol("SECURITY_TYPE", 6165))
   626  	cols = append(cols, createCol("CREATED", 2064))
   627  	cols = append(cols, createCol("LAST_ALTERED", 2064))
   628  	cols = append(cols, createCol("SQL_MODE", 6165))
   629  	cols = append(cols, createCol("ROUTINE_COMMENT", 6163))
   630  	cols = append(cols, createCol("DEFINER", 6165))
   631  	cols = append(cols, createCol("CHARACTER_SET_CLIENT", 6165))
   632  	cols = append(cols, createCol("COLLATION_CONNECTION", 6165))
   633  	cols = append(cols, createCol("DATABASE_COLLATION", 6165))
   634  	infSchema["ROUTINES"] = cols
   635  	cols = []vindexes.Column{}
   636  	cols = append(cols, createCol("GRANTEE", 6165))
   637  	cols = append(cols, createCol("TABLE_CATALOG", 6165))
   638  	cols = append(cols, createCol("TABLE_SCHEMA", 6165))
   639  	cols = append(cols, createCol("PRIVILEGE_TYPE", 6165))
   640  	cols = append(cols, createCol("IS_GRANTABLE", 6165))
   641  	infSchema["SCHEMA_PRIVILEGES"] = cols
   642  	cols = []vindexes.Column{}
   643  	cols = append(cols, createCol("CATALOG_NAME", 6165))
   644  	cols = append(cols, createCol("SCHEMA_NAME", 6165))
   645  	cols = append(cols, createCol("DEFAULT_CHARACTER_SET_NAME", 6165))
   646  	cols = append(cols, createCol("DEFAULT_COLLATION_NAME", 6165))
   647  	cols = append(cols, createCol("SQL_PATH", 6165))
   648  	infSchema["SCHEMATA"] = cols
   649  	cols = []vindexes.Column{}
   650  	cols = append(cols, createCol("VARIABLE_NAME", 6165))
   651  	cols = append(cols, createCol("VARIABLE_VALUE", 6165))
   652  	infSchema["SESSION_STATUS"] = cols
   653  	cols = []vindexes.Column{}
   654  	cols = append(cols, createCol("VARIABLE_NAME", 6165))
   655  	cols = append(cols, createCol("VARIABLE_VALUE", 6165))
   656  	infSchema["SESSION_VARIABLES"] = cols
   657  	cols = []vindexes.Column{}
   658  	cols = append(cols, createCol("TABLE_CATALOG", 6165))
   659  	cols = append(cols, createCol("TABLE_SCHEMA", 6165))
   660  	cols = append(cols, createCol("TABLE_NAME", 6165))
   661  	cols = append(cols, createCol("NON_UNIQUE", 265))
   662  	cols = append(cols, createCol("INDEX_SCHEMA", 6165))
   663  	cols = append(cols, createCol("INDEX_NAME", 6165))
   664  	cols = append(cols, createCol("SEQ_IN_INDEX", 265))
   665  	cols = append(cols, createCol("COLUMN_NAME", 6165))
   666  	cols = append(cols, createCol("COLLATION", 6165))
   667  	cols = append(cols, createCol("CARDINALITY", 265))
   668  	cols = append(cols, createCol("SUB_PART", 265))
   669  	cols = append(cols, createCol("PACKED", 6165))
   670  	cols = append(cols, createCol("NULLABLE", 6165))
   671  	cols = append(cols, createCol("INDEX_TYPE", 6165))
   672  	cols = append(cols, createCol("COMMENT", 6165))
   673  	cols = append(cols, createCol("INDEX_COMMENT", 6165))
   674  	infSchema["STATISTICS"] = cols
   675  	cols = []vindexes.Column{}
   676  	cols = append(cols, createCol("CONSTRAINT_CATALOG", 6165))
   677  	cols = append(cols, createCol("CONSTRAINT_SCHEMA", 6165))
   678  	cols = append(cols, createCol("CONSTRAINT_NAME", 6165))
   679  	cols = append(cols, createCol("TABLE_SCHEMA", 6165))
   680  	cols = append(cols, createCol("TABLE_NAME", 6165))
   681  	cols = append(cols, createCol("CONSTRAINT_TYPE", 6165))
   682  	infSchema["TABLE_CONSTRAINTS"] = cols
   683  	cols = []vindexes.Column{}
   684  	cols = append(cols, createCol("GRANTEE", 6165))
   685  	cols = append(cols, createCol("TABLE_CATALOG", 6165))
   686  	cols = append(cols, createCol("TABLE_SCHEMA", 6165))
   687  	cols = append(cols, createCol("TABLE_NAME", 6165))
   688  	cols = append(cols, createCol("PRIVILEGE_TYPE", 6165))
   689  	cols = append(cols, createCol("IS_GRANTABLE", 6165))
   690  	infSchema["TABLE_PRIVILEGES"] = cols
   691  	cols = []vindexes.Column{}
   692  	cols = append(cols, createCol("TABLE_CATALOG", 6165))
   693  	cols = append(cols, createCol("TABLE_SCHEMA", 6165))
   694  	cols = append(cols, createCol("TABLE_NAME", 6165))
   695  	cols = append(cols, createCol("TABLE_TYPE", 6165))
   696  	cols = append(cols, createCol("ENGINE", 6165))
   697  	cols = append(cols, createCol("VERSION", 265))
   698  	cols = append(cols, createCol("ROW_FORMAT", 6165))
   699  	cols = append(cols, createCol("TABLE_ROWS", 265))
   700  	cols = append(cols, createCol("AVG_ROW_LENGTH", 265))
   701  	cols = append(cols, createCol("DATA_LENGTH", 265))
   702  	cols = append(cols, createCol("MAX_DATA_LENGTH", 265))
   703  	cols = append(cols, createCol("INDEX_LENGTH", 265))
   704  	cols = append(cols, createCol("DATA_FREE", 265))
   705  	cols = append(cols, createCol("AUTO_INCREMENT", 265))
   706  	cols = append(cols, createCol("CREATE_TIME", 2064))
   707  	cols = append(cols, createCol("UPDATE_TIME", 2064))
   708  	cols = append(cols, createCol("CHECK_TIME", 2064))
   709  	cols = append(cols, createCol("TABLE_COLLATION", 6165))
   710  	cols = append(cols, createCol("CHECKSUM", 265))
   711  	cols = append(cols, createCol("CREATE_OPTIONS", 6165))
   712  	cols = append(cols, createCol("TABLE_COMMENT", 6165))
   713  	infSchema["TABLES"] = cols
   714  	cols = []vindexes.Column{}
   715  	cols = append(cols, createCol("TABLESPACE_NAME", 6165))
   716  	cols = append(cols, createCol("ENGINE", 6165))
   717  	cols = append(cols, createCol("TABLESPACE_TYPE", 6165))
   718  	cols = append(cols, createCol("LOGFILE_GROUP_NAME", 6165))
   719  	cols = append(cols, createCol("EXTENT_SIZE", 265))
   720  	cols = append(cols, createCol("AUTOEXTEND_SIZE", 265))
   721  	cols = append(cols, createCol("MAXIMUM_SIZE", 265))
   722  	cols = append(cols, createCol("NODEGROUP_ID", 265))
   723  	cols = append(cols, createCol("TABLESPACE_COMMENT", 6165))
   724  	infSchema["TABLESPACES"] = cols
   725  	cols = []vindexes.Column{}
   726  	cols = append(cols, createCol("TRIGGER_CATALOG", 6165))
   727  	cols = append(cols, createCol("TRIGGER_SCHEMA", 6165))
   728  	cols = append(cols, createCol("TRIGGER_NAME", 6165))
   729  	cols = append(cols, createCol("EVENT_MANIPULATION", 6165))
   730  	cols = append(cols, createCol("EVENT_OBJECT_CATALOG", 6165))
   731  	cols = append(cols, createCol("EVENT_OBJECT_SCHEMA", 6165))
   732  	cols = append(cols, createCol("EVENT_OBJECT_TABLE", 6165))
   733  	cols = append(cols, createCol("ACTION_ORDER", 265))
   734  	cols = append(cols, createCol("ACTION_CONDITION", 6163))
   735  	cols = append(cols, createCol("ACTION_STATEMENT", 6163))
   736  	cols = append(cols, createCol("ACTION_ORIENTATION", 6165))
   737  	cols = append(cols, createCol("ACTION_TIMING", 6165))
   738  	cols = append(cols, createCol("ACTION_REFERENCE_OLD_TABLE", 6165))
   739  	cols = append(cols, createCol("ACTION_REFERENCE_NEW_TABLE", 6165))
   740  	cols = append(cols, createCol("ACTION_REFERENCE_OLD_ROW", 6165))
   741  	cols = append(cols, createCol("ACTION_REFERENCE_NEW_ROW", 6165))
   742  	cols = append(cols, createCol("CREATED", 2064))
   743  	cols = append(cols, createCol("SQL_MODE", 6165))
   744  	cols = append(cols, createCol("DEFINER", 6165))
   745  	cols = append(cols, createCol("CHARACTER_SET_CLIENT", 6165))
   746  	cols = append(cols, createCol("COLLATION_CONNECTION", 6165))
   747  	cols = append(cols, createCol("DATABASE_COLLATION", 6165))
   748  	infSchema["TRIGGERS"] = cols
   749  	cols = []vindexes.Column{}
   750  	cols = append(cols, createCol("GRANTEE", 6165))
   751  	cols = append(cols, createCol("TABLE_CATALOG", 6165))
   752  	cols = append(cols, createCol("PRIVILEGE_TYPE", 6165))
   753  	cols = append(cols, createCol("IS_GRANTABLE", 6165))
   754  	infSchema["USER_PRIVILEGES"] = cols
   755  	cols = []vindexes.Column{}
   756  	cols = append(cols, createCol("TABLE_CATALOG", 6165))
   757  	cols = append(cols, createCol("TABLE_SCHEMA", 6165))
   758  	cols = append(cols, createCol("TABLE_NAME", 6165))
   759  	cols = append(cols, createCol("VIEW_DEFINITION", 6163))
   760  	cols = append(cols, createCol("CHECK_OPTION", 6165))
   761  	cols = append(cols, createCol("IS_UPDATABLE", 6165))
   762  	cols = append(cols, createCol("DEFINER", 6165))
   763  	cols = append(cols, createCol("SECURITY_TYPE", 6165))
   764  	cols = append(cols, createCol("CHARACTER_SET_CLIENT", 6165))
   765  	cols = append(cols, createCol("COLLATION_CONNECTION", 6165))
   766  	infSchema["VIEWS"] = cols
   767  
   768  	return infSchema
   769  }
   770  
   771  // getInfoSchema80 returns a map of all information_schema tables and their columns with types
   772  // To recreate this information from MySQL, you can run the test in info_schema_gen_test.go
   773  func getInfoSchema80() map[string][]vindexes.Column {
   774  	infSchema := map[string][]vindexes.Column{}
   775  	var cols []vindexes.Column
   776  	cols = append(cols, createCol("USER", 6165))
   777  	cols = append(cols, createCol("HOST", 6165))
   778  	cols = append(cols, createCol("GRANTEE", 6165))
   779  	cols = append(cols, createCol("GRANTEE_HOST", 6165))
   780  	cols = append(cols, createCol("ROLE_NAME", 6165))
   781  	cols = append(cols, createCol("ROLE_HOST", 6165))
   782  	cols = append(cols, createCol("IS_GRANTABLE", 6165))
   783  	cols = append(cols, createCol("IS_DEFAULT", 6165))
   784  	cols = append(cols, createCol("IS_MANDATORY", 6165))
   785  	infSchema["ADMINISTRABLE_ROLE_AUTHORIZATIONS"] = cols
   786  	cols = []vindexes.Column{}
   787  	cols = append(cols, createCol("USER", 6165))
   788  	cols = append(cols, createCol("HOST", 6165))
   789  	cols = append(cols, createCol("GRANTEE", 6165))
   790  	cols = append(cols, createCol("GRANTEE_HOST", 6165))
   791  	cols = append(cols, createCol("ROLE_NAME", 6165))
   792  	cols = append(cols, createCol("ROLE_HOST", 6165))
   793  	cols = append(cols, createCol("IS_GRANTABLE", 6165))
   794  	cols = append(cols, createCol("IS_DEFAULT", 6165))
   795  	cols = append(cols, createCol("IS_MANDATORY", 6165))
   796  	infSchema["APPLICABLE_ROLES"] = cols
   797  	cols = []vindexes.Column{}
   798  	cols = append(cols, createCol("CHARACTER_SET_NAME", 6165))
   799  	cols = append(cols, createCol("DEFAULT_COLLATE_NAME", 6165))
   800  	cols = append(cols, createCol("DESCRIPTION", 6165))
   801  	cols = append(cols, createCol("MAXLEN", 776))
   802  	infSchema["CHARACTER_SETS"] = cols
   803  	cols = []vindexes.Column{}
   804  	cols = append(cols, createCol("CONSTRAINT_CATALOG", 6165))
   805  	cols = append(cols, createCol("CONSTRAINT_SCHEMA", 6165))
   806  	cols = append(cols, createCol("CONSTRAINT_NAME", 6165))
   807  	cols = append(cols, createCol("CHECK_CLAUSE", 6163))
   808  	infSchema["CHECK_CONSTRAINTS"] = cols
   809  	cols = []vindexes.Column{}
   810  	cols = append(cols, createCol("COLLATION_NAME", 6165))
   811  	cols = append(cols, createCol("CHARACTER_SET_NAME", 6165))
   812  	infSchema["COLLATION_CHARACTER_SET_APPLICABILITY"] = cols
   813  	cols = []vindexes.Column{}
   814  	cols = append(cols, createCol("COLLATION_NAME", 6165))
   815  	cols = append(cols, createCol("CHARACTER_SET_NAME", 6165))
   816  	cols = append(cols, createCol("ID", 778))
   817  	cols = append(cols, createCol("IS_DEFAULT", 6165))
   818  	cols = append(cols, createCol("IS_COMPILED", 6165))
   819  	cols = append(cols, createCol("SORTLEN", 776))
   820  	cols = append(cols, createCol("PAD_ATTRIBUTE", 2074))
   821  	infSchema["COLLATIONS"] = cols
   822  	cols = []vindexes.Column{}
   823  	cols = append(cols, createCol("GRANTEE", 6165))
   824  	cols = append(cols, createCol("TABLE_CATALOG", 6165))
   825  	cols = append(cols, createCol("TABLE_SCHEMA", 6165))
   826  	cols = append(cols, createCol("TABLE_NAME", 6165))
   827  	cols = append(cols, createCol("COLUMN_NAME", 6165))
   828  	cols = append(cols, createCol("PRIVILEGE_TYPE", 6165))
   829  	cols = append(cols, createCol("IS_GRANTABLE", 6165))
   830  	infSchema["COLUMN_PRIVILEGES"] = cols
   831  	cols = []vindexes.Column{}
   832  	cols = append(cols, createCol("SCHEMA_NAME", 6165))
   833  	cols = append(cols, createCol("TABLE_NAME", 6165))
   834  	cols = append(cols, createCol("COLUMN_NAME", 6165))
   835  	cols = append(cols, createCol("HISTOGRAM", 2078))
   836  	infSchema["COLUMN_STATISTICS"] = cols
   837  	cols = []vindexes.Column{}
   838  	cols = append(cols, createCol("TABLE_CATALOG", 6165))
   839  	cols = append(cols, createCol("TABLE_SCHEMA", 6165))
   840  	cols = append(cols, createCol("TABLE_NAME", 6165))
   841  	cols = append(cols, createCol("COLUMN_NAME", 6165))
   842  	cols = append(cols, createCol("ORDINAL_POSITION", 776))
   843  	cols = append(cols, createCol("COLUMN_DEFAULT", 6163))
   844  	cols = append(cols, createCol("IS_NULLABLE", 6165))
   845  	cols = append(cols, createCol("DATA_TYPE", 6163))
   846  	cols = append(cols, createCol("CHARACTER_MAXIMUM_LENGTH", 265))
   847  	cols = append(cols, createCol("CHARACTER_OCTET_LENGTH", 265))
   848  	cols = append(cols, createCol("NUMERIC_PRECISION", 778))
   849  	cols = append(cols, createCol("NUMERIC_SCALE", 778))
   850  	cols = append(cols, createCol("DATETIME_PRECISION", 776))
   851  	cols = append(cols, createCol("CHARACTER_SET_NAME", 6165))
   852  	cols = append(cols, createCol("COLLATION_NAME", 6165))
   853  	cols = append(cols, createCol("COLUMN_TYPE", 6163))
   854  	cols = append(cols, createCol("COLUMN_KEY", 2074))
   855  	cols = append(cols, createCol("EXTRA", 6165))
   856  	cols = append(cols, createCol("PRIVILEGES", 6165))
   857  	cols = append(cols, createCol("COLUMN_COMMENT", 6163))
   858  	cols = append(cols, createCol("GENERATION_EXPRESSION", 6163))
   859  	cols = append(cols, createCol("SRS_ID", 776))
   860  	infSchema["COLUMNS"] = cols
   861  	cols = []vindexes.Column{}
   862  	cols = append(cols, createCol("TABLE_CATALOG", 6165))
   863  	cols = append(cols, createCol("TABLE_SCHEMA", 6165))
   864  	cols = append(cols, createCol("TABLE_NAME", 6165))
   865  	cols = append(cols, createCol("COLUMN_NAME", 6165))
   866  	cols = append(cols, createCol("ENGINE_ATTRIBUTE", 2078))
   867  	cols = append(cols, createCol("SECONDARY_ENGINE_ATTRIBUTE", 2078))
   868  	infSchema["COLUMNS_EXTENSIONS"] = cols
   869  	cols = []vindexes.Column{}
   870  	cols = append(cols, createCol("ROLE_NAME", 6165))
   871  	cols = append(cols, createCol("ROLE_HOST", 6165))
   872  	cols = append(cols, createCol("IS_DEFAULT", 6165))
   873  	cols = append(cols, createCol("IS_MANDATORY", 6165))
   874  	infSchema["ENABLED_ROLES"] = cols
   875  	cols = []vindexes.Column{}
   876  	cols = append(cols, createCol("ENGINE", 6165))
   877  	cols = append(cols, createCol("SUPPORT", 6165))
   878  	cols = append(cols, createCol("COMMENT", 6165))
   879  	cols = append(cols, createCol("TRANSACTIONS", 6165))
   880  	cols = append(cols, createCol("XA", 6165))
   881  	cols = append(cols, createCol("SAVEPOINTS", 6165))
   882  	infSchema["ENGINES"] = cols
   883  	cols = []vindexes.Column{}
   884  	cols = append(cols, createCol("EVENT_CATALOG", 6165))
   885  	cols = append(cols, createCol("EVENT_SCHEMA", 6165))
   886  	cols = append(cols, createCol("EVENT_NAME", 6165))
   887  	cols = append(cols, createCol("DEFINER", 6165))
   888  	cols = append(cols, createCol("TIME_ZONE", 6165))
   889  	cols = append(cols, createCol("EVENT_BODY", 6165))
   890  	cols = append(cols, createCol("EVENT_DEFINITION", 6163))
   891  	cols = append(cols, createCol("EVENT_TYPE", 6165))
   892  	cols = append(cols, createCol("EXECUTE_AT", 2064))
   893  	cols = append(cols, createCol("INTERVAL_VALUE", 6165))
   894  	cols = append(cols, createCol("INTERVAL_FIELD", 2074))
   895  	cols = append(cols, createCol("SQL_MODE", 2075))
   896  	cols = append(cols, createCol("STARTS", 2064))
   897  	cols = append(cols, createCol("ENDS", 2064))
   898  	cols = append(cols, createCol("STATUS", 2074))
   899  	cols = append(cols, createCol("ON_COMPLETION", 6165))
   900  	cols = append(cols, createCol("CREATED", 2061))
   901  	cols = append(cols, createCol("LAST_ALTERED", 2061))
   902  	cols = append(cols, createCol("LAST_EXECUTED", 2064))
   903  	cols = append(cols, createCol("EVENT_COMMENT", 6165))
   904  	cols = append(cols, createCol("ORIGINATOR", 776))
   905  	cols = append(cols, createCol("CHARACTER_SET_CLIENT", 6165))
   906  	cols = append(cols, createCol("COLLATION_CONNECTION", 6165))
   907  	cols = append(cols, createCol("DATABASE_COLLATION", 6165))
   908  	infSchema["EVENTS"] = cols
   909  	cols = []vindexes.Column{}
   910  	cols = append(cols, createCol("FILE_ID", 265))
   911  	cols = append(cols, createCol("FILE_NAME", 6163))
   912  	cols = append(cols, createCol("FILE_TYPE", 6165))
   913  	cols = append(cols, createCol("TABLESPACE_NAME", 6165))
   914  	cols = append(cols, createCol("TABLE_CATALOG", 6167))
   915  	cols = append(cols, createCol("TABLE_SCHEMA", 10264))
   916  	cols = append(cols, createCol("TABLE_NAME", 10264))
   917  	cols = append(cols, createCol("LOGFILE_GROUP_NAME", 6165))
   918  	cols = append(cols, createCol("LOGFILE_GROUP_NUMBER", 265))
   919  	cols = append(cols, createCol("ENGINE", 6165))
   920  	cols = append(cols, createCol("FULLTEXT_KEYS", 10264))
   921  	cols = append(cols, createCol("DELETED_ROWS", 10264))
   922  	cols = append(cols, createCol("UPDATE_COUNT", 10264))
   923  	cols = append(cols, createCol("FREE_EXTENTS", 265))
   924  	cols = append(cols, createCol("TOTAL_EXTENTS", 265))
   925  	cols = append(cols, createCol("EXTENT_SIZE", 265))
   926  	cols = append(cols, createCol("INITIAL_SIZE", 265))
   927  	cols = append(cols, createCol("MAXIMUM_SIZE", 265))
   928  	cols = append(cols, createCol("AUTOEXTEND_SIZE", 265))
   929  	cols = append(cols, createCol("CREATION_TIME", 10264))
   930  	cols = append(cols, createCol("LAST_UPDATE_TIME", 10264))
   931  	cols = append(cols, createCol("LAST_ACCESS_TIME", 10264))
   932  	cols = append(cols, createCol("RECOVER_TIME", 10264))
   933  	cols = append(cols, createCol("TRANSACTION_COUNTER", 10264))
   934  	cols = append(cols, createCol("VERSION", 265))
   935  	cols = append(cols, createCol("ROW_FORMAT", 6165))
   936  	cols = append(cols, createCol("TABLE_ROWS", 10264))
   937  	cols = append(cols, createCol("AVG_ROW_LENGTH", 10264))
   938  	cols = append(cols, createCol("DATA_LENGTH", 10264))
   939  	cols = append(cols, createCol("MAX_DATA_LENGTH", 10264))
   940  	cols = append(cols, createCol("INDEX_LENGTH", 10264))
   941  	cols = append(cols, createCol("DATA_FREE", 265))
   942  	cols = append(cols, createCol("CREATE_TIME", 10264))
   943  	cols = append(cols, createCol("UPDATE_TIME", 10264))
   944  	cols = append(cols, createCol("CHECK_TIME", 10264))
   945  	cols = append(cols, createCol("CHECKSUM", 10264))
   946  	cols = append(cols, createCol("STATUS", 6165))
   947  	cols = append(cols, createCol("EXTRA", 6165))
   948  	infSchema["FILES"] = cols
   949  	cols = []vindexes.Column{}
   950  	cols = append(cols, createCol("POOL_ID", 778))
   951  	cols = append(cols, createCol("BLOCK_ID", 778))
   952  	cols = append(cols, createCol("SPACE", 778))
   953  	cols = append(cols, createCol("PAGE_NUMBER", 778))
   954  	cols = append(cols, createCol("PAGE_TYPE", 6165))
   955  	cols = append(cols, createCol("FLUSH_TYPE", 778))
   956  	cols = append(cols, createCol("FIX_COUNT", 778))
   957  	cols = append(cols, createCol("IS_HASHED", 6165))
   958  	cols = append(cols, createCol("NEWEST_MODIFICATION", 778))
   959  	cols = append(cols, createCol("OLDEST_MODIFICATION", 778))
   960  	cols = append(cols, createCol("ACCESS_TIME", 778))
   961  	cols = append(cols, createCol("TABLE_NAME", 6165))
   962  	cols = append(cols, createCol("INDEX_NAME", 6165))
   963  	cols = append(cols, createCol("NUMBER_RECORDS", 778))
   964  	cols = append(cols, createCol("DATA_SIZE", 778))
   965  	cols = append(cols, createCol("COMPRESSED_SIZE", 778))
   966  	cols = append(cols, createCol("PAGE_STATE", 6165))
   967  	cols = append(cols, createCol("IO_FIX", 6165))
   968  	cols = append(cols, createCol("IS_OLD", 6165))
   969  	cols = append(cols, createCol("FREE_PAGE_CLOCK", 778))
   970  	cols = append(cols, createCol("IS_STALE", 6165))
   971  	infSchema["INNODB_BUFFER_PAGE"] = cols
   972  	cols = []vindexes.Column{}
   973  	cols = append(cols, createCol("POOL_ID", 778))
   974  	cols = append(cols, createCol("LRU_POSITION", 778))
   975  	cols = append(cols, createCol("SPACE", 778))
   976  	cols = append(cols, createCol("PAGE_NUMBER", 778))
   977  	cols = append(cols, createCol("PAGE_TYPE", 6165))
   978  	cols = append(cols, createCol("FLUSH_TYPE", 778))
   979  	cols = append(cols, createCol("FIX_COUNT", 778))
   980  	cols = append(cols, createCol("IS_HASHED", 6165))
   981  	cols = append(cols, createCol("NEWEST_MODIFICATION", 778))
   982  	cols = append(cols, createCol("OLDEST_MODIFICATION", 778))
   983  	cols = append(cols, createCol("ACCESS_TIME", 778))
   984  	cols = append(cols, createCol("TABLE_NAME", 6165))
   985  	cols = append(cols, createCol("INDEX_NAME", 6165))
   986  	cols = append(cols, createCol("NUMBER_RECORDS", 778))
   987  	cols = append(cols, createCol("DATA_SIZE", 778))
   988  	cols = append(cols, createCol("COMPRESSED_SIZE", 778))
   989  	cols = append(cols, createCol("COMPRESSED", 6165))
   990  	cols = append(cols, createCol("IO_FIX", 6165))
   991  	cols = append(cols, createCol("IS_OLD", 6165))
   992  	cols = append(cols, createCol("FREE_PAGE_CLOCK", 778))
   993  	infSchema["INNODB_BUFFER_PAGE_LRU"] = cols
   994  	cols = []vindexes.Column{}
   995  	cols = append(cols, createCol("POOL_ID", 778))
   996  	cols = append(cols, createCol("POOL_SIZE", 778))
   997  	cols = append(cols, createCol("FREE_BUFFERS", 778))
   998  	cols = append(cols, createCol("DATABASE_PAGES", 778))
   999  	cols = append(cols, createCol("OLD_DATABASE_PAGES", 778))
  1000  	cols = append(cols, createCol("MODIFIED_DATABASE_PAGES", 778))
  1001  	cols = append(cols, createCol("PENDING_DECOMPRESS", 778))
  1002  	cols = append(cols, createCol("PENDING_READS", 778))
  1003  	cols = append(cols, createCol("PENDING_FLUSH_LRU", 778))
  1004  	cols = append(cols, createCol("PENDING_FLUSH_LIST", 778))
  1005  	cols = append(cols, createCol("PAGES_MADE_YOUNG", 778))
  1006  	cols = append(cols, createCol("PAGES_NOT_MADE_YOUNG", 778))
  1007  	cols = append(cols, createCol("PAGES_MADE_YOUNG_RATE", 1035))
  1008  	cols = append(cols, createCol("PAGES_MADE_NOT_YOUNG_RATE", 1035))
  1009  	cols = append(cols, createCol("NUMBER_PAGES_READ", 778))
  1010  	cols = append(cols, createCol("NUMBER_PAGES_CREATED", 778))
  1011  	cols = append(cols, createCol("NUMBER_PAGES_WRITTEN", 778))
  1012  	cols = append(cols, createCol("PAGES_READ_RATE", 1035))
  1013  	cols = append(cols, createCol("PAGES_CREATE_RATE", 1035))
  1014  	cols = append(cols, createCol("PAGES_WRITTEN_RATE", 1035))
  1015  	cols = append(cols, createCol("NUMBER_PAGES_GET", 778))
  1016  	cols = append(cols, createCol("HIT_RATE", 778))
  1017  	cols = append(cols, createCol("YOUNG_MAKE_PER_THOUSAND_GETS", 778))
  1018  	cols = append(cols, createCol("NOT_YOUNG_MAKE_PER_THOUSAND_GETS", 778))
  1019  	cols = append(cols, createCol("NUMBER_PAGES_READ_AHEAD", 778))
  1020  	cols = append(cols, createCol("NUMBER_READ_AHEAD_EVICTED", 778))
  1021  	cols = append(cols, createCol("READ_AHEAD_RATE", 1035))
  1022  	cols = append(cols, createCol("READ_AHEAD_EVICTED_RATE", 1035))
  1023  	cols = append(cols, createCol("LRU_IO_TOTAL", 778))
  1024  	cols = append(cols, createCol("LRU_IO_CURRENT", 778))
  1025  	cols = append(cols, createCol("UNCOMPRESS_TOTAL", 778))
  1026  	cols = append(cols, createCol("UNCOMPRESS_CURRENT", 778))
  1027  	infSchema["INNODB_BUFFER_POOL_STATS"] = cols
  1028  	cols = []vindexes.Column{}
  1029  	cols = append(cols, createCol("SPACE_ID", 776))
  1030  	cols = append(cols, createCol("INDEX_ID", 778))
  1031  	cols = append(cols, createCol("N_CACHED_PAGES", 778))
  1032  	infSchema["INNODB_CACHED_INDEXES"] = cols
  1033  	cols = []vindexes.Column{}
  1034  	cols = append(cols, createCol("page_size", 263))
  1035  	cols = append(cols, createCol("compress_ops", 263))
  1036  	cols = append(cols, createCol("compress_ops_ok", 263))
  1037  	cols = append(cols, createCol("compress_time", 263))
  1038  	cols = append(cols, createCol("uncompress_ops", 263))
  1039  	cols = append(cols, createCol("uncompress_time", 263))
  1040  	infSchema["INNODB_CMP"] = cols
  1041  	cols = []vindexes.Column{}
  1042  	cols = append(cols, createCol("database_name", 6165))
  1043  	cols = append(cols, createCol("table_name", 6165))
  1044  	cols = append(cols, createCol("index_name", 6165))
  1045  	cols = append(cols, createCol("compress_ops", 263))
  1046  	cols = append(cols, createCol("compress_ops_ok", 263))
  1047  	cols = append(cols, createCol("compress_time", 263))
  1048  	cols = append(cols, createCol("uncompress_ops", 263))
  1049  	cols = append(cols, createCol("uncompress_time", 263))
  1050  	infSchema["INNODB_CMP_PER_INDEX"] = cols
  1051  	cols = []vindexes.Column{}
  1052  	cols = append(cols, createCol("database_name", 6165))
  1053  	cols = append(cols, createCol("table_name", 6165))
  1054  	cols = append(cols, createCol("index_name", 6165))
  1055  	cols = append(cols, createCol("compress_ops", 263))
  1056  	cols = append(cols, createCol("compress_ops_ok", 263))
  1057  	cols = append(cols, createCol("compress_time", 263))
  1058  	cols = append(cols, createCol("uncompress_ops", 263))
  1059  	cols = append(cols, createCol("uncompress_time", 263))
  1060  	infSchema["INNODB_CMP_PER_INDEX_RESET"] = cols
  1061  	cols = []vindexes.Column{}
  1062  	cols = append(cols, createCol("page_size", 263))
  1063  	cols = append(cols, createCol("compress_ops", 263))
  1064  	cols = append(cols, createCol("compress_ops_ok", 263))
  1065  	cols = append(cols, createCol("compress_time", 263))
  1066  	cols = append(cols, createCol("uncompress_ops", 263))
  1067  	cols = append(cols, createCol("uncompress_time", 263))
  1068  	infSchema["INNODB_CMP_RESET"] = cols
  1069  	cols = []vindexes.Column{}
  1070  	cols = append(cols, createCol("page_size", 263))
  1071  	cols = append(cols, createCol("buffer_pool_instance", 263))
  1072  	cols = append(cols, createCol("pages_used", 263))
  1073  	cols = append(cols, createCol("pages_free", 263))
  1074  	cols = append(cols, createCol("relocation_ops", 265))
  1075  	cols = append(cols, createCol("relocation_time", 263))
  1076  	infSchema["INNODB_CMPMEM"] = cols
  1077  	cols = []vindexes.Column{}
  1078  	cols = append(cols, createCol("page_size", 263))
  1079  	cols = append(cols, createCol("buffer_pool_instance", 263))
  1080  	cols = append(cols, createCol("pages_used", 263))
  1081  	cols = append(cols, createCol("pages_free", 263))
  1082  	cols = append(cols, createCol("relocation_ops", 265))
  1083  	cols = append(cols, createCol("relocation_time", 263))
  1084  	infSchema["INNODB_CMPMEM_RESET"] = cols
  1085  	cols = []vindexes.Column{}
  1086  	cols = append(cols, createCol("TABLE_ID", 778))
  1087  	cols = append(cols, createCol("NAME", 6165))
  1088  	cols = append(cols, createCol("POS", 778))
  1089  	cols = append(cols, createCol("MTYPE", 263))
  1090  	cols = append(cols, createCol("PRTYPE", 263))
  1091  	cols = append(cols, createCol("LEN", 263))
  1092  	cols = append(cols, createCol("HAS_DEFAULT", 263))
  1093  	cols = append(cols, createCol("DEFAULT_VALUE", 6163))
  1094  	infSchema["INNODB_COLUMNS"] = cols
  1095  	cols = []vindexes.Column{}
  1096  	cols = append(cols, createCol("SPACE", 10262))
  1097  	cols = append(cols, createCol("PATH", 6165))
  1098  	infSchema["INNODB_DATAFILES"] = cols
  1099  	cols = []vindexes.Column{}
  1100  	cols = append(cols, createCol("INDEX_ID", 10262))
  1101  	cols = append(cols, createCol("NAME", 6165))
  1102  	cols = append(cols, createCol("POS", 778))
  1103  	infSchema["INNODB_FIELDS"] = cols
  1104  	cols = []vindexes.Column{}
  1105  	cols = append(cols, createCol("ID", 6165))
  1106  	cols = append(cols, createCol("FOR_NAME", 6165))
  1107  	cols = append(cols, createCol("REF_NAME", 6165))
  1108  	cols = append(cols, createCol("N_COLS", 265))
  1109  	cols = append(cols, createCol("TYPE", 778))
  1110  	infSchema["INNODB_FOREIGN"] = cols
  1111  	cols = []vindexes.Column{}
  1112  	cols = append(cols, createCol("ID", 6165))
  1113  	cols = append(cols, createCol("FOR_COL_NAME", 6165))
  1114  	cols = append(cols, createCol("REF_COL_NAME", 6165))
  1115  	cols = append(cols, createCol("POS", 776))
  1116  	infSchema["INNODB_FOREIGN_COLS"] = cols
  1117  	cols = []vindexes.Column{}
  1118  	cols = append(cols, createCol("DOC_ID", 778))
  1119  	infSchema["INNODB_FT_BEING_DELETED"] = cols
  1120  	cols = []vindexes.Column{}
  1121  	cols = append(cols, createCol("KEY", 6165))
  1122  	cols = append(cols, createCol("VALUE", 6165))
  1123  	infSchema["INNODB_FT_CONFIG"] = cols
  1124  	cols = []vindexes.Column{}
  1125  	cols = append(cols, createCol("value", 6165))
  1126  	infSchema["INNODB_FT_DEFAULT_STOPWORD"] = cols
  1127  	cols = []vindexes.Column{}
  1128  	cols = append(cols, createCol("DOC_ID", 778))
  1129  	infSchema["INNODB_FT_DELETED"] = cols
  1130  	cols = []vindexes.Column{}
  1131  	cols = append(cols, createCol("WORD", 6165))
  1132  	cols = append(cols, createCol("FIRST_DOC_ID", 778))
  1133  	cols = append(cols, createCol("LAST_DOC_ID", 778))
  1134  	cols = append(cols, createCol("DOC_COUNT", 778))
  1135  	cols = append(cols, createCol("DOC_ID", 778))
  1136  	cols = append(cols, createCol("POSITION", 778))
  1137  	infSchema["INNODB_FT_INDEX_CACHE"] = cols
  1138  	cols = []vindexes.Column{}
  1139  	cols = append(cols, createCol("WORD", 6165))
  1140  	cols = append(cols, createCol("FIRST_DOC_ID", 778))
  1141  	cols = append(cols, createCol("LAST_DOC_ID", 778))
  1142  	cols = append(cols, createCol("DOC_COUNT", 778))
  1143  	cols = append(cols, createCol("DOC_ID", 778))
  1144  	cols = append(cols, createCol("POSITION", 778))
  1145  	infSchema["INNODB_FT_INDEX_TABLE"] = cols
  1146  	cols = []vindexes.Column{}
  1147  	cols = append(cols, createCol("INDEX_ID", 778))
  1148  	cols = append(cols, createCol("NAME", 6165))
  1149  	cols = append(cols, createCol("TABLE_ID", 778))
  1150  	cols = append(cols, createCol("TYPE", 263))
  1151  	cols = append(cols, createCol("N_FIELDS", 263))
  1152  	cols = append(cols, createCol("PAGE_NO", 263))
  1153  	cols = append(cols, createCol("SPACE", 263))
  1154  	cols = append(cols, createCol("MERGE_THRESHOLD", 263))
  1155  	infSchema["INNODB_INDEXES"] = cols
  1156  	cols = []vindexes.Column{}
  1157  	cols = append(cols, createCol("NAME", 6165))
  1158  	cols = append(cols, createCol("SUBSYSTEM", 6165))
  1159  	cols = append(cols, createCol("COUNT", 265))
  1160  	cols = append(cols, createCol("MAX_COUNT", 265))
  1161  	cols = append(cols, createCol("MIN_COUNT", 265))
  1162  	cols = append(cols, createCol("AVG_COUNT", 1035))
  1163  	cols = append(cols, createCol("COUNT_RESET", 265))
  1164  	cols = append(cols, createCol("MAX_COUNT_RESET", 265))
  1165  	cols = append(cols, createCol("MIN_COUNT_RESET", 265))
  1166  	cols = append(cols, createCol("AVG_COUNT_RESET", 1035))
  1167  	cols = append(cols, createCol("TIME_ENABLED", 2064))
  1168  	cols = append(cols, createCol("TIME_DISABLED", 2064))
  1169  	cols = append(cols, createCol("TIME_ELAPSED", 265))
  1170  	cols = append(cols, createCol("TIME_RESET", 2064))
  1171  	cols = append(cols, createCol("STATUS", 6165))
  1172  	cols = append(cols, createCol("TYPE", 6165))
  1173  	cols = append(cols, createCol("COMMENT", 6165))
  1174  	infSchema["INNODB_METRICS"] = cols
  1175  	cols = []vindexes.Column{}
  1176  	cols = append(cols, createCol("ID", 776))
  1177  	cols = append(cols, createCol("SPACE", 776))
  1178  	cols = append(cols, createCol("PATH", 6165))
  1179  	cols = append(cols, createCol("SIZE", 778))
  1180  	cols = append(cols, createCol("STATE", 6165))
  1181  	cols = append(cols, createCol("PURPOSE", 6165))
  1182  	infSchema["INNODB_SESSION_TEMP_TABLESPACES"] = cols
  1183  	cols = []vindexes.Column{}
  1184  	cols = append(cols, createCol("TABLE_ID", 778))
  1185  	cols = append(cols, createCol("NAME", 6165))
  1186  	cols = append(cols, createCol("FLAG", 263))
  1187  	cols = append(cols, createCol("N_COLS", 263))
  1188  	cols = append(cols, createCol("SPACE", 265))
  1189  	cols = append(cols, createCol("ROW_FORMAT", 6165))
  1190  	cols = append(cols, createCol("ZIP_PAGE_SIZE", 776))
  1191  	cols = append(cols, createCol("SPACE_TYPE", 6165))
  1192  	cols = append(cols, createCol("INSTANT_COLS", 263))
  1193  	infSchema["INNODB_TABLES"] = cols
  1194  	cols = []vindexes.Column{}
  1195  	cols = append(cols, createCol("SPACE", 776))
  1196  	cols = append(cols, createCol("NAME", 6165))
  1197  	cols = append(cols, createCol("FLAG", 776))
  1198  	cols = append(cols, createCol("ROW_FORMAT", 6165))
  1199  	cols = append(cols, createCol("PAGE_SIZE", 776))
  1200  	cols = append(cols, createCol("ZIP_PAGE_SIZE", 776))
  1201  	cols = append(cols, createCol("SPACE_TYPE", 6165))
  1202  	cols = append(cols, createCol("FS_BLOCK_SIZE", 776))
  1203  	cols = append(cols, createCol("FILE_SIZE", 778))
  1204  	cols = append(cols, createCol("ALLOCATED_SIZE", 778))
  1205  	cols = append(cols, createCol("AUTOEXTEND_SIZE", 778))
  1206  	cols = append(cols, createCol("SERVER_VERSION", 6165))
  1207  	cols = append(cols, createCol("SPACE_VERSION", 776))
  1208  	cols = append(cols, createCol("ENCRYPTION", 6165))
  1209  	cols = append(cols, createCol("STATE", 6165))
  1210  	infSchema["INNODB_TABLESPACES"] = cols
  1211  	cols = []vindexes.Column{}
  1212  	cols = append(cols, createCol("SPACE", 10262))
  1213  	cols = append(cols, createCol("NAME", 6165))
  1214  	cols = append(cols, createCol("PATH", 6165))
  1215  	cols = append(cols, createCol("FLAG", 10262))
  1216  	cols = append(cols, createCol("SPACE_TYPE", 6165))
  1217  	infSchema["INNODB_TABLESPACES_BRIEF"] = cols
  1218  	cols = []vindexes.Column{}
  1219  	cols = append(cols, createCol("TABLE_ID", 778))
  1220  	cols = append(cols, createCol("NAME", 6165))
  1221  	cols = append(cols, createCol("STATS_INITIALIZED", 6165))
  1222  	cols = append(cols, createCol("NUM_ROWS", 778))
  1223  	cols = append(cols, createCol("CLUST_INDEX_SIZE", 778))
  1224  	cols = append(cols, createCol("OTHER_INDEX_SIZE", 778))
  1225  	cols = append(cols, createCol("MODIFIED_COUNTER", 778))
  1226  	cols = append(cols, createCol("AUTOINC", 778))
  1227  	cols = append(cols, createCol("REF_COUNT", 263))
  1228  	infSchema["INNODB_TABLESTATS"] = cols
  1229  	cols = []vindexes.Column{}
  1230  	cols = append(cols, createCol("TABLE_ID", 778))
  1231  	cols = append(cols, createCol("NAME", 6165))
  1232  	cols = append(cols, createCol("N_COLS", 776))
  1233  	cols = append(cols, createCol("SPACE", 776))
  1234  	infSchema["INNODB_TEMP_TABLE_INFO"] = cols
  1235  	cols = []vindexes.Column{}
  1236  	cols = append(cols, createCol("trx_id", 778))
  1237  	cols = append(cols, createCol("trx_state", 6165))
  1238  	cols = append(cols, createCol("trx_started", 2064))
  1239  	cols = append(cols, createCol("trx_requested_lock_id", 6165))
  1240  	cols = append(cols, createCol("trx_wait_started", 2064))
  1241  	cols = append(cols, createCol("trx_weight", 778))
  1242  	cols = append(cols, createCol("trx_mysql_thread_id", 778))
  1243  	cols = append(cols, createCol("trx_query", 6165))
  1244  	cols = append(cols, createCol("trx_operation_state", 6165))
  1245  	cols = append(cols, createCol("trx_tables_in_use", 778))
  1246  	cols = append(cols, createCol("trx_tables_locked", 778))
  1247  	cols = append(cols, createCol("trx_lock_structs", 778))
  1248  	cols = append(cols, createCol("trx_lock_memory_bytes", 778))
  1249  	cols = append(cols, createCol("trx_rows_locked", 778))
  1250  	cols = append(cols, createCol("trx_rows_modified", 778))
  1251  	cols = append(cols, createCol("trx_concurrency_tickets", 778))
  1252  	cols = append(cols, createCol("trx_isolation_level", 6165))
  1253  	cols = append(cols, createCol("trx_unique_checks", 263))
  1254  	cols = append(cols, createCol("trx_foreign_key_checks", 263))
  1255  	cols = append(cols, createCol("trx_last_foreign_key_error", 6165))
  1256  	cols = append(cols, createCol("trx_adaptive_hash_latched", 263))
  1257  	cols = append(cols, createCol("trx_adaptive_hash_timeout", 778))
  1258  	cols = append(cols, createCol("trx_is_read_only", 263))
  1259  	cols = append(cols, createCol("trx_autocommit_non_locking", 263))
  1260  	cols = append(cols, createCol("trx_schedule_weight", 778))
  1261  	infSchema["INNODB_TRX"] = cols
  1262  	cols = []vindexes.Column{}
  1263  	cols = append(cols, createCol("TABLE_ID", 778))
  1264  	cols = append(cols, createCol("POS", 776))
  1265  	cols = append(cols, createCol("BASE_POS", 776))
  1266  	infSchema["INNODB_VIRTUAL"] = cols
  1267  	cols = []vindexes.Column{}
  1268  	cols = append(cols, createCol("CONSTRAINT_CATALOG", 6165))
  1269  	cols = append(cols, createCol("CONSTRAINT_SCHEMA", 6165))
  1270  	cols = append(cols, createCol("CONSTRAINT_NAME", 6165))
  1271  	cols = append(cols, createCol("TABLE_CATALOG", 6165))
  1272  	cols = append(cols, createCol("TABLE_SCHEMA", 6165))
  1273  	cols = append(cols, createCol("TABLE_NAME", 6165))
  1274  	cols = append(cols, createCol("COLUMN_NAME", 6165))
  1275  	cols = append(cols, createCol("ORDINAL_POSITION", 776))
  1276  	cols = append(cols, createCol("POSITION_IN_UNIQUE_CONSTRAINT", 776))
  1277  	cols = append(cols, createCol("REFERENCED_TABLE_SCHEMA", 6165))
  1278  	cols = append(cols, createCol("REFERENCED_TABLE_NAME", 6165))
  1279  	cols = append(cols, createCol("REFERENCED_COLUMN_NAME", 6165))
  1280  	infSchema["KEY_COLUMN_USAGE"] = cols
  1281  	cols = []vindexes.Column{}
  1282  	cols = append(cols, createCol("WORD", 6165))
  1283  	cols = append(cols, createCol("RESERVED", 263))
  1284  	infSchema["KEYWORDS"] = cols
  1285  	cols = []vindexes.Column{}
  1286  	cols = append(cols, createCol("QUERY", 6165))
  1287  	cols = append(cols, createCol("TRACE", 6165))
  1288  	cols = append(cols, createCol("MISSING_BYTES_BEYOND_MAX_MEM_SIZE", 263))
  1289  	cols = append(cols, createCol("INSUFFICIENT_PRIVILEGES", 257))
  1290  	infSchema["OPTIMIZER_TRACE"] = cols
  1291  	cols = []vindexes.Column{}
  1292  	cols = append(cols, createCol("SPECIFIC_CATALOG", 6165))
  1293  	cols = append(cols, createCol("SPECIFIC_SCHEMA", 6165))
  1294  	cols = append(cols, createCol("SPECIFIC_NAME", 6165))
  1295  	cols = append(cols, createCol("ORDINAL_POSITION", 778))
  1296  	cols = append(cols, createCol("PARAMETER_MODE", 6165))
  1297  	cols = append(cols, createCol("PARAMETER_NAME", 6165))
  1298  	cols = append(cols, createCol("DATA_TYPE", 6163))
  1299  	cols = append(cols, createCol("CHARACTER_MAXIMUM_LENGTH", 265))
  1300  	cols = append(cols, createCol("CHARACTER_OCTET_LENGTH", 265))
  1301  	cols = append(cols, createCol("NUMERIC_PRECISION", 776))
  1302  	cols = append(cols, createCol("NUMERIC_SCALE", 265))
  1303  	cols = append(cols, createCol("DATETIME_PRECISION", 776))
  1304  	cols = append(cols, createCol("CHARACTER_SET_NAME", 6165))
  1305  	cols = append(cols, createCol("COLLATION_NAME", 6165))
  1306  	cols = append(cols, createCol("DTD_IDENTIFIER", 6163))
  1307  	cols = append(cols, createCol("ROUTINE_TYPE", 2074))
  1308  	infSchema["PARAMETERS"] = cols
  1309  	cols = []vindexes.Column{}
  1310  	cols = append(cols, createCol("TABLE_CATALOG", 6165))
  1311  	cols = append(cols, createCol("TABLE_SCHEMA", 6165))
  1312  	cols = append(cols, createCol("TABLE_NAME", 6165))
  1313  	cols = append(cols, createCol("PARTITION_NAME", 6165))
  1314  	cols = append(cols, createCol("SUBPARTITION_NAME", 6165))
  1315  	cols = append(cols, createCol("PARTITION_ORDINAL_POSITION", 776))
  1316  	cols = append(cols, createCol("SUBPARTITION_ORDINAL_POSITION", 776))
  1317  	cols = append(cols, createCol("PARTITION_METHOD", 6165))
  1318  	cols = append(cols, createCol("SUBPARTITION_METHOD", 6165))
  1319  	cols = append(cols, createCol("PARTITION_EXPRESSION", 6165))
  1320  	cols = append(cols, createCol("SUBPARTITION_EXPRESSION", 6165))
  1321  	cols = append(cols, createCol("PARTITION_DESCRIPTION", 6163))
  1322  	cols = append(cols, createCol("TABLE_ROWS", 778))
  1323  	cols = append(cols, createCol("AVG_ROW_LENGTH", 778))
  1324  	cols = append(cols, createCol("DATA_LENGTH", 778))
  1325  	cols = append(cols, createCol("MAX_DATA_LENGTH", 778))
  1326  	cols = append(cols, createCol("INDEX_LENGTH", 778))
  1327  	cols = append(cols, createCol("DATA_FREE", 778))
  1328  	cols = append(cols, createCol("CREATE_TIME", 2061))
  1329  	cols = append(cols, createCol("UPDATE_TIME", 2064))
  1330  	cols = append(cols, createCol("CHECK_TIME", 2064))
  1331  	cols = append(cols, createCol("CHECKSUM", 265))
  1332  	cols = append(cols, createCol("PARTITION_COMMENT", 6163))
  1333  	cols = append(cols, createCol("NODEGROUP", 6165))
  1334  	cols = append(cols, createCol("TABLESPACE_NAME", 6165))
  1335  	infSchema["PARTITIONS"] = cols
  1336  	cols = []vindexes.Column{}
  1337  	cols = append(cols, createCol("PLUGIN_NAME", 6165))
  1338  	cols = append(cols, createCol("PLUGIN_VERSION", 6165))
  1339  	cols = append(cols, createCol("PLUGIN_STATUS", 6165))
  1340  	cols = append(cols, createCol("PLUGIN_TYPE", 6165))
  1341  	cols = append(cols, createCol("PLUGIN_TYPE_VERSION", 6165))
  1342  	cols = append(cols, createCol("PLUGIN_LIBRARY", 6165))
  1343  	cols = append(cols, createCol("PLUGIN_LIBRARY_VERSION", 6165))
  1344  	cols = append(cols, createCol("PLUGIN_AUTHOR", 6165))
  1345  	cols = append(cols, createCol("PLUGIN_DESCRIPTION", 6165))
  1346  	cols = append(cols, createCol("PLUGIN_LICENSE", 6165))
  1347  	cols = append(cols, createCol("LOAD_OPTION", 6165))
  1348  	infSchema["PLUGINS"] = cols
  1349  	cols = []vindexes.Column{}
  1350  	cols = append(cols, createCol("ID", 778))
  1351  	cols = append(cols, createCol("USER", 6165))
  1352  	cols = append(cols, createCol("HOST", 6165))
  1353  	cols = append(cols, createCol("DB", 6165))
  1354  	cols = append(cols, createCol("COMMAND", 6165))
  1355  	cols = append(cols, createCol("TIME", 263))
  1356  	cols = append(cols, createCol("STATE", 6165))
  1357  	cols = append(cols, createCol("INFO", 6165))
  1358  	infSchema["PROCESSLIST"] = cols
  1359  	cols = []vindexes.Column{}
  1360  	cols = append(cols, createCol("QUERY_ID", 263))
  1361  	cols = append(cols, createCol("SEQ", 263))
  1362  	cols = append(cols, createCol("STATE", 6165))
  1363  	cols = append(cols, createCol("DURATION", 18))
  1364  	cols = append(cols, createCol("CPU_USER", 18))
  1365  	cols = append(cols, createCol("CPU_SYSTEM", 18))
  1366  	cols = append(cols, createCol("CONTEXT_VOLUNTARY", 263))
  1367  	cols = append(cols, createCol("CONTEXT_INVOLUNTARY", 263))
  1368  	cols = append(cols, createCol("BLOCK_OPS_IN", 263))
  1369  	cols = append(cols, createCol("BLOCK_OPS_OUT", 263))
  1370  	cols = append(cols, createCol("MESSAGES_SENT", 263))
  1371  	cols = append(cols, createCol("MESSAGES_RECEIVED", 263))
  1372  	cols = append(cols, createCol("PAGE_FAULTS_MAJOR", 263))
  1373  	cols = append(cols, createCol("PAGE_FAULTS_MINOR", 263))
  1374  	cols = append(cols, createCol("SWAPS", 263))
  1375  	cols = append(cols, createCol("SOURCE_FUNCTION", 6165))
  1376  	cols = append(cols, createCol("SOURCE_FILE", 6165))
  1377  	cols = append(cols, createCol("SOURCE_LINE", 263))
  1378  	infSchema["PROFILING"] = cols
  1379  	cols = []vindexes.Column{}
  1380  	cols = append(cols, createCol("CONSTRAINT_CATALOG", 6165))
  1381  	cols = append(cols, createCol("CONSTRAINT_SCHEMA", 6165))
  1382  	cols = append(cols, createCol("CONSTRAINT_NAME", 6165))
  1383  	cols = append(cols, createCol("UNIQUE_CONSTRAINT_CATALOG", 6165))
  1384  	cols = append(cols, createCol("UNIQUE_CONSTRAINT_SCHEMA", 6165))
  1385  	cols = append(cols, createCol("UNIQUE_CONSTRAINT_NAME", 6165))
  1386  	cols = append(cols, createCol("MATCH_OPTION", 2074))
  1387  	cols = append(cols, createCol("UPDATE_RULE", 2074))
  1388  	cols = append(cols, createCol("DELETE_RULE", 2074))
  1389  	cols = append(cols, createCol("TABLE_NAME", 6165))
  1390  	cols = append(cols, createCol("REFERENCED_TABLE_NAME", 6165))
  1391  	infSchema["REFERENTIAL_CONSTRAINTS"] = cols
  1392  	cols = []vindexes.Column{}
  1393  	cols = append(cols, createCol("RESOURCE_GROUP_NAME", 6165))
  1394  	cols = append(cols, createCol("RESOURCE_GROUP_TYPE", 2074))
  1395  	cols = append(cols, createCol("RESOURCE_GROUP_ENABLED", 257))
  1396  	cols = append(cols, createCol("VCPU_IDS", 10260))
  1397  	cols = append(cols, createCol("THREAD_PRIORITY", 263))
  1398  	infSchema["RESOURCE_GROUPS"] = cols
  1399  	cols = []vindexes.Column{}
  1400  	cols = append(cols, createCol("GRANTOR", 6165))
  1401  	cols = append(cols, createCol("GRANTOR_HOST", 6165))
  1402  	cols = append(cols, createCol("GRANTEE", 6167))
  1403  	cols = append(cols, createCol("GRANTEE_HOST", 6167))
  1404  	cols = append(cols, createCol("TABLE_CATALOG", 6165))
  1405  	cols = append(cols, createCol("TABLE_SCHEMA", 6167))
  1406  	cols = append(cols, createCol("TABLE_NAME", 6167))
  1407  	cols = append(cols, createCol("COLUMN_NAME", 6167))
  1408  	cols = append(cols, createCol("PRIVILEGE_TYPE", 2075))
  1409  	cols = append(cols, createCol("IS_GRANTABLE", 6165))
  1410  	infSchema["ROLE_COLUMN_GRANTS"] = cols
  1411  	cols = []vindexes.Column{}
  1412  	cols = append(cols, createCol("GRANTOR", 6165))
  1413  	cols = append(cols, createCol("GRANTOR_HOST", 6165))
  1414  	cols = append(cols, createCol("GRANTEE", 6167))
  1415  	cols = append(cols, createCol("GRANTEE_HOST", 6167))
  1416  	cols = append(cols, createCol("SPECIFIC_CATALOG", 6165))
  1417  	cols = append(cols, createCol("SPECIFIC_SCHEMA", 6167))
  1418  	cols = append(cols, createCol("SPECIFIC_NAME", 6167))
  1419  	cols = append(cols, createCol("ROUTINE_CATALOG", 6165))
  1420  	cols = append(cols, createCol("ROUTINE_SCHEMA", 6167))
  1421  	cols = append(cols, createCol("ROUTINE_NAME", 6167))
  1422  	cols = append(cols, createCol("PRIVILEGE_TYPE", 2075))
  1423  	cols = append(cols, createCol("IS_GRANTABLE", 6165))
  1424  	infSchema["ROLE_ROUTINE_GRANTS"] = cols
  1425  	cols = []vindexes.Column{}
  1426  	cols = append(cols, createCol("GRANTOR", 6165))
  1427  	cols = append(cols, createCol("GRANTOR_HOST", 6165))
  1428  	cols = append(cols, createCol("GRANTEE", 6167))
  1429  	cols = append(cols, createCol("GRANTEE_HOST", 6167))
  1430  	cols = append(cols, createCol("TABLE_CATALOG", 6165))
  1431  	cols = append(cols, createCol("TABLE_SCHEMA", 6167))
  1432  	cols = append(cols, createCol("TABLE_NAME", 6167))
  1433  	cols = append(cols, createCol("PRIVILEGE_TYPE", 2075))
  1434  	cols = append(cols, createCol("IS_GRANTABLE", 6165))
  1435  	infSchema["ROLE_TABLE_GRANTS"] = cols
  1436  	cols = []vindexes.Column{}
  1437  	cols = append(cols, createCol("SPECIFIC_NAME", 6165))
  1438  	cols = append(cols, createCol("ROUTINE_CATALOG", 6165))
  1439  	cols = append(cols, createCol("ROUTINE_SCHEMA", 6165))
  1440  	cols = append(cols, createCol("ROUTINE_NAME", 6165))
  1441  	cols = append(cols, createCol("ROUTINE_TYPE", 2074))
  1442  	cols = append(cols, createCol("DATA_TYPE", 6163))
  1443  	cols = append(cols, createCol("CHARACTER_MAXIMUM_LENGTH", 265))
  1444  	cols = append(cols, createCol("CHARACTER_OCTET_LENGTH", 265))
  1445  	cols = append(cols, createCol("NUMERIC_PRECISION", 776))
  1446  	cols = append(cols, createCol("NUMERIC_SCALE", 776))
  1447  	cols = append(cols, createCol("DATETIME_PRECISION", 776))
  1448  	cols = append(cols, createCol("CHARACTER_SET_NAME", 6165))
  1449  	cols = append(cols, createCol("COLLATION_NAME", 6165))
  1450  	cols = append(cols, createCol("DTD_IDENTIFIER", 6163))
  1451  	cols = append(cols, createCol("ROUTINE_BODY", 6165))
  1452  	cols = append(cols, createCol("ROUTINE_DEFINITION", 6163))
  1453  	cols = append(cols, createCol("EXTERNAL_NAME", 10264))
  1454  	cols = append(cols, createCol("EXTERNAL_LANGUAGE", 6165))
  1455  	cols = append(cols, createCol("PARAMETER_STYLE", 6165))
  1456  	cols = append(cols, createCol("IS_DETERMINISTIC", 6165))
  1457  	cols = append(cols, createCol("SQL_DATA_ACCESS", 2074))
  1458  	cols = append(cols, createCol("SQL_PATH", 10264))
  1459  	cols = append(cols, createCol("SECURITY_TYPE", 2074))
  1460  	cols = append(cols, createCol("CREATED", 2061))
  1461  	cols = append(cols, createCol("LAST_ALTERED", 2061))
  1462  	cols = append(cols, createCol("SQL_MODE", 2075))
  1463  	cols = append(cols, createCol("ROUTINE_COMMENT", 6163))
  1464  	cols = append(cols, createCol("DEFINER", 6165))
  1465  	cols = append(cols, createCol("CHARACTER_SET_CLIENT", 6165))
  1466  	cols = append(cols, createCol("COLLATION_CONNECTION", 6165))
  1467  	cols = append(cols, createCol("DATABASE_COLLATION", 6165))
  1468  	infSchema["ROUTINES"] = cols
  1469  	cols = []vindexes.Column{}
  1470  	cols = append(cols, createCol("GRANTEE", 6165))
  1471  	cols = append(cols, createCol("TABLE_CATALOG", 6165))
  1472  	cols = append(cols, createCol("TABLE_SCHEMA", 6165))
  1473  	cols = append(cols, createCol("PRIVILEGE_TYPE", 6165))
  1474  	cols = append(cols, createCol("IS_GRANTABLE", 6165))
  1475  	infSchema["SCHEMA_PRIVILEGES"] = cols
  1476  	cols = []vindexes.Column{}
  1477  	cols = append(cols, createCol("CATALOG_NAME", 6165))
  1478  	cols = append(cols, createCol("SCHEMA_NAME", 6165))
  1479  	cols = append(cols, createCol("DEFAULT_CHARACTER_SET_NAME", 6165))
  1480  	cols = append(cols, createCol("DEFAULT_COLLATION_NAME", 6165))
  1481  	cols = append(cols, createCol("SQL_PATH", 10264))
  1482  	cols = append(cols, createCol("DEFAULT_ENCRYPTION", 2074))
  1483  	infSchema["SCHEMATA"] = cols
  1484  	cols = []vindexes.Column{}
  1485  	cols = append(cols, createCol("CATALOG_NAME", 6165))
  1486  	cols = append(cols, createCol("SCHEMA_NAME", 6165))
  1487  	cols = append(cols, createCol("OPTIONS", 6165))
  1488  	infSchema["SCHEMATA_EXTENSIONS"] = cols
  1489  	cols = []vindexes.Column{}
  1490  	cols = append(cols, createCol("TABLE_CATALOG", 6165))
  1491  	cols = append(cols, createCol("TABLE_SCHEMA", 6165))
  1492  	cols = append(cols, createCol("TABLE_NAME", 6165))
  1493  	cols = append(cols, createCol("COLUMN_NAME", 6165))
  1494  	cols = append(cols, createCol("SRS_NAME", 6165))
  1495  	cols = append(cols, createCol("SRS_ID", 776))
  1496  	cols = append(cols, createCol("GEOMETRY_TYPE_NAME", 6163))
  1497  	infSchema["ST_GEOMETRY_COLUMNS"] = cols
  1498  	cols = []vindexes.Column{}
  1499  	cols = append(cols, createCol("SRS_NAME", 6165))
  1500  	cols = append(cols, createCol("SRS_ID", 776))
  1501  	cols = append(cols, createCol("ORGANIZATION", 6165))
  1502  	cols = append(cols, createCol("ORGANIZATION_COORDSYS_ID", 776))
  1503  	cols = append(cols, createCol("DEFINITION", 6165))
  1504  	cols = append(cols, createCol("DESCRIPTION", 6165))
  1505  	infSchema["ST_SPATIAL_REFERENCE_SYSTEMS"] = cols
  1506  	cols = []vindexes.Column{}
  1507  	cols = append(cols, createCol("UNIT_NAME", 6165))
  1508  	cols = append(cols, createCol("UNIT_TYPE", 6165))
  1509  	cols = append(cols, createCol("CONVERSION_FACTOR", 1036))
  1510  	cols = append(cols, createCol("DESCRIPTION", 6165))
  1511  	infSchema["ST_UNITS_OF_MEASURE"] = cols
  1512  	cols = []vindexes.Column{}
  1513  	cols = append(cols, createCol("TABLE_CATALOG", 6165))
  1514  	cols = append(cols, createCol("TABLE_SCHEMA", 6165))
  1515  	cols = append(cols, createCol("TABLE_NAME", 6165))
  1516  	cols = append(cols, createCol("NON_UNIQUE", 263))
  1517  	cols = append(cols, createCol("INDEX_SCHEMA", 6165))
  1518  	cols = append(cols, createCol("INDEX_NAME", 6165))
  1519  	cols = append(cols, createCol("SEQ_IN_INDEX", 776))
  1520  	cols = append(cols, createCol("COLUMN_NAME", 6165))
  1521  	cols = append(cols, createCol("COLLATION", 6165))
  1522  	cols = append(cols, createCol("CARDINALITY", 265))
  1523  	cols = append(cols, createCol("SUB_PART", 265))
  1524  	cols = append(cols, createCol("PACKED", 10264))
  1525  	cols = append(cols, createCol("NULLABLE", 6165))
  1526  	cols = append(cols, createCol("INDEX_TYPE", 6165))
  1527  	cols = append(cols, createCol("COMMENT", 6165))
  1528  	cols = append(cols, createCol("INDEX_COMMENT", 6165))
  1529  	cols = append(cols, createCol("IS_VISIBLE", 6165))
  1530  	cols = append(cols, createCol("EXPRESSION", 6163))
  1531  	infSchema["STATISTICS"] = cols
  1532  	cols = []vindexes.Column{}
  1533  	cols = append(cols, createCol("CONSTRAINT_CATALOG", 6165))
  1534  	cols = append(cols, createCol("CONSTRAINT_SCHEMA", 6165))
  1535  	cols = append(cols, createCol("CONSTRAINT_NAME", 6165))
  1536  	cols = append(cols, createCol("TABLE_SCHEMA", 6165))
  1537  	cols = append(cols, createCol("TABLE_NAME", 6165))
  1538  	cols = append(cols, createCol("CONSTRAINT_TYPE", 6165))
  1539  	cols = append(cols, createCol("ENFORCED", 6165))
  1540  	infSchema["TABLE_CONSTRAINTS"] = cols
  1541  	cols = []vindexes.Column{}
  1542  	cols = append(cols, createCol("CONSTRAINT_CATALOG", 6165))
  1543  	cols = append(cols, createCol("CONSTRAINT_SCHEMA", 6165))
  1544  	cols = append(cols, createCol("CONSTRAINT_NAME", 6165))
  1545  	cols = append(cols, createCol("TABLE_NAME", 6165))
  1546  	cols = append(cols, createCol("ENGINE_ATTRIBUTE", 2078))
  1547  	cols = append(cols, createCol("SECONDARY_ENGINE_ATTRIBUTE", 2078))
  1548  	infSchema["TABLE_CONSTRAINTS_EXTENSIONS"] = cols
  1549  	cols = []vindexes.Column{}
  1550  	cols = append(cols, createCol("GRANTEE", 6165))
  1551  	cols = append(cols, createCol("TABLE_CATALOG", 6165))
  1552  	cols = append(cols, createCol("TABLE_SCHEMA", 6165))
  1553  	cols = append(cols, createCol("TABLE_NAME", 6165))
  1554  	cols = append(cols, createCol("PRIVILEGE_TYPE", 6165))
  1555  	cols = append(cols, createCol("IS_GRANTABLE", 6165))
  1556  	infSchema["TABLE_PRIVILEGES"] = cols
  1557  	cols = []vindexes.Column{}
  1558  	cols = append(cols, createCol("TABLE_CATALOG", 6165))
  1559  	cols = append(cols, createCol("TABLE_SCHEMA", 6165))
  1560  	cols = append(cols, createCol("TABLE_NAME", 6165))
  1561  	cols = append(cols, createCol("TABLE_TYPE", 2074))
  1562  	cols = append(cols, createCol("ENGINE", 6165))
  1563  	cols = append(cols, createCol("VERSION", 263))
  1564  	cols = append(cols, createCol("ROW_FORMAT", 2074))
  1565  	cols = append(cols, createCol("TABLE_ROWS", 778))
  1566  	cols = append(cols, createCol("AVG_ROW_LENGTH", 778))
  1567  	cols = append(cols, createCol("DATA_LENGTH", 778))
  1568  	cols = append(cols, createCol("MAX_DATA_LENGTH", 778))
  1569  	cols = append(cols, createCol("INDEX_LENGTH", 778))
  1570  	cols = append(cols, createCol("DATA_FREE", 778))
  1571  	cols = append(cols, createCol("AUTO_INCREMENT", 778))
  1572  	cols = append(cols, createCol("CREATE_TIME", 2061))
  1573  	cols = append(cols, createCol("UPDATE_TIME", 2064))
  1574  	cols = append(cols, createCol("CHECK_TIME", 2064))
  1575  	cols = append(cols, createCol("TABLE_COLLATION", 6165))
  1576  	cols = append(cols, createCol("CHECKSUM", 265))
  1577  	cols = append(cols, createCol("CREATE_OPTIONS", 6165))
  1578  	cols = append(cols, createCol("TABLE_COMMENT", 6163))
  1579  	infSchema["TABLES"] = cols
  1580  	cols = []vindexes.Column{}
  1581  	cols = append(cols, createCol("TABLE_CATALOG", 6165))
  1582  	cols = append(cols, createCol("TABLE_SCHEMA", 6165))
  1583  	cols = append(cols, createCol("TABLE_NAME", 6165))
  1584  	cols = append(cols, createCol("ENGINE_ATTRIBUTE", 2078))
  1585  	cols = append(cols, createCol("SECONDARY_ENGINE_ATTRIBUTE", 2078))
  1586  	infSchema["TABLES_EXTENSIONS"] = cols
  1587  	cols = []vindexes.Column{}
  1588  	cols = append(cols, createCol("TABLESPACE_NAME", 6165))
  1589  	cols = append(cols, createCol("ENGINE", 6165))
  1590  	cols = append(cols, createCol("TABLESPACE_TYPE", 6165))
  1591  	cols = append(cols, createCol("LOGFILE_GROUP_NAME", 6165))
  1592  	cols = append(cols, createCol("EXTENT_SIZE", 778))
  1593  	cols = append(cols, createCol("AUTOEXTEND_SIZE", 778))
  1594  	cols = append(cols, createCol("MAXIMUM_SIZE", 778))
  1595  	cols = append(cols, createCol("NODEGROUP_ID", 778))
  1596  	cols = append(cols, createCol("TABLESPACE_COMMENT", 6165))
  1597  	infSchema["TABLESPACES"] = cols
  1598  	cols = []vindexes.Column{}
  1599  	cols = append(cols, createCol("TABLESPACE_NAME", 6165))
  1600  	cols = append(cols, createCol("ENGINE_ATTRIBUTE", 2078))
  1601  	infSchema["TABLESPACES_EXTENSIONS"] = cols
  1602  	cols = []vindexes.Column{}
  1603  	cols = append(cols, createCol("TRIGGER_CATALOG", 6165))
  1604  	cols = append(cols, createCol("TRIGGER_SCHEMA", 6165))
  1605  	cols = append(cols, createCol("TRIGGER_NAME", 6165))
  1606  	cols = append(cols, createCol("EVENT_MANIPULATION", 2074))
  1607  	cols = append(cols, createCol("EVENT_OBJECT_CATALOG", 6165))
  1608  	cols = append(cols, createCol("EVENT_OBJECT_SCHEMA", 6165))
  1609  	cols = append(cols, createCol("EVENT_OBJECT_TABLE", 6165))
  1610  	cols = append(cols, createCol("ACTION_ORDER", 776))
  1611  	cols = append(cols, createCol("ACTION_CONDITION", 10264))
  1612  	cols = append(cols, createCol("ACTION_STATEMENT", 6163))
  1613  	cols = append(cols, createCol("ACTION_ORIENTATION", 6165))
  1614  	cols = append(cols, createCol("ACTION_TIMING", 2074))
  1615  	cols = append(cols, createCol("ACTION_REFERENCE_OLD_TABLE", 10264))
  1616  	cols = append(cols, createCol("ACTION_REFERENCE_NEW_TABLE", 10264))
  1617  	cols = append(cols, createCol("ACTION_REFERENCE_OLD_ROW", 6165))
  1618  	cols = append(cols, createCol("ACTION_REFERENCE_NEW_ROW", 6165))
  1619  	cols = append(cols, createCol("CREATED", 2061))
  1620  	cols = append(cols, createCol("SQL_MODE", 2075))
  1621  	cols = append(cols, createCol("DEFINER", 6165))
  1622  	cols = append(cols, createCol("CHARACTER_SET_CLIENT", 6165))
  1623  	cols = append(cols, createCol("COLLATION_CONNECTION", 6165))
  1624  	cols = append(cols, createCol("DATABASE_COLLATION", 6165))
  1625  	infSchema["TRIGGERS"] = cols
  1626  	cols = []vindexes.Column{}
  1627  	cols = append(cols, createCol("USER", 6167))
  1628  	cols = append(cols, createCol("HOST", 6167))
  1629  	cols = append(cols, createCol("ATTRIBUTE", 6163))
  1630  	infSchema["USER_ATTRIBUTES"] = cols
  1631  	cols = []vindexes.Column{}
  1632  	cols = append(cols, createCol("GRANTEE", 6165))
  1633  	cols = append(cols, createCol("TABLE_CATALOG", 6165))
  1634  	cols = append(cols, createCol("PRIVILEGE_TYPE", 6165))
  1635  	cols = append(cols, createCol("IS_GRANTABLE", 6165))
  1636  	infSchema["USER_PRIVILEGES"] = cols
  1637  	cols = []vindexes.Column{}
  1638  	cols = append(cols, createCol("TABLE_CATALOG", 6165))
  1639  	cols = append(cols, createCol("TABLE_SCHEMA", 6165))
  1640  	cols = append(cols, createCol("TABLE_NAME", 6165))
  1641  	cols = append(cols, createCol("SPECIFIC_CATALOG", 6165))
  1642  	cols = append(cols, createCol("SPECIFIC_SCHEMA", 6165))
  1643  	cols = append(cols, createCol("SPECIFIC_NAME", 6165))
  1644  	infSchema["VIEW_ROUTINE_USAGE"] = cols
  1645  	cols = []vindexes.Column{}
  1646  	cols = append(cols, createCol("VIEW_CATALOG", 6165))
  1647  	cols = append(cols, createCol("VIEW_SCHEMA", 6165))
  1648  	cols = append(cols, createCol("VIEW_NAME", 6165))
  1649  	cols = append(cols, createCol("TABLE_CATALOG", 6165))
  1650  	cols = append(cols, createCol("TABLE_SCHEMA", 6165))
  1651  	cols = append(cols, createCol("TABLE_NAME", 6165))
  1652  	infSchema["VIEW_TABLE_USAGE"] = cols
  1653  	cols = []vindexes.Column{}
  1654  	cols = append(cols, createCol("TABLE_CATALOG", 6165))
  1655  	cols = append(cols, createCol("TABLE_SCHEMA", 6165))
  1656  	cols = append(cols, createCol("TABLE_NAME", 6165))
  1657  	cols = append(cols, createCol("VIEW_DEFINITION", 6163))
  1658  	cols = append(cols, createCol("CHECK_OPTION", 2074))
  1659  	cols = append(cols, createCol("IS_UPDATABLE", 2074))
  1660  	cols = append(cols, createCol("DEFINER", 6165))
  1661  	cols = append(cols, createCol("SECURITY_TYPE", 6165))
  1662  	cols = append(cols, createCol("CHARACTER_SET_CLIENT", 6165))
  1663  	cols = append(cols, createCol("COLLATION_CONNECTION", 6165))
  1664  	infSchema["VIEWS"] = cols
  1665  
  1666  	return infSchema
  1667  }
  1668  
  1669  type infoSchemaWithColumns struct {
  1670  	inner          SchemaInformation
  1671  	infoSchemaData map[string][]vindexes.Column
  1672  }
  1673  
  1674  // newSchemaInfo returns a SchemaInformation that has the column information for all info_schema tables
  1675  func newSchemaInfo(inner SchemaInformation) SchemaInformation {
  1676  	version := servenv.MySQLServerVersion()
  1677  	var infoSchema map[string][]vindexes.Column
  1678  	if strings.HasPrefix(version, "5.7") {
  1679  		infoSchema = getInfoSchema57()
  1680  	} else {
  1681  		infoSchema = getInfoSchema80()
  1682  	}
  1683  	return &infoSchemaWithColumns{inner: inner, infoSchemaData: infoSchema}
  1684  }
  1685  
  1686  // FindTableOrVindex implements the SchemaInformation interface
  1687  func (i *infoSchemaWithColumns) FindTableOrVindex(tbl sqlparser.TableName) (*vindexes.Table, vindexes.Vindex, string, topodatapb.TabletType, key.Destination, error) {
  1688  	if !strings.EqualFold(tbl.Qualifier.String(), "information_schema") {
  1689  		return i.inner.FindTableOrVindex(tbl)
  1690  	}
  1691  
  1692  	cols, found := i.infoSchemaData[strings.ToUpper(tbl.Name.String())]
  1693  	if !found {
  1694  		return nil, nil, "", topodatapb.TabletType_UNKNOWN, nil, vindexes.NotFoundError{TableName: tbl.Name.String()}
  1695  	}
  1696  	vtbl := &vindexes.Table{
  1697  		Type:                    "View",
  1698  		Name:                    sqlparser.NewIdentifierCS(tbl.Name.String()),
  1699  		Columns:                 cols,
  1700  		ColumnListAuthoritative: true,
  1701  	}
  1702  	return vtbl, nil, "", topodatapb.TabletType_UNKNOWN, nil, nil
  1703  }
  1704  
  1705  // ConnCollation implements the SchemaInformation interface
  1706  func (i *infoSchemaWithColumns) ConnCollation() collations.ID {
  1707  	return i.inner.ConnCollation()
  1708  }