(PECL CUBRID >= 8.3.0)
cubrid_get_db_parameter — Retourne les paramètres de la base de données CUBRID
$conn_identifier
)
Cette fonction retourne les paramètres de la base de données CUBRID, ou
FALSE
si une erreur survient. Elle retourne un tableau associatif
avec les valeurs des paramètres suivants :
PARAM_ISOLATION_LEVEL
PARAM_LOCK_TIMEOUT
PARAM_MAX_STRING_LENGTH
PARAM_AUTO_COMMIT
Paramètre | Description |
---|---|
PARAM_ISOLATION_LEVEL | Le niveau d'isolation de la transaction. |
LOCK_TIMEOUT | CUBRID fournit la fonctionnalité de verrou du délai d'expiration, qui définit le temps d'attente (en secondes) pour le verrou tant que la configuration du verrou de la transaction est autorisée. La valeur par défaut du paramètre lock_timeout_in_secs vaut -1, qui signifie que l'application cliente attendra indéfiniment tant que le verrou de transaction est autorisé. |
PARAM_AUTO_COMMIT | En CUBRID PHP, le mode auto-commit est désactivé par défaut pour le gestionnaire de transaction. Il peut être défini par la fonction cubrid_set_autocommit(). |
La table suivante montre les niveaux d'isolation de 1 à 6 :
Nom | Description |
---|---|
SERIALIZABLE (6) | Dans ce niveau d'isolation, les problèmes de concurrence (i.e. lecture de données modifiées, lecture répétée de données, lecture de données fantôme, etc.) ne peuvent pas survenir. |
REPEATABLE READ CLASS avec REPEATABLE READ INSTANCES (5) | Une autre transaction T2 ne peut pas mettre à jour le schéma de la table A tant que la transaction T1 lit la table A. La transaction T1 peut rencontrer des données fantômes de l'enregistrement R qui a été inséré par la transaction T2 lorsqu'elle récupère à plusieurs reprises un enregistrement spécifique. |
REPEATABLE READ CLASS with READ COMMITTED INSTANCES (or CURSOR STABILITY) (4) | Une autre transaction T2 ne peut pas mettre à jour le schéma de la table A alors qu'une transaction T1 lit la table A. La transaction T1 peut rencontrer des lectures répétées de données qui ont été mises à jour, et valider par une autre transaction T2 lorsqu'elle récupère à plusieurs reprises l'enregistrement R. |
REPEATABLE READ CLASS with READ UNCOMMITTED INSTANCES (3) | Niveau d'isolation par défaut. Une transaction T2 ne peut pas mettre à jour le schéma de la table A alors qu'une transaction T1 lit la table A. La transaction T1 peut rencontrer des données non mises à jour pour l'enregistrement qui a été mis à jour mais non encore validé par la transaction T2. |
READ COMMITTED CLASS with READ COMMITTED INSTANCES (2) | La transaction T1 peut rencontrer des lectures répétées de données pour la table qui a été mise à jour et validée par la transaction T2 alors qu'elle lit plusieurs fois la table A. La transaction T1 peut rencontrer des lectures répétées de données pour l'enregistrement qui a été mis à jour et validé par la transaction T2 alors qu'elle récupère à plusieurs reprises l'enregistrement R. |
READ COMMITTED CLASS with READ UNCOMMITTED INSTANCES (1) | La transaction T1 peut rencontrer des lectures répétées de données pour la table qui a été mise à jour et validée par la transaction T2 alors qu'elle lit à plusieurs reprises la table A. La transaction T1 peut rencontrer des données non mises à jour pour l'enregistrement qui a été mise à jour mais non validé par la transaction T2. |
conn_identifier
La connexion CUBRID. Si l'identifiant de connexion n'est pas spécifié, le dernier lien ouvert avec la fonction cubrid_connect() sera utilisé.
Un tableau associatif contenant les paramètres de la base de données CUBRID en cas de succès.
FALSE
si une erreur survient.
Version | Description |
---|---|
8.4.0 | Modification de LOCK_TIMEOUT en PARAM_LOCK_TIMEOUT, de MAX_STRING_LENGTH en PARAM_MAX_STRING_LENGTH dans le résultat. |
Exemple #1 Exemple avec cubrid_get_db_parameter()
<?php
printf("%-30s %s\n", "CUBRID PHP Version:", cubrid_version());
printf("\n");
$conn = cubrid_connect("localhost", 33088, "demodb");
if (!$conn) {
die('Connect Error ('. cubrid_error_code() .')' . cubrid_error_msg());
}
$db_params = cubrid_get_db_parameter($conn);
while (list($param_name, $param_value) = each($db_params)) {
printf("%-30s %s\n", $param_name, $param_value);
}
printf("\n");
$server_info = cubrid_get_server_info($conn);
$client_info = cubrid_get_client_info();
printf("%-30s %s\n", "Server Info:", $server_info);
printf("%-30s %s\n", "Client Info:", $client_info);
printf("\n");
$charset = cubrid_get_charset($conn);
printf("%-30s %s\n", "CUBRID Charset:", $charset);
cubrid_disconnect($conn);
?>
L'exemple ci-dessus va afficher :
CUBRID PHP Version: 8.3.1.0005 PARAM_ISOLATION_LEVEL 3 PARAM_LOCK_TIMEOUT -1 PARAM_MAX_STRING_LENGTH 1073741823 PARAM_AUTO_COMMIT 0 Server Info: 8.3.1.0173 Client Info: 8.3.1 CUBRID Charset: iso8859-1