Start · Sprachen · PHP · Referenz · cubrid_get_db_parameter

cubrid_get_db_parameter

Funktion

Gibt die aktuellen Datenbankparameter einer CUBRID-Verbindung als assoziatives Array zurück.

seit PHP 8.3.1 Kategorie: db

Signatur

cubrid_get_db_parameter(resource $conn_identifier): array|false

Beschreibung

cubrid_get_db_parameter() liest die aktuellen Konfigurationsparameter der verbundenen CUBRID-Datenbankinstanz aus und gibt sie als assoziatives Array zurück. Diese Parameter beschreiben das Verhalten der Datenbankverbindung auf Ebene der Isolationsstufen, Auto-Commit-Einstellungen und weiterer Sitzungsparameter.

Die Funktion ist besonders nützlich, wenn man das aktuelle Verhalten einer CUBRID-Verbindung prüfen oder debuggen möchte, ohne direkt Datenbankabfragen absetzen zu müssen. Typischerweise enthält das zurückgegebene Array Schlüssel wie PARAM_ISOLATION_LEVEL (Transaktionsisolationsstufe), LOCK_TIMEOUT (Wartezeit auf Sperren in Millisekunden), MAX_STRING_LENGTH (maximale Stringlänge) und PARAM_AUTO_COMMIT (Auto-Commit-Modus).

Die Funktion benötigt eine aktive, mit cubrid_connect() oder cubrid_connect_with_url() hergestellte Verbindungskennung. Im Fehlerfall wird false zurückgegeben. Mit der Gegenfunktion cubrid_set_db_parameter() können Parameter gezielt gesetzt werden.

Parameter

Name Typ Default Beschreibung
$conn_identifier Pflicht resource Eine aktive CUBRID-Verbindungskennung, die von cubrid_connect() oder cubrid_connect_with_url() zurückgegeben wurde.

Rückgabewert

Typ
array|false
Beschreibung
Gibt bei Erfolg ein assoziatives Array mit den aktuellen Datenbankparametern zurück. Mögliche Schlüssel sind PARAM_ISOLATION_LEVEL, LOCK_TIMEOUT, MAX_STRING_LENGTH und PARAM_AUTO_COMMIT. Im Fehlerfall wird false zurückgegeben.

Beispiele

Datenbankparameter einer CUBRID-Verbindung ausgeben

<?php
$conn = cubrid_connect('localhost', 33000, 'demodb', 'dba', '');

if (!$conn) {
    die('Verbindung fehlgeschlagen: ' . cubrid_error());
}

$params = cubrid_get_db_parameter($conn);

if ($params === false) {
    echo 'Fehler beim Abrufen der Parameter.' . PHP_EOL;
} else {
    echo 'Isolationsstufe : ' . $params['PARAM_ISOLATION_LEVEL'] . PHP_EOL;
    echo 'Lock-Timeout    : ' . $params['LOCK_TIMEOUT'] . ' ms' . PHP_EOL;
    echo 'Max. Stringlänge: ' . $params['MAX_STRING_LENGTH'] . PHP_EOL;
    echo 'Auto-Commit     : ' . ($params['PARAM_AUTO_COMMIT'] ? 'AN' : 'AUS') . PHP_EOL;
}

cubrid_disconnect($conn);
?>
Isolationsstufe : 4 Lock-Timeout : -1 ms Max. Stringlänge: 1073741823 Auto-Commit : AN

Parameter prüfen und Isolationsstufe bei Bedarf anpassen

<?php
$conn = cubrid_connect('localhost', 33000, 'demodb', 'dba', '');

if (!$conn) {
    die('Verbindung fehlgeschlagen.');
}

$params = cubrid_get_db_parameter($conn);

// Isolationsstufe prüfen und ggf. anpassen
if ($params !== false && $params['PARAM_ISOLATION_LEVEL'] < 4) {
    echo 'Isolationsstufe zu niedrig, wird angepasst...' . PHP_EOL;
    cubrid_set_db_parameter($conn, CUBRID_PARAM_ISOLATION_LEVEL, 4);
} else {
    echo 'Isolationsstufe ist bereits ausreichend: ' . $params['PARAM_ISOLATION_LEVEL'] . PHP_EOL;
}

cubrid_disconnect($conn);
?>
Isolationsstufe ist bereits ausreichend: 4

// Wichtig · Fallstricke

Verfügbarkeit: Diese Funktion ist nur verfügbar, wenn PHP mit CUBRID-Unterstützung kompiliert wurde (PECL-Erweiterung cubrid). Auf Standard-Installationen ist sie nicht vorhanden.

Rückgabe bei Fehler: Prüfe den Rückgabewert stets mit === false, da ein leeres Array [] ebenfalls als falsy gelten könnte, aber einen anderen Zustand darstellt.

Parameter-Schlüssel: Die im Array enthaltenen Schlüssel können je nach CUBRID-Version leicht variieren. Prüfe die Verfügbarkeit einzelner Schlüssel mit array_key_exists(), bevor du auf sie zugreifst.