Skip to content

correct index expiry after a session ttl and fold stop words by charset - #162

Merged
guycipher merged 2 commits into
masterfrom
idx-corrections3
Oct 4, 2026
Merged

guycipher merged 2 commits into
masterfrom
idx-corrections3

Conversation

@guycipher

Copy link
Copy Markdown
Member

a row given an expiry by a session ttl in a table with no ttl of its own kept that expiry on its unchanged index entries when a later update cleared it, so the index lost the row while it still existed. the first such write now records a marker in the table, loaded at open, and from then on every update rewrites the row's index entries with its current expiry, also after a restart. stop words read from a stop word table are lowercased with utf8mb4 case rules rather than ascii only, so an uppercase word outside ascii matches the lowercased text. stale comments on single deletes, bulk batching, value log metering and plugin init now match the code, and the manual and its partitioning example are updated to match

a row given an expiry by a session ttl in a table with no ttl of its own kept that expiry on its unchanged index entries when a
later update cleared it, so the index lost the row while it still existed. the first such write now records a marker in the
table, loaded at open, and from then on every update rewrites the row's index entries with its current expiry, also after a
restart. stop words read from a stop word table are lowercased with utf8mb4 case rules rather than ascii only, so an uppercase
word outside ascii matches the lowercased text. stale comments on single deletes, bulk batching, value log metering and plugin
init now match the code, and the manual and its partitioning example are updated to match
@guycipher guycipher self-assigned this Oct 4, 2026
…its own write

the stop word fold used utf8mb4_general_ci, which the server does not export to plugins on windows, so the plugin failed to link
there. it now uses utf8mb4_bin, which is exported and folds case with the same tables. the session ttl test gave rows four
seconds and then restarted the server, which on a slow runner outlasted the rows before their updates ran. it now gives them
twenty and waits for the original expiry measured from a stored write time
@guycipher
guycipher merged commit 7e2cdf2 into master Oct 4, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant