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_namepcbcnt + をキーに持つ配列を返します。 + PHP 8.5.0 以降で利用可能(FreeBSD のみ)。 + + + + + + TCP_FUNCTION_ALIAS + (int) + + + + ソケットが使用する TCP スタックのエイリアスを、 + function_set_namepcbcnt + をキーに持つ配列として取得します。 + 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; + + <methodname>SQLite3::enableExtendedResultCodes</methodname> の例 + +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; + + modeSQLite3Stmt::EXPLAIN_MODE_* + 定数のいずれでもない場合、ValueError がスローされます。 + + + + + &reftitle.seealso; + + SQLite3Stmt::explain + SQLite3Stmt::execute + + + + +