cubrid_get_db_parameter

(PECL CUBRID >= 8.3.0)

cubrid_get_db_parameterRetourne les paramètres de la base de données CUBRID

Description

array cubrid_get_db_parameter ( resource $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ètres de la base de données
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 :

Niveaux d'isolation supportés par CUBRID
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.

Liste de paramètres

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é.

Valeurs de retour

Un tableau associatif contenant les paramètres de la base de données CUBRID en cas de succès.

FALSE si une erreur survient.

Historique

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.

Exemples

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:            9.1.0.0001

PARAM_ISOLATION_LEVEL          3
LOCK_TIMEOUT                   -1
MAX_STRING_LENGTH              1073741823
PARAM_AUTO_COMMIT              1

Server Info:                   9.1.0.0212
Client Info:                   9.1.0

CUBRID Charset:                iso8859-1

Voir aussi

LoadingChargement en cours