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) | 다른 트랜잭션 T2는 트랜잭션 T1이 테이블 A를 보고 있는 동안 테이블 A의 스키마를 업데이트할 수 없습니다. 트랜잭션 T1은 특정 레코드를 반복적으로 검색할 때 다른 트랜잭션 T2에 의해 삽입된 레코드 R에 대해 팬텀 읽기를 경험할 수 있습니다. |
REPEATABLE READ CLASS with READ COMMITTED INSTANCES (or CURSOR STABILITY) (4) | 다른 트랜잭션 T2는 트랜잭션 T1이 테이블 A를 보는 동안 테이블 A의 스키마를 업데이트할 수 없습니다. 트랜잭션 T1은 레코드 R을 반복적으로 검색할 때 다른 트랜잭션 T2에 의해 업데이트되고 커밋된 R 읽기(반복 불가 읽기)를 경험할 수 있습니다. |
REPEATABLE READ CLASS with READ UNCOMMITTED INSTANCES (3) | 기본 격리 수준입니다. 다른 트랜잭션 T2는 트랜잭션 T1이 테이블 A를 보고 있는 동안 테이블 A의 스키마를 업데이트할 수 없습니다. 트랜잭션 T1은 업데이트되었지만 다른 트랜잭션 T2에 의해 커밋되지 않은 레코드에 대해 R' 읽기(더티 읽기)를 경험할 수 있습니다. |
READ COMMITTED CLASS with READ COMMITTED INSTANCES (2) | 트랜잭션 T1은 테이블 A를 반복적으로 보고 있는 동안 다른 트랜잭션 T2에 의해 업데이트되고 커밋된 테이블에 대해 A' 읽기(반복 불가 읽기)를 경험할 수 있습니다. 트랜잭션 T1은 레코드 R을 반복적으로 검색하는 동안 다른 트랜잭션 T2에 의해 업데이트되고 커밋된 레코드에 대해 R' 읽기(반복 불가 읽기)를 경험할 수 있습니다. |
READ COMMITTED CLASS with READ UNCOMMITTED INSTANCES (1) | 트랜잭션 T1은 테이블 A를 반복적으로 보는 동안 다른 트랜잭션 T2에 의해 업데이트되고 커밋된 테이블에 대해 A' 읽기(반복 불가 읽기)를 경험할 수 있습니다. 트랜잭션 T1은 업데이트된 레코드에 대해 R' 읽기(더티 읽기)를 경험할 수 있습니다. 그러나 다른 트랜잭션 T2에 의해 커밋되지 않았습니다. |
매개변수
conn_identifier
- CUBRID 연결. 연결 식별자를 지정하지 않으면 cubrid_connect()가 마지막으로 연 링크를 가정한다.
반환 값
CUBRID 데이터베이스 매개변수가 있는 연관 배열. 성공하면 거짓, 실패하면 false
.
버전 | 설명 |
---|---|
8.4.0 | 결과적으로 LOCK_TIMEOUT을 PARAM_LOCK_TIMEOUT으로 변경하고 MAX_STRING_LENGTH를 PARAM_MAX_STRING_LENGTH로 변경합니다. |
Examples
예제 #1 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);
?>
위의 예는 다음을 출력합니다.
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
기타
- cubrid_set_db_parameter() - CUBRID 데이터베이스 파라미터 설정
- cubrid_get_autocommit() - 연결의 자동 커밋 모드 가져오기