pub enum ValidateOnlyKind {
Show 15 variants
LockTable,
RoleName,
SecurityLabel,
ExtensionAvailable,
TypeName,
AggregateName,
ConversionName,
LanguageName,
CollationName,
TsConfigName,
EventTriggerName,
TablespaceName,
LargeObjectOid,
ForeignInfra,
ExtensionInstalled,
}Expand description
v7.39 (round 696) — which operand a Statement::ValidateOnly names,
and therefore which catalog answers whether it exists.
Variants§
LockTable
LOCK TABLE <t> [, …] — the relation must exist.
RoleName
Every role named must exist: DROP OWNED BY <r> [, …],
REASSIGN OWNED BY <r> [, …] TO <r>, and (round 697)
SET SESSION AUTHORIZATION <r>.
SecurityLabel
SECURITY LABEL … — PG refuses unconditionally, because no label
provider is loaded. SPG has none either.
ExtensionAvailable
v7.39 (round 697) — CREATE EXTENSION <e>: the extension must be
AVAILABLE (PG: extension "x" is not available).
TypeName
v7.39 (round 708) — ALTER TYPE <t> <any no-op form>: the TYPE must
exist (PG: type "x" does not exist); the action itself stays a
no-op (PG genuinely renames; that residual is recorded).
AggregateName
v7.39 (round 708) — ALTER AGGREGATE name(args) …: names[0] is the
aggregate, the rest its argument type names (* = the (*) form).
Existence only; the action no-ops (PG really renames built-ins —
measured — and SPG does not model that).
ConversionName
v7.39 (round 708) — DROP CONVERSION <c>: SPG ships no conversions,
so every name answers PG’s conversion "x" does not exist.
LanguageName
v7.39 (round 708) — DROP LANGUAGE <l>: an unknown language does
not exist; a shipped one is required (PG’s two wordings, measured).
CollationName
v7.39 (round 709) — a collation name: performable or PG’s
collation "x" for encoding "UTF8" does not exist.
TsConfigName
v7.39 (round 709) — a text search configuration name.
EventTriggerName
v7.39 (round 709) — an event trigger name. SPG has none, so the not-found answer is total.
TablespaceName
v7.39 (round 709) — a tablespace name. SPG has none beyond PG’s two
built-ins, whose drop PG refuses with permission denied (measured).
LargeObjectOid
v7.39 (round 709) — a large-object oid (names[0], decimal). The registry is real (round 287), so the check is a lookup.
ForeignInfra
v7.39 (round 706) — CREATE SERVER / CREATE FOREIGN TABLE /
CREATE FOREIGN DATA WRAPPER. SPG has no foreign-data
infrastructure at all, so PG’s refusals (foreign-data wrapper "x" does not exist, server "x" does not exist) cannot be copied —
PG can refuse because the missing piece is installable there.
Accepted with a WARNING, the extension resolution (round 697):
refusing turns a dump that restores today into one that needs
editing, and silent acceptance was the actual defect.
ExtensionInstalled
v7.39 (round 697) — DROP EXTENSION <e>: it must be installed
(PG: extension "x" does not exist).
Trait Implementations§
Source§impl Clone for ValidateOnlyKind
impl Clone for ValidateOnlyKind
Source§fn clone(&self) -> ValidateOnlyKind
fn clone(&self) -> ValidateOnlyKind
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more