SIGN IN SIGN UP

Cover RESTORE in the explicit rocksdb_dir grant test

A RESTORE supplies a table definition under whoever is restoring, who need
not be the user the backup was taken from, and it arrives at
LoadingStrictnessLevel::SECONDARY_CREATE, which isLoadingFromExistingMetadata
does not include. So the new FILE source check applies to it exactly as it
does to a CREATE. That was true of the previous commit but only by reading the
predicate: no arm reached SECONDARY_CREATE.

The arm backs up an explicit-dir table as the admin, drops it, and has a user
holding READ ON FILE but not WRITE ON FILE restore it. The RESTORE is refused
with the privilege sentence naming the missing WRITE, leaves no table behind,
and succeeds once WRITE ON FILE is granted. Modelled on the equivalent arm in
04401_url_engine_s3_dispatch_engine_grant.sh, which pins the same half of the
same predicate for the URL engine.

Measured against the same tree without the check: the denial half flips to
NOT DENIED and the table is created anyway, so it is a live arm, while the
granted half passes on both binaries and is therefore a positive control
rather than a second denial assertion.
G
Groene AI committed
140fa225e30d865082e2533d317b805e697a4ca4
Parent: 6727f35