cubrid_get_db_parameter

(PECL CUBRID >= 8.3.0)

cubrid_get_db_parameterRetorna os parâmetros do banco de dados CUBRID

Descrição

cubrid_get_db_parameter(resource $conn_identifier): array

Esta função retorna os parâmetros do banco de dados CUBRID, ou false em caso de falha. Retorna um array associativo com os valores para os seguintes parâmetros:

  • PARAM_ISOLATION_LEVEL
  • PARAM_LOCK_TIMEOUT
  • PARAM_MAX_STRING_LENGTH
  • PARAM_AUTO_COMMIT

Parâmetros do banco de dados
Parâmetro Descrição
PARAM_ISOLATION_LEVEL O nível de isolamento da transação.
LOCK_TIMEOUT O CUBRID fornece o recurso de tempo limite de trava, que define o tempo de espera (em segundos) para a trava até que a configuração de trava da transação seja permitida. O valor padrão para o parâmetro lock_timeout_in_secs é -1, que significa que a aplicação cliente irá esperar indefinidamente até que a trava da transação seja permitida.
PARAM_AUTO_COMMIT No CUBRID PHP, o modo de auto-confirmação é desabilitado por padrão para gerenciamento de transação. Pode ser definido pela função cubrid_set_autocommit().

A tabela a seguir mostra os níveis de isolamento de 1 a 6. Consiste no esquema da tabela (linha) e no nível de isolamento:

Níveis de Isolamento Suportados pelo CUBRID
Nome Descrição
SERIALIZÁVEL (6) Neste nível de isolamento, problemas relacionados a concorrência (ex.: leituras "sujas", leituras não repetíveis, leituras fantasmas, etc.) não ocorrem.
CLASSE DE LEITURA REPETÍVEL com INSTÂNCIAS DE LEITURA REPETÍVEIS (5) Uma transação T2 não pode atualizar o esquema da tabela A enquanto a transação T1 está visualizando a tabela A. A transação T1 poderá experimentar leitura fantasma para o registro R que foi inserido por outra transação T2 enquanto estiver repetidamente recuperando um registro específico.
CLASSE DE LEITURA REPETÍVEL com INSTÂNCIAS DE LEITURA CONFIRMADAS (ou ESTABILIDADE DE CURSOR) (4) Uma transação T2 não pode atualizar o esquema da tabela A enquanto a transação T1 está visualizando a tabela A. A transação T1 poderá experimentar leitura de R (leitura não repetível) que foi atualizado e confirmado por outras transação T1 enquanto estiver repetidamente recuperando o registro R.
CLASSE DE LEITURA REPETÍVEL com INSTÂNCIAS DE LEITURA NÃO CONFIRMADAS (3) Nível padrão de isolamento. Uma transação T2 não pode atualizar o esquema da tabela A enquanto a transação T1 estiver visualizando a tabela A. A transação poderá experimentar leitura de R' (leitura "suja") para o registro que foi atualizado mas não confirmado pela transação T2.
CLASSE DE LEITURA CONFIRMADA com INSTÂNCIAS DE LEITURA CONFIRMADA (2) A transação T1 poderá experimentar leitura de A' (leitura não repetível) para a tabela que foi atualizada e confirmada pela transação T2 enquanto estiver visualizando a tabela A repetidamente. A transação T1 poderá experimentar leitura de R' (leitura não repetível) para o registro que foi atualizado e confirmado pela transação T2 enquanto estiver recuperando o registro R repetidamente.
CLASSE DE LEITURA CONFIRMADA com INSTÂNCIAS DE LEITURA NÃO CONFIRMADA (1) A transação T1 poderá experimentar leitura de A' (leitura não repetível) para a tabela que foi atualizada e confirmada pela transação T2 enquanto estiver repetidamente visualizando a tabela A. A transação T1 poderá experimentar leitura de R' (leitura "suja") para o registro que foi atualizado mas não confirmado pela transação T2.

Parâmetros

conn_identifier

A conexão CUBRID. Se o identificador da conexão não for especificado, a última conexão aberta por cubrid_connect() será usada.

Valor Retornado

Um array associativo com parâmetros do banco de dados CUBRID em caso de sucesso, ou false em caso de falha.

Registro de Alterações

Versão Descrição
8.4.0 Alterados LOCK_TIMEOUT para PARAM_LOCK_TIMEOUT, e MAX_STRING_LENGTH para PARAM_MAX_STRING_LENGTH no resultado.

Exemplos

Example #1 Exemplo de cubrid_get_db_parameter()

<?php
printf("%-33s %s\n", "Versão do 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("%-33s %s\n", $param_name, $param_value);
}

printf("\n");

$server_info = cubrid_get_server_info($conn);
$client_info = cubrid_get_client_info();

printf("%-33s %s\n", "Informação do servidor:", $server_info);
printf("%-33s %s\n", "Informação do cliente:", $client_info);

printf("\n");

$charset = cubrid_get_charset($conn);

printf("%-33s %s\n", "Conjunto de caracteres do CUBRID:", $charset);

cubrid_disconnect($conn);

?>

O exemplo acima produzirá:

Versão do CUBRID PHP:             9.1.0.0001

PARAM_ISOLATION_LEVEL             3
LOCK_TIMEOUT                      -1
MAX_STRING_LENGTH                 1073741823
PARAM_AUTO_COMMIT                 1

Informação do servidor:           9.1.0.0212
Informação do cliente:            9.1.0

Conjunto de caracteres do CUBRID: iso8859-1

Veja Também