createPoolDispatch function
Pure routing used by OdbcPoolFactory.createPool, testable without FFI.
Implementation
@visibleForTesting
int createPoolDispatch({
required bool supportsPoolCreateWithOptions,
required String connectionString,
required int maxSize,
required int Function(String connectionString, int maxSize) poolCreate,
required int Function(
String connectionString,
int maxSize, {
String? optionsJson,
}) poolCreateWithOptions,
PoolOptions? options,
}) {
if (options == null || !options.hasAnyOption) {
return poolCreate(connectionString, maxSize);
}
if (!supportsPoolCreateWithOptions) {
return poolCreate(connectionString, maxSize);
}
return poolCreateWithOptions(
connectionString,
maxSize,
optionsJson: options.toJson(),
);
}