Repository navigation
Conversation
…st" for a table with a fulltext parser plugin maria_delete_table() opens the table to find out whether it is transactional. A table whose fulltext index uses a parser plugin has HA_OPTION_RELIES_ON_SQL_LAYER, so maria_open() refused it with HA_ERR_UNSUPPORTED. DROP TABLE then warned "Table uses an extension that doesn't exist in this MariaDB version" and skipped the REDO_DROP_TABLE log record of a transactional table. Opening for drop only reads the share, so allow it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Author
|
The failing check on amd64-ubuntu-2204-debug is events.events_restart (it passed on both retries) plus check-testcase warnings after binlog.max_binlog_total_size; both are unrelated to this change, which only affects opening an Aria table with a fulltext parser plugin in maria_delete_table(). |
4 of 5 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
maria_delete_table() opens the table to find out whether it is transactional. A table whose fulltext index uses a parser plugin has HA_OPTION_RELIES_ON_SQL_LAYER, so maria_open() refused it with HA_ERR_UNSUPPORTED. DROP TABLE then warned "Table uses an extension that doesn't exist in this MariaDB version" and skipped the REDO_DROP_TABLE log record of a transactional table.
Opening for drop only reads the share, so allow it.
Before:
After: no warning, and a transactional table's drop is logged again.
Side effects: HA_OPEN_FOR_DROP is only used by maria_delete_table(), which reads
now_transactional, resets the state and closes the table again. No key is used, so the parser plugin is not needed there.Found while working on MDEV-10267 (ngram parser).
Release Notes
DROP TABLE on an Aria table whose fulltext index uses a parser plugin no longer warns "uses an extension that doesn't exist", and the drop is written to the Aria log again.
How can this PR be tested?
New test
maria.fulltext_parser_drop(uses thesimple_parserplugin from mypluglib, skipped if it is not built). Without the fix it fails with the two warnings; with the fix it passes. Themariasuite and themainfulltext and plugin tests pass on 11.4 (debug build).Basing the PR against the correct MariaDB version
PR quality check
🤖 Generated with Claude Code