cubrid_get_db_parameter

(PECL CUBRID >= 8.3.0)

cubrid_get_db_parameter返回 CUBRID 数据库参数

描述

cubrid_get_db_parameter(resource $conn_identifier): array

此函数返回 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。它包含表架构(行)和隔离级别

CUBRID 支持的隔离级别
名称 描述
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' 读(脏读)。

参数

conn_identifier

CUBRID 连接。如果未指定连接标识符,则假定为由 cubrid_connect() 打开的最后一个链接。

返回值

包含 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

参见

添加注释

用户贡献的注释

此页面没有用户贡献的注释。
To Top