Zum Inhalt springen

Konfiguration

Konfigurationsoptionen können angegeben werden, um verschiedene Einstellungen des Datenbanksystems zu ändern. Beachten Sie, dass viele dieser Einstellungen später auch über PRAGMA-Anweisungen geändert werden können. Das Konfigurationsobjekt sollte erzeugt, mit Werten gefüllt und an duckdb_open_ext übergeben werden.

Beispiel

duckdb_database db;
duckdb_config config;
// create the configuration object
if (duckdb_create_config(&config) == DuckDBError) {
// handle error
}
// set some configuration options
duckdb_set_config(config, "access_mode", "READ_WRITE"); // or READ_ONLY
duckdb_set_config(config, "threads", "8");
duckdb_set_config(config, "max_memory", "8GB");
duckdb_set_config(config, "default_order", "DESC");
// open the database using the configuration
if (duckdb_open_ext(NULL, &db, config, NULL) == DuckDBError) {
// handle error
}
// cleanup the configuration object
duckdb_destroy_config(&config);
// run queries...
// cleanup
duckdb_close(&db);

API-Referenz im Überblick

duckdb_state duckdb_create_config(duckdb_config *out_config);
size_t duckdb_config_count();
duckdb_state duckdb_get_config_flag(size_t index, const char **out_name, const char **out_description);
duckdb_state duckdb_set_config(duckdb_config config, const char *name, const char *option);
void duckdb_destroy_config(duckdb_config *config);

duckdb_create_config

Initialisiert ein leeres Konfigurationsobjekt, das verwendet werden kann, um Startoptionen für die DuckDB-Instanz über duckdb_open_ext bereitzustellen. Das duckdb_config muss mit ‘duckdb_destroy_config’ zerstört werden.

Dies gelingt immer, sofern kein malloc-Fehler auftritt.

Beachten Sie, dass duckdb_destroy_config immer für die resultierende Config aufgerufen werden sollte, auch wenn die Funktion DuckDBError zurückgibt.

Syntax
duckdb_state duckdb_create_config(
  duckdb_config *out_config
);
Parameter
  • out_config: Das resultierende Konfigurationsobjekt.
Rückgabewert

DuckDBSuccess bei Erfolg oder DuckDBError bei Fehler.


duckdb_config_count

Gibt die Gesamtzahl der Konfigurationsoptionen zurück, die mit duckdb_get_config_flag verwendet werden können.

Diese Funktion sollte nicht in einer Schleife aufgerufen werden, da intern über alle Optionen iteriert wird.

Rückgabewert

Die Anzahl der verfügbaren Config-Optionen.

Syntax
size_t duckdb_config_count(
  
);

duckdb_get_config_flag

Ermittelt einen menschenlesbaren Namen und eine Beschreibung einer bestimmten Konfigurationsoption. Dies kann z. B. verwendet werden, um Konfigurationsoptionen anzuzeigen. Dies gelingt, sofern index nicht außerhalb des gültigen Bereichs liegt (d. h. >= duckdb_config_count).

Der resultierende Name oder die Beschreibung DARF NICHT freigegeben werden.

Syntax
duckdb_state duckdb_get_config_flag(
  size_t index,
  const char **out_name,
  const char **out_description
);
Parameter
  • index: Der Index der Konfigurationsoption (zwischen 0 und duckdb_config_count)
  • out_name: Ein Name des Konfigurationsflags.
  • out_description: Eine Beschreibung des Konfigurationsflags.
Rückgabewert

DuckDBSuccess bei Erfolg oder DuckDBError bei Fehler.


duckdb_set_config

Setzt die angegebene Option für die angegebene Konfiguration. Die Konfigurationsoption wird über den Namen angegeben. Eine Liste der Config-Optionen finden Sie unter duckdb_get_config_flag.

Im Quellcode sind Konfigurationsoptionen in config.cpp definiert.

Dies kann fehlschlagen, wenn der Name ungültig ist oder der für die Option angegebene Wert ungültig ist.

Syntax
duckdb_state duckdb_set_config(
  duckdb_config config,
  const char *name,
  const char *option
);
Parameter
  • config: Das Konfigurationsobjekt, für das die Option gesetzt wird.
  • name: Der Name des zu setzenden Konfigurationsflags.
  • option: Der Wert, auf den das Konfigurationsflag gesetzt wird.
Rückgabewert

DuckDBSuccess bei Erfolg oder DuckDBError bei Fehler.


duckdb_destroy_config

Zerstört das angegebene Konfigurationsobjekt und gibt den gesamten für das Objekt allokierten Speicher frei.

Syntax
void duckdb_destroy_config(
  duckdb_config *config
);
Parameter
  • config: Das zu zerstörende Konfigurationsobjekt.