gitnexus 1.6.12-rc.6 → 1.6.12-rc.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -267,10 +267,19 @@ export async function createSearchFTSIndexes(options) {
|
|
|
267
267
|
// the old name+content index would silently persist. `dropFTSIndex` no-ops
|
|
268
268
|
// when the index is absent (first-ever analyze) and clears the per-connection
|
|
269
269
|
// memo so the create below actually runs.
|
|
270
|
-
//
|
|
271
|
-
//
|
|
272
|
-
//
|
|
273
|
-
// this
|
|
270
|
+
// The cost DID show up in analyze profiles — 7.5s of a 31.7s edit loop on a
|
|
271
|
+
// 5350-file repo, `bench/analyze-phase-breakdown.md` — and a "skip when the
|
|
272
|
+
// index is already present" gate is NOT the answer, so don't reach for it.
|
|
273
|
+
// Every caller that reaches this loop has already dropped the indexes it
|
|
274
|
+
// passes in `tables`: the incremental writeback drops them because Ladybug
|
|
275
|
+
// cannot DML a table with a live FTS index (#2589), and a full rebuild
|
|
276
|
+
// builds into a fresh staging DB that never had one. A presence gate would
|
|
277
|
+
// therefore never fire. The cost is inherent — Ladybug's FTS is not
|
|
278
|
+
// incremental, so one changed row means re-tokenizing the whole table, and
|
|
279
|
+
// `File` alone is ~33MB of file content at ~10MB/s. The measured floor and
|
|
280
|
+
// the four exits that were tried and closed (narrow further, build
|
|
281
|
+
// concurrently, raise the connection thread count, drop `content`) are in
|
|
282
|
+
// that document.
|
|
274
283
|
try {
|
|
275
284
|
await dropFTSIndex(table, indexName);
|
|
276
285
|
await createFTSIndex(table, indexName, [...properties], stemmer);
|
package/package.json
CHANGED