Skip to content

docs: document index-level KEY_BLOCK_SIZE gap, drop from TODO#102

Merged
winebarrel merged 1 commit into
mainfrom
docs-index-key-block-size-not-managed
May 6, 2026
Merged

docs: document index-level KEY_BLOCK_SIZE gap, drop from TODO#102
winebarrel merged 1 commit into
mainfrom
docs-index-key-block-size-not-managed

Conversation

@winebarrel

Copy link
Copy Markdown
Owner

Summary

Decision: don't implement index-level `KEY_BLOCK_SIZE`. Probing MySQL 8.0 revealed that MySQL itself silently drops the per-index clause for InnoDB indexes — the syntax is a MyISAM legacy that InnoDB doesn't honour:

  • `information_schema.STATISTICS` has no `KEY_BLOCK_SIZE` column at all.
  • `SHOW CREATE TABLE` strips the clause from the output.

So myschema's silent drop matches MySQL's silent drop; there's no round-trip to fix.

Changes

  • `CAVEATS.md`: new "Index-level `KEY_BLOCK_SIZE=N` is silently dropped" section explaining the InnoDB-vs-MyISAM context (myschema targets InnoDB on MySQL 8.0+, so MyISAM tables that would use the form are already out of scope).
  • `TODO.md`: drop the corresponding entry.

Test plan

  • Doc-only change.
  • `make lint` clean.

🤖 Generated with Claude Code

Decision: don't implement. Probing MySQL 8.0 turned up an
important nuance the TODO entry missed — MySQL itself silently
drops the per-index `KEY_BLOCK_SIZE` clause for InnoDB indexes.
The clause is a MyISAM legacy with no effect on InnoDB, and
neither `information_schema.STATISTICS` nor `SHOW CREATE TABLE`
reflects the value back. So myschema's silent drop is consistent
with MySQL's own behaviour; there's nothing to round-trip.

CAVEATS.md gets a new "Index-level `KEY_BLOCK_SIZE=N` is
silently dropped" section explaining the InnoDB-vs-MyISAM
context. TODO.md drops the corresponding entry.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings May 6, 2026 06:28

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the project documentation to explicitly record that per-index KEY_BLOCK_SIZE=N clauses don’t round-trip in myschema because MySQL itself drops them for InnoDB, and removes the corresponding open TODO item since it’s not actionable for MySQL 8.0+ InnoDB.

Changes:

  • Added a new CAVEATS section explaining that index-level KEY_BLOCK_SIZE=N is silently dropped and why that matches MySQL behavior for InnoDB.
  • Removed the related TODO entry now that the limitation is documented and deemed non-actionable.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
CAVEATS.md Documents that index-level KEY_BLOCK_SIZE=N is dropped (and why it’s not a myschema bug for InnoDB on MySQL 8.0+).
TODO.md Removes the now-documented KEY_BLOCK_SIZE index-level gap from the open TODO list.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@codecov

codecov Bot commented May 6, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 86.86%. Comparing base (e2c2089) to head (f874a52).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #102   +/-   ##
=======================================
  Coverage   86.86%   86.86%           
=======================================
  Files          30       30           
  Lines        3357     3357           
=======================================
  Hits         2916     2916           
  Misses        270      270           
  Partials      171      171           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@winebarrel winebarrel merged commit 334d96e into main May 6, 2026
9 checks passed
@winebarrel winebarrel deleted the docs-index-key-block-size-not-managed branch May 6, 2026 06:34
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.

2 participants