2024年PHP开发者大会日本站

cubrid_get_db_parameter

(PECL CUBRID >= 8.3.0)

cubrid_get_db_parameter返回CUBRID数据库参数

描述

cubrid_get_db_parameter(资源 $conn_identifier): 数组

此函数返回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可能会遇到由另一个事务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'读(脏读)。

参数

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(
'连接错误 ('. 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