sqlite-utils 4.0rc2:Claude Fable執筆、149.25ドル、データ損失バグを修正

✍️ OpenClawRadar📅 公開日: July 5, 2026🔗 Source
sqlite-utils 4.0rc2:Claude Fable執筆、149.25ドル、データ損失バグを修正
Ad

Simon Willison氏は、sqlite-utils 4.0rc2をリリースしました。これはSQLite用のPythonライブラリで、コードの大部分をClaude Fableが記述しました。総費用は、37回のプロンプトと34回のコミットによるAPI費用で約$149.25、30ファイルにわたって+1,321 -190行の変更が行われました。

変更点

このリリース候補では、Table.delete_where()における深刻なデータ損失バグを修正しています。以前はコミットが行われず、接続がトランザクション内のままとなり、その後のすべての書き込みに悪影響を及ぼしていました。以下はFableの分析による再現コードです。

db = sqlite_utils.Database("dw.db")
db["t"].insert_all([{"id": i} for i in range(3)], pk="id")
db["t"].delete_where("id = ?", [0])
# conn.in_transaction が True になる
db["t"].insert({"id": 50})
db["u"].insert({"a": 1})
db.close()
# 再オープン: 行は [0, 1, 2] — 削除、行50、テーブルuがすべて消えている。

Willison氏はこれを「本当に悪いバグ」と呼び、安定版4.0のリリース前にFableが発見したことを喜んでいます。

Ad

新しいトランザクションモデル

すべての書き込みメソッド(insert()、upsert()、update()、delete()、delete_where()、transform()、create_table()、enable_fts()など)は、それぞれ独自のトランザクション内で実行され、戻り値の前にコミットします。手動でのcommit()は不要です。

2つの例外があります。

  • db.atomic()を使用して複数の操作をアトミックにグループ化する場合
  • db.begin()でトランザクションを開始した場合、ライブラリはそれをコミットしません。コミットはユーザーが制御します。

Python 3.12+ の autocompat サポート

Fableはさらに、Python 3.12の新しいsqlite3.connect(..., autocommit=True|False)モードとの互換性も確保しました。ライブラリの自動メソッド別トランザクションはデフォルトの接続モード向けに設計されており、Fableは新しいautocommit設定のもとでテストスイートが通過するように修正しました。

レビュープロセス

Willison氏は作業をiPhone上のClaude Code for Webで開始し、最終レビューはラップトップ上のGitHub PRで行いました。彼は、ドキュメントの編集内容を最初にレビューすることが変更点を理解する優れた方法だと述べています。最終レビューをGPT-5.5が行い、追加のエッジケースを発見しました。完全なPRトランスクリプトは公開されています。

対象ユーザー

軽量データベース操作にsqlite-utilsを使用しており、適切なトランザクション安全性を備えたプロダクション対応の4.0リリースを求めるPython開発者向けです。

📖 出典全文: HN AI Agents

Ad

👀 See Also

開発者がC言語を知らずにClaude Codeを使ってWindows向けネイティブtmuxポートを構築
Tools

開発者がC言語を知らずにClaude Codeを使ってWindows向けネイティブtmuxポートを構築

開発者は、C言語を知らないにもかかわらず、Claude Codeを使用してWin32 APIとconptyの実装を扱い、tmux-winというネイティブなWindows用マルチプレクサを作成しました。このツールは、垂直/水平分割、デタッチ可能なセッション、VMオーバーヘッドのないネイティブなパフォーマンスを特徴としています。

OpenClawRadar
オープンソース手法によるClaudeとのエージェントAIパートナーシップ
Tools

オープンソース手法によるClaudeとのエージェントAIパートナーシップ

開発者が、Claudeとの持続的パートナーシップシステム構築に関する25,000語の論文を公開し、セッション間で共有メモリ、認知モニタリング、複数AI相談機能を使用するオープンソーステンプレートをリリースしました。

OpenClawRadar
Claude-switch CLIツールは、使用制限に達した際にClaude Maxアカウントを自動で切り替えることを可能にします。
Tools

Claude-switch CLIツールは、使用制限に達した際にClaude Maxアカウントを自動で切り替えることを可能にします。

開発者は、Claude Codeの利用制限に達した際にアカウントを切り替えるために、macOS Keychainから認証情報を保存・復元する250行のbash CLIツール「claude-switch」を構築しました。このツールはブラウザでの再認証を不要にし、ワークフローの連続性を維持します。

OpenClawRadar
Swarmhookの紹介:あなたのボットのための無料でオープンソースなWebhooks
Tools

Swarmhookの紹介:あなたのボットのための無料でオープンソースなWebhooks

Swarmhook.comは、ボットのイベントを効果的に管理し、自動化と応答機能を効率化するための無料でオープンソースのWebhookを提供しています。

OpenClawRadar