v3.8.0 — APPLY ブロック(B44)+ガード兼用(B48)+サブテーブル SELECT のシステム列 WHERE(B45)
v3.8.0
B44 — APPLY ブロック(テーブル外項目とテーブル内項目を1文=1 PUT で同時更新)
UPDATE/INSERT/UPSERT … APPLY <テーブル> (PATCH/APPEND/REMOVE…)。テーブル内に既存違反を持つレコードの修復書き込みを可能にする。
- PATCH(既存行更新)/APPEND(行追加)/REMOVE(行削除)・多値 ADD/REMOVE。
- 行アドレッシング:
ALL ROWS/WHERE 行条件/_idx(0-based)/_rid。EXPECT ROWS n | BETWEEN | AT LEAST | AT MOST。 - スナップショット意味論・post-image 検証(書き込み前にレコード全体を検証)。
- 複数親 UPDATE /
INSERT APPLY/UPSERT APPLY(非トランザクション・部分成功あり)。 - revision 必須+二重ガード(
dmlMaxRows親件数 /dmlMaxSubtableRows子行・既定500)。MCP は全 APPLY mutation を実行前 fail-closed(VALIDATE ONLY / EXPLAIN は許可)。
B48 — プラグインの APPLY 親/子ガードを「最大取得件数」から兼用
dmlMaxRows=max(100, 最大取得件数)・dmlMaxSubtableRows=max(500, 最大取得件数)。新設定 UI なし・floor で後方互換。100 親超の一括更新が可能に。
B45 — サブテーブル SELECT の WHERE でシステム列 _pid/_rid/_idx
旧 WHERE_FIELD_UNRESOLVED(言語リファレンス §19 の記載例が動かない乖離)を修正。_pid/_idx=数値・_rid=文字列・全比較/BETWEEN/IN/IS NULL/LIKE 対応・非押し下げ・_p._pid は無効維持。
- 全 2,474 テスト green・mcp smoke/pack-smoke ok。実機確認: B44(CLI/プラグイン)・B48(プラグイン親200/子600)・B45(CLI 全10項目)。
- SemVer=minor。詳細は CHANGELOG。
アセット
ksql-plugin-v3.8.0.zip— kintone プラグインksql-mcp.js— MCP サーバ(単一ファイル)ksql-mcp.mcpb— MCP バンドル