setConfig method

void setConfig()

Implementation

void setConfig() {
  ptrConfig = calloc<duckdb_config>();
  if (bindings.duckdb_create_config(ptrConfig) == duckdb_state.DuckDBError) {
    throw StateError('Error configuring the Db');
  }
  if (config!.accessMode != null) {
    bindings.duckdb_set_config(
        ptrConfig.value,
        'access_mode'.toNativeUtf8().cast<Char>(),
        config!.accessMode!.toString().toNativeUtf8().cast<Char>());
  }

  if (config!.allowUnsignedExtensions != null) {
    bindings.duckdb_set_config(
        ptrConfig.value,
        'allow_unsigned_extensions'.toNativeUtf8().cast<Char>(),
        config!.allowUnsignedExtensions!
            .toString()
            .toNativeUtf8()
            .cast<Char>());
  }

  if (config!.defaultNullOrder != null) {
    bindings.duckdb_set_config(
        ptrConfig.value,
        'default_null_order'.toNativeUtf8().cast<Char>(),
        config!.defaultNullOrder!.toString().toNativeUtf8().cast<Char>());
  }

  if (config!.defaultOrder != null) {
    bindings.duckdb_set_config(
        ptrConfig.value,
        'default_order'.toNativeUtf8().cast<Char>(),
        config!.defaultOrder!.toString().toNativeUtf8().cast<Char>());
  }

  if (config!.autoInstallKnownExtensions != null) {
    bindings.duckdb_set_config(
        ptrConfig.value,
        'autoinstall_known_extensions'.toNativeUtf8().cast<Char>(),
        config!.autoInstallKnownExtensions!
            .toString()
            .toNativeUtf8()
            .cast<Char>());
  }

  if (config!.autoLoadKnownExtensions != null) {
    bindings.duckdb_set_config(
        ptrConfig.value,
        'autoload_known_extensions'.toNativeUtf8().cast<Char>(),
        config!.autoLoadKnownExtensions!
            .toString()
            .toNativeUtf8()
            .cast<Char>());
  }

  if (config!.maxMemoryGb != null) {
    bindings.duckdb_set_config(
        ptrConfig.value,
        'max_memory'.toNativeUtf8().cast<Char>(),
        '${config!.maxMemoryGb!}GB'.toNativeUtf8().cast<Char>());
  }

  if (config!.threads != null) {
    bindings.duckdb_set_config(
        ptrConfig.value,
        'threads'.toNativeUtf8().cast<Char>(),
        '${config!.threads!}'.toNativeUtf8().cast<Char>());
  }
}