(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 正在检索记录 R 时,它可能会遇到针对由另一个事务 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 正在检索记录 R 时,它可能会遇到针对由另一个事务 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('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);
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