diff --git a/reference/sockets/constants.xml b/reference/sockets/constants.xml
index e5f57a2c67..d8174d6203 100644
--- a/reference/sockets/constants.xml
+++ b/reference/sockets/constants.xml
@@ -1,6 +1,6 @@
-
+
&reftitle.constants;
&extension.constants;
@@ -3188,6 +3188,191 @@
+
+
+ SHUT_RD
+ (int)
+
+
+
+ ソケットでのこれ以降の受信操作を無効にします。
+ socket_shutdown で使用します。
+ PHP 8.5.0 以降で利用可能。
+
+
+
+
+
+ SHUT_WR
+ (int)
+
+
+
+ ソケットでのこれ以降の送信操作を無効にします。
+ socket_shutdown で使用します。
+ PHP 8.5.0 以降で利用可能。
+
+
+
+
+
+ SHUT_RDWR
+ (int)
+
+
+
+ ソケットでのこれ以降の送信操作と受信操作を無効にします。
+ socket_shutdown で使用します。
+ PHP 8.5.0 以降で利用可能。
+
+
+
+
+
+ UDP_SEGMENT
+ (int)
+
+
+
+ UDP の Generic Segmentation Offload (GSO) セグメントの最大サイズを設定します。
+ これにより、ひとつのシステムコールで複数のデータグラムを送信できるようになります。
+ PHP 8.5.0 以降で利用可能(Linux のみ)。
+
+
+
+
+
+ SO_BUSY_POLL
+ (int)
+
+
+
+ ブロッキングモードでの受信時にデータがないときに
+ ビジーポーリングを行う、おおよその時間をマイクロ秒単位で設定します。
+ これにより、CPU 使用率と引き換えにレイテンシが下がります。
+ PHP 8.5.0 以降で利用可能(Linux のみ)。
+
+
+
+
+
+ IP_BINDANY
+ (int)
+
+
+
+ ローカルのアドレスでなくても、任意のアドレスにソケットをバインドできるようにします。
+ PHP 8.5.0 以降で利用可能(FreeBSD/NetBSD/OpenBSD のみ)。
+
+
+
+
+
+ TCP_FUNCTION_BLK
+ (int)
+
+
+
+ ソケットが使用する TCP スタック(関数ブロック)を選択します。
+ socket_set_option では、値はスタック名を表す文字列です。
+ socket_get_option は、
+ function_set_name と pcbcnt
+ をキーに持つ配列を返します。
+ PHP 8.5.0 以降で利用可能(FreeBSD のみ)。
+
+
+
+
+
+ TCP_FUNCTION_ALIAS
+ (int)
+
+
+
+ ソケットが使用する TCP スタックのエイリアスを、
+ function_set_name と pcbcnt
+ をキーに持つ配列として取得します。
+ PHP 8.5.0 以降で利用可能(FreeBSD のみ)。
+
+
+
+
+
+ TCP_REUSPORT_LB_NUMA
+ (int)
+
+
+
+ 負荷分散を行うポート再利用における NUMA ドメインアフィニティを制御します。
+ PHP 8.5.0 以降で利用可能(FreeBSD のみ)。
+
+
+
+
+
+ TCP_REUSPORT_LB_NUMA_NODOM
+ (int)
+
+
+
+ NUMA ドメインアフィニティを使用しないことを示す、
+ TCP_REUSPORT_LB_NUMA の定数値です。
+ PHP 8.5.0 以降で利用可能(FreeBSD のみ)。
+
+
+
+
+
+ TCP_REUSPORT_LB_NUMA_CURDOM
+ (int)
+
+
+
+ 現在の NUMA ドメインへのアフィニティを示す、
+ TCP_REUSPORT_LB_NUMA の定数値です。
+ PHP 8.5.0 以降で利用可能(FreeBSD のみ)。
+
+
+
+
+
+ TCP_BBR_ALGORITHM
+ (int)
+
+
+
+ BBR (Bottleneck Bandwidth and Round-trip propagation time)
+ 輻輳制御アルゴリズムに関連するソケットオプションです。
+ PHP 8.5.0 以降で利用可能(FreeBSD のみ)。
+
+
+
+
+
+ IPPROTO_ICMP
+ (int)
+
+
+
+ Internet Control Message Protocol (ICMP) のプロトコル番号です。
+ raw ソケットを作成する際に使用します。
+ PHP 8.5.0 以降で利用可能。
+
+
+
+
+
+ IPPROTO_ICMPV6
+ (int)
+
+
+
+ Internet Control Message Protocol version 6 (ICMPv6) のプロトコル番号です。
+ IPv6 の raw ソケットを作成する際に使用します。
+ PHP 8.5.0 以降で利用可能。
+
+
+
diff --git a/reference/sqlite3/sqlite3.xml b/reference/sqlite3/sqlite3.xml
index 36b3dcb1cd..b72340178e 100644
--- a/reference/sqlite3/sqlite3.xml
+++ b/reference/sqlite3/sqlite3.xml
@@ -1,6 +1,6 @@
-
+
SQLite3 クラス
SQLite3
@@ -264,21 +264,32 @@
SQLite3::OK
-
+
+ authorizer コールバックがこの値を返すと、そのアクションが許可されます。
+
SQLite3::DENY
-
+
+ authorizer コールバックがこの値を返すと、
+ エラーが発生し、SQL文全体が拒否されます。
+
SQLite3::IGNORE
-
+
+ authorizer コールバックがこの値を返すと、
+ SQL文のコンパイルは許可しつつ、
+ 個別のアクションだけを不許可にします。
+ アクションごとの効果については
+ SQLite3::setAuthorizer を参照ください。
+
diff --git a/reference/sqlite3/sqlite3/enableextendedresultcodes.xml b/reference/sqlite3/sqlite3/enableextendedresultcodes.xml
new file mode 100644
index 0000000000..5c7abeddfd
--- /dev/null
+++ b/reference/sqlite3/sqlite3/enableextendedresultcodes.xml
@@ -0,0 +1,116 @@
+
+
+
+
+
+
+ SQLite3::enableExtendedResultCodes
+
+ 拡張結果コードの使用を有効または無効にする
+
+
+
+
+ &reftitle.description;
+
+ public boolSQLite3::enableExtendedResultCodes
+ boolenable&true;
+
+
+ 拡張結果コードの使用を有効または無効にします。
+ 有効にすると、SQLite3::lastErrorCode
+ が拡張結果コードを返すようになります。
+ SQLite3::lastExtendedErrorCode
+ はこの設定の影響を受けず、常に拡張結果コードを返します。
+
+
+
+
+ &reftitle.parameters;
+
+
+ enable
+
+
+ 拡張結果コードの使用を有効にする (&true;) か、無効にする (&false;) か。
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ &return.success;
+
+
+
+
+ &reftitle.examples;
+
+ SQLite3::enableExtendedResultCodes の例
+
+enableExceptions(true);
+$db->exec('CREATE TABLE t (a INTEGER UNIQUE)');
+$db->exec('INSERT INTO t VALUES (1)');
+
+try {
+ $db->exec('INSERT INTO t VALUES (1)');
+} catch (Exception $e) {
+}
+
+// 主要な結果コード (SQLITE_CONSTRAINT)、続いて拡張結果コード
+// (SQLITE_CONSTRAINT_UNIQUE)。
+var_dump($db->lastErrorCode(), $db->lastExtendedErrorCode());
+
+// 有効にすると、SQLite3::lastErrorCode() も
+// 拡張結果コードを返すようになります。
+$db->enableExtendedResultCodes();
+var_dump($db->lastErrorCode());
+?>
+]]>
+
+ &example.outputs;
+
+
+
+
+
+
+
+ &reftitle.seealso;
+
+ SQLite3::lastExtendedErrorCode
+ SQLite3::lastErrorCode
+
+
+
+
+
diff --git a/reference/sqlite3/sqlite3/lasterrorcode.xml b/reference/sqlite3/sqlite3/lasterrorcode.xml
index b1761b085d..0aeb6f9ec8 100644
--- a/reference/sqlite3/sqlite3/lasterrorcode.xml
+++ b/reference/sqlite3/sqlite3/lasterrorcode.xml
@@ -1,6 +1,6 @@
-
+
@@ -33,6 +33,15 @@
+
+ &reftitle.seealso;
+
+ SQLite3::lastExtendedErrorCode
+ SQLite3::enableExtendedResultCodes
+ SQLite3::lastErrorMsg
+
+
+
+
+
+
+
+ SQLite3::lastExtendedErrorCode
+
+ 直近で失敗した SQLite リクエストの拡張結果コードを数値で返す
+
+
+
+
+ &reftitle.description;
+
+ public intSQLite3::lastExtendedErrorCode
+
+
+
+ 直近で失敗した SQLite リクエストの拡張結果コードを数値で返します。
+ SQLite3::lastErrorCode とは異なり、このメソッドは
+ SQLite3::enableExtendedResultCodes
+ で拡張結果コードを有効にしているかどうかにかかわらず、常に拡張結果コードを返します。
+
+
+
+
+ &reftitle.parameters;
+ &no.function.parameters;
+
+
+
+ &reftitle.returnvalues;
+
+ 直近で失敗した SQLite リクエストの拡張結果コードを表す整数値を返します。
+
+
+
+
+ &reftitle.seealso;
+
+ SQLite3::enableExtendedResultCodes
+ SQLite3::lastErrorCode
+ SQLite3::lastErrorMsg
+
+
+
+
+
diff --git a/reference/sqlite3/sqlite3stmt.xml b/reference/sqlite3/sqlite3stmt.xml
index fddea1e127..7931bbbf55 100644
--- a/reference/sqlite3/sqlite3stmt.xml
+++ b/reference/sqlite3/sqlite3stmt.xml
@@ -1,6 +1,6 @@
-
+
SQLite3Stmt クラス
SQLite3Stmt
@@ -10,9 +10,12 @@
&reftitle.intro;
-
+
SQLite 3 拡張モジュールのプリペアドステートメントを扱うクラスです。
-
+ インスタンスは SQLite3::prepare で取得します。
+ SQLite3Stmt::execute を呼び出すとクエリを実行し、
+ 結果セットを扱う SQLite3Result を返します。
+
@@ -25,6 +28,29 @@
SQLite3Stmt
+ &Constants;
+
+ public
+ const
+ int
+ SQLite3Stmt::EXPLAIN_MODE_PREPARED
+ 0
+
+
+ public
+ const
+ int
+ SQLite3Stmt::EXPLAIN_MODE_EXPLAIN
+ 1
+
+
+ public
+ const
+ int
+ SQLite3Stmt::EXPLAIN_MODE_EXPLAIN_QUERY_PLAN
+ 2
+
+
&Methods;
@@ -33,6 +59,50 @@
+
+
+ &reftitle.constants;
+
+
+
+ SQLite3Stmt::EXPLAIN_MODE_PREPARED
+
+
+ ステートメントは、通常のプリペアドステートメントモードで動作します (EXPLAIN は付きません)。
+ PHP 8.5.0 以降で、libsqlite 3.43.0 以降を使ってビルドした場合に
+ 利用できます。
+
+
+
+
+
+ SQLite3Stmt::EXPLAIN_MODE_EXPLAIN
+
+
+ ステートメントは、先頭に EXPLAIN を付けた場合と同じように動作し、
+ 仮想マシンのオペコード情報を返します。
+ PHP 8.5.0 以降で、libsqlite 3.43.0 以降を使ってビルドした場合に
+ 利用できます。
+
+
+
+
+
+ SQLite3Stmt::EXPLAIN_MODE_EXPLAIN_QUERY_PLAN
+
+
+ ステートメントは、先頭に EXPLAIN QUERY PLAN を付けた場合と同じように動作し、
+ 高レベルなクエリプラン情報を返します。
+ PHP 8.5.0 以降で、libsqlite 3.43.0 以降を使ってビルドした場合に
+ 利用できます。
+
+
+
+
+
+
+
+
&reference.sqlite3.entities.sqlite3stmt;
diff --git a/reference/sqlite3/sqlite3stmt/busy.xml b/reference/sqlite3/sqlite3stmt/busy.xml
new file mode 100644
index 0000000000..da9e8b1730
--- /dev/null
+++ b/reference/sqlite3/sqlite3stmt/busy.xml
@@ -0,0 +1,89 @@
+
+
+
+
+
+
+ SQLite3Stmt::busy
+ ステートメントがフェッチされていて、まだ完了していないかどうかを返す
+
+
+
+ &reftitle.description;
+
+ public boolSQLite3Stmt::busy
+
+
+
+ ステートメントがビジー状態かどうかを返します。
+ ビジー状態とは、SQLite3Stmt::execute で実行を開始し、
+ フェッチすべき行が残っているものの、
+ まだ完了もリセットもされていない状態のことです。
+
+
+
+
+ &reftitle.parameters;
+ &no.function.parameters;
+
+
+
+ &reftitle.returnvalues;
+
+ ステートメントが実行済みで、フェッチすべき行がまだ残っている場合に &true;、
+ そうでない場合に &false; を返します。
+
+
+
+
+ &reftitle.changelog;
+
+
+
+
+ &Version;
+ &Description;
+
+
+
+
+ 8.5.0
+
+ このメソッドが追加されました。
+
+
+
+
+
+
+
+
+ &reftitle.seealso;
+
+ SQLite3Stmt::execute
+ SQLite3Stmt::reset
+ SQLite3Stmt::close
+
+
+
+
+
diff --git a/reference/sqlite3/sqlite3stmt/explain.xml b/reference/sqlite3/sqlite3stmt/explain.xml
new file mode 100644
index 0000000000..913d96318c
--- /dev/null
+++ b/reference/sqlite3/sqlite3stmt/explain.xml
@@ -0,0 +1,66 @@
+
+
+
+
+
+ SQLite3Stmt::explain
+ ステートメントの explain モードを返す
+
+
+
+ &reftitle.description;
+
+ public intSQLite3Stmt::explain
+
+
+
+ SQLite3Stmt::setExplain
+ でステートメントに現在設定されている explain モードを返します。
+
+
+
+
+ &reftitle.parameters;
+ &no.function.parameters;
+
+
+
+ &reftitle.returnvalues;
+
+ SQLite3Stmt::EXPLAIN_MODE_PREPARED、
+ SQLite3Stmt::EXPLAIN_MODE_EXPLAIN、
+ SQLite3Stmt::EXPLAIN_MODE_EXPLAIN_QUERY_PLAN
+ のいずれかを返します。
+
+
+
+
+ &reftitle.seealso;
+
+ SQLite3Stmt::setExplain
+ SQLite3Stmt::execute
+ SQLite3Stmt::reset
+
+
+
+
+
diff --git a/reference/sqlite3/sqlite3stmt/setexplain.xml b/reference/sqlite3/sqlite3stmt/setexplain.xml
new file mode 100644
index 0000000000..273b7b0b0d
--- /dev/null
+++ b/reference/sqlite3/sqlite3stmt/setexplain.xml
@@ -0,0 +1,84 @@
+
+
+
+
+
+ SQLite3Stmt::setExplain
+ ステートメントの explain モードを変更する
+
+
+
+ &reftitle.description;
+
+ public boolSQLite3Stmt::setExplain
+ intmode
+
+
+ ステートメントの explain モードを変更します。
+ これにより、そのステートメントは SQL の先頭に EXPLAIN や
+ EXPLAIN QUERY PLAN を付けた場合と同じように振る舞うようになります。
+ また、通常のステートメントに戻すこともできます。
+
+
+
+
+ &reftitle.parameters;
+
+
+ mode
+
+
+ SQLite3Stmt::EXPLAIN_MODE_PREPARED、
+ SQLite3Stmt::EXPLAIN_MODE_EXPLAIN、
+ SQLite3Stmt::EXPLAIN_MODE_EXPLAIN_QUERY_PLAN
+ のいずれか。
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ &return.success;
+
+
+
+
+ &reftitle.errors;
+
+ mode が SQLite3Stmt::EXPLAIN_MODE_*
+ 定数のいずれでもない場合、ValueError がスローされます。
+
+
+
+
+ &reftitle.seealso;
+
+ SQLite3Stmt::explain
+ SQLite3Stmt::execute
+
+
+
+
+