(PECL CUBRID >= 8.3.0)
cubrid_get_db_parameter — 返回CUBRID数据库参数
此函数返回CUBRID数据库参数,失败则返回false
。它返回一个关联数组,其中包含以下参数的值
PARAM_ISOLATION_LEVEL
PARAM_LOCK_TIMEOUT
PARAM_MAX_STRING_LENGTH
PARAM_AUTO_COMMIT
参数 | 描述 |
---|---|
PARAM_ISOLATION_LEVEL | 事务隔离级别。 |
LOCK_TIMEOUT | CUBRID提供锁超时功能,它设置锁的等待时间(以秒为单位),直到允许事务锁设置。lock_timeout_in_secs参数的默认值为-1,这意味着应用程序客户端将无限期地等待,直到允许事务锁。 |
PARAM_AUTO_COMMIT | 在CUBRID PHP中,默认情况下,为了事务管理,自动提交模式被禁用。可以使用cubrid_set_autocommit()进行设置。 |
下表显示了隔离级别1到6。它包含表模式(行)和隔离级别
名称 | 描述 |
---|---|
SERIALIZABLE (6) | 在此隔离级别下,不会出现与并发相关的问题(例如脏读、不可重复读、幻读等)。 |
REPEATABLE READ CLASS with REPEATABLE READ INSTANCES (5) | 当事务T1正在查看表A时,另一个事务T2不能更新表A的模式。当事务T1重复检索特定记录时,它可能会遇到由另一个事务T2插入的记录R的幻读。 |
REPEATABLE READ CLASS with READ COMMITTED INSTANCES (or CURSOR STABILITY) (4) | 当事务T1正在查看表A时,另一个事务T2不能更新表A的模式。当事务T1重复检索记录R时,它可能会遇到由另一个事务T2更新并提交的记录R的R读(不可重复读)。 |
REPEATABLE READ CLASS with READ UNCOMMITTED INSTANCES (3) | 默认隔离级别。当事务T1正在查看表A时,另一个事务T2不能更新表A的模式。事务T1可能会遇到由另一个事务T2更新但未提交的记录的R'读(脏读)。 |
READ COMMITTED CLASS with READ COMMITTED INSTANCES (2) | 当事务T1重复查看表A时,它可能会遇到由另一个事务T2更新并提交的表的A'读(不可重复读)。当事务T1重复检索记录R时,它可能会遇到由另一个事务T2更新并提交的记录R的R'读(不可重复读)。 |
READ COMMITTED CLASS with READ UNCOMMITTED INSTANCES (1) | 当事务T1重复查看表A时,它可能会遇到由另一个事务T2更新并提交的表的A'读(不可重复读)。事务T1可能会遇到由另一个事务T2更新但未提交的记录的R'读(脏读)。 |
一个包含CUBRID数据库参数的关联数组;成功时返回数组,失败时返回false
。
版本 | 描述 |
---|---|
8.4.0 | 将结果中的LOCK_TIMEOUT更改为PARAM_LOCK_TIMEOUT,并将MAX_STRING_LENGTH更改为PARAM_MAX_STRING_LENGTH。 |
示例 #1 cubrid_get_db_parameter() 例子
<?php
printf("%-30s %s\n", "CUBRID PHP 版本:", cubrid_version());
printf("\n");
$conn = cubrid_connect("localhost", 33088, "demodb");
if (!$conn) {
die('连接错误 ('. 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);
printf("%-30s %s\n", "客户端信息:", $client_info);
printf("\n");
$charset = cubrid_get_charset($conn);
printf("%-30s %s\n", "CUBRID 字符集:", $charset);
cubrid_disconnect($conn);
?>
以上示例将输出
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