HSQLDB に関しては、SQLite が持っているプロジェクトとして持っていないものの 1 つは、堅牢なテスト スイートのドキュメントと、熱心な ACID 準拠のオンライン ドキュメントです。
HSQLDB から何かを奪うつもりはありません。これは、SQLite が意図する fopen() ではなく、MySQL の代替として機能することを意図しています。HSQLDB (実際にはすべての Java RDBMS) の範囲は、はるかに野心的であると言えます。Fredt と彼のグループは、HSQLDB を使用して並外れた成果を達成しました。それでも、「HSQLDB ACID に準拠していますか?」という Google 検索を行っても、アーリー アダプターは、SQLite Web サイトでテスト ハーネスについて読んだ後に感じるほど自信を持っていません。
http://sqlite.org/transactional.htmlで
「SQLite はトランザクショナルです
トランザクション データベースは、すべての変更とクエリが Atomic、Consistent、Isolated、Durable (ACID) であるように見えるデータベースです。SQLite は、トランザクションがプログラムのクラッシュ、オペレーティング システムのクラッシュ、またはコンピューターの電源障害によって中断された場合でも、原子的で、一貫性があり、分離され、耐久性のあるシリアル化可能なトランザクションを実装します。
ここで、前の文を強調し直し、拡大します。SQLite の 1 つのトランザクション内のすべての変更は、変更をディスクに書き込む操作が中断された場合でも、完全に発生するか、まったく発生しないかのいずれかです。
- プログラムのクラッシュ、
- オペレーティング システムのクラッシュ、または
- 電源障害。
前の段落の主張は、オペレーティング システムのクラッシュと電源障害のデータベース ファイルへの影響をシミュレートする特別なテスト ハーネスを使用して、SQLite 回帰テスト スイートで広範囲にチェックされます。」
http://sqlite.org/testing.htmlで
"1.0はじめに
SQLite の信頼性と堅牢性は、徹底的かつ慎重なテストによって部分的に達成されます。
バージョン 3.7.14 の時点で、SQLite ライブラリは約 81.3 KSLOC の C コードで構成されています。(KSLOC は、数千の「コードのソース行」、つまり空白行とコメントを除くコード行を意味します。)比較すると、プロジェクトには 1124 倍のテスト コードとテスト スクリプト (91421.1 KSLOC) があります。
1.1 要旨
独立して開発された 3 つのテスト ハーネス デプロイされた構成での 100% のブランチ テスト カバレッジテスト assert() と実行時チェックの広範な使用 Valgrind 分析 符号付き整数オーバーフロー チェック"