Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 45 additions & 1 deletion reference/pdo_pgsql/pdo-pgsql.xml
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,12 @@
<type>int</type>
<varname linkend="pdo-pgsql.constants.attr-result-memory-size">Pdo\Pgsql::ATTR_RESULT_MEMORY_SIZE</varname>
</fieldsynopsis>
<fieldsynopsis>
<modifier>public</modifier>
<modifier>const</modifier>
<type>int</type>
<varname linkend="pdo-pgsql.constants.attr-chunk-size">Pdo\Pgsql::ATTR_CHUNK_SIZE</varname>
</fieldsynopsis>
<fieldsynopsis>
<modifier>public</modifier>
<modifier>const</modifier>
Expand Down Expand Up @@ -170,9 +176,13 @@
</simpara>
<simpara>
この属性は、<methodname>PDO::setAttribute</methodname> を使って接続ごとに設定するか、
<methodname>PDO::prepare</methodname> や <methodname>PDO::query</methodname>
<methodname>PDO::prepare</methodname>
のドライバオプションを使ってステートメントごとに設定できます。
</simpara>
<simpara>
遅延フェッチでは、<methodname>PDOStatement::rowCount</methodname>
は結果セット全体の行数ではなく、サーバーから直近に受け取った行数を返します。
</simpara>
<caution>
<simpara>
遅延モードでは、1つの接続で同時にアクティブにできるステートメントは1つだけです。
Expand All @@ -182,6 +192,40 @@
</caution>
</listitem>
</varlistentry>
<varlistentry xml:id="pdo-pgsql.constants.attr-chunk-size">
<term><constant>Pdo\Pgsql::ATTR_CHUNK_SIZE</constant></term>
<listitem>
<simpara>
遅延フェッチで、サーバーから一度に受け取る行数の上限です。
この値で、速度とメモリ使用量のバランスを調整できます。
</simpara>
<simpara>
<literal>1</literal> から <literal>2147483647</literal> までの値は
<constant>PDO::ATTR_PREFETCH</constant> より優先され、遅延フェッチを有効にします。
デフォルト値の <literal>0</literal> では、<constant>PDO::ATTR_PREFETCH</constant>
の設定に従います。
それ以外の整数を指定すると、<exceptionname>ValueError</exceptionname> がスローされます。
</simpara>
<simpara>
<constant>PDO::ATTR_PREFETCH</constant> と同様に、接続ごとかステートメントごとに設定できます。
接続かステートメントに <constant>PDO::ATTR_PREFETCH</constant> を設定すると、
接続のチャンクサイズは効かなくなります。
</simpara>
<simpara>
<constant>PDO::ATTR_CURSOR</constant> を <constant>PDO::CURSOR_SCROLL</constant>
に設定したステートメントでは、接続のチャンクサイズは無視されます。
こうしたステートメントに <literal>1</literal> 以上のチャンクサイズを指定すると、
<exceptionname>ValueError</exceptionname> がスローされます。
</simpara>
<simpara>
遅延フェッチの注意点は、<link linkend="pdo-pgsql.constants.attr-prefetch">PDO::ATTR_PREFETCH</link>
を参照してください。
</simpara>
<simpara>
PHP 8.6.0 以降で、libpq 17 以降を使ってビルドした場合に利用できます。
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="pdo-pgsql.constants.transaction-idle">
<term><constant>Pdo\Pgsql::TRANSACTION_IDLE</constant></term>
<listitem>
Expand Down