DbmsInfo.fromJson constructor
Implementation
factory DbmsInfo.fromJson(Map<String, Object?> json) {
final dbmsName = json['dbms_name'] as String? ?? 'Unknown';
final engineId = json['engine'] as String? ?? DatabaseEngineIds.unknown;
final caps = json['capabilities'];
final capabilities = caps is Map<String, Object?>
? DriverCapabilities.fromJson(caps)
: DriverCapabilities(
supportsPreparedStatements: true,
supportsBatchOperations: true,
supportsStreaming: true,
maxRowArraySize: 1000,
driverName: dbmsName,
driverVersion: 'Unknown',
databaseType: DatabaseType.fromEngineId(engineId),
engineId: engineId,
);
return DbmsInfo(
dbmsName: dbmsName,
engineId: engineId,
databaseType: DatabaseType.fromEngineId(engineId),
maxCatalogNameLen: (json['max_catalog_name_len'] as num?)?.toInt() ?? 0,
maxSchemaNameLen: (json['max_schema_name_len'] as num?)?.toInt() ?? 0,
maxTableNameLen: (json['max_table_name_len'] as num?)?.toInt() ?? 0,
maxColumnNameLen: (json['max_column_name_len'] as num?)?.toInt() ?? 0,
currentCatalog: json['current_catalog'] as String? ?? '',
capabilities: capabilities,
);
}