操作中に cannot DELETE from contentless fts5 table というエラーが出る

問題

データフレームの編集や保存、チャートの操作、パブリッシュなどの操作中に、cannot DELETE from contentless fts5 table: doc_fts というエラーが出ることがあります。これは、16.4 より前のバージョン(16.3.2 など)から 16.4 以降のバージョンにアップデートした際に発生することがあります。

原因

プロジェクト内の検索に使う索引ファイル(検索インデックス)が、古いバージョンの Exploratory で作成された形式のまま残っています。そのため、新しいバージョンでは正しく扱えずエラーになっています。

通常は、新しいバージョンの起動時に索引ファイルが自動で作り直されます。しかし、そのときにファイルが使用中だと作り直しができず、古い形式のまま残ってしまうことがあります。ファイルが使用中になるのは、たとえば古いバージョンの Exploratory が起動したままだった場合や、ウイルス対策ソフト・OneDrive などがファイルを使用していた場合です。

データやプロジェクトには影響ありません。また、Exploratory の再起動だけでは解消しません。

解決方法

【Windowsの場合】

  1. Exploratory を完全に終了します(開いているウィンドウをすべて閉じてください。古いバージョンの Exploratory を起動している場合は、そちらも終了してください)。
  2. C:\Users\(ユーザー名)\.exploratory\ フォルダ内の次のファイルを削除します(存在しないものは無視してください)。
    • search_index.db
    • search_index.db-shm
    • search_index.db-wal
    • search_index.db-journal
  3. Exploratory を起動してプロジェクトを開くと、検索インデックスが自動で作り直されます。

【Macの場合】

  1. Exploratory を完全に終了します(開いているウィンドウをすべて閉じてください。古いバージョンの Exploratory を起動している場合は、そちらも終了してください)。
  2. /Users/(ユーザー名)/.exploratory/ フォルダ内の次のファイルを削除します(存在しないものは無視してください)。
    • search_index.db
    • search_index.db-shm
    • search_index.db-wal
    • search_index.db-journal
  3. Exploratory を起動してプロジェクトを開くと、検索インデックスが自動で作り直されます。

※ ファイルが「使用中のため削除できない」と表示される場合は、パソコンを再起動してから手順 2 を行ってください。
※ Mac の Finder では .exploratory フォルダは隠しフォルダのため、そのままでは表示されません。Finder でホームフォルダを開き、Command + Shift + .(ピリオド)を押すと表示されます。
※ 対処後に古いバージョン(16.3.2 など)の Exploratory を起動すると、再び同じ状態になる場合があります。

なお、この問題は今後のバージョンで修正予定です。修正版では、古い索引ファイルが残っていても自動で修復されます。