Grant TABLE ENGINE in the explicit rocksdb_dir grant test
The stateless test config enables table_engines_require_grant (tests/config/config.d/enable_access_control_improvements.xml, installed by tests/config/install.sh), and EmbeddedRocksDB declares no source_access_type, so ContextAccess withholds the implicit TABLE ENGINE grant from the test user. InterpreterCreateQuery then rejects the statement before StorageFactory reaches create, which is where the FILE check this test is about lives. Without the engine grant the test does not exercise that check at all: the four denial arms report a TABLE ENGINE privilege sentence instead of a FILE one, and the six permitted arms cannot create their tables, so ten of the eleven arms break. The grant is a precondition, not part of the assertion, so it is taken once in the setup block and never revoked. Same shape as 04401_url_engine_s3_dispatch_engine_grant.sh, which pairs the table grant with GRANT TABLE ENGINE ON URL for the URL engine; 22 stateless tests use the idiom. No source change and no reference change: the arms' outputs are identical, only the precondition differs. Verified on a server carrying that config file, with a control that an ungranted argument-less CREATE is still refused naming TABLE ENGINE, and that with the engine grant held an explicit directory is still refused naming READ ON FILE.
G
Groene AI committed
71272f0365c894a41b3fbdf6a5d20316dab8b3c3
Parent: 140fa22