SNOWFLAKE DOCS DIFF
本日は全8,406ページ中64ページが改訂され、破壊的変更2件を含む重要な更新が集中しました。特に Python Connector 5.0.0rc1 と ODBC Driver 4.0.0-rc1 で Universal Core ベースの新系列が登場し、既存環境との互換性や移行が大きな論点になっています。Feature Policy rules や DATA MOVEMENT POLICY など、SQL によるガバナンスと作成・データ移動制御の強化も目立ちました。さらに、OAuth 認証、AI mode による分類、Iceberg 管理ストレージ、Azure の IP 許可リスト運用、Snowsight のモデル選択など、認証・セキュリティ・AI・データ基盤・運用管理にまたがる仕様更新が進んでいます。
Version 5.0.0rc1(2026年8月19日)として、Python Connector が Universal Core ベースに刷新され、snowflake.connector.aio(asyncio 対応)や CPython 3.11〜3.14 向け wheel が追加されました。CRL による証明書失効確認は既定で無効となり OCSP 用パラメータは受け付けられず、4.x との破壊的な挙動変更も含まれます。
影響: 別の仮想環境へのインストールが必要で、Snowflake の Python ライブラリは現時点で 5.0.0 未満の Connector に依存するため併用できません。
判定根拠: 追加行に「behavior change」
--- ahttps://docs.snowflake.com/en/release-notes/clients-drivers/python-connector-2026+++ bhttps://docs.snowflake.com/en/release-notes/clients-drivers/python-connector-2026@@ -14,4 +14,22 @@ See [](/developer-guide/python-connector/python-connector) for documentation.++## Version 5.0.0rc1 (Aug 19, 2026)++Initial public preview release of the connector built on the Universal Core. This is a new version line, published under the existing `snowflake-connector-python` package name as a release candidate. Because pre-release versions are not installed by default, `pip install --pre snowflake-connector-python` is required. See [](/developer-guide/python-connector/python-connector-universal-core) for installation instructions, the curated list of behavior differences, and migration guidance.++### New features and updates++- Rebuilt the connector on the Universal Core, a shared Rust library that implements networking, authentication, result-set fetching, and stage transfers for every Snowflake driver, replacing the pure-Python implementation.+- Published the connector and Universal Core source in the [Snowflake drivers repository](https://github.com/snowflakedb/drivers) on GitHub.+- Added the `snowflake.connector.aio` module, which exposes the PEP 249 `Connection` and `Cursor` objects as asyncio coroutines.+- Published wheels for CPython 3.11, 3.12, 3.13, and 3.14. Python 3.10 installs from the source distribution and compiles the Rust extension locally.++### Changes++- Only one version of the package can be installed in a given environment, so install this version into a separate virtual environment rather than upgrading in place.+- Certificate revocation checking uses CRLs rather than OCSP, and is off by default. OCSP-specific connection parameters are not accepted. See [](/developer-guide/python-connector/python-connector-universal-core#label-python-universal-core-config).+- Snowflake's Python libraries currently declare a dependency on a connector version below 5.0.0 and cannot be installed alongside this version. See [](/developer-guide/python-connector/python-connector-universal-core#label-python-universal-core-ecosystem).+- This release contains breaking behavior changes relative to the 4.x connector. The most significant are summarized in [](/developer-guide/python-connector/python-connector-universal-core#label-python-universal-core-behavior-differences), and the complete catalog is published as [`BehaviorDifferences.yaml`](https://github.com/snowflakedb/drivers/blob/main/python/BehaviorDifferences.yaml). ## Version 4.7.1 (July 15, 2026)
ODBC Driver 4.0.0-rc1(2026年8月19日)が公開プレビューとして追加され、Universal Core ベースの新しいリリース系列として 3.x とは別に配布されます。simba.snowflake.ini は sf.odbc.ini に置き換えられ、connections.toml が追加されました。また、証明書失効確認は CRL方式・既定値オフとなり、OCSP固有の接続パラメータは受け付けられず、3.x に対する破壊的な動作変更が含まれます。
影響: インストールすると同一マシン上の 3.x ドライバーが置き換わるため、専用ホスト・VM・コンテナで検証し、既存設定や OCSP パラメータの移行を確認する必要があります。
判定根拠: 追加行に「behavior change」
--- ahttps://docs.snowflake.com/en/release-notes/clients-drivers/odbc-2026+++ bhttps://docs.snowflake.com/en/release-notes/clients-drivers/odbc-2026@@ -14,4 +14,21 @@ See [](/developer-guide/odbc/odbc) for documentation.++## Version 4.0.0-rc1 (Aug 19, 2026)++Initial public preview release of the ODBC Driver built on the Universal Core. This is a new version line, distributed as a release candidate and downloaded separately from the 3.x driver. See [](/developer-guide/odbc/odbc-universal-core) for installation instructions, the curated list of behavior differences, and migration guidance.++### New features and updates++- Rebuilt the driver on the Universal Core, a shared Rust library that implements networking, authentication, result-set fetching, and stage transfers for every Snowflake driver. The ODBC wrapper contains no protocol logic of its own.+- Published the driver and Universal Core source in the [Snowflake drivers repository](https://github.com/snowflakedb/drivers) on GitHub.+- Replaced `simba.snowflake.ini` with `sf.odbc.ini` for process-wide logging and driver configuration.+- Added `connections.toml` profile support for setting connection parameters outside the DSN or connection string.++### Changes++- Installing this version replaces the 3.x driver on the same machine. Validate it on a dedicated host, VM, or container.+- Certificate revocation checking uses CRLs rather than OCSP, and is off by default. OCSP-specific connection parameters are not accepted. See [](/developer-guide/odbc/odbc-universal-core#label-odbc-universal-core-config).+- This release contains breaking behavior changes relative to the 3.x driver. The most significant are summarized in [](/developer-guide/odbc/odbc-universal-core#label-odbc-universal-core-behavior-differences), and the complete catalog is published as [`BehaviorDifferences.yaml`](https://github.com/snowflakedb/drivers/blob/main/odbc_tests/BehaviorDifferences.yaml). ## Version 3.19.0 (Jul 23, 2026)
Feature policy rules が追加され、AS $$ ... $$ で YAML ポリシー本文を指定できるようになりました。conditions と blocked_creation_rules により、block_when または再利用可能な条件を参照する block_when_any で、TABLE・TASK などのオブジェクト作成を条件付きでブロックできます。
影響: 従来の BLOCKED_OBJECT_TYPES_FOR_CREATION による一律ブロックに加え、SQL 式に基づく作成制御や ALL ワイルドカードを使った、より細かな作成ポリシーを設定できます。
判定根拠: SQL 構文/コードブロックの増減 (+5/-0)
--- ahttps://docs.snowflake.com/en/user-guide/feature-policies+++ bhttps://docs.snowflake.com/en/user-guide/feature-policies@@ -17,4 +17,10 @@ databases in an account, to all regular databases in an account, or to a specific database. +You can block every creation of a listed object type with+`BLOCKED_OBJECT_TYPES_FOR_CREATION`, or attach a YAML policy body with+[conditional creation rules](#label-feature-policy-rules) that fire only when a SQL expression+you supply evaluates to `TRUE`. For example, a feature policy can permit tables in general but+block temporary tables, or permit tasks but block serverless (no-warehouse) tasks.+ Feature policies are schema-level objects. Before creating one, create a dedicated database and schema to store it.@@ -63,4 +69,7 @@ - WORKSPACE +For the broader set of object types that [conditional creation rules](#label-feature-policy-rules)+can reference, see [Supported object types](#label-feature-policy-rules-object-types).+ ## Privileges required to use feature policies @@ -105,4 +114,9 @@ ``` +To create a policy with conditional creation rules, see+[Feature policy rules](#label-feature-policy-rules).++<a id="label-feature-policy-apply"></a>+ ## Apply a feature policy @@ -288,4 +302,393 @@ SET FEATURE POLICY feature_policy_db.sch.block_nothing; ```++<a id="label-feature-policy-rules"></a>++## Feature policy rules++A feature policy can carry a YAML body that conditionally blocks the creation of+specific object types based on attributes of the request. This extends the+existing `BLOCKED_OBJECT_TYPES_FOR_CREATION` clause, which blocks every attempt+to create an object of a given type, with rules that fire only when a SQL+expression you supply evaluates to `TRUE`.++### Policy body syntax++The body is a YAML document attached to the policy with an `AS` clause:++```sql+CREATE FEATURE POLICY <name>+ [ BLOCKED_OBJECT_TYPES_FOR_CREATION = ( <type> [ , ... ] ) ]+ [ COMMENT = '<string-literal>' ]+ [ AS $$+ <yaml-body>+ $$ ]+```++The YAML supports two top-level keys:++```yaml+conditions:+ - name: <condition-name>+ expression: "<sql-expression>"++blocked_creation_rules:+ - object_type: <OBJECT_TYPE>+ block_when: "<sql-expression>"+ # or, referencing one or more named conditions:+ block_when_any:+ - <condition-name>+```++<dl className="field-list">+<dt>`blocked_creation_rules`<span className="colon">:</span></dt>+<dd>++A list of rules, each scoped to a single `object_type` (for example, `TABLE`,+`TASK`, `WAREHOUSE`) or to the `ALL` wildcard. A rule blocks creation when its+`block_when` expression evaluates to `TRUE`, or when any of the conditions named+in `block_when_any` evaluates to `TRUE`. If both `block_when` and+`block_when_any` are omitted, every creation of that `object_type` is blocked+(this isn't allowed for `ALL`; see [Supported object types](#label-feature-policy-rules-object-types)).+A rule can specify `block_when` or `block_when_any`, but not both.++</dd>+<dt>`conditions`<span className="colon">:</span></dt>+<dd>++An optional list of named, reusable expressions that rules can reference by+name through `block_when_any`. Use this when the same predicate appears in+multiple rules. A rule that uses `block_when_any` requires at least one matching+entry in `conditions`.++</dd>+</dl>++<a id="label-feature-policy-rules-object-types"></a>++### Supported object types++A rule's `object_type` can name any of the following types, in either singular+or plural form (for example, both `TABLE` and `TABLES` are accepted):++<div className="colwidths-auto">++| Category | Object types |+| ----------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |+| Account-level | `COMPUTE_POOL`, `DATABASE`, `WAREHOUSE` |+| Schema-level | `TABLE`, `ICEBERG_TABLE`, `DYNAMIC_TABLE`, `MATERIALIZED_VIEW`, `VIEW`, `STAGE`, `FILE_FORMAT`, `FUNCTION`, `PROCEDURE`, `SECRET`, `SCHEMA`, `TASK`, `AGENT`, `MCP_SERVER` |+| Personal database | `WORKSPACE`, `GIT_REPOSITORY`, `APPLICATION_SERVICE`, `ARTIFACT_REPOSITORY` |++</div>++Account-level types apply only in a native app context. Personal database types apply only+when the policy is bound to personal databases, either with `FOR ALL PERSONAL DATABASES` or+directly to a personal database. The `ALL` wildcard covers only the types applicable in the+current policy binding context.++A rule can also use the `ALL` wildcard in place of a specific `object_type` to+apply a single `block_when` or `block_when_any` to every supported type. An+`ALL` rule must carry a `block_when` or `block_when_any`: an unconditional `ALL`+rule (one that blocks every object type outright) isn't allowed. To block every+creation of a specific type unconditionally, list that type in+`BLOCKED_OBJECT_TYPES_FOR_CREATION` instead.++<a id="label-feature-policy-rules-personal-db-object-types"></a>++### Supported object types for personal databases++Within a personal-database policy, `blocked_creation_rules` can reference the following+entity types:++<div className="colwidths-auto">++| Category | Object types |+| ------------- | ----------------------------------------------------------------------------------------------- |+| Account-level | *(none; account-level types have no effect in personal database context)* |+| Entity types | `WORKSPACE`, `SCHEMA`, `SECRET`, `GIT_REPOSITORY`, `APPLICATION_SERVICE`, `ARTIFACT_REPOSITORY` |++</div>++Account-level types (`COMPUTE_POOL`, `DATABASE`, `WAREHOUSE`) are ignored when a policy+is bound to personal databases. List them in `BLOCKED_OBJECT_TYPES_FOR_CREATION` or+`blocked_creation_rules` only when the policy is bound to native apps. For how Snowflake+chooses between a per-database policy and an account-level policy, see+[Feature policy precedence](#label-feature-policy-precedence).++### block_when expressions++A `block_when` (or `conditions[].expression`) value is a SQL Boolean expression+written as a quoted string. The expression is validated when the policy is+created or altered.++#### Available context++Refer to attributes of the object being created with+`SYS_CONTEXT('SNOWFLAKE$REQUEST', 'GET_OBJECT_PROPERTY', '<property>')`. The+function returns a string, so compare against `'TRUE'` or `'FALSE'` for Boolean+properties.++<div className="colwidths-auto">++| Property | Type | Returns |+| ----------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |+| `IS_TEMPORARY` | Boolean | `'TRUE'` for `CREATE TEMPORARY ...` of `TABLE`, `VIEW`, `STAGE`, `FILE_FORMAT`, `FUNCTION`, `PROCEDURE`, `SECRET`, `AGENT`; `'FALSE'` otherwise. |+| `IS_TRANSIENT` | Boolean | `'TRUE'` for `CREATE TRANSIENT ...` of `TABLE`, `ICEBERG_TABLE`, `DYNAMIC_TABLE`, `MATERIALIZED_VIEW`, `SCHEMA`, `DATABASE`, `APPLICATION_PACKAGE`; `'FALSE'` otherwise. |+| `WAREHOUSE` | String | For `TASK`: the warehouse named in the request, or `NULL... (truncated)
差分が長いため、途中まで表示しています。
private_key_jwt の認証方式が、RSA秘密鍵で署名したJWTを client_assertion パラメータで送信する方法として明確化され、Snowflakeはこの方式を推奨するようになりました。あわせて client_assertion_type パラメータが追加され、client_assertion 使用時は所定のJWT Bearer値が必須となり、client_id はアサーションから読み取られるため不要です。従来の Authorization: Bearer ヘッダー方式も引き続き利用できますが、OAuth仕様外の旧来方式として既存依存クライアント向けに限定されています。
影響: private_key_jwt を利用するクライアントは、推奨される client_assertion と client_assertion_type の送信方式への対応を検討する必要があります。
判定根拠: SQL 構文/コードブロックの増減 (+1/-0)
--- ahttps://docs.snowflake.com/en/user-guide/oauth-custom+++ bhttps://docs.snowflake.com/en/user-guide/oauth-custom@@ -537,6 +537,12 @@ [Basic Authentication Scheme](https://tools.ietf.org/html/rfc2617). - `client_secret_post`: Send the client credentials in the POST request body as form parameters.-- `private_key_jwt`: Authenticate with a JWT signed by the client's RSA private key. For setup and examples, see- [Using key-pair authentication](#label-oauth-key-pair-authentication).+- `private_key_jwt`: Authenticate with a JWT signed by the client's RSA private key instead of a client secret. Send the JWT in the+ `client_assertion` request parameter, as defined by [RFC 7523](https://datatracker.ietf.org/doc/html/rfc7523). Snowflake recommends this+ method for clients that authenticate with a key pair. For setup and examples, see+ [Authenticate with a client assertion](#label-oauth-client-assertion).++ Snowflake also accepts the same signed JWT in an `Authorization: Bearer` header. That method predates Snowflake's support for+ `client_assertion` and isn't part of the OAuth specifications, so use it only for clients that already depend on it. For more information,+ see [Authenticate with a JWT in the Authorization header](#label-oauth-key-pair-jwt-header). For `client_secret_basic` and `client_secret_post`, retrieve the client ID and client secret with the@@ -622,5 +628,5 @@ <td>String</td> <td>Conditional</td>- <td>Client ID of the integration. Required when using `client_secret_post` client authentication. Don't include this parameter when using `client_secret_basic`.</td>+ <td>Client ID of the integration. Required when using `client_secret_post` client authentication. Don't include this parameter when using `client_secret_basic`. Not required when using `client_assertion`, because Snowflake reads the client ID from the assertion.</td> </tr> <tr>@@ -629,4 +635,16 @@ <td>Conditional</td> <td>Client secret for the integration. Required when using `client_secret_post` client authentication. Don't include this parameter when using `client_secret_basic`.</td>+ </tr>+ <tr>+ <td>`client_assertion`</td>+ <td>String</td>+ <td>Conditional</td>+ <td>Signed JWT that authenticates the client. Required when using `private_key_jwt` client authentication with a client assertion. For more information, see [](#label-oauth-client-assertion).</td>+ </tr>+ <tr>+ <td>`client_assertion_type`</td>+ <td>String</td>+ <td>Conditional</td>+ <td>Format of the `client_assertion` value. Required whenever `client_assertion` is present, and must be set to `urn:ietf:params:oauth:client-assertion-type:jwt-bearer`.</td> </tr> <tr>@@ -893,8 +911,43 @@ ## Using key-pair authentication -Snowflake supports using key pair authentication (`private_key_jwt`) rather than client ID and client secret when calling the OAuth token-endpoint. This authentication method requires a 2048-bit (minimum) RSA key pair. Generate the PEM (Privacy Enhanced Mail) public-private-key pair using OpenSSL. Assign the public key to the OAuth security integration; the client signs a JWT with the private key and sends it-in the `Authorization` header as a Bearer token.+Snowflake supports key-pair authentication (`private_key_jwt`) rather than a client ID and client secret when calling the OAuth token+endpoint. You assign a public key to the OAuth security integration, and your client signs a short-lived JWT with the matching private key.+Because the private key never leaves the client, there's no shared secret to distribute, rotate, or leak.++Snowflake accepts the signed JWT in either of the following ways:++<div className="colwidths-given">++ <colgroup>+ <col style={{width: "30.0%"}} />+ <col style={{width: "70.0%"}} />+ </colgroup>+ <thead>+ <tr>+ <th>Method</th>+ <th>Description</th>+ </tr>+ </thead>+ <tbody>+ <tr>+ <td>[Client assertion](#label-oauth-client-assertion) (recommended)</td>+ <td>Send the JWT in the `client_assertion` request parameter. This method implements [RFC 7523](https://datatracker.ietf.org/doc/html/rfc7523), the standard JWT profile for OAuth client authentication, so standard OAuth client libraries can use it without Snowflake-specific code.</td>+ </tr>+ <tr>+ <td>[Authorization header](#label-oauth-key-pair-jwt-header) (legacy)</td>+ <td>Send the JWT in an `Authorization: Bearer` header. This method predates Snowflake's support for `client_assertion` and isn't part of the OAuth specifications. It remains supported for existing clients.</td>+ </tr>+ </tbody>++</div>++Snowflake recommends the client assertion for all new clients, and recommends migrating existing clients to it. Both methods use the same+key pair and the same security integration, so migrating means changing how your client transmits the JWT and which claims it sets. You+don't need to generate new keys or reconfigure the integration.++### Generate and register an RSA key pair++Both methods require a 2048-bit (minimum) RSA key pair. Generate the PEM (Privacy Enhanced Mail) public-private key pair using OpenSSL, then+assign the public key to the OAuth security integration. To configure the public/private key pair:@@ -971,5 +1024,196 @@ -5. Modify and execute the sample code below. The code uses the private key to encode a JWT and then passes that token to the Snowflake+<a id="label-oauth-client-assertion"></a>++### Authenticate with a client assertion++A client assertion is a JWT that your client signs with its private key and sends to the token endpoint to prove its identity. Snowflake+implements the client assertion exactly as [RFC 7523](https://datatracker.ietf.org/doc/html/rfc7523) defines it, which is the same+mechanism that OpenID Connect calls `private_key_jwt`. Standard OAuth client libraries that support `private_key_jwt` can therefore+authenticate to Snowflake without Snowflake-specific code.++To authenticate with a client assertion, include the following form parameters in the token request body, in addition to the+grant-specific parameters described in [Request body](#request-body):++- `client_assertion_type`, set to `urn:ietf:params:oauth:client-assertion-type:jwt-bearer`.+- `client_assertion`, set to the signed JWT.++Don't send a `client_secret`, and don't send an `Authorization` header. The `client_id` parameter isn't required either, because Snowflake+identifies the client from the assertion.++#### Client assertion claims++Sign the assertion with the `RS256` algorithm, using the private key whose public key is registered on the integration. `RS256` is the only+signature algorithm Snowflake accepts for a client assertion.++Set the following claims:++<div className="colwidths-given">++ <colgroup>+ <col style={{width: "10.0%"}} />+ <col style={{width: "12.0%"}} />+ <col style={{width: "10.0%"}} />+ <col style={{width: "68.0%"}} />+ </colgroup>+ <thead>+ <tr>+ <th>Claim</th>+ <th>Data type</th>+ <th>Required</th>+ <th>Description</th>+ </tr>+ </thead>+ <tbody>+ <tr>+ <td>`iss`</td>+ <td>String</td>+ <td>Yes</td>+ <td>Issuer of the assertion. Must be the client ID of the OAuth integration. Retrieve the client ID with the [](/sql-reference/functions/system_show_oauth_client_secrets) function.</td>+ </tr>+ <tr>+ <td>`sub`</td>+ <td>String</td>+ <td>Yes</td>+ <td>Subject of the assertion. Must be the same client ID as `iss`, because the client issues the assertion about itself.</td>+ </tr>+ <tr>+ <td>`aud`</td>+ <td>String</td>+ <td>Yes</td>+ <td>Audience of the assertion. Must be your account's token endpoint URL, in the form <code className="samp">https://<em>account_name</em>.snowfl... (truncated)
差分が長いため、途中まで表示しています。
Python製の移行用ストアドプロシージャ(database_name オプション引数付き)と CALL 手順を削除し、Snowflake Scripting ブロックへ変更した。既定では SHOW DBT PROJECTS IN ACCOUNT でアカウント全体を対象とし、特定データベース向けは SHOW DBT PROJECTS IN DATABASE に切り替える構文になり、各オブジェクトの成功・失敗を SYSTEM$LOG_INFO で記録する。
影響: 既存のプロシージャ作成・CALL 手順は使用できず、移行時は 新しい SQL ブロックを実行し、対象範囲をコメント切り替えで指定する必要がある。
判定根拠: SQL 構文/コードブロックの増減 (+3/-4)
--- ahttps://docs.snowflake.com/en/release-notes/bcr-bundles/2026_06/bcr-2362+++ bhttps://docs.snowflake.com/en/release-notes/bcr-bundles/2026_06/bcr-2362@@ -104,49 +104,35 @@ ### Migrate all dbt project objects in your account -Once you're opted in, you can use the following stored procedure to migrate all dbt project objects-in your account in a single step. The procedure accepts an optional `database_name` parameter: if-provided, it scopes the migration to that database only; if omitted, it migrates all dbt project-objects across your entire account. The procedure attempts to migrate each object, then returns a-summary of how many succeeded along with a list of any that failed. Object names with mixed case or-special characters are handled safely by double-quoting each identifier component.+Once you're opted in, you can run the following [Snowflake Scripting](/developer-guide/snowflake-scripting/index)+block to migrate all dbt project objects in your account in a single step. By default, the block+uses `SHOW DBT PROJECTS IN ACCOUNT` to migrate all dbt project objects. To migrate only the objects in a specific database, comment+out that line and uncomment the `SHOW DBT PROJECTS IN DATABASE` line. The block iterates over+every dbt project object returned by [SHOW DBT PROJECTS](/sql-reference/sql/show-dbt-projects),+attempts to migrate each one, and logs the result of each attempt with+[SYSTEM$LOG_INFO](/sql-reference/functions/system_log). Object names with mixed case or special+characters are handled safely by double-quoting each identifier component. -```python-CREATE OR REPLACE PROCEDURE migrate_all_dbt_projects(database_name VARCHAR DEFAULT NULL)- RETURNS VARCHAR- LANGUAGE PYTHON- RUNTIME_VERSION = '3.11'- PACKAGES = ('snowflake-snowpark-python')- HANDLER = 'run'-AS-$$-def run(session, database_name=None):- if database_name:- rows = session.sql(f'SHOW DBT PROJECTS IN DATABASE "{database_name}"').collect()- else:- rows = session.sql("SHOW DBT PROJECTS IN ACCOUNT").collect()- succeeded = []- failed = []- for row in rows:- db = row['database_name']- schema = row['schema_name']- name = row['name']- full_name = f'"{db}"."{schema}"."{name}"'- try:- session.sql(f"SELECT SYSTEM$MIGRATE_DBT_PROJECT('{full_name}')").collect()- succeeded.append(full_name)- except Exception as e:- failed.append(f"{full_name}: {e}")- total = len(succeeded) + len(failed)- summary = f"{len(succeeded)} of {total} dbt project objects successfully migrated."- if failed:- summary += "\n\nFailed objects:\n" + "\n".join(f" - {f}" for f in failed)- return summary-$$;---- Migrate all dbt project objects in the account:-CALL migrate_all_dbt_projects();---- Migrate only dbt project objects in a specific database:-CALL migrate_all_dbt_projects('my_database');+```sql+DECLARE+ full_name VARCHAR;+ c CURSOR FOR SELECT "database_name", "schema_name", "name" FROM TABLE(RESULT_SCAN(LAST_QUERY_ID()));+BEGIN+ SHOW DBT PROJECTS IN ACCOUNT;+ -- To migrate only in a specific database, comment out the line above and uncomment the following:+ -- SHOW DBT PROJECTS IN DATABASE <database_name>;+ OPEN c;+ FOR row_var IN c DO+ full_name := '"' || row_var."database_name" || '"."' || row_var."schema_name" || '"."' || row_var."name" || '"';+ BEGIN+ SELECT SYSTEM$MIGRATE_DBT_PROJECT(:full_name);+ SYSTEM$LOG_INFO('Migrated: ' || :full_name);+ EXCEPTION+ WHEN OTHER THEN+ SYSTEM$LOG_INFO('Failed: ' || :full_name || ' - ' || SQLERRM);+ END;+ END FOR;+ CLOSE c;+ RETURN 'Migration complete.';+END; ```
AS $$ <yaml-body> $$ により、Feature Policy の YAML ポリシーボディを設定・置換できる構文が追加されました。また、UNSET に POLICY_DEFINITION が追加され、BLOCKED_OBJECT_TYPES_FOR_CREATION を保持したまま YAML ボディだけを削除できます。
影響: 既存ポリシーの条件付き作成ルールを SQL から更新・削除できるようになります。
判定根拠: SQL 構文/コードブロックの増減 (+7/-0)
--- ahttps://docs.snowflake.com/en/sql-reference/sql/alter-feature-policy+++ bhttps://docs.snowflake.com/en/sql-reference/sql/alter-feature-policy@@ -20,8 +20,17 @@ [ BLOCKED_OBJECT_TYPES_FOR_CREATION = ( [ <type> [ , <type> ... ] ] ) ] [ COMMENT = '<string_literal>' ]+ [ AS $$+ <yaml-body>+ $$ ]++ALTER FEATURE POLICY [ IF EXISTS ] <name>+ AS $$+ <yaml-body>+ $$ ALTER FEATURE POLICY [ IF EXISTS ] <name> UNSET [ BLOCKED_OBJECT_TYPES_FOR_CREATION ] [ COMMENT ]+ [ POLICY_DEFINITION ] ALTER FEATURE POLICY [ IF EXISTS ] <name> RENAME TO <new_name>@@ -85,4 +94,41 @@ </dd>+<dt><code>AS $$ ... $$</code></dt>+<dd>++YAML body that defines [conditional creation rules](/user-guide/feature-policies#label-feature-policy-rules).+Replaces any existing policy body. You can use this clause with `SET` or as a+standalone clause. For syntax and examples, see+[Feature policy rules](/user-guide/feature-policies#label-feature-policy-rules) and+[Modify or remove a policy body](/user-guide/feature-policies#label-feature-policy-rules-modify).++</dd>+<dt>`UNSET`</dt>+<dd>++Specifies one (or more) properties to unset for the feature policy.++<dl>+<dt>`BLOCKED_OBJECT_TYPES_FOR_CREATION`</dt>+<dd>++Removes the list of blocked object types from the feature policy.++</dd>+<dt>`COMMENT`</dt>+<dd>++Removes the comment for the feature policy.++</dd>+<dt>`POLICY_DEFINITION`</dt>+<dd>++Removes the YAML policy body but keeps any `BLOCKED_OBJECT_TYPES_FOR_CREATION` clause.++</dd>+</dl>++</dd> </dl> @@ -140,4 +186,20 @@ ``` +The following example replaces the YAML body of a feature policy:++```sql+ALTER FEATURE POLICY my_policy AS $$+ blocked_creation_rules:+ - object_type: TABLE+ block_when: "SYS_CONTEXT('SNOWFLAKE$REQUEST', 'GET_OBJECT_PROPERTY', 'IS_TEMPORARY') = 'TRUE'"+$$;+```++The following example removes the YAML body but keeps any blocked object types:++```sql+ALTER FEATURE POLICY my_policy UNSET POLICY_DEFINITION;+```+ The following example changes the name of a feature policy from `block_create_db_policy` to `block_create_db_task_policy`:
AI mode に対応し、SYSTEM$CLASSIFY の分類プロファイルで AI mode を利用できることを明記しました。オプションに 'ai_mode': true と 'auto_tag': true の組み合わせが追加され、LLM による追加カテゴリ分類や推奨システムタグの自動設定、利用料金が AI_SENSITIVE_DATA_CLASSIFICATION として課金されること、関連する制限・コスト情報へのリンクが追記されています。
影響: AI mode を使う場合は LLM 利用料が発生し、auto_tag を指定する場合はスキーマに対する OWNERSHIP 権限を持つロールでプロシージャを呼び出す必要があります。
判定根拠: SQL 構文/コードブロックの増減 (+6/-0)
--- ahttps://docs.snowflake.com/en/sql-reference/stored-procedures/system_classify+++ bhttps://docs.snowflake.com/en/sql-reference/stored-procedures/system_classify@@ -29,5 +29,5 @@ <dd> -Specifies a [classification profile](#label-classification-auto-about-profile) in order to classify based on the criteria specified in the profile.+Specifies a [classification profile](/user-guide/classify-auto#label-classification-auto-about-profile) in order to classify based on the criteria specified in the profile, including [AI mode](/user-guide/classify-intro#label-classify-ai-mode) when enabled on the profile. </dd>@@ -73,4 +73,22 @@ Classify the specified object while specifying the number of rows to sample and set the recommended system tag on each column in the specified object when the classification process is complete.++When you use this argument, call the stored procedure with the role that has the OWNERSHIP privilege on the schema.++</dd>+<dt>`{'ai_mode': true}`</dt>+<dd>++Enables [AI mode](/user-guide/classify-intro#label-classify-ai-mode) to use LLMs to identify additional semantic categories beyond those+identified by standard classification.++LLM usage is billed under the `AI_SENSITIVE_DATA_CLASSIFICATION` [service type](/sql-reference/service-types).++</dd>+<dt>`{'ai_mode': true, 'auto_tag': true}`</dt>+<dd>++Classify the specified object with AI mode enabled and set the recommended classification system tags on the columns when the+classification process is complete. When you use this argument, call the stored procedure with the role that has the OWNERSHIP privilege on the schema.@@ -249,4 +267,8 @@ [ALTER TABLE ... MODIFY COLUMN ... SET TAG](/sql-reference/sql/alter-table-column) statement to update the tag value. - To unset a Classification system tag from a column, use an ALTER TABLE ... MODIFY COLUMN ... UNSET TAG statement.+- To use [AI mode](/user-guide/classify-intro#label-classify-ai-mode), pass `'ai_mode': true` in the options object or specify a+ classification profile that has AI mode enabled. For limitations and billing details, see+ [Limitations and considerations](/user-guide/classify-intro#limitations-and-considerations) and+ [Cost considerations](/user-guide/classify-intro#label-classify-auto-cost). ## Examples@@ -301,2 +323,22 @@ </blockquote>++Classify a table with [AI mode](/user-guide/classify-intro#label-classify-ai-mode) enabled:++<blockquote>++```sql+CALL SYSTEM$CLASSIFY('hr.tables.empl_info', {'ai_mode': true});+```++</blockquote>++Classify a table with AI mode enabled and apply recommended system tags to columns:++<blockquote>++```sql+CALL SYSTEM$CLASSIFY('hr.tables.empl_info', {'ai_mode': true, 'auto_tag': true});+```++</blockquote>
Snowflake storage for Iceberg tables を推奨する構成に改め、EXTERNAL_VOLUME = 'SNOWFLAKE_MANAGED' を指定する作成例と詳細ページへのリンクを追加しました。一方、自分のクラウドストレージを使う場合は、外部ボリュームとベースロケーションを指定する別セクションに整理され、Snowflake Open Catalog への案内は削除されました。
影響: Iceberg テーブル作成時に、Snowflake 管理ストレージを使うか、外部ボリューム経由で自分のクラウドストレージを使うかを明確に選択する必要があります。
判定根拠: SQL 構文/コードブロックの増減 (+3/-0)
--- ahttps://docs.snowflake.com/en/user-guide/tables-iceberg-create+++ bhttps://docs.snowflake.com/en/user-guide/tables-iceberg-create@@ -21,23 +21,33 @@ You can create an Iceberg table by using the [](/sql-reference/sql/create-iceberg-table) command. -- To create an Iceberg table, you must have a running warehouse that is specified as the current warehouse for your session.- Errors might occur if no running warehouse is specified when you create an Iceberg table.- For more information, see [Working with Warehouses](/user-guide/warehouses-tasks).-- To create an Iceberg table that works with [Snowflake Open Catalog](https://other-docs.snowflake.com/en/opencatalog/overview), see [](/user-guide/tables-iceberg-open-catalog).+To create an Iceberg table, you must have a running warehouse that is specified as the current warehouse for your session.+Errors might occur if no running warehouse is specified when you create an Iceberg table.+For more information, see [Working with Warehouses](/user-guide/warehouses-tasks). <a id="label-tables-iceberg-create-snowflake-catalog"></a> -## Snowflake-managed+## Snowflake storage for %iceberg-tm% tables -To create an Iceberg table with Snowflake as the catalog, you specify an+Snowflake storage is the recommended way to create a Snowflake-managed Iceberg table.+Snowflake stores and manages the Iceberg table files for you, so you don't configure or grant access to+external cloud storage. Set `EXTERNAL_VOLUME = 'SNOWFLAKE_MANAGED'` (or rely on defaults when the catalog+is Snowflake). You don't create a separate external volume object.++The following example creates an Iceberg table that uses Snowflake storage:++```sql+CREATE ICEBERG TABLE my_iceberg_table (col1 int)+ CATALOG = 'SNOWFLAKE'+ EXTERNAL_VOLUME = 'SNOWFLAKE_MANAGED';+```++For more information, see [](/user-guide/tables-iceberg-internal-storage).++## Snowflake-managed tables in your own cloud storage++To create a Snowflake-managed Iceberg table and keep the table files in your own cloud storage, specify an [external volume](#label-tables-iceberg-external-volume-def) and a base location (directory on the external volume)-where Snowflake can write table data and metadata.--You can use one of the following storage options:--- **Your cloud storage**: Create an [external volume](/sql-reference/sql/create-external-volume) and reference it from the table.- For instructions, see [](/user-guide/tables-iceberg-configure-external-volume).-- **Snowflake-provided storage**: Set `EXTERNAL_VOLUME = 'SNOWFLAKE_MANAGED'` (or rely on defaults when the catalog is Snowflake).- You don't create a separate external volume object for that path. For more information, see [](/user-guide/tables-iceberg-internal-storage).+where Snowflake can write table data and metadata. Create an [external volume](/sql-reference/sql/create-external-volume)+and reference it from the table. For instructions, see [](/user-guide/tables-iceberg-configure-external-volume). To define table columns, you can use Iceberg data types. For more information, see [](/user-guide/tables-iceberg-data-types).
Azure リージョンで、従来の ipv4_prefix と effective に加えて published と usage を含む詳細な IP 範囲出力が追加されました。さらに、published が前回のファイアウォール更新日より後の場合は、effective 日より前に許可リストを更新する必要がある旨が追記されました。
影響: Azure 利用者は published と effective の日付を確認し、期限前にファイアウォールの許可リストを更新する運用が必要です。
判定根拠: SQL 構文/コードブロックの増減 (+2/-0)
--- ahttps://docs.snowflake.com/en/sql-reference/functions/system_get_snowflake_egress_ip_ranges+++ bhttps://docs.snowflake.com/en/sql-reference/functions/system_get_snowflake_egress_ip_ranges@@ -53,4 +53,33 @@ ``` +Additionally, in Azure regions you see a more detailed output:++```json+[+ {+ "ipv4_prefix": "153.45.139.0/24",+ "effective": "2026-05-19T00:00:00Z",+ "published": "2026-07-15T14:38:56.923Z",+ "usage": [+ "Network Identifier - use for Azure services such as Storage, Key Vault",+ "Stable Egress IP - use for endpoints hosted outside of Azure"+ ]+ },+ {+ "ipv4_prefix": "153.45.182.0/24",+ "effective": "2026-05-19T00:00:00Z",+ "published": "2026-07-15T14:38:56.923Z",+ "usage": [+ "Network Identifier - use for Azure services such as Storage, Key Vault"+ ]+ }+]+```++On Azure, the output includes the standard `ipv4_prefix` and `effective` fields, plus two additional fields:++- `published`: The date when Snowflake published this IP range. Refresh your allowlist if you last updated it before this date.+- `usage`: Describes how Snowflake uses the range. Values can include network identifiers for Azure services such as Storage and Key Vault, and stable egress IPs for endpoints hosted outside of Azure.+ ## Usage notes @@ -64,2 +93,4 @@ - Addresses are scoped to the region of your Snowflake deployment. Addresses for one region differ from those for another region. - Addresses are shared among Snowflake accounts in the region. In other words, they're not unique to a Snowflake account.+- If an address has a `published` date after your last firewall update, update your allowlist with that address before its+ `effective` date.
CREATE FEATURE POLICY の構文で、BLOCKED_OBJECT_TYPES_FOR_CREATION が任意指定になり、条件付き作成ルールを定義する AS $$ ... $$ YAML 本体(blocked_creation_rules、任意の conditions)が追加されました。両方の指定を同一ポリシーで併用でき、Temporary table の作成をブロックする例も追加されています。
影響: オブジェクト種別による一律制限に加えて、条件に基づく作成制御を Feature policy rules として設定できるようになります。
判定根拠: SQL 構文/コードブロックの増減 (+3/-0)
--- ahttps://docs.snowflake.com/en/sql-reference/sql/create-feature-policy+++ bhttps://docs.snowflake.com/en/sql-reference/sql/create-feature-policy@@ -18,6 +18,9 @@ ```sqlsyntax CREATE [ OR REPLACE ] FEATURE POLICY [ IF NOT EXISTS ] <name>- BLOCKED_OBJECT_TYPES_FOR_CREATION = ( <type> [ , ... ] )+ [ BLOCKED_OBJECT_TYPES_FOR_CREATION = ( <type> [ , ... ] ) ] [ COMMENT = '<string-literal>' ]+ [ AS $$+ <yaml-body>+ $$ ] ``` @@ -74,4 +77,13 @@ </dd>+<dt><code>AS $$ ... $$</code></dt>+<dd>++Optional YAML body that defines [conditional creation rules](/user-guide/feature-policies#label-feature-policy-rules).+The body can include `blocked_creation_rules` and an optional `conditions` list.+For syntax, supported object types, and examples, see+[Feature policy rules](/user-guide/feature-policies#label-feature-policy-rules).++</dd> </dl> @@ -98,7 +110,9 @@ ## Usage notes -- If a policy is bound to an object, for example an account or an app, the policy cannot be replaced.+- If a policy is bound to an object, for example an account or an app, the policy can't be replaced. Use the [](/sql-reference/sql/alter-feature-policy) to update or rename the feature policy. - This command does not support using the CLONE clause to create a copy of a feature policy.+- Specify `BLOCKED_OBJECT_TYPES_FOR_CREATION`, an `AS` body, or both. You can use them together+ in a single policy. ## Examples@@ -120,2 +134,13 @@ This syntax would typically be applied to an app to lift any restrictions that were applied at the account level.++The following example creates a feature policy that blocks temporary table creation:++```sql+CREATE FEATURE POLICY block_temp_tables+ AS $$+ blocked_creation_rules:+ - object_type: TABLE+ block_when: "SYS_CONTEXT('SNOWFLAKE$REQUEST', 'GET_OBJECT_PROPERTY', 'IS_TEMPORARY') = 'TRUE'"+ $$;+```
タグに DATA MOVEMENT POLICY を設定・解除する構文が追加され、SET DATA MOVEMENT POLICY <data_movement_policy_name> [ FORCE ] と UNSET DATA MOVEMENT POLICY が利用可能になりました。既存ポリシーを置換する場合は FORCE を指定でき、タグへの割り当て・置換には APPLY DATA MOVEMENT POLICY のグローバル権限が必要です。
影響: タグを付与したオブジェクトのデータ移動をポリシーで制御できるようになり、運用者は必要な権限と FORCE の使用条件を確認する必要があります。
判定根拠: SQL 構文/コードブロックの増減 (+2/-0)
--- ahttps://docs.snowflake.com/en/sql-reference/sql/alter-tag+++ bhttps://docs.snowflake.com/en/sql-reference/sql/alter-tag@@ -29,4 +29,8 @@ ALTER TAG [ IF EXISTS ] <name> UNSET { ALLOWED_VALUES | PROPAGATE | ON_CONFLICT | COMMENT } +ALTER TAG [ IF EXISTS ] <name> SET DATA MOVEMENT POLICY <data_movement_policy_name> [ FORCE ]++ALTER TAG [ IF EXISTS ] <name> UNSET DATA MOVEMENT POLICY+ ALTER TAG [ IF EXISTS ] <name> SET MASKING POLICY <masking_policy_name> [ , MASKING POLICY <masking_policy_2_name> , ... ] [ FORCE ]@@ -187,4 +191,20 @@ Default: Set the value of the tag to `CONFLICT`.++</dd>+<dt><code className="samp">SET DATA MOVEMENT POLICY <em>data_movement_policy_name</em> [ FORCE ]</code></dt>+<dd>++Attaches a [data movement policy](/user-guide/data-movement-policies) to the tag. When this tag is set on a column, table,+schema, or database, the data movement policy governs data movement operations on the tagged object.++If a data movement policy is already set on the tag, use FORCE to replace it without having to unset the existing policy+first.++</dd>+<dt>`UNSET DATA MOVEMENT POLICY`</dt>+<dd>++Removes the data movement policy from the tag. </dd>@@ -270,4 +290,9 @@ </tr> <tr>+ <td>APPLY DATA MOVEMENT POLICY</td>+ <td>Account</td>+ <td>Assigning and replacing a data movement policy on a tag requires the global APPLY DATA MOVEMENT POLICY privilege.</td>+ </tr>+ <tr> <td>APPLY MASKING POLICY</td> <td>Account</td>
distance パラメータが max_distance に改名され、構文と説明が更新されました。また、引数を位置指定または名前指定で渡せる機能と、名前付き引数の使用例が追加されました。 影響: 既存の呼び出しではパラメータ名の変更への対応が必要ですが、名前付き引数により不要なオプション引数を省略できます。
判定根拠: SQL 構文/コードブロックの増減 (+3/-0)
--- ahttps://docs.snowflake.com/en/sql-reference/functions/get_lineage-snowflake-core+++ bhttps://docs.snowflake.com/en/sql-reference/functions/get_lineage-snowflake-core@@ -25,5 +25,5 @@ '<object_domain>', '<direction>',- [ <distance>, ]+ [ <max_distance>, ] [ '<object_version>' ] )@@ -63,5 +63,5 @@ <dl>-<dt><code className="samp"><em>distance</em></code></dt>+<dt><code className="samp"><em>max_distance</em></code></dt> <dd> @@ -109,4 +109,6 @@ - `GET_LINEAGE` returns at most 10 million rows, each row representing an edge (relationship) in the lineage graph. If there are more than 10 million rows in the output, the function silently truncates output to 10 million rows.+- You can specify arguments either by position or by name, but not both in the same call. For an+ example that uses named arguments, see [Passing arguments by name](#label-get-lineage-named-args). - For limitations and considerations that apply to using this function, see [Lineage limitations and considerations](#label-lineage-limitations).@@ -144,2 +146,21 @@ +----------+----------------------+------------------------+----------------------+--------------------+---------------+----------------------+------------------------+----------------------+--------------------+---------------+ ```++<a id="label-get-lineage-named-args"></a>++## Passing arguments by name++You can pass arguments by name instead of by position, which lets you omit the optional arguments you+don't need. The following query returns the same lineage as the previous example:++```sql+SELECT+ DISTANCE,+ SOURCE_OBJECT_NAME,+ TARGET_OBJECT_NAME+FROM TABLE (SNOWFLAKE.CORE.GET_LINEAGE(+ object_name => 'my_database.sch.table_a',+ object_domain => 'TABLE',+ direction => 'DOWNSTREAM',+ max_distance => 2));+```
DATA MOVEMENT POLICY をアカウントレベルの基準として設定・解除する構文が追加されました。SET DATA MOVEMENT POLICY <policy_name> [ FORCE ] で設定でき、既存ポリシーを置き換える場合は FORCE を指定し、UNSET DATA MOVEMENT POLICY で解除します。
影響: タグベースのポリシーが適用されないオブジェクトのデータ移動操作に対して、アカウント単位の基準ポリシーを管理できるようになります。
判定根拠: SQL 構文/コードブロックの増減 (+2/-0)
--- ahttps://docs.snowflake.com/en/sql-reference/sql/alter-account+++ bhttps://docs.snowflake.com/en/sql-reference/sql/alter-account@@ -50,4 +50,8 @@ ALTER ACCOUNT UNSET MAINTENANCE POLICY FOR ALL APPLICATIONS++ALTER ACCOUNT SET DATA MOVEMENT POLICY <policy_name> [ FORCE ]++ALTER ACCOUNT UNSET DATA MOVEMENT POLICY ALTER ACCOUNT SET { PACKAGES | PASSWORD | MULTI PARTY APPROVAL } POLICY <policy_name> [ FORCE ]@@ -458,4 +462,20 @@ </dd>+<dt><code className="samp">SET DATA MOVEMENT POLICY <em>policy_name</em> [ FORCE ]</code></dt>+<dd>++Specifies the [data movement policy](/user-guide/data-movement-policies) to apply as the account-level baseline. The+account-level policy governs data movement operations on objects that aren't covered by a tag-based policy.++If a data movement policy is already set on the account, use FORCE to replace it without having to unset the existing+policy first.++</dd>+<dt>`UNSET DATA MOVEMENT POLICY`</dt>+<dd>++Removes the data movement policy from the account.++</dd> <dt>`UNSET { AUTHENTICATION | SESSION } POLICY [ FOR ALL PERSON USERS | FOR ALL SERVICE USERS ]`</dt> <dd>
アクティブモデルの表示・変更機能が追加され、メッセージボックス右下のモデルセレクターから Auto、Auto Intelligent、個別モデルを選択できるようになりました。アカウント管理者は、全ユーザー向けの既定モデルも設定できます。 影響: 利用者はリクエストに応じてモデルを切り替えられ、管理者はアカウント全体の既定モデルを統一できます。
判定根拠: SQL 構文/コードブロックの増減 (+1/-0)
--- ahttps://docs.snowflake.com/en/user-guide/cortex-code/cortex-code-snowsight+++ bhttps://docs.snowflake.com/en/user-guide/cortex-code/cortex-code-snowsight@@ -154,4 +154,18 @@ - OpenAI GPT 5.2 (`openai-gpt-5.2`) +### View or change the active model++The model selector is the dropdown at the lower right of the message box, next to the send button. It shows the name of the active model, or **Auto** if no specific model is selected.++To see which model CoCo is using or to switch models, select the dropdown. A menu lists the available options:++- **Auto** - Snowflake selects the model.+- **Auto Intelligent** - Picks a model for you based on the request.+- A specific model, such as Claude Opus 5, Claude Sonnet 5, or OpenAI GPT 5.6 Sol. Each option includes a short description of what the model is best suited for.++Select an option from the menu to change the model.++Account administrators can configure a default model for all users in the account. For instructions, see [Configure default model settings](/user-guide/cortex-code/configure-model-settings).+ While the listed models may not be available in [all regions](#label-cortex-llm-availability), you can use CoCo in any cloud or region by using Cortex Cross-region inference. This includes clouds and regions where the models are not available. For more information, see [](/user-guide/snowflake-cortex/cross-region-inference).
validate_dataframe_checkpoint の説明を Dataframe から DataFrame に統一し、job_context は PARQUET モードではなく DATAFRAME モードで必須と改訂されました。また、検証モードの例が SCHEMA/DATAFRAME に変更され、Parquet ファイルではなく Snowflake にロードした DataFrame を用いる説明になっています。コード例のインデントも整えられています。
影響: PARQUET モードを前提に job_context や検証対象を設定している利用者は、DATAFRAME モードへの設定変更が必要になる可能性があります。
変更内容: 本文を更新(30行追加・30行削除)
--- ahttps://docs.snowflake.com/en/developer-guide/snowpark/python/checkpoints-validators+++ bhttps://docs.snowflake.com/en/developer-guide/snowpark/python/checkpoints-validators@@ -27,17 +27,17 @@ ```python- def original_spark_code_I_dont_understand(df):- from pyspark.sql.functions import col, when-- ret = df.withColumn(- "life_stage",- when(col("byte") < 4, "child")- .when(col("byte").between(4, 10), "teenager")- .otherwise("adult"),- )- return ret+ def original_spark_code_I_dont_understand(df):+ from pyspark.sql.functions import col, when++ ret = df.withColumn(+ "life_stage",+ when(col("byte") < 4, "child")+ .when(col("byte").between(4, 10), "teenager")+ .otherwise("adult"),+ )+ return ret @check_with_spark(- job_context=job_context, spark_function=original_spark_code_I_dont_understand+ job_context=job_context, spark_function=original_spark_code_I_dont_understand ) def new_snowpark_code_I_do_understand(df):@@ -45,15 +45,15 @@ ref = df.with_column(- "life_stage",- when(col("byte") < 4, lit("child"))- .when(col("byte").between(4, 10), lit("teenager"))- .otherwise(lit("adult")),- )- return ref-- df1 = new_snowpark_code_I_do_understand(df)+ "life_stage",+ when(col("byte") < 4, lit("child"))+ .when(col("byte").between(4, 10), lit("teenager"))+ .otherwise(lit("adult")),+ )+ return ref++ df1 = new_snowpark_code_I_do_understand(df) ``` -- <span className="emph">validate_dataframe_checkpoint:</span> This function validates a Snowpark Dataframe against a specific checkpoint schema file or imported Dataframe according to the argument mode. It ensures that the information collected for that DataFrame and the DataFrame that is passed to the function are equivalent.+- <span className="emph">validate_dataframe_checkpoint:</span> This function validates a Snowpark DataFrame against a specific checkpoint schema file or imported DataFrame according to the argument mode. It ensures that the information collected for that DataFrame and the DataFrame that is passed to the function are equivalent. @@ -64,6 +64,6 @@ - `df` (SnowparkDataFrame): The DataFrame to validate - `checkpoint_name` (str): The name of the checkpoint to validate against- - `job_context` (SnowparkJobContext, optional) (str): The job context for the validation; required for PARQUET mode- - `mode` (CheckpointMode): The mode of validation (e.g., SCHEMA, PARQUET); defaults to SCHEMA+ - `job_context` (SnowparkJobContext, optional): The job context for the validation; required for DATAFRAME mode+ - `mode` (CheckpointMode): The mode of validation (for example, SCHEMA or DATAFRAME); defaults to SCHEMA - `custom_checks` (Optional[dict[Any, Any]], optional): Custom checks to apply during validation - `skip_checks` (Optional[dict[Any, Any]], optional): Checks to skip during validation@@ -88,7 +88,7 @@ ``` - Depending on the mode selected, the validation will use either the collected schema file or a Parquet-loaded Dataframe in Snowflake to verify the equivalence against the PySpark version.--- <span className="emph">check-output_schema:</span> This decorator validates the schema of a Snowpark function's output and ensures that the output DataFrame conforms to a specified Pandera schema. It is particularly useful for enforcing data integrity and consistency in Snowpark pipelines. This decorator takes several parameters, including the Pandera schema to validate against, the checkpoint name, sampling parameters, and an optional job context. It wraps the Snowpark function and performs schema validation on the output DataFrame before returning the result.+ Depending on the mode selected, the validation will use either the collected schema file or a DataFrame loaded in Snowflake to verify the equivalence against the PySpark version.++- <span className="emph">check_output_schema:</span> This decorator validates the schema of a Snowpark function's output and ensures that the output DataFrame conforms to a specified Pandera schema. It is particularly useful for enforcing data integrity and consistency in Snowpark pipelines. This decorator takes several parameters, including the Pandera schema to validate against, the checkpoint name, sampling parameters, and an optional job context. It wraps the Snowpark function and performs schema validation on the output DataFrame before returning the result. Example:@@ -156,7 +156,7 @@ @check_input_schema(input_schema, "input_schema_checkpoint") def process_dataframe(dataframe: SnowparkDataFrame):- return dataframe.with_column(- "COLUMN3", dataframe["COLUMN1"] + dataframe["COLUMN2"]- )+ return dataframe.with_column(+ "COLUMN3", dataframe["COLUMN1"] + dataframe["COLUMN2"]+ ) # Create a Snowpark session and DataFrame@@ -176,5 +176,5 @@ ## Statistics checks -Statistics validations are applied to the specific column type by default when the validation is run in `Schema` mode; these checks can be skipped with `skip_checks`.+Statistics validations are applied to the specific column type by default when the validation is run in `SCHEMA` mode; these checks can be skipped with `skip_checks`. <div className="colwidths-given">@@ -237,5 +237,5 @@ - `str_startswith` - `in_range`-- `equal_to`+- `equal_to` - `greater_than_or_equal_to` - `greater_than`
CoCo CLI に Interactive mode(既定) と Batch mode の区分が明記され、-p や cortex exec によるバッチ実行と、インタラクティブ専用のスラッシュコマンド・キーボードショートカットの適用範囲が整理された。また、/worktree の作成場所と /sandbox の分離方式(Docker/OS 制限)が説明として追加された。
影響: 対話操作と CI/CD・スクリプト向けのバッチ実行を使い分ける際に、-p、cortex exec、スラッシュコマンドの利用可否を判断しやすくなった。
変更内容: 本文を更新(41行追加・1行削除)
--- ahttps://docs.snowflake.com/en/user-guide/cortex-code/cli-reference+++ bhttps://docs.snowflake.com/en/user-guide/cortex-code/cli-reference@@ -6,5 +6,13 @@ - [CoCo in Snowsight](/user-guide/cortex-code/cortex-code-snowsight) -Command line reference for CoCo CLI.+Command line reference for CoCo CLI. CoCo CLI operates in two modes:++- **Interactive mode** (default): Start a persistent session where you type prompts and slash commands at an+ interactive prompt. CoCo maintains conversation context across multiple exchanges.+- **Batch mode**: Pass a single prompt on the command line or from a file. CoCo processes it and exits+ without starting an interactive session.++The sections below cover the startup command, CLI options shared by both modes, subcommands you run+*before* entering a session, interactive-mode commands you use *within* a session, and batch-mode usage. ## Starting CoCo@@ -65,4 +73,7 @@ ## Commands +These subcommands run from your shell *before* or *instead of* starting an interactive session.+They are distinct from the slash commands (like `/mcp`) that you type inside an interactive session.+ ### `update` @@ -109,5 +120,14 @@ ## Interactive mode +Interactive mode is the default when you run `cortex` without `-p` or `exec`. CoCo opens a persistent+session where you type natural-language prompts and slash commands at the `>` prompt. The agent processes+your request, potentially using multiple tools, and then returns to the prompt for your next input.++Keyboard shortcuts and slash commands described in this section work only in interactive mode. They+don't apply in batch mode or inside a file passed to `cortex exec --file`.+ ### Keyboard shortcuts++These shortcuts are active at the interactive prompt and while the agent is working: <div className="colwidths-given">@@ -149,4 +169,8 @@ ### Slash commands++Slash commands are special commands you type at the interactive prompt. They start with `/` and+control CoCo's behavior without being sent to the AI model as a prompt. Slash commands work only+in interactive mode. #### Session management@@ -261,4 +285,8 @@ #### `/worktree`: Git worktrees +Git worktrees let you work on multiple branches simultaneously without switching back and forth.+CoCo creates worktrees under your project directory by default (in a `.worktrees/` subdirectory+or alongside your main checkout, depending on your git configuration).+ | Command | Description | | --------------------------------- | ------------------- |@@ -269,4 +297,9 @@ #### `/sandbox`: Sandbox control++CoCo's sandbox isolates shell commands in a restricted environment so they can't modify files+outside your working directory or access sensitive system resources. This is a CoCo-specific+security feature. The container sandbox uses Docker, while the runtime sandbox uses OS-level+restrictions (macOS sandbox or Linux namespaces). | Command | Description |@@ -288,4 +321,11 @@ ## Batch mode++Batch mode runs a single prompt without starting an interactive session. CoCo processes the request,+prints the result, and exits. This is useful for scripting, CI/CD pipelines, and one-off questions+where you don't need a back-and-forth conversation.++Use `-p` for inline prompts or `cortex exec` for prompts from files or stdin. Slash commands don't+work in batch mode because there's no interactive prompt. | Command | Description |
機能・パラメータ・構文の追加削除はなく、orchestrate の誤記修正、%scai% や Snowflake CLI 周辺の余分な空白・表記統一、snow connection test のコード書式化など、主に文面と体裁を改善した変更です。
影響: 移行手順やコマンドの意味は変わらず、可読性と表記の正確性が向上します。
変更内容: 本文を更新(19行追加・19行削除)
--- ahttps://docs.snowflake.com/en/migrations/aim-for-datawarehouses/manual-migration/README+++ bhttps://docs.snowflake.com/en/migrations/aim-for-datawarehouses/manual-migration/README@@ -1,3 +1,3 @@-# When you want to orchesrate the migration+# When you want to orchestrate the migration Snowflake's recommended way of migrating data warehouses is through the [%migration-skill%](/migrations/aim-for-datawarehouses/overview). Its CoCo-powered orchestration greatly accelerates the overall time it takes to complete a migration. @@ -8,19 +8,19 @@ # What is %scai%? -With the %scai% , migration engineers can:+With the %scai%, migration engineers can: * extract code from their source platform * run a deterministic conversion on that code- * further advance their migration using AI conversion to cover objects that the deterministic engine could not translate+* further advance their migration using AI conversion to cover objects that the deterministic engine could not translate * deploy that code to Snowflake * migrate data from the source system to Snowflake * validate that data between the two systems -The %scai% will also allow developers to create skills and agents that utilize the tool to automate their process.+The %scai% will also allow developers to create skills and agents that utilize the tool to automate their process. ## Prerequisites * macOS, Windows, or Linux-* SnowflakeCLI: recommended for Snowflake connection configuration [SnowCLI Install Guide](https://docs.snowflake.com/en/developer-guide/snowflake-cli/installation/installation)+* Snowflake CLI: recommended for Snowflake connection configuration [SnowCLI Install Guide](https://docs.snowflake.com/en/developer-guide/snowflake-cli/installation/installation) * A source database to extract from, or a set of code to use@@ -28,5 +28,5 @@ ## Snowflake Connection Setup -The %scai% reuses your Snowflake CLI connection configuration. The connection is used for functionality in ai-convert, deploy, and the cloud versions of data migration and validation. Your Snowflake account also authenticates you for %scai% , skipping the need for an access code that was necessary in prior versions.\*+The %scai% reuses your Snowflake CLI connection configuration. The connection is used for functionality in ai-convert, deploy, and the cloud versions of data migration and validation. Your Snowflake account also authenticates you for %scai%, skipping the need for an access code that was necessary in prior versions. **Snowflake Account Requirement**@@ -34,8 +34,8 @@ Before using scai init, scai code convert, scai code extract, scai ai-convert, or scai code deploy, ensure that you: -Can connect to Snowflake with snow connection test-Your Snowflake CLI has a default connection configured (this is used when you don't specify a name).--`To configure a Snowflake connection:`+- Can connect to Snowflake with `snow connection test`+- Have a default Snowflake CLI connection configured (this is used when you don't specify a name)++To configure a Snowflake connection: ```shell@@ -71,5 +71,5 @@ If you do not have homebrew installed, follow the [instructions here](https://brew.sh/). -There are two public channels for builds, Preview and GA.+There are two public channels for builds: Preview and GA. Stable Version (recommended)@@ -93,5 +93,5 @@ Usage -After installation, you can use the %scai% :+After installation, you can use the %scai%: ```shell@@ -101,5 +101,5 @@ Managing Installations -View installed Version+View installed version ```shell@@ -168,5 +168,5 @@ ## Accept Terms and Conditions -Issuing the following command will display the license terms for using the %scai% . It is required that you do this in order to use the product.+Issuing the following command will display the license terms for using the %scai%. It is required that you do this in order to use the product. ```shell@@ -334,5 +334,5 @@ The interactive mode will prompt you for connection details. -Set a default source connection (used with scai code extract runs without -source-connection)+Set a default source connection (used with scai code extract runs without --source-connection) ```shell@@ -927,5 +927,5 @@ scai code convert -# Review converted code in converted/ folder, then deploy+# Review converted code in snowflake/ folder, then deploy scai code deploy --all ```@@ -1024,7 +1024,7 @@ "Connection not found" (source database) -1. List your connections: scai connection list -l \<language\>-2. Add a connection if needed: scai connection add-sql-server or scai connection add-redshift-3. Or set a default: scai connection set-default -l \<language\> --connection-name \<name\>+1. List your connections: `scai connection list -l <language>`+2. Add a connection if needed: `scai connection add-sql-server` or `scai connection add-redshift`+3. Or set a default: `scai connection set-default -l <language> --connection-name <name>` "Authentication failed" for Snowflake
2026年8月のプレビュー機能として、Snowflake ODBC Driver 4.x と Snowflake Connector for Python 5.x(Universal Core ベース)が追加され、いずれも証明書失効確認は CRL 使用・既定で無効です。さらに、Snowflake Horizon Catalog 経由で外部管理 Iceberg テーブルに対する読み取りおよび DML/DDL 操作が追加された一方、Metadata-based sensitive data classification recommendations in Snowsight と Power BI ingestion for Semantic View Autopilot の掲載行が削除されました。 影響: ODBC 4.x は 3.x を同一マシン上で置き換えるため専用環境での検証が必要で、Python 5.x はリリース候補版のため pip install --pre が必要です。
変更内容: 本文を更新(21行追加・14行削除)
--- ahttps://docs.snowflake.com/en/release-notes/preview-features+++ bhttps://docs.snowflake.com/en/release-notes/preview-features@@ -79,4 +79,25 @@ <tbody> <tr>+ <td>Snowflake ODBC Driver 4.x, built on the Universal Core</td>+ <td>Open</td>+ <td>August 2026</td>+ <td>[](/developer-guide/odbc/odbc-universal-core)</td>+ <td>A new major version of the ODBC driver, built on the Universal Core shared Rust library. Installing it replaces the 3.x driver on the same machine, so validate it on a dedicated host, VM, or container. Certificate revocation checking uses certificate revocation lists (CRLs) rather than the Online Certificate Status Protocol (OCSP), and is off by default.</td>+ </tr>+ <tr>+ <td>Snowflake Connector for Python 5.x, built on the Universal Core</td>+ <td>Open</td>+ <td>August 2026</td>+ <td>[](/developer-guide/python-connector/python-connector-universal-core)</td>+ <td>A new major version of the Python connector, built on the Universal Core shared Rust library and published as a release candidate under the existing `snowflake-connector-python` package name. Because pre-release versions are not installed by default, `pip install --pre` is required. Certificate revocation checking uses CRLs rather than OCSP, and is off by default.</td>+ </tr>+ <tr>+ <td>Access externally managed %iceberg-tm% tables through Snowflake Horizon Catalog</td>+ <td>Open</td>+ <td>August 2026</td>+ <td>[](/user-guide/externally-managed-iceberg-tables-access-horizon-irc)</td>+ <td>Use the Horizon Iceberg REST Catalog API to read and perform DML and DDL operations on externally managed Iceberg tables in a catalog-linked database from external engines such as Apache Spark™, Trino, DuckDB, or PyIceberg.</td>+ </tr>+ <tr> <td>Open Data Sharing</td> <td>Open</td>@@ -154,11 +175,4 @@ <td>[](/user-guide/classify-intro#label-classify-ai-mode)</td> <td>Use LLMs to identify additional semantic categories beyond standard classification when you enable AI mode on a classification profile in the Trust Center or with SQL.</td>- </tr>- <tr>- <td>Metadata-based sensitive data classification recommendations in Snowsight</td>- <td>Open</td>- <td>July 2026</td>- <td>[](/user-guide/classify-ui-trust-center#label-classify-trust-center-sensitive-data-banner)</td>- <td>Show a banner on the database details page in Snowsight when object metadata indicates a database is likely to contain sensitive data, with a one-click option to enable classification.</td> </tr> <tr>@@ -419,11 +433,4 @@ <td>[](/user-guide/dcm-projects/dcm-projects-supported-entities#label-dcm-projects-attach-tag)</td> <td>Declaratively assign Snowflake object tags to %dcm%-managed entities; %dcm% reconciles declared tag assignments on every deployment.</td>- </tr>- <tr>- <td>Power BI ingestion for Semantic View Autopilot</td>- <td>Open</td>- <td>June 2026</td>- <td>[](/user-guide/views-semantic/power-bi-ingestion)</td>- <td></td> </tr> <tr>
2026年8月18日付で、Runtime Extensions に CountTableRows、Salesforce の最新スナップショット選択、CDC SQL Server のデータ損失ウィンドウ修正、UpdateSnowflakeStream のストリーム存在キャッシュ(オプトイン)が追加されました。Connectors では Snowpipe Streaming のオフセット追跡タイムアウトを 60秒に統一・適用し、Oracle 系の既定スナップショット取得件数を 100行から5,000行へ増加、SQL Server CT のコネクターイベント公開と Table Consolidation フローが追加されました。
影響: ストリーミング連携の一時的なポーリング失敗や重複・データ損失リスクの低減に加え、Oracle の初回取得性能向上と SQL Server のスナップショット/CDC 統合運用が可能になります。
変更内容: 本文を更新(33行追加・0行削除)
--- ahttps://docs.snowflake.com/en/user-guide/data-integration/openflow/version-history+++ bhttps://docs.snowflake.com/en/user-guide/data-integration/openflow/version-history@@ -254,4 +254,37 @@ </div> +## August 18, 2026++<a id="label-runtime-server-2026-8-18-9"></a>++### Runtime Server 2026.8.18.9++- Security patches and dependency upgrades.+- Upgraded the Runtime UI to version 0.86.0.+ - Prompted users to save or discard unsaved edits before navigating to an inherited Parameter Context, preventing silent loss of configuration changes.++<a id="label-runtime-extensions-2026-8-18-9"></a>++### Runtime Extensions 2026.8.18.9++- Databases: Added a `CountTableRows` processor that counts rows in a SQL table and stores the result in a configured FlowFile attribute.+- Salesforce: Selected the latest staged snapshot for each Salesforce record during deduplication, preventing stale values from being merged when staging contains multiple snapshots.+- CDC SQL Server: Fixed a rare data-loss window where a captured batch could be silently skipped if the destination commit failed after the batch was read.+- Snowflake: Added an opt-in stream-existence cache to `UpdateSnowflakeStream`, avoiding a redundant DDL statement per FlowFile when using `Create Stream If Not Exists`.++<a id="label-connectors-2026-8-18-1"></a>++### Connectors 2026.8.18.1++- MongoDB 0.27.0: Used a 60-second Snowpipe Streaming offset-tracking timeout to reduce transient polling failures while data continues flowing.+- CDC MySQL 0.57.0: Used a 60-second Snowpipe Streaming offset-tracking timeout to reduce transient polling failures while data continues flowing.+- Oracle Embedded License 0.45.0: Increased the default snapshot fetch size from 100 to 5,000 rows and used a 60-second offset-tracking timeout.+- Oracle Embedded License Public Sector 0.44.0: Increased the default snapshot fetch size from 100 to 5,000 rows and used a 60-second offset-tracking timeout.+- Oracle Independent License 0.44.0: Increased the default snapshot fetch size from 100 to 5,000 rows and used a 60-second offset-tracking timeout.+- CDC PostgreSQL 0.62.0: Used a 60-second Snowpipe Streaming offset-tracking timeout to reduce transient polling failures while data continues flowing.+- CDC SQL Server 0.48.0: Used a 60-second Snowpipe Streaming offset-tracking timeout to reduce transient polling failures while data continues flowing.+- SQL Server CT 0.49.0: Added optional connector-event publishing for table consolidation and used a 60-second offset-tracking timeout.+- Table Consolidation 0.1.0: Added a flow that consumes connector events and merges snapshot and CDC rows into consolidated destination tables.+ ## August 13, 2026
Account Usage の一覧に、DATA_MOVEMENT_POLICIES と DATA_MOVEMENT_POLICY_RULES(Object、遅延2時間)、DATA_MOVEMENT_RULE_REFERENCES と DATA_MOVEMENT_VIOLATIONS(Historical、遅延3時間)が追加されました。DATA_MOVEMENT_VIOLATIONS のデータ保持期間は 1年間 と記載されています。 影響: データ移動ポリシーの設定・ルール・参照・違反状況を、追加された Account Usage ビューから確認できるようになります。
変更内容: 本文を更新(28行追加・0行削除)
--- ahttps://docs.snowflake.com/en/sql-reference/account-usage+++ bhttps://docs.snowflake.com/en/sql-reference/account-usage@@ -524,4 +524,32 @@ <td>Enterprise Edition (or higher)</td> <td></td>+ </tr>+ <tr>+ <td>[DATA_MOVEMENT_POLICIES](/sql-reference/account-usage/data_movement_policies)</td>+ <td>Object</td>+ <td>2 hours</td>+ <td></td>+ <td></td>+ </tr>+ <tr>+ <td>[DATA_MOVEMENT_POLICY_RULES](/sql-reference/account-usage/data_movement_policy_rules)</td>+ <td>Object</td>+ <td>2 hours</td>+ <td></td>+ <td></td>+ </tr>+ <tr>+ <td>[DATA_MOVEMENT_RULE_REFERENCES](/sql-reference/account-usage/data_movement_rule_references)</td>+ <td>Historical</td>+ <td>3 hours</td>+ <td></td>+ <td></td>+ </tr>+ <tr>+ <td>[DATA_MOVEMENT_VIOLATIONS](/sql-reference/account-usage/data_movement_violations)</td>+ <td>Historical</td>+ <td>3 hours</td>+ <td></td>+ <td>Data is retained for one year.</td> </tr> <tr>
主に誤字・表記を修正し、Java向けページとしての整合性を改善しました。具体的には、insert の引数を new Column[]{...} に修正し、コードブロックの言語指定を java に変更したほか、Java文字列リテラルの説明、セミコロン不足、文法上の誤りを訂正しました。
影響: Snowpark Javaのサンプルコードがより正確になり、特に insert の記述はコンパイル可能な構文に近づきましたが、新機能や動作仕様の変更はありません。
変更内容: 本文を更新(10行追加・10行削除)
--- ahttps://docs.snowflake.com/en/developer-guide/snowpark/java/working-with-dataframes+++ bhttps://docs.snowflake.com/en/developer-guide/snowpark/java/working-with-dataframes@@ -163,5 +163,5 @@ ```java // Create a DataFrame that contains the id, name, and serial_number- // columns in te "sample_product_data" table.+ // columns in the "sample_product_data" table. DataFrame df = session.table("sample_product_data").select( Functions.col("id"), Functions.col("name"), Functions.col("serial_number"));@@ -265,5 +265,5 @@ If the name does not conform to the identifier requirements, you must use double quotes (`"`) around the name. Use a backslash-(`\`) to escape the double quote character within a Scala string literal. For example, the following table name does not start+(`\`) to escape the double quote character within a Java string literal. For example, the following table name does not start with a letter or an underscore, so you must use double quotes around the name: @@ -273,5 +273,5 @@ Note that when specifying the name of a <span className="emph">column</span>, you don't need to use double quotes around the name. The Snowpark library-automatically encloses the column name in double quotes for you if the name does not comply with the identifier requirements:.+automatically encloses the column name in double quotes for you if the name does not comply with the identifier requirements: ```java@@ -790,5 +790,5 @@ #### Performing a Self-Join -If you need to join a table with itself on different columns, you cannot perform the self-join with a single DataFrame. The+If you need to join a table with itself on different columns, you can't perform the self-join with a single DataFrame. The following examples that use a single DataFrame to perform a self-join fail because the column expressions for `"id"` are present in the left and right sides of the join:@@ -1293,5 +1293,5 @@ ### Merging Rows into a Table -To insert, update, and deletes rows in one table based on values in a second table or a subquery (the equivalent of the+To insert, update, and delete rows in one table based on values in a second table or a subquery (the equivalent of the [](/sql-reference/sql/merge) command in SQL), do the following: @@ -1305,5 +1305,5 @@ - To specify the update or deletion that should be performed on matching rows, call the `whenMatched` method. - If you need to specify an additional condition whe rows should be updated or deleted, you can pass in a column expression for+ If you need to specify an additional condition when rows should be updated or deleted, you can pass in a column expression for that condition. @@ -1338,5 +1338,5 @@ ```java MergeResult mergeResult = target.merge(source, target.col("id").equal_to(source.col("id")))- .whenNotMatched().insert([source.col("id"), source.col("value")])+ .whenNotMatched().insert(new Column[]{source.col("id"), source.col("value")}) .collect(); ```@@ -1483,5 +1483,5 @@ for the table `sample_product_data`: -```scala+```java HasCachedResult dfTempTable = dfTable.cacheResult(); ```@@ -1550,5 +1550,5 @@ // Upload the CSV files in /tmp with names that start with "file". // You can use the wildcard characters "*" and "?" to match multiple files.- PutResult[] putResults = session.file().put("file:///tmp/file*.csv", "@myStage/prefix2")+ PutResult[] putResults = session.file().put("file:///tmp/file*.csv", "@myStage/prefix2"); ``` @@ -1862,5 +1862,5 @@ - [PARTITION BY or HEADER](#label-copy-into-location-optional-parameters). - Note that you cannot use the `option` method to set the following options:+ Note that you can't use the `option` method to set the following options: - The TYPE format type option.
ai_mode 引数が追加され、LLM により標準分類以外の意味カテゴリも識別できるようになりました。{'ai_mode': true, 'auto_tag': true} で分類タグを自動設定でき、LLM 利用には AI_SENSITIVE_DATA_CLASSIFICATION サービス料金が発生します。また、タグ自動設定を使う場合はスキーマの OWNERSHIP 権限を持つロールで呼び出す必要があります。
影響: AI mode の利用時は追加料金が発生し、auto_tag 利用時は必要な権限を持つロールで実行する必要があります。
変更内容: 本文を更新(18行追加・0行削除)
--- ahttps://docs.snowflake.com/en/sql-reference/stored-procedures/system_classify_schema+++ bhttps://docs.snowflake.com/en/sql-reference/stored-procedures/system_classify_schema@@ -71,4 +71,22 @@ Classify the specified object while specifying the number of rows to sample and set the recommended system tag on each column in the specified object when the classification process is complete.++When you use this argument, call the stored procedure with the role that has the OWNERSHIP privilege on the schema.++</dd>+<dt>`{'ai_mode': true}`</dt>+<dd>++Enables [AI mode](/user-guide/classify-intro#label-classify-ai-mode) to use LLMs to identify additional semantic categories beyond those+identified by standard classification.++LLM usage is billed under the `AI_SENSITIVE_DATA_CLASSIFICATION` [service type](/sql-reference/service-types).++</dd>+<dt>`{'ai_mode': true, 'auto_tag': true}`</dt>+<dd>++Classify the specified object with AI mode enabled and set the recommended classification system tags on the columns when the+classification process is complete. When you use this argument, call the stored procedure with the role that has the OWNERSHIP privilege on the schema.
APPLY DATA MOVEMENT POLICY 権限がグローバル権限およびオブジェクト権限として追加され、タグまたはアカウントにデータ移動ポリシーを設定できるようになりました。さらに、スキーマで CREATE DATA MOVEMENT POLICY と CREATE DATA MOVEMENT RULE を実行できる権限が追加されました。 影響: データ移動ポリシーとルールの作成・適用を行うロールに、これらの新しい権限を付与する必要があります。
変更内容: 本文を更新(18行追加・0行削除)
--- ahttps://docs.snowflake.com/en/user-guide/security-access-control-privileges+++ bhttps://docs.snowflake.com/en/user-guide/security-access-control-privileges@@ -68,4 +68,9 @@ </tr> <tr>+ <td>APPLY DATA MOVEMENT POLICY</td>+ <td>Global</td>+ <td>Grants the ability to set a [data movement policy](/user-guide/data-movement-policies) on a tag or on the account.</td>+ </tr>+ <tr> <td>APPLY FEATURE POLICY</td> <td>Global</td>@@ -555,4 +560,9 @@ <td>APPLY CONTACT</td> <td>Grants the ability to associate or detach a [contact](/user-guide/contacts-using) with an object.</td>+ <td></td>+ </tr>+ <tr>+ <td>APPLY DATA MOVEMENT POLICY</td>+ <td>Grants the ability to set a [data movement policy](/user-guide/data-movement-policies) on a tag or on the account.</td> <td></td> </tr>@@ -1753,4 +1763,12 @@ <td>CREATE DATA METRIC FUNCTION</td> <td>Enables creating a new data metric function in a schema.</td>+ </tr>+ <tr>+ <td>CREATE DATA MOVEMENT POLICY</td>+ <td>Enables creating a new [data movement policy](/user-guide/data-movement-policies) in a schema.</td>+ </tr>+ <tr>+ <td>CREATE DATA MOVEMENT RULE</td>+ <td>Enables creating a new [data movement rule](/user-guide/data-movement-policies) in a schema.</td> </tr> <tr>
account() は CLI 専用となり、Desktop では読み込まれても強制されないことが明記されました。また、権限対象に grep と glob が追加され、CLI の cortex managed-settings で有効なポリシーや検証エラー・警告を確認できるようになりました。
影響: 管理者は grep・glob の許可を明示的に設定でき、アカウント制限は CLI にのみ適用される点と、cortex managed-settings による設定確認を運用時に考慮する必要があります。
変更内容: 本文を更新(15行追加・3行削除)
--- ahttps://docs.snowflake.com/en/user-guide/cortex-code/managed-settings+++ bhttps://docs.snowflake.com/en/user-guide/cortex-code/managed-settings@@ -9,5 +9,5 @@ Managed settings allow IT administrators to enforce CoCo behavior across an organization. They apply to both **CoCo CLI** and **CoCo Desktop**, which read the same `managed-settings.json` file from the same system path. Settings are deployed to a system-owned file that users can't modify, and they take precedence over all user-level configuration. -CoCo Desktop and CoCo CLI share this schema, but some keys apply to the CLI only and have no effect in Desktop: `required.minimumVersion` (Desktop has its own auto-update), `settings.forceSandboxEnabled` / `settings.forceSandboxMode`, `files.connectionsFile` / `files.mcpFile`, and `defaults.*`. The `permissions`, `settings.forceNoHistoryMode`, and `ui.*` keys apply to both.+CoCo Desktop and CoCo CLI share this schema, but some keys apply to the CLI only and have no effect in Desktop: `required.minimumVersion` (Desktop has its own auto-update), `settings.forceSandboxEnabled` / `settings.forceSandboxMode`, `files.connectionsFile` / `files.mcpFile`, `defaults.*`, and `account()` (Desktop reads the setting but doesn't enforce it; account restrictions are CLI-only). The `permissions`, `settings.forceNoHistoryMode`, and `ui.*` keys apply to both. When managed settings are present, CoCo displays a banner at startup indicating that it's running in managed mode.@@ -411,4 +411,12 @@ </tr> <tr>+ <td>`"grep"`</td>+ <td>The `grep` (file content search) tool</td>+ </tr>+ <tr>+ <td>`"glob"`</td>+ <td>The `glob` (file pattern matching) tool</td>+ </tr>+ <tr> <td>`"bash"`</td> <td>All bash shell invocations</td>@@ -476,9 +484,9 @@ <tr> <td>`"account(myorg)"`</td>- <td>Exact Snowflake account name</td>+ <td>Exact Snowflake account name (CLI-only; Desktop reads but doesn't enforce this setting)</td> </tr> <tr> <td>`"account(myorg-*)"`</td>- <td>Snowflake accounts matching a glob</td>+ <td>Snowflake accounts matching a glob (CLI-only; Desktop reads but doesn't enforce this setting)</td> </tr> </tbody>@@ -562,4 +570,6 @@ "write", "edit",+ "grep",+ "glob", "sql_execute", "skill(bundled:*)",@@ -637,2 +647,4 @@ To check the enforcement config path for your platform, verify whether the file exists at the OS-specific path listed in [](#label-cortex-code-managed-file-locations).++To inspect the active policy from the CLI, run `cortex managed-settings`. The command prints the parsed schema, the resolved permission mode, and any validation errors or warnings.
policy_definition 列が追加され、ポリシーに設定された conditional creation rules の YAML 本文を返すようになりました(本文がない場合は空)。あわせて、feature policy の参照先が /developer-guide/native-apps/ui-consumer-feature-policies から /user-guide/feature-policies に変更され、「Available to all accounts.」の記載は削除されました。
影響: DESCRIBE FEATURE POLICY の結果から 条件付き作成ルールの定義を取得できるようになり、ドキュメント上の参照先とアカウント利用可否の記載も変わります。
変更内容: 本文を更新(8行追加・3行削除)
--- ahttps://docs.snowflake.com/en/sql-reference/sql/desc-feature-policy+++ bhttps://docs.snowflake.com/en/sql-reference/sql/desc-feature-policy@@ -3,7 +3,5 @@ This feature is not available in the People's Republic of China. -Available to all accounts.--Describes the properties of a [feature policy](/developer-guide/native-apps/ui-consumer-feature-policies).+Describes the properties of a [feature policy](/user-guide/feature-policies). DESCRIBE can be abbreviated to DESC.@@ -108,4 +106,11 @@ <td>The list of objects that the feature policy blocks for creation.</td> </tr>+ <tr>+ <td>`policy_definition`</td>+ <td>+ The YAML body for [conditional creation rules](/user-guide/feature-policies#label-feature-policy-rules),+ if one is set on the policy. Empty when the policy has no body.+ </td>+ </tr> </tbody>
(この変更は要約対象外です。diff を参照してください)
変更内容: 本文を更新(5行追加・5行削除)
--- ahttps://docs.snowflake.com/en/migrations/aim-for-datawarehouses/data-migration-validation/glossary+++ bhttps://docs.snowflake.com/en/migrations/aim-for-datawarehouses/data-migration-validation/glossary@@ -23,11 +23,11 @@ The L3 step that compares individual column values when row fingerprinting detects a mismatch. Results are stored in `CELL_VALIDATION_RESULTS`. +## Compute pool++Snowflake object that hosts Snowpark Container Services. You create a compute pool before deploying Orchestrator or Worker services. See [Deploying workers](./deploy-workers).+ ## Custom metrics Workflow-wide overrides for L2 aggregate metrics per data type. Set `validationCustomMetrics` at the workflow root with `source` and `target` arrays. See [Customizing normalization and metrics](../manual-migration/data-validation-configuration-reference#customizing-normalization-and-metrics).--## Compute pool--Snowflake object that hosts Snowpark Container Services. You create a compute pool before deploying Orchestrator or Worker services. See [Deploying workers](./deploy-workers). ## DUPLICATE_SOURCE, DUPLICATE_TARGET, DUPLICATE_BOTH_SIDES@@ -65,5 +65,5 @@ ## NOT_FOUND_SOURCE, NOT_FOUND_TARGET -L3 row validation results for rows present on only one side: `NOT_FOUND_TARGET` (the row exists on the source but is missing from the target) and `NOT_FOUND_SOURCE` (the row exists on the target but is missing from the source). See [Validation levels and result codes](../manual-migration/data-validation-configuration-reference#validation-levels-and-result-codes).+L3 row validation results for rows present on only one side: `NOT_FOUND_SOURCE` (the row exists on the target but is missing from the source) and `NOT_FOUND_TARGET` (the row exists on the source but is missing from the target). See [Validation levels and result codes](../manual-migration/data-validation-configuration-reference#validation-levels-and-result-codes). ## Orchestrator
(この変更は要約対象外です。diff を参照してください)
変更内容: 本文を更新(4行追加・5行削除)
--- ahttps://docs.snowflake.com/en/user-guide/cleanrooms/spec-code-spec+++ bhttps://docs.snowflake.com/en/user-guide/cleanrooms/spec-code-spec@@ -34,5 +34,5 @@ content_hash: <sha256_hash> # Optional: Lowercase SHA-256 hash for integrity verification -functions: # Required if no procedures defined+functions: # Required if no procedures or ML jobs defined - name: <identifier> # One or more functions... type: UDF | UDTF # Required: Function type@@ -55,5 +55,5 @@ - name: <identifier> # One or more procedure items... language: PYTHON # Required: Currently only PYTHON supported- runtime_version: <python_version> # Optional: Python runtime version+ runtime_version: <python_version> # Optional: Python runtime version (3.10 - 3.14) handler: <handler> # Required: Handler function arguments: # Optional: One or more procedure arguments@@ -125,6 +125,5 @@ An alias for referencing this artifact in imports. When referencing this alias within this spec, use the bare alias name rather than -<code className="samp">cleanroom.<em>spec_name</em>$<em>alias</em></code>; that is, use the bare function name to reference another function in this-spec.+<code className="samp">cleanroom.<em>spec_name</em>$<em>alias</em></code>. </dd>@@ -138,5 +137,5 @@ - **The stage must be internal.** External stages aren't supported.-- **The stage must have DIRECTORY enabled**: The stage containing artifacts must have `DIRECTORY = TRUE` set.+- **The stage must have DIRECTORY enabled**: The stage containing artifacts must have `DIRECTORY = (ENABLE = TRUE)` set. - **Stage path format**: Must follow <code className="samp">@[<em>DB</em>.]SCHEMA.STAGE/path/to/file.ext</code> format. - **No path traversal**: Stage paths can't contain `..` or `\`.
(この変更は要約対象外です。diff を参照してください)
変更内容: 本文を更新(4行追加・4行削除)
--- ahttps://docs.snowflake.com/en/user-guide/snowflake-cortex/cortex-agents-mcp-connectors+++ bhttps://docs.snowflake.com/en/user-guide/snowflake-cortex/cortex-agents-mcp-connectors@@ -138,5 +138,5 @@ **GitHub:** -1. Sign into GitHub.+1. Sign in to GitHub. 2. Navigate to the top right avatar, and select **Settings**. 3. Select **Developer Settings**.@@ -210,5 +210,5 @@ 13. Select **Salesforce**. 14. Enter a description for the MCP Server.-15. Enter the MCP server URL. Salesforce exposes their MCP servers through individual URLs, and the user needs to know what server/tools to access. The OAuth tokens retrieved from the last step can be used for all servers and tools, as long as the scopes permit.+15. Enter the MCP server URL. Salesforce exposes its MCP servers through individual URLs, and the user needs to know what server/tools to access. The OAuth tokens retrieved from the last step can be used for all servers and tools, as long as the scopes permit. The base URL for each hosted MCP server is:@@ -534,6 +534,6 @@ connectors list. Snowflake supports user authentication types for Atlassian, GitHub, Glean, Linear, and Salesforce in the API integration. - **Least-privilege access:** Grant only the minimum required privileges for each role. Access to an MCP- server doesn't automatically grant access to its tools, you must grant permissions separately for each tool.-- **OAuth authentication:** Snowflake only supports using OAuth for all MCP server connections.+ server doesn't automatically grant access to its tools. You must grant permissions separately for each tool.+- **OAuth authentication:** Snowflake supports only OAuth for MCP server connections. - **Refresh token validity:** When using `TYPE = OAUTH2`, set `OAUTH_REFRESH_TOKEN_VALIDITY` (in seconds, minimum `3600`) in the API integration's `API_USER_AUTHENTICATION` block.
(この変更は要約対象外です。diff を参照してください)
変更内容: 本文を更新(4行追加・4行削除)
--- ahttps://docs.snowflake.com/en/developer-guide/snowpark/scala/working-with-dataframes+++ bhttps://docs.snowflake.com/en/developer-guide/snowpark/scala/working-with-dataframes@@ -147,5 +147,5 @@ // Create a DataFrame that contains the id, name, and serial_number- // columns in te "sample_product_data" table.+ // columns in the "sample_product_data" table. val df = session.table("sample_product_data").select(col("id"), col("name"), col("serial_number")) df.show()@@ -299,5 +299,5 @@ Note that when specifying the name of a <span className="emph">column</span>, you don't need to use double quotes around the name. The Snowpark library-automatically encloses the column name in double quotes for you if the name does not comply with the identifier requirements:.+automatically encloses the column name in double quotes for you if the name does not comply with the identifier requirements: ```scala@@ -1306,5 +1306,5 @@ ### Merging Rows into a Table -To insert, update, and deletes rows in one table based on values in a second table or a subquery (the equivalent of the+To insert, update, and delete rows in one table based on values in a second table or a subquery (the equivalent of the [](/sql-reference/sql/merge) command in SQL), do the following: @@ -1318,5 +1318,5 @@ - To specify the update or deletion that should be performed on matching rows, call the `whenMatched` method. - If you need to specify an additional condition whe rows should be updated or deleted, you can pass in a column expression for+ If you need to specify an additional condition when rows should be updated or deleted, you can pass in a column expression for that condition.
(この変更は要約対象外です。diff を参照してください)
変更内容: 本文を更新(6行追加・0行削除)
--- ahttps://docs.snowflake.com/en/release-notes/bcr-bundles/un-bundled/unbundled-behavior-changes+++ bhttps://docs.snowflake.com/en/release-notes/bcr-bundles/un-bundled/unbundled-behavior-changes@@ -208,4 +208,10 @@ <tr> <td>**August 20, 2026**</td>+ <td>Azure access: Snowflake Network Identifiers for rules that filter based on subnet IDs</td>+ <td>[](/release-notes/bcr-bundles/un-bundled/bcr-2391)</td>+ <td>Customers who allowlist Azure Storage or Azure Key Vault by subnet ID must also allowlist Snowflake Network Identifiers, preferably through Azure Network Security Perimeter (NSP). Key Vault requires NSP; Storage can use NSP or the storage firewall during migration.</td>+ </tr>+ <tr>+ <td>**August 20, 2026**</td> <td>Cortex Agents — Managed MCP Server</td> <td>[](/release-notes/bcr-bundles/un-bundled/bcr-2405)</td>
(この変更は要約対象外です。diff を参照してください)
変更内容: 本文を更新(6行追加・0行削除)
--- ahttps://docs.snowflake.com/en/developer-guide/odbc/odbc+++ bhttps://docs.snowflake.com/en/developer-guide/odbc/odbc@@ -1,3 +1,7 @@ # ODBC Driver++Snowflake ODBC Driver 4.x, built on the Universal Core, is in public preview. Installing it replaces the 3.x driver on that machine, so validate it on a separate host. This page documents 3.x, which remains the default and the version Snowflake recommends for production.++See [](/developer-guide/odbc/odbc-universal-core). - [](/release-notes/client-change-log-odbc)@@ -5,4 +9,5 @@ - [](/release-notes/clients-drivers/odbc)+- [](/developer-guide/odbc/odbc-universal-core) Snowflake provides a driver for connecting to Snowflake using ODBC-based client applications.@@ -26,2 +31,3 @@ - [](/developer-guide/odbc/odbc-using) - [](/developer-guide/odbc/odbc-diagnostic-service)+- [](/developer-guide/odbc/odbc-universal-core)
(この変更は要約対象外です。diff を参照してください)
変更内容: 本文を更新(4行追加・2行削除)
--- ahttps://docs.snowflake.com/en/sql-reference/functions/get_ddl+++ bhttps://docs.snowflake.com/en/sql-reference/functions/get_ddl@@ -31,8 +31,9 @@ - Online feature tables (see [](/sql-reference/sql/create-online-feature-table)) - Pipes (see [](/sql-reference/sql/create-pipe))-- Policies (see [](/sql-reference/sql/create-aggregation-policy) , [](/sql-reference/sql/create-authentication-policy) , [](/sql-reference/sql/create-join-policy) ,+- Policies (see [](/sql-reference/sql/create-aggregation-policy) , [](/sql-reference/sql/create-authentication-policy) , [](/sql-reference/sql/create-data-movement-policy) , [](/sql-reference/sql/create-join-policy) , [](/sql-reference/sql/create-masking-policy) , [](/sql-reference/sql/create-password-policy) , [](/sql-reference/sql/create-privacy-policy) , [](/sql-reference/sql/create-projection-policy) , [](/sql-reference/sql/create-row-access-policy) , [](/sql-reference/sql/create-session-policy), [](/sql-reference/sql/create-storage-lifecycle-policy))+- Data movement rules (see [](/sql-reference/sql/create-data-movement-rule)) - Replication groups (see [](/sql-reference/sql/create-replication-group)) - Schemas (see [](/sql-reference/sql/create-schema))@@ -69,4 +70,5 @@ - CONTACT - DATABASE+- DATA MOVEMENT RULE - DYNAMIC_TABLE - EVENT_TABLE@@ -77,5 +79,5 @@ - INTEGRATION (storage) - PIPE-- POLICY (aggregation, authentication, join, masking, password, projection, row access, session, and storage lifecycle policies)+- POLICY (aggregation, authentication, data movement, join, masking, password, projection, row access, session, and storage lifecycle policies) - PROCEDURE (for stored procedures) - REPLICATION_GROUP
(この変更は要約対象外です。diff を参照してください)
変更内容: 本文を更新(2行追加・4行削除)
--- ahttps://docs.snowflake.com/en/developer-guide/snowpark/scala/calling-functions+++ bhttps://docs.snowflake.com/en/developer-guide/snowpark/scala/calling-functions@@ -107,5 +107,5 @@ values. -`table?Function` returns a DataFrame that contains the output of the table function.+The `session.tableFunction` method returns a DataFrame that contains the output of the table function. For example, suppose that you executed the following command to create a SQL UDTF:@@ -207,8 +207,6 @@ ) +// Execute the procedure on the server by passing the procedure's name. session.storedProcedure(name, 1).show()--// Execute the procedure on the server by passing the procedure's name.-session.storedProcedure(incrementProc, 1).show(); // Execute the procedure on the server by passing a variable
(この変更は要約対象外です。diff を参照してください)
変更内容: 本文を更新(3行追加・3行削除)
--- ahttps://docs.snowflake.com/en/developer-guide/snowpark/python/snowflake-extension-checkpoints+++ bhttps://docs.snowflake.com/en/developer-guide/snowpark/python/snowflake-extension-checkpoints@@ -1,13 +1,13 @@ <a id="label-snowpark-python-checkpoints-extension"></a> -# Install the Snowflake extension for Snowpark Checkpoints+# Install the Snowflake Extension for Snowpark Checkpoints ## Prerequisites -Before you use the Checkpoints feature in the Snowflake extension, you must [install the Snowpark Checkpoints library](/developer-guide/snowpark/python/checkpoints-installation).+Before you use the Checkpoints feature in the Snowflake Extension, you must [install the Snowpark Checkpoints library](/developer-guide/snowpark/python/checkpoints-installation). ## Install the extension -- To use Snowpark Checkpoints from the VS Code Snowflake extension, install the extension from the Visual Studio Code Marketplace:+- To use Snowpark Checkpoints from the Snowflake Extension for Visual Studio Code, install the extension from the Visual Studio Code Marketplace: 
(この変更は要約対象外です。diff を参照してください)
変更内容: 本文を更新(3行追加・3行削除)
--- ahttps://docs.snowflake.com/en/user-guide/snowflake-cortex/cortex-agents-evaluations+++ bhttps://docs.snowflake.com/en/user-guide/snowflake-cortex/cortex-agents-evaluations@@ -696,5 +696,5 @@ #### Metrics configuration example -The following example defines a metrics configuration that enables answer correctness and logical consistency checks, and also defines a custom `relevance` metric which returns a score between 1-10 based on how ground truth compares against agent output:+The following example defines a metrics configuration that enables answer correctness and logical consistency checks, and also defines a custom `relevance` metric which returns a score between 1 and 10 based on how ground truth compares against agent output: ```yaml@@ -796,5 +796,5 @@ ``` -Upload your configuration to a created stage through %sf-web-interface% by navigating to In the navigation menu, select **Ingestion** %raa% **Add Data** and selecting **Load files into a Stage**. You can also use the SQL [](/sql-reference/sql/put) command to upload a local YAML file. The following example demonstrates copying the local file `/Users/dev/evaluation_config.yaml` to the stage `evals_db.evals_schema.evaluation_config`:+Upload your configuration to a created stage through %sf-web-interface% by selecting **Ingestion** %raa% **Add Data**, then **Load files into a Stage**. You can also use the SQL [](/sql-reference/sql/put) command to upload a local YAML file. The following example demonstrates copying the local file `/Users/dev/evaluation_config.yaml` to the stage `evals_db.evals_schema.evaluation_config`: ```sql@@ -971,5 +971,5 @@ - **Skills**: Evaluations don't currently support skills. An evaluation of an agent that uses skills fails to run. -## Cost Considerations+## Cost considerations Agent Evaluations run a Cortex Agent to create output for evaluation, and LLM judges to compute the evaluation metrics. You're charged for each run of the agent against a ground truth query. The evaluation's LLM judges are run by the [](/sql-reference/functions/ai_complete) function, and you incur charges based on the model Snowflake selects for judging. Additionally, you're charged for the following:
(この変更は要約対象外です。diff を参照してください)
変更内容: 本文を更新(2行追加・3行削除)
--- ahttps://docs.snowflake.com/en/developer-guide/snowpark/java/creating-udfs+++ bhttps://docs.snowflake.com/en/developer-guide/snowpark/java/creating-udfs@@ -291,5 +291,5 @@ UserDefinedFunction langUdf = Functions.udf(- (String s) -> Option(detector.detect(s)).getOrElse("UNKNOWN"),+ (String s) -> java.util.Optional.ofNullable(detector.detect(s)).orElse("UNKNOWN"), DataTypes.StringType, DataTypes.StringType);@@ -298,5 +298,5 @@ // detected by the UDF. DataFrame dfEmailsWithLangCol =- dfEmails.withColumn("lang", langUdf(Functions.col("text_data")));+ dfEmails.withColumn("lang", langUdf.apply(Functions.col("text_data"))); ``` @@ -451,5 +451,4 @@ ); dummy.select(udfOnceInit.apply(dummy.col("c"))).show();- UserDefinedFunction udfOnceInit = udf((i: Int) => sC.randomInt); } }
(この変更は要約対象外です。diff を参照してください)
変更内容: 本文を更新(2行追加・2行削除)
--- ahttps://docs.snowflake.com/en/user-guide/snowflake-cortex/cortex-agents-monitor+++ bhttps://docs.snowflake.com/en/user-guide/snowflake-cortex/cortex-agents-monitor@@ -72,6 +72,6 @@ 1. Sign in to %sf-web-interface-link%. 2. In the navigation menu, select **AI & ML** %raa% **Agents**.-3. Select the Agent whose logs you wish to view.-4. Navigate to the **Monitoring** pane of the Agent view.+3. Select the agent whose logs you want to view.+4. Navigate to the **Monitoring** pane of the agent view. The **Monitoring** pane lists each conversation thread with its first input, user feedback, thread length, the user who ran it, and when it was last updated. The **Version** column shows the agent configuration version that handled each thread, so you can tell which version of the agent produced a given conversation.
(この変更は要約対象外です。diff を参照してください)
変更内容: 本文を更新(4行追加・0行削除)
--- ahttps://docs.snowflake.com/en/developer-guide/python-connector/python-connector+++ bhttps://docs.snowflake.com/en/developer-guide/python-connector/python-connector@@ -1,3 +1,7 @@ # Snowflake Connector for Python++Snowflake Connector for Python 5.x, built on the Universal Core, is in public preview. It keeps the PEP 249 interface, the `snowflake.connector` module name, and the `snowflake-connector-python` package name. This page documents 4.x, which remains the default and the version Snowflake recommends for production.++See [](/developer-guide/python-connector/python-connector-universal-core). - [](/release-notes/requirements)
(この変更は要約対象外です。diff を参照してください)
変更内容: 本文を更新(4行追加・0行削除)
--- ahttps://docs.snowflake.com/en/release-notes/requirements+++ bhttps://docs.snowflake.com/en/release-notes/requirements@@ -1,3 +1,7 @@ # Client versions & support policy++Snowflake ODBC Driver 4.x and Snowflake Connector for Python 5.x are in public preview. Preview versions are not listed on this page and are not covered by the support policy described here. The recommended and minimum supported versions below refer to the generally available drivers.++See [](/developer-guide/universal-core/universal-core). - [](/guides-overview-connecting)
(この変更は要約対象外です。diff を参照してください)
変更内容: 本文を更新(4行追加・0行削除)
--- ahttps://docs.snowflake.com/en/user-guide/tables-iceberg-access-using-external-query-engine-snowflake-horizon+++ bhttps://docs.snowflake.com/en/user-guide/tables-iceberg-access-using-external-query-engine-snowflake-horizon@@ -13,4 +13,8 @@ You can use Horizon Catalog, which is available in all your existing Snowflake accounts, to read and write to Snowflake-managed Iceberg tables with external query engines.++You can also access externally managed Iceberg tables in a [catalog-linked database](/user-guide/tables-iceberg-catalog-linked-database)+through the same Horizon IRC endpoint. For instructions, see+[](/user-guide/externally-managed-iceberg-tables-access-horizon-irc). ## Query Iceberg tables
(この変更は要約対象外です。diff を参照してください)
変更内容: 本文を更新(4行追加・0行削除)
--- ahttps://docs.snowflake.com/en/developer-guide/odbc/odbc-download+++ bhttps://docs.snowflake.com/en/developer-guide/odbc/odbc-download@@ -1,3 +1,7 @@ # Downloading the ODBC Driver++The downloads on this page are for the 3.x driver.++Snowflake ODBC Driver 4.x, built on the Universal Core, is in public preview and is downloaded separately. See [Installing the preview driver](/developer-guide/odbc/odbc-universal-core#label-odbc-universal-core-install). - [](/release-notes/client-change-log-odbc)
(この変更は要約対象外です。diff を参照してください)
変更内容: 本文を更新(4行追加・0行削除)
--- ahttps://docs.snowflake.com/en/developer-guide/python-connector/python-connector-install+++ bhttps://docs.snowflake.com/en/developer-guide/python-connector/python-connector-install@@ -1,3 +1,7 @@ # Installing the Python Connector++The instructions on this page install the 4.x connector.++Snowflake Connector for Python 5.x, built on the Universal Core, is in public preview. Because both lines use the `snowflake-connector-python` package name, it installs into a separate virtual environment. See [Installing the release candidate](/developer-guide/python-connector/python-connector-universal-core#label-python-universal-core-install). - [](/release-notes/requirements)
(この変更は要約対象外です。diff を参照してください)
変更内容: 本文を更新(4行追加・0行削除)
--- ahttps://docs.snowflake.com/en/developer-guide/drivers+++ bhttps://docs.snowflake.com/en/developer-guide/drivers@@ -1,3 +1,7 @@ # Drivers++New major versions of two Snowflake drivers are in public preview: [Snowflake ODBC Driver 4.x](/developer-guide/odbc/odbc-universal-core) and [Snowflake Connector for Python 5.x](/developer-guide/python-connector/python-connector-universal-core). Both are built on the Universal Core, a shared Rust library used by every new Snowflake driver. The generally available drivers documented in this section remain the default.++See [](/developer-guide/universal-core/universal-core). - [Developer Resources](https://developers.snowflake.com/resources/)
(この変更は要約対象外です。diff を参照してください)
判定根拠: 書式・空白のみの変更
--- ahttps://docs.snowflake.com/en/user-guide/interactive+++ bhttps://docs.snowflake.com/en/user-guide/interactive@@ -276,6 +276,6 @@ - **Timeout Threshold:** The STATEMENT_TIMEOUT_IN_SECONDS for queries on Interactive Warehouses are fixed at a default and maximum of 5 seconds. If a query doesn't complete within this window, then Snowflake automatically retries the query on the fallback warehouse.-- **Retry Logic:** When a retry on fallback warehouse occurs, the failed query time shows up in fault_handling_time in query profile.-- **Warehouse State:** The fallback warehouse must be started (or set to auto-resume) to accept the retried query. Standard credit consumption applies to the fallback warehouse once it is active.+- **Retry logic:** When a retry on fallback warehouse occurs, the failed query time shows up in fault_handling_time in query profile.+- **Warehouse state:** The fallback warehouse must be started (or set to auto-resume) to accept the retried query. Standard credit consumption applies to the fallback warehouse once it is active. - **RBAC requirements:** To query with fallback support, the querying role must have USAGE on both the interactive warehouse and its fallback warehouse. To set a fallback warehouse, the administrator role must have ALTER WAREHOUSE on the interactive warehouse and USAGE on the fallback warehouse. @@ -412,8 +412,8 @@ interactive tables as to dynamic tables. -You can also manually trigger a refresh for a dynamic interactive table by running--```sql-ALTER INTERACTIVE TABLE ``my_dynamic_interactive_table`` REFRESH.+You can also manually trigger a refresh for a dynamic interactive table by running:++```sql+ALTER INTERACTIVE TABLE my_dynamic_interactive_table REFRESH; ``` @@ -750,5 +750,5 @@ For example, if your table is 120TB (compressed), and it represents 1 year worth of data. If you mostly query the last 7 days, then you should size your warehouse as MEDIUM to be able to hold the last 7 days of data. (120TB / 365 days * 7 days = 2.19TB) Interactive warehouses have a range of sizes from XSMALL to 4XLARGE, see [the warehouse sizing table](#label-interactive-working-set-to-warehouse-size-table) for more information. -Once you've completed all your queries and layout optimizations, consider **scaling your warehouse** to meet demand. Choose a minimum number of clusters sufficient to support the expected number of concurrent users, see [](/user-guide/warehouses-multicluster).+Once you've completed all your queries and layout optimizations, consider **scaling your warehouse** to meet demand. Choose a minimum number of clusters sufficient to support the expected number of concurrent users. See [](/user-guide/warehouses-multicluster). This is because the interactive warehouse utilizes *local storage caching*. While the data for your entire data set (table) is always accessible, accessing non-cached data does incur higher read latency on the first read.@@ -836,5 +836,5 @@ - The warehouse was suspended between bursts and resumed for this burst. Cache warming hasn't finished when the first queries arrive.-- The new burst touches different micro partitions of the table than the prior workload, so the first queries read from remote storage until the new micro partitions are cached.+- The new burst touches different micropartitions of the table than the prior workload, so the first queries read from remote storage until the new micropartitions are cached. - The total size of all tables attached to the warehouse far exceeds the data cache capacity, so different query patterns keep evicting each other's cached data. In this case you see chronic high remote reads across all queries, not just the first few in a burst. - The first one or two queries immediately after a resume can show uneven per-worker latency as different nodes finish warming at slightly different times. This is typically self-resolving after a few queries.
(この変更は要約対象外です。diff を参照してください)
変更内容: 3行以下の小規模な更新
--- ahttps://docs.snowflake.com/en/user-guide/cortex-code/cortex-code-desktop/managed-settings+++ bhttps://docs.snowflake.com/en/user-guide/cortex-code/cortex-code-desktop/managed-settings@@ -33,4 +33,5 @@ | ------------------------------------------------------ | -------------------------------------------------------------------------------------- | | `read`, `write`, `edit` | The file read, write, and edit tools |+| `grep`, `glob` | The file content search and file pattern matching tools | | `bash` | All shell commands | | `bash(git:*)`, `bash(dbt:*)` | Shell restricted to `git` / `dbt` commands |@@ -69,5 +70,5 @@ "version": "1.0", "permissions": {- "onlyAllow": ["read", "write", "edit", "sql_execute", "skill(bundled:*)"],+ "onlyAllow": ["read", "write", "edit", "grep", "glob", "sql_execute", "skill(bundled:*)"], "defaultMode": "deny" }
(この変更は要約対象外です。diff を参照してください)
変更内容: 3行以下の小規模な更新
--- ahttps://docs.snowflake.com/en/sql-reference/service-types+++ bhttps://docs.snowflake.com/en/sql-reference/service-types@@ -10,4 +10,5 @@ | AI_INFERENCE | AI INFERENCE | Credit-based usage for running AI models via the Cortex REST API. | AI and Machine Learning | AI Credits | | AI_INFERENCE_TOOLS | AI INFERENCE TOOLS | Credit-based usage for inference AI tool calls invoked by AI workloads. | AI and Machine Learning | AI Credits |+| AI_SENSITIVE_DATA_CLASSIFICATION | AI SENSITIVE DATA CLASSIFICATION | AI token credits for AI-enriched sensitive data classification. | Management and Governance | AI Credits | | AI_SERVICES | AI SERVICES | Usage of Snowflake AI and ML services including Cortex functions. | AI and Machine Learning | Credits | | ARCHIVE_STORAGE_COLD | ARCHIVE STORAGE COLD | Long-term cold archive storage for infrequently accessed data. | Storage | TiB-Months |@@ -57,5 +58,5 @@ | SERVERLESS_TASKS_FLEX | SERVERLESS TASKS FLEX | Flexible serverless compute for scheduled tasks. | Compute | Credits | | SNOWFLAKE_APP_RUNTIME | SNOWFLAKE APP RUNTIME | Compute used to build and host Snowflake Application Services on managed compute pools. | Compute | Credits |-| SNOWFLAKE_APP_RUNTIME_SERVERLESS | SNOWFLAKE APP RUNTIME SERVERLESS | Compute used to build and host Snowflake Application Services on serverless compute. | Compute | Credits |+| SNOWFLAKE_APP_RUNTIME_SERVERLESS | SNOWFLAKE APP RUNTIME SERVERLESS | Compute and memory used to build and host Snowflake Application Services on serverless compute. | Compute | Credits | | SNOWFLAKE_COCO | SNOWFLAKE COCO | AI-powered coding assistant consumption billed via canonical Cortex Code events. | AI and Machine Learning | AI Credits | | SNOWFLAKE_COCO_CLI | SNOWFLAKE COCO: CLI | AI-powered coding assistant accessed via the command-line interface for local development. | AI and Machine Learning | AI Credits |
(この変更は要約対象外です。diff を参照してください)
変更内容: 3行以下の小規模な更新
--- ahttps://docs.snowflake.com/en/user-guide/dynamic-tables/frozen-regions+++ bhttps://docs.snowflake.com/en/user-guide/dynamic-tables/frozen-regions@@ -212,5 +212,5 @@ ## DML into a frozen region -You can DML (INSERT, UPDATE, MERGE, DELETE) into frozen regions of dynamic tables. This enables use cases such as time-sensitive GDPR deletes, or catching up on records that have changed, without paying the cost for reprocessing all the rows.+You can DML (INSERT, UPDATE, MERGE, DELETE) into frozen regions of dynamic tables. This enables use cases such as time-sensitive GDPR deletes, or catching up on records that have changed, without paying the cost of reprocessing all the rows. ```sql
(この変更は要約対象外です。diff を参照してください)
判定根拠: 書式・空白のみの変更
--- ahttps://docs.snowflake.com/en/user-guide/dynamic-tables/migrate-streams-tasks+++ bhttps://docs.snowflake.com/en/user-guide/dynamic-tables/migrate-streams-tasks@@ -121,5 +121,5 @@ | `INSERT INTO target` | `INSERT INTO SELF` | | Stream metadata columns (`METADATA$ACTION`, `METADATA$ISUPDATE`) | Same columns from `CHANGES()` |-| Manual stream advancement | Automatic advancement by Dynamic Table |+| Manual stream advancement | Automatic advancement by dynamic table | | Task DAG (predecessors) | Pipeline (`TARGET_LAG = DOWNSTREAM`) |
(この変更は要約対象外です。diff を参照してください)
変更内容: 3行以下の小規模な更新
--- ahttps://docs.snowflake.com/en/user-guide/views-semantic/power-bi-ingestion+++ bhttps://docs.snowflake.com/en/user-guide/views-semantic/power-bi-ingestion@@ -1,5 +1,3 @@ # Power BI ingestion feature support--Available to all accounts. - [](/user-guide/views-semantic/creating-with-snowsight)
(この変更は要約対象外です。diff を参照してください)
判定根拠: 書式・空白のみの変更
--- ahttps://docs.snowflake.com/en/developer-guide/snowpark/java/sql-to-snowpark+++ bhttps://docs.snowflake.com/en/developer-guide/snowpark/java/sql-to-snowpark@@ -556,5 +556,5 @@ MergeResult mergeResult = target.merge(source, target.col("id").equal_to(source.col("id")))- .whenMatched.updateColumn(assignments)+ .whenMatched().updateColumn(assignments) .collect(); ```
(この変更は要約対象外です。diff を参照してください)
判定根拠: 書式・空白のみの変更
--- ahttps://docs.snowflake.com/en/developer-guide/snowpark/python/checkpoints-ide+++ bhttps://docs.snowflake.com/en/developer-guide/snowpark/python/checkpoints-ide@@ -5,5 +5,5 @@ ## Enable Snowpark Checkpoints -- To enable Snowpark Checkpoints, in the Snowflake extension settings, select **Snowpark Checkpoints: Enabled**:+- To enable Snowpark Checkpoints, in the Snowflake Extension settings, select **Snowpark Checkpoints: Enabled**: 
(この変更は要約対象外です。diff を参照してください)
判定根拠: 書式・空白のみの変更
--- ahttps://docs.snowflake.com/en/developer-guide/snowpark/python/checkpoints-using-checkpoints+++ bhttps://docs.snowflake.com/en/developer-guide/snowpark/python/checkpoints-using-checkpoints@@ -1,5 +1,5 @@ # Using Snowpark Checkpoints -When setup is complete, you can execute checkpoints either directly by interacting with the Checkpoints library or through the Snowflake extension, which provides additional integration and automation capabilities.+When setup is complete, you can execute checkpoints either directly by interacting with the Checkpoints library or through the Snowflake Extension, which provides additional integration and automation capabilities. The Snowpark Checkpoints Python package provides a range of functionalities to support the validation of migrated workloads. The following sections outline the key features and capabilities included in the package, along with guidance on how to use them effectively:
(この変更は要約対象外です。diff を参照してください)
判定根拠: 書式・空白のみの変更
--- ahttps://docs.snowflake.com/en/user-guide/snowflake-cortex/cortex-agents-mcp+++ bhttps://docs.snowflake.com/en/user-guide/snowflake-cortex/cortex-agents-mcp@@ -1043,5 +1043,5 @@ ## Limitations -Snowflake managed MCP server does not support the following constructs in the MCP protocol: resources, prompts, roots, notifications, version negotiations, life cycle phases, and sampling.+Snowflake-managed MCP server does not support the following constructs in the MCP protocol: resources, prompts, roots, notifications, version negotiations, life cycle phases, and sampling. Only non-streaming responses are supported.
(この変更は要約対象外です。diff を参照してください)
変更内容: 3行以下の小規模な更新
--- ahttps://docs.snowflake.com/en/sql-reference/sql/alter+++ bhttps://docs.snowflake.com/en/sql-reference/sql/alter@@ -85,4 +85,6 @@ - [](/sql-reference/sql/alter-contact) - [](/sql-reference/sql/alter-cortex-search)+- [](/sql-reference/sql/alter-data-movement-policy)+- [](/sql-reference/sql/alter-data-movement-rule) - [](/sql-reference/sql/alter-dataset) - [](/sql-reference/sql/alter-dataset-add-version)
(この変更は要約対象外です。diff を参照してください)
変更内容: 3行以下の小規模な更新
--- ahttps://docs.snowflake.com/en/sql-reference/sql/desc+++ bhttps://docs.snowflake.com/en/sql-reference/sql/desc@@ -74,4 +74,6 @@ - [](/sql-reference/sql/desc-configuration) - [](/sql-reference/sql/desc-cortex-search)+- [](/sql-reference/sql/desc-data-movement-policy)+- [](/sql-reference/sql/desc-data-movement-rule) - [](/sql-reference/sql/desc-dbt-project) - [](/sql-reference/sql/desc-dcm-project)
(この変更は要約対象外です。diff を参照してください)
変更内容: 3行以下の小規模な更新
--- ahttps://docs.snowflake.com/en/sql-reference/sql/drop+++ bhttps://docs.snowflake.com/en/sql-reference/sql/drop@@ -66,4 +66,6 @@ - [](/sql-reference/sql/drop-contact) - [](/sql-reference/sql/drop-cortex-search)+- [](/sql-reference/sql/drop-data-movement-policy)+- [](/sql-reference/sql/drop-data-movement-rule) - [](/sql-reference/sql/drop-dbt-project) - [](/sql-reference/sql/drop-dcm-project)
(この変更は要約対象外です。diff を参照してください)
変更内容: 3行以下の小規模な更新
--- ahttps://docs.snowflake.com/en/sql-reference/sql/show+++ bhttps://docs.snowflake.com/en/sql-reference/sql/show@@ -112,4 +112,6 @@ - [](/sql-reference/sql/show-cortex-search) - [](/sql-reference/sql/show-data-metric-functions)+- [](/sql-reference/sql/show-data-movement-policies)+- [](/sql-reference/sql/show-data-movement-rules) - [](/sql-reference/sql/show-datasets) - [](/sql-reference/sql/show-dbt-projects)
(この変更は要約対象外です。diff を参照してください)
判定根拠: 書式・空白のみの変更
--- ahttps://docs.snowflake.com/en/sql-reference/account-usage/cortex_agent_usage_history+++ bhttps://docs.snowflake.com/en/sql-reference/account-usage/cortex_agent_usage_history@@ -117,5 +117,5 @@ <td> -Tags associated with the Agent. Each object in the array contains the following value pairs:+Tags associated with the agent. Each object in the array contains the following value pairs: - `level`: The level at which the tag is applied (for example, "DATABASE" or "CORTEX_AGENT").
(この変更は要約対象外です。diff を参照してください)
判定根拠: 書式・空白のみの変更
--- ahttps://docs.snowflake.com/en/sql-reference/organization-usage/cortex_agent_usage_history+++ bhttps://docs.snowflake.com/en/sql-reference/organization-usage/cortex_agent_usage_history@@ -142,5 +142,5 @@ <td> -Tags associated with the Agent. Each object in the array contains the following value pairs:+Tags associated with the agent. Each object in the array contains the following value pairs: - `level`: The level at which the tag is applied (for example, "DATABASE" or "CORTEX_AGENT").
(この変更は要約対象外です。diff を参照してください)
変更内容: 3行以下の小規模な更新
--- ahttps://docs.snowflake.com/en/migrations/aim-for-datawarehouses/data-migration-validation/required-privileges+++ bhttps://docs.snowflake.com/en/migrations/aim-for-datawarehouses/data-migration-validation/required-privileges@@ -190,5 +190,5 @@ GRANT USAGE, CREATE SCHEMA ON DATABASE <target_db> TO ROLE DMV_MIGRATION_ROLE; GRANT ALL PRIVILEGES ON SCHEMA <target_db>.<target_schema> TO ROLE DMV_MIGRATION_ROLE;-GRANT SELECT, INSERT, UPDATE, DELETE ON FUTURE TABLES IN SCHEMA <target_db>.<target_schema> TO ROLE DMV_MIGRATION_ROLE;+GRANT SELECT, INSERT, UPDATE, DELETE, TRUNCATE ON FUTURE TABLES IN SCHEMA <target_db>.<target_schema> TO ROLE DMV_MIGRATION_ROLE; -- 5. External stage integration (optional)
(この変更は要約対象外です。diff を参照してください)
判定根拠: 書式・空白のみの変更
--- ahttps://docs.snowflake.com/en/user-guide/dynamic-tables/create-iceberg+++ bhttps://docs.snowflake.com/en/user-guide/dynamic-tables/create-iceberg@@ -28,5 +28,5 @@ <a id="label-dynamic-tables-tasks-create-iceberg-partitioning"></a> -## Create a dynamic Iceberg table with Snowflake Managed Storage+## Create a dynamic Iceberg table with Snowflake-managed storage The CREATE statement requires three Iceberg-specific parameters: EXTERNAL_VOLUME, CATALOG, and
(この変更は要約対象外です。diff を参照してください)
変更内容: 3行以下の小規模な更新
--- ahttps://docs.snowflake.com/en/sql-reference/sql/create+++ bhttps://docs.snowflake.com/en/sql-reference/sql/create@@ -74,4 +74,6 @@ - [](/sql-reference/sql/create-cortex-search) - [](/sql-reference/sql/create-data-metric-function)+- [](/sql-reference/sql/create-data-movement-policy)+- [](/sql-reference/sql/create-data-movement-rule) - [](/sql-reference/sql/create-dataset) - [](/sql-reference/sql/create-dbt-project)
(この変更は要約対象外です。diff を参照してください)
変更内容: 3行以下の小規模な更新
--- ahttps://docs.snowflake.com/en/user-guide/views-semantic/creating-with-snowsight+++ bhttps://docs.snowflake.com/en/user-guide/views-semantic/creating-with-snowsight@@ -181,6 +181,4 @@ #### Option 2: Upload Power BI file -Available to all accounts.- Semantic View Autopilot supports using a Power BI file to automatically generate a semantic view. This lets you migrate your existing DAX measures, table relationships, and column definitions directly into Snowflake.
(この変更は要約対象外です。diff を参照してください)
判定根拠: 書式・空白のみの変更
--- ahttps://docs.snowflake.com/en/user-guide/dynamic-tables/refresh-modes+++ bhttps://docs.snowflake.com/en/user-guide/dynamic-tables/refresh-modes@@ -242,5 +242,5 @@ ``` -In production, set the refresh mode to ADAPTIVE, FULL or INCREMENTAL explicitly rather than relying on AUTO. Explicit modes make costs predictable and prevent silent fallback to full refresh. Use AUTO for exploration and prototyping, then lock in the resolved mode before promoting to production.+In production, set the refresh mode to ADAPTIVE, FULL, or INCREMENTAL explicitly rather than relying on AUTO. Explicit modes make costs predictable and prevent silent fallback to full refresh. Use AUTO for exploration and prototyping, then lock in the resolved mode before promoting to production. <a id="label-dynamic-tables-refresh-custom-incremental"></a>
| セクション | S | A | B | C | 計 |
|---|---|---|---|---|---|
| User Guide | 0 | 3 | 2 | 7 | 12 |
| SQL Commands | 0 | 4 | 1 | 5 | 10 |
| Snowpark | 0 | 0 | 6 | 3 | 9 |
| Release Notes | 2 | 1 | 3 | 0 | 6 |
| Developer Guide | 0 | 0 | 5 | 0 | 5 |
| Cortex Code | 0 | 1 | 2 | 1 | 4 |
| Snowflake Cortex (AI & ML) | 0 | 0 | 3 | 1 | 4 |
| SQL General Reference | 0 | 1 | 1 | 1 | 3 |
| SQL Functions | 0 | 2 | 1 | 0 | 3 |
| Migrations | 0 | 0 | 2 | 1 | 3 |
| Account Usage | 0 | 0 | 1 | 1 | 2 |
| Loading & Unloading Data | 0 | 0 | 1 | 0 | 1 |
| Clean Rooms | 0 | 0 | 1 | 0 | 1 |
| Organization Usage | 0 | 0 | 0 | 1 | 1 |