72
72
DRIZZLE_TYPE_VARCHAR,
78
77
columns->push_back(new plugin::ColumnInfo("TABLE_SCHEMA",
80
79
DRIZZLE_TYPE_VARCHAR,
86
84
columns->push_back(new plugin::ColumnInfo("TABLE_NAME",
88
86
DRIZZLE_TYPE_VARCHAR,
94
91
columns->push_back(new plugin::ColumnInfo("TABLE_TYPE",
96
93
DRIZZLE_TYPE_VARCHAR,
102
98
columns->push_back(new plugin::ColumnInfo("ENGINE",
104
100
DRIZZLE_TYPE_VARCHAR,
110
105
columns->push_back(new plugin::ColumnInfo("VERSION",
111
106
MY_INT64_NUM_DECIMAL_DIGITS,
112
107
DRIZZLE_TYPE_LONGLONG,
114
109
(MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED),
118
112
columns->push_back(new plugin::ColumnInfo("ROW_FORMAT",
120
114
DRIZZLE_TYPE_VARCHAR,
126
119
columns->push_back(new plugin::ColumnInfo("TABLE_ROWS",
127
120
MY_INT64_NUM_DECIMAL_DIGITS,
128
121
DRIZZLE_TYPE_LONGLONG,
130
123
(MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED),
134
126
columns->push_back(new plugin::ColumnInfo("AVG_ROW_LENGTH",
135
127
MY_INT64_NUM_DECIMAL_DIGITS,
136
128
DRIZZLE_TYPE_LONGLONG,
138
130
(MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED),
142
133
columns->push_back(new plugin::ColumnInfo("DATA_LENGTH",
143
134
MY_INT64_NUM_DECIMAL_DIGITS,
144
135
DRIZZLE_TYPE_LONGLONG,
146
137
(MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED),
150
140
columns->push_back(new plugin::ColumnInfo("MAX_DATA_LENGTH",
151
141
MY_INT64_NUM_DECIMAL_DIGITS,
152
142
DRIZZLE_TYPE_LONGLONG,
154
144
(MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED),
158
147
columns->push_back(new plugin::ColumnInfo("INDEX_LENGTH",
159
148
MY_INT64_NUM_DECIMAL_DIGITS,
160
149
DRIZZLE_TYPE_LONGLONG,
162
151
(MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED),
166
154
columns->push_back(new plugin::ColumnInfo("DATA_FREE",
167
155
MY_INT64_NUM_DECIMAL_DIGITS,
168
156
DRIZZLE_TYPE_LONGLONG,
170
158
(MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED),
174
161
columns->push_back(new plugin::ColumnInfo("AUTO_INCREMENT",
175
162
MY_INT64_NUM_DECIMAL_DIGITS,
176
163
DRIZZLE_TYPE_LONGLONG,
178
165
(MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED),
182
168
columns->push_back(new plugin::ColumnInfo("CREATE_TIME",
184
170
DRIZZLE_TYPE_DATETIME,
190
175
columns->push_back(new plugin::ColumnInfo("UPDATE_TIME",
192
177
DRIZZLE_TYPE_DATETIME,
198
182
columns->push_back(new plugin::ColumnInfo("CHECK_TIME",
200
184
DRIZZLE_TYPE_DATETIME,
206
189
columns->push_back(new plugin::ColumnInfo("TABLE_COLLATION",
208
191
DRIZZLE_TYPE_VARCHAR,
214
196
columns->push_back(new plugin::ColumnInfo("CHECKSUM",
215
197
MY_INT64_NUM_DECIMAL_DIGITS,
216
198
DRIZZLE_TYPE_LONGLONG,
218
200
(MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED),
222
203
columns->push_back(new plugin::ColumnInfo("CREATE_OPTIONS",
224
205
DRIZZLE_TYPE_VARCHAR,
230
210
columns->push_back(new plugin::ColumnInfo("TABLE_COMMENT",
231
211
TABLE_COMMENT_MAXLEN,
232
212
DRIZZLE_TYPE_VARCHAR,
278
int TablesISMethods::processTable(Session *session,
257
int TablesISMethods::processTable(plugin::InfoSchemaTable *store_table,
279
259
TableList *tables,
282
262
LEX_STRING *db_name,
283
LEX_STRING *table_name) const
263
LEX_STRING *table_name)
285
265
const char *tmp_buff= NULL;
286
266
DRIZZLE_TIME time;
287
267
const CHARSET_INFO * const cs= system_charset_info;
289
269
table->restoreRecordAsDefault();
270
table->setWriteSet(1);
271
table->setWriteSet(2);
272
table->setWriteSet(3);
273
table->setWriteSet(4);
274
table->setWriteSet(5);
275
table->setWriteSet(6);
276
table->setWriteSet(7);
277
table->setWriteSet(8);
278
table->setWriteSet(9);
279
table->setWriteSet(11);
280
table->setWriteSet(12);
281
table->setWriteSet(13);
282
table->setWriteSet(14);
283
table->setWriteSet(15);
284
table->setWriteSet(16);
285
table->setWriteSet(17);
286
table->setWriteSet(18);
287
table->setWriteSet(19);
288
table->setWriteSet(20);
290
289
table->field[1]->store(db_name->str, db_name->length, cs);
291
290
table->field[2]->store(table_name->str, table_name->length, cs);
295
294
there was errors during opening tables
297
296
const char *error= session->is_error() ? session->main_da.message() : "";
298
if (tables->schema_table)
300
table->field[3]->store(STRING_WITH_LEN("SYSTEM VIEW"), cs);
304
table->field[3]->store(STRING_WITH_LEN("BASE Table"), cs);
297
table->field[3]->store(STRING_WITH_LEN("BASE Table"), cs);
306
298
table->field[20]->store(error, strlen(error), cs);
307
299
session->clear_error();
410
402
table->field[6]->store(tmp_buff, strlen(tmp_buff), cs);
411
if (! tables->schema_table)
413
table->field[7]->store((int64_t) cursor->stats.records, true);
414
table->field[7]->set_notnull();
403
table->field[7]->store((int64_t) cursor->stats.records, true);
404
table->field[7]->set_notnull();
416
405
table->field[8]->store((int64_t) cursor->stats.mean_rec_length, true);
417
406
table->field[9]->store((int64_t) cursor->stats.data_file_length, true);
418
407
if (cursor->stats.max_data_file_length)
448
437
table->field[16]->store_time(&time, DRIZZLE_TIMESTAMP_DATETIME);
449
438
table->field[16]->set_notnull();
451
if (cursor->ha_table_flags() & (ulong) HA_HAS_CHECKSUM)
440
if (cursor->getEngine()->check_flag(HTON_BIT_HAS_CHECKSUM))
453
442
table->field[18]->store((int64_t) cursor->checksum(), true);
454
443
table->field[18]->set_notnull();
458
return (schema_table_store_record(session, table));
447
store_table->addRow(table->record[0], table->s->reclength);