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
                

기타