Skip to content

MDEV-41747 Aria: DROP TABLE warns "uses an extension that doesn't exist" for a table with a fulltext parser plugin - #5963

Open
futureweb wants to merge 1 commit into
MariaDB:11.4from
futureweb:MDEV-41747-aria-drop-parser
Open

futureweb wants to merge 1 commit into
MariaDB:11.4from
futureweb:MDEV-41747-aria-drop-parser

Conversation

@futureweb

Copy link
Copy Markdown
  • The Jira issue number for this PR is: MDEV-41747

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:

DROP TABLE t1;
Warnings:
Warning	1112	Table 't1' uses an extension that doesn't exist in this MariaDB version

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 the simple_parser plugin from mypluglib, skipped if it is not built). Without the fix it fails with the two warnings; with the fix it passes. The maria suite and the main fulltext and plugin tests pass on 11.4 (debug build).

Basing the PR against the correct MariaDB version

  • This is a new feature and the PR is based against the latest MariaDB development branch.
  • This is a bug fix and the PR is based against the earliest maintained branch in which the bug can be reproduced. (10.11 has the same code, but its first GA release is more than three years old.)

PR quality check

  • I checked the CODING_STANDARDS.md file and my PR conforms to this where appropriate.
  • For any trivial modifications to the PR, I am ok with the reviewer making the changes themselves.

🤖 Generated with Claude Code

…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>
@futureweb

Copy link
Copy Markdown
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().

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant