fromJson static method
Parses a driver-capabilities JSON map from the native layer.
DatabaseType is taken only from the canonical engine field. An
unknown engine stays DatabaseType.unknown even if driver_name would
match the legacy heuristic.
Implementation
static DriverCapabilities fromJson(Map<String, Object?> json) {
final driverName = json['driver_name'] as String? ?? 'Unknown';
final engineId = json['engine'] as String? ?? DatabaseEngineIds.unknown;
return DriverCapabilities(
supportsPreparedStatements:
json['supports_prepared_statements'] as bool? ?? true,
supportsBatchOperations:
json['supports_batch_operations'] as bool? ?? true,
supportsStreaming: json['supports_streaming'] as bool? ?? true,
maxRowArraySize: (json['max_row_array_size'] as num?)?.toInt() ?? 1000,
driverName: driverName,
driverVersion: json['driver_version'] as String? ?? 'Unknown',
databaseType: DatabaseType.fromEngineId(engineId),
engineId: engineId,
supportsNativeBcp: json['supports_native_bcp'] as bool? ?? false,
);
}