DbmsInfo.fromJson constructor

DbmsInfo.fromJson(
  1. Map<String, Object?> json
)

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,
  );
}