<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/ref.cubrid.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'ru',
  ),
  'this' => 
  array (
    0 => 'function.cubrid-get-db-parameter.php',
    1 => 'cubrid_get_db_parameter',
    2 => 'Возвращает параметры базы данных CUBRID',
  ),
  'up' => 
  array (
    0 => 'ref.cubrid.php',
    1 => 'Функции CUBRID',
  ),
  'prev' => 
  array (
    0 => 'function.cubrid-get-client-info.php',
    1 => 'cubrid_get_client_info',
  ),
  'next' => 
  array (
    0 => 'function.cubrid-get-query-timeout.php',
    1 => 'cubrid_get_query_timeout',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'ru',
    'path' => 'reference/cubrid/functions/cubrid-get-db-parameter.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.cubrid-get-db-parameter" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">cubrid_get_db_parameter</h1>
  <p class="verinfo">(PECL CUBRID &gt;= 8.3.0)</p><p class="refpurpose"><span class="refname">cubrid_get_db_parameter</span> &mdash; <span class="dc-title">Возвращает параметры базы данных CUBRID</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-function.cubrid-get-db-parameter-description">
  <h3 class="title">Описание</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><strong>cubrid_get_db_parameter</strong></span>(<span class="methodparam"><span class="type"><a href="language.types.resource.php" class="type resource">resource</a></span> <code class="parameter">$conn_identifier</code></span>): <span class="type"><a href="language.types.array.php" class="type array">array</a></span></div>

  <p class="simpara">
   Функция возвращает параметры базы данных CUBRID или <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong>, если возникла ошибка.
   Возвращается ассоциативный массив со значениями следующих параметров:
  </p>
  <ul class="simplelist">
  <li><strong><code>PARAM_ISOLATION_LEVEL</code></strong></li>
  <li><strong><code>PARAM_LOCK_TIMEOUT</code></strong></li>
  <li><strong><code>PARAM_MAX_STRING_LENGTH</code></strong></li>
  <li><strong><code>PARAM_AUTO_COMMIT</code></strong></li>
 </ul>
  <table class="doctable table">
  <caption><strong>Параметры базы данных</strong></caption>
   
    <thead>
     <tr>
      <th>Параметр</th>
      <th>Описание</th>
     </tr>

    </thead>

    <tbody class="tbody">
     <tr>
      <td>PARAM_ISOLATION_LEVEL</td>
      <td>Уровень изоляции транзакции.</td>
     </tr>

     <tr>
      <td>LOCK_TIMEOUT</td>
      <td>
       CUBRID предоставляет функцию времени ожидания блокировки,
       которая устанавливает время ожидания (в секундах) для блокировки до тех пор,
       пока не будет разрешена настройка блокировки транзакции.
       Значение по умолчанию для параметра lock_timeout_in_secs равно -1,
       что означает, что клиент приложения будет ждать бесконечно,
       пока блокировка транзакции не будет разрешена.
      </td>
     </tr>

     <tr>
      <td>PARAM_AUTO_COMMIT</td>
      <td>
       В CUBRID PHP режим автоматической фиксации отключён по умолчанию
       для управления транзакциями. Его можно установить с помощью
       <span class="function"><a href="function.cubrid-set-autocommit.php" class="function">cubrid_set_autocommit()</a></span>.
      </td>
     </tr>

    </tbody>
   
  </table>


  <p class="para">
   В следующей таблице показаны уровни изоляции от 1 до 6.
   Она состоит из схемы (строки) таблицы и уровня изоляции:
  <table class="doctable table">
   <caption><strong>Уровни изоляции, поддерживаемые CUBRID</strong></caption>
    
     <thead>
      <tr>
       <th>Имя</th>
       <th>Описание</th>
      </tr>

     </thead>

     <tbody class="tbody">
      <tr>
       <td>SERIALIZABLE (6)</td>
       <td>
        На этом уровне изоляции проблем, связанных с параллелизмом (например,
        грязное чтение, неповторяющееся чтение, фантомное чтение и т.д.) не возникает.
       </td>
      </tr>

      <tr>
       <td>REPEATABLE READ CLASS с REPEATABLE READ INSTANCES (5)</td>
       <td>
        Другая транзакция T2 не может обновить схему таблицы A, пока транзакция T1 просматривает таблицу A.
        Транзакция T1 может испытывать фантомное чтение для записи R,
        которая была вставлена другой транзакцией T2,
        когда она повторно получает определённую запись.
       </td>
      </tr>

      <tr>
       <td>REPEATABLE READ CLASS с READ COMMITTED INSTANCES (или CURSOR STABILITY) (4)</td>
       <td>
        Другая транзакция T2 не может обновить схему таблицы A, пока транзакция T1 просматривает таблицу A.
        Транзакция T1 может испытывать чтение R (неповторяющееся чтение),
        которое было обновлено и зафиксировано другой транзакцией T2,
        когда она повторно получает запись R.
       </td>
      </tr>

      <tr>
       <td>REPEATABLE READ CLASS с READ UNCOMMITTED INSTANCES (3)</td>
       <td>
        Уровень изоляции по умолчанию. Другая транзакция T2 не может обновить схему таблицы A,
        пока транзакция T1 просматривает таблицу A.
        В транзакции T1 может произойти чтение R (грязное чтение) для записи,
        которая была обновлена, но не зафиксирована другой транзакцией T2.
       </td>
      </tr>

      <tr>
       <td>READ COMMITTED CLASS с READ COMMITTED INSTANCES (2)</td>
       <td>
        Транзакция T1 может испытывать чтение A&#039; (неповторяющееся чтение) для таблицы,
        которая была обновлена и зафиксирована другой транзакцией T2, пока она просматривает таблицу A несколько раз.
        Транзакция T1 может испытывать чтение R&#039; (неповторяющееся чтение) для записи,
        которая была обновлена и зафиксирована другой транзакцией T2, пока она повторно извлекает запись R.
       </td>
      </tr>

      <tr>
       <td>READ COMMITTED CLASS с READ UNCOMMITTED INSTANCES (1)</td>
       <td>
        Транзакция T1 может испытывать чтение A&#039; (неповторяющееся чтение) для таблицы,
        которая была обновлена и зафиксирована другой транзакцией T2,
        в то время как она многократно просматривает таблицу A.
        Транзакция T1 может испытывать чтение R&#039; (грязное чтение) для записи,
        которая была обновлена, но не зафиксирована другой транзакцией T2.
        </td>
      </tr>

     </tbody>
    
   </table>

  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-function.cubrid-get-db-parameter-parameters">
 <h3 class="title">Список параметров</h3>
 <dl>
  
   <dt><code class="parameter">conn_identifier</code></dt>
   <dd><span class="simpara">
    Соединение CUBRID. Если идентификатор соединения не указан,
    предполагается последняя ссылка, открытая <span class="function"><a href="function.cubrid-connect.php" class="function">cubrid_connect()</a></span>.
   </span></dd>
  
 </dl>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.cubrid-get-db-parameter-returnvalues">
  <h3 class="title">Возвращаемые значения</h3>
  <p class="simpara">
   Ассоциативный массив с параметрами базы данных CUBRID в случае успешного выполнения или <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong>, если возникла ошибка.
  </p>
 </div>


 <div class="refsect1 changelog" id="refsect1-function.cubrid-get-db-parameter-changelog">
  <h3 class="title">Список изменений</h3>
  <table class="doctable informaltable">
   
    <thead>
     <tr>
      <th>Версия</th>
      <th>Описание</th>
     </tr>

    </thead>

    <tbody class="tbody">
     <tr>
      <td>8.4.0</td>
      <td>
       В результате изменился LOCK_TIMEOUT на PARAM_LOCK_TIMEOUT
       и MAX_STRING_LENGTH на PARAM_MAX_STRING_LENGTH.
      </td>
     </tr>

    </tbody>
   
  </table>

 </div>


 <div class="refsect1 examples" id="refsect1-function.cubrid-get-db-parameter-examples">
  <h3 class="title">Примеры</h3>
  <div class="example" id="example-1">
   <p><strong>Пример #1 Пример использования <span class="function"><strong>cubrid_get_db_parameter()</strong></span></strong></p>
   <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%-30s %s\n"</span><span style="color: #007700">, </span><span style="color: #DD0000">"Версия CUBRID PHP:"</span><span style="color: #007700">, </span><span style="color: #0000BB">cubrid_version</span><span style="color: #007700">());<br /><br /></span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"\n"</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$conn </span><span style="color: #007700">= </span><span style="color: #0000BB">cubrid_connect</span><span style="color: #007700">(</span><span style="color: #DD0000">"localhost"</span><span style="color: #007700">, </span><span style="color: #0000BB">33088</span><span style="color: #007700">, </span><span style="color: #DD0000">"demodb"</span><span style="color: #007700">);<br /><br />if (!</span><span style="color: #0000BB">$conn</span><span style="color: #007700">) {<br />    die(</span><span style="color: #DD0000">'Connect Error ('</span><span style="color: #007700">. </span><span style="color: #0000BB">cubrid_error_code</span><span style="color: #007700">() .</span><span style="color: #DD0000">')' </span><span style="color: #007700">. </span><span style="color: #0000BB">cubrid_error_msg</span><span style="color: #007700">());<br />}<br /><br /></span><span style="color: #0000BB">$db_params </span><span style="color: #007700">= </span><span style="color: #0000BB">cubrid_get_db_parameter</span><span style="color: #007700">(</span><span style="color: #0000BB">$conn</span><span style="color: #007700">);<br /><br />while (list(</span><span style="color: #0000BB">$param_name</span><span style="color: #007700">, </span><span style="color: #0000BB">$param_value</span><span style="color: #007700">) = </span><span style="color: #0000BB">each</span><span style="color: #007700">(</span><span style="color: #0000BB">$db_params</span><span style="color: #007700">)) {<br />    </span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%-30s %s\n"</span><span style="color: #007700">, </span><span style="color: #0000BB">$param_name</span><span style="color: #007700">, </span><span style="color: #0000BB">$param_value</span><span style="color: #007700">);<br />}<br /><br /></span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"\n"</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$server_info </span><span style="color: #007700">= </span><span style="color: #0000BB">cubrid_get_server_info</span><span style="color: #007700">(</span><span style="color: #0000BB">$conn</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$client_info </span><span style="color: #007700">= </span><span style="color: #0000BB">cubrid_get_client_info</span><span style="color: #007700">();<br /><br /></span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%-30s %s\n"</span><span style="color: #007700">, </span><span style="color: #DD0000">"Информация о сервере:"</span><span style="color: #007700">, </span><span style="color: #0000BB">$server_info</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%-30s %s\n"</span><span style="color: #007700">, </span><span style="color: #DD0000">"Информация о клиенте:"</span><span style="color: #007700">, </span><span style="color: #0000BB">$client_info</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"\n"</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$charset </span><span style="color: #007700">= </span><span style="color: #0000BB">cubrid_get_charset</span><span style="color: #007700">(</span><span style="color: #0000BB">$conn</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%-30s %s\n"</span><span style="color: #007700">, </span><span style="color: #DD0000">"Кодировка CUBRID:"</span><span style="color: #007700">, </span><span style="color: #0000BB">$charset</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">cubrid_disconnect</span><span style="color: #007700">(</span><span style="color: #0000BB">$conn</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
   </div>

    
<div class="example-contents"><p>
 Результат выполнения приведённого примера:
</p></div>

    <div class="example-contents screen">
<div class="examplescode"><pre class="examplescode">Версия CUBRID PHP:            9.1.0.0001

PARAM_ISOLATION_LEVEL          3
LOCK_TIMEOUT                   -1
MAX_STRING_LENGTH              1073741823
PARAM_AUTO_COMMIT              1

Информация о сервере:             9.1.0.0212
Информация о клиенте:             9.1.0

Кодировка CUBRID:                iso8859-1</pre>
</div>
    </div>
  </div>
 </div>


 <div class="refsect1 seealso" id="refsect1-function.cubrid-get-db-parameter-seealso">
  <h3 class="title">Смотрите также</h3>
  <ul class="simplelist">
   <li><span class="function"><a href="function.cubrid-set-db-parameter.php" class="function" rel="rdfs-seeAlso">cubrid_set_db_parameter()</a> - Устанавливает параметры базы данных CUBRID</span></li>
   <li><span class="function"><a href="function.cubrid-get-autocommit.php" class="function" rel="rdfs-seeAlso">cubrid_get_autocommit()</a> - Возвращает настройку авто-коммита для соединения</span></li>
  </ul>
 </div>

</div><?php manual_footer($setup); ?>