Skip to content

Commit f8282f9

Browse files
committed
PHP 8.4: pgsql: Add pg_set_chunked_rows_size, PGSQL_TUPLES_CHUNK
php/doc-en@3c6c95f
1 parent 4f1bc96 commit f8282f9

File tree

1 file changed

+123
-0
lines changed

1 file changed

+123
-0
lines changed
Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<!-- $Revision$ -->
3+
<!-- EN-Revision: 3c6c95fcfd7d9eaa603df40327693ea8dff89d53 Maintainer: mumumu Status: ready -->
4+
<refentry xml:id="function.pg-set-chunked-rows-size" xmlns="http://docbook.org/ns/docbook">
5+
<refnamediv>
6+
<refname>pg_set_chunked_rows_size</refname>
7+
<refpurpose>チャンクモードで取得するクエリ結果の行数を設定する</refpurpose>
8+
</refnamediv>
9+
10+
<refsect1 role="description">
11+
&reftitle.description;
12+
<methodsynopsis>
13+
<type>bool</type><methodname>pg_set_chunked_rows_size</methodname>
14+
<methodparam><type>PgSql\Connection</type><parameter>connection</parameter></methodparam>
15+
<methodparam><type>int</type><parameter>size</parameter></methodparam>
16+
</methodsynopsis>
17+
<simpara>
18+
チャンクモードで取得するクエリ結果を設定します。
19+
後に返されるクエリ結果は、最大<parameter>size</parameter>
20+
行が含まれる複数のチャンクに分割されます。
21+
この関数は、<function>pg_get_result</function>
22+
を使って結果を取得する前にコールしなければいけません。
23+
この関数は、libpq のバージョンが 17 以降の場合に利用可能です。
24+
</simpara>
25+
</refsect1>
26+
27+
<refsect1 role="parameters">
28+
&reftitle.parameters;
29+
<variablelist>
30+
<varlistentry>
31+
<term><parameter>connection</parameter></term>
32+
<listitem>
33+
&pgsql.parameter.connection;
34+
</listitem>
35+
</varlistentry>
36+
<varlistentry>
37+
<term><parameter>size</parameter></term>
38+
<listitem>
39+
<simpara>
40+
チャンクごとに取得する行数
41+
</simpara>
42+
</listitem>
43+
</varlistentry>
44+
</variablelist>
45+
</refsect1>
46+
47+
<refsect1 role="returnvalues">
48+
&reftitle.returnvalues;
49+
<simpara>
50+
&return.success;
51+
</simpara>
52+
</refsect1>
53+
54+
<refsect1 role="errors">
55+
&reftitle.errors;
56+
<simpara>
57+
<parameter>size</parameter> が <literal>1</literal> より小さい場合、
58+
<classname>ValueError</classname> がスローされます。
59+
</simpara>
60+
</refsect1>
61+
62+
<refsect1 role="examples">
63+
&reftitle.examples;
64+
<example>
65+
<title><function>pg_result_memory_size</function> の例</title>
66+
<programlisting role="php">
67+
<![CDATA[
68+
<?php
69+
70+
$conn = pg_connect($conn_str);
71+
72+
for ($i = 0; $i < 10; $i ++) {
73+
pg_query($conn, "INSERT INTO users DEFAULT VALUES");
74+
}
75+
76+
pg_send_query($conn, "SELECT * FROM users");
77+
pg_set_chunked_rows_size($conn, 1);
78+
79+
$result = pg_get_result($conn);
80+
var_dump(pg_num_rows($result));
81+
82+
// 結果を取得した以降に呼び出しても無意味
83+
var_dump(pg_set_chunked_rows_size($conn, 10));
84+
]]>
85+
</programlisting>
86+
&example.outputs;
87+
<screen>
88+
<![CDATA[
89+
int(1)
90+
bool(false)
91+
]]>
92+
</screen>
93+
</example>
94+
</refsect1>
95+
96+
<refsect1 role="seealso">
97+
&reftitle.seealso;
98+
<simplelist>
99+
<member><function>pg_get_result</function></member>
100+
<member><function>pg_result_status</function></member>
101+
</simplelist>
102+
</refsect1>
103+
</refentry>
104+
<!-- Keep this comment at the end of the file
105+
Local variables:
106+
mode: sgml
107+
sgml-omittag:t
108+
sgml-shorttag:t
109+
sgml-minimize-attributes:nil
110+
sgml-always-quote-attributes:t
111+
sgml-indent-step:1
112+
sgml-indent-data:t
113+
indent-tabs-mode:nil
114+
sgml-parent-document:nil
115+
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
116+
sgml-exposed-tags:nil
117+
sgml-local-catalogs:nil
118+
sgml-local-ecat-files:nil
119+
End:
120+
vim600: syn=xml fen fdm=syntax fdl=2 si
121+
vim: et tw=78 syn=sgml
122+
vi: ts=1 sw=1
123+
-->

0 commit comments

Comments
 (0)