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 objectif (duckdb_create_config(&config) == DuckDBError) { // handle error}// set some configuration optionsduckdb_set_config(config, "access_mode", "READ_WRITE"); // or READ_ONLYduckdb_set_config(config, "threads", "8");duckdb_set_config(config, "max_memory", "8GB");duckdb_set_config(config, "default_order", "DESC");
// open the database using the configurationif (duckdb_open_ext(NULL, &db, config, NULL) == DuckDBError) { // handle error}// cleanup the configuration objectduckdb_destroy_config(&config);
// run queries...
// cleanupduckdb_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 undduckdb_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.