From 46f89bf9fd0217bd0807d55943b7a949d43ede4a Mon Sep 17 00:00:00 2001 From: Darek Date: Thu, 29 Oct 2026 04:10:35 +0100 Subject: [PATCH] fix(fts): write a new term's df as a UINT64 value The df vector holds UINT64 values, but setValue(0, 1) deduces int and writes 4 bytes into the 8-byte slot, leaving the upper half as it was. It was zero in practice, so the stored df was right, but an engine check that setValue writes the vector's value size rejects the call. Co-Authored-By: Claude Opus 5.5 --- fts/src/index/fts_index.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fts/src/index/fts_index.cpp b/fts/src/index/fts_index.cpp index 34a690c2..41ac3ad8 100644 --- a/fts/src/index/fts_index.cpp +++ b/fts/src/index/fts_index.cpp @@ -358,7 +358,7 @@ void FTSIndex::insertToTermsTable(Transaction* transaction, termsTable->update(transaction, ftsInsertState.termsTableState.termsTableUpdateState); termInfo.offset = termNodeID.offset; } else { - dfVector.setValue(0, 1); + dfVector.setValue(0, 1); termsTable->insert(transaction, ftsInsertState.termsTableInsertState); termInfo.offset = termIDVector.getValue(0).offset; }