Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

apply_* セッション設定

これらの設定は system.settings で確認でき、ソースコード から自動生成されています。

apply_deleted_mask

Bool
デフォルト値
1

論理削除された行を除外するフィルタリングを有効にします。無効にすると、クエリでそれらの行も読み取れるようになります。これは、デバッグや「削除取り消し」のシナリオで役立ちます

apply_mutations_on_fly

Bool
デフォルト値
0

true の場合、data part にまだ反映されていない mutations (UPDATE と DELETE) は、SELECT 時に適用されます。

apply_prewhere_after_final

Bool
デフォルト値
0
バージョン履歴
バージョンデフォルト値コメント
25.120新しい設定。有効にすると、PREWHERE 条件は FINAL 処理の後に適用されます。

有効にすると、ReplacingMergeTree および類似のエンジンで、PREWHERE 条件が FINAL 処理の後に適用されます。 これは、PREWHERE が重複する行ごとに値が異なる可能性のあるカラムを参照しており、 フィルタリング前に FINAL で採用される行を確定させたい場合に役立ちます。無効な場合、PREWHERE は読み取り時に適用されます。 注: apply_row_level_security_after_final が有効で、かつ行ポリシーがソートキー以外のカラムを使用している場合、正しい実行順序を維持するため、PREWHERE も 遅延されます (行ポリシーは PREWHERE より前に適用する必要があります) 。

apply_row_policy_after_final

Bool
デフォルト値
1
バージョン履歴
バージョンデフォルト値コメント
25.101この設定は、#87303 後に発生した、行ポリシーと PREWHERE が FINAL より前に適用されていたリグレッションを修正するために追加されました。PR #91065 でこの設定が導入され、PR #97279 で正しさを優先する true がデフォルトになりました。互換性設定によって修正前の false の動作に戻らないよう、{true, true} として記録されます。

有効にすると、*MergeTree テーブルでは、行ポリシーと PREWHERE は FINAL の処理後に適用されます。 (特に ReplacingMergeTree) 無効にすると、行ポリシーは FINAL の前に適用されるため、ポリシーによって ReplacingMergeTree や同様のエンジンで重複排除に使われるべき行が除外される場合、結果が異なる可能性があります。

行ポリシーの式が ORDER BY 内のカラムのみに依存している場合は、最適化のため、引き続き FINAL の前に適用されます。 そのようなフィルタリングは重複排除の結果に影響しないためです。

設定可能な値:

  • 0 — 行ポリシーと PREWHERE は FINAL の前に適用されます (デフォルト) 。
  • 1 — 行ポリシーと PREWHERE は FINAL の後に適用されます。

apply_settings_from_server

Bool
デフォルト値
1
バージョン履歴
バージョンデフォルト値コメント
25.21クライアント側のコード(例: INSERT 入力のパースやクエリ出力のフォーマット)では、サーバー設定ファイルの設定を含め、サーバーと同じ設定が使用されます。

クライアントがサーバーから設定を受け入れるかどうかを指定します。

これはクライアント側で実行される操作にのみ影響します。特に、INSERT 入力データのパースとクエリ結果のフォーマットに影響します。クエリ実行の大部分はサーバー側で行われるため、この設定の影響は受けません。

通常、この設定はクライアント経由 (client のコマンドライン引数、SET クエリ、または SELECT クエリの SETTINGS セクション) ではなく、ユーザープロファイル (users.xml または ALTER USER のようなクエリ) で設定する必要があります。クライアント経由では false に変更できますが、true には変更できません (ユーザープロファイルで apply_settings_from_server = false になっている場合、サーバーは設定を送信しないためです) 。

なお、当初 (24.12) はサーバー設定 (send_settings_to_client) がありましたが、使い勝手を向上させるため、後にこのクライアント設定に置き換えられました。

Navigation