getTableFieldsTypesImpl method
Implementation
@override
Future<Map<String, Type>?> getTableFieldsTypesImpl(String table) async {
var connection = await catchFromPool();
try {
_log.info('getTableFieldsTypesImpl> $table');
var sql = "SHOW COLUMNS FROM `$table`";
var results = await connection.query(sql);
var scheme = results.toList();
await releaseIntoPool(connection);
if (scheme.isEmpty) return null;
var fieldsTypes = Map<String, Type>.fromEntries(scheme.map((e) {
var k = e['Field'] as String;
var v = _toFieldType(e['Type'].toString());
return MapEntry(k, v);
}));
return fieldsTypes;
} catch (e) {
await disposePoolElement(connection);
rethrow;
}
}