pub enum Statement {
Show 36 variants
CreateSchema(CreateSchemaStmt),
CreateTable(CreateStmt),
CreateSequence(CreateSeqStmt),
CreateIndex(IndexStmt),
AlterTable(AlterTableStmt),
Comment(CommentStmt),
CreateView(ViewStmt),
CreateMaterializedView(CreateTableAsStmt),
CreateEnum(CreateEnumStmt),
CreateDomain(CreateDomainStmt),
CreateCompositeType(CompositeTypeStmt),
CreateRange(CreateRangeStmt),
CreateFunction(CreateFunctionStmt),
CreateProcedure(CreateFunctionStmt),
CreateExtension(CreateExtensionStmt),
CreateTrigger(CreateTrigStmt),
AlterTableAttachPartition(AlterTableStmt),
Grant(GrantStmt),
AlterOwner(AlterOwnerStmt),
AlterDefaultPrivileges(AlterDefaultPrivilegesStmt),
CreatePolicy(CreatePolicyStmt),
CreatePublication(CreatePublicationStmt),
AlterPublication(AlterPublicationStmt),
CreateSubscription(CreateSubscriptionStmt),
AlterSubscription(AlterSubscriptionStmt),
CreateStatistics(CreateStatsStmt),
AlterStatistics(AlterStatsStmt),
CreateCollation(DefineStmt),
CreateAggregate(DefineStmt),
CreateEventTrigger(CreateEventTrigStmt),
AlterEventTrigger(AlterEventTrigStmt),
CreateCast(CreateCastStmt),
CreateTsDictionary(DefineStmt),
CreateTsConfiguration(DefineStmt),
AlterTsDictionary(AlterTsDictionaryStmt),
AlterTsConfiguration(AlterTsConfigurationStmt),
}Expand description
One supported top-level statement kind. Each variant carries the typed protobuf message that the corresponding builder will consume.
Variants§
CreateSchema(CreateSchemaStmt)
CREATE SCHEMA ....
CreateTable(CreateStmt)
CREATE TABLE ....
CreateSequence(CreateSeqStmt)
CREATE SEQUENCE ....
CreateIndex(IndexStmt)
CREATE [UNIQUE] INDEX ....
AlterTable(AlterTableStmt)
ALTER TABLE ... — only ADD CONSTRAINT FOREIGN KEY is allowed in source DDL.
Comment(CommentStmt)
COMMENT ON ....
CreateView(ViewStmt)
CREATE [OR REPLACE] VIEW ....
CreateMaterializedView(CreateTableAsStmt)
CREATE MATERIALIZED VIEW ....
CreateEnum(CreateEnumStmt)
CREATE TYPE ... AS ENUM (...).
CreateDomain(CreateDomainStmt)
CREATE DOMAIN ... AS ....
CreateCompositeType(CompositeTypeStmt)
CREATE TYPE ... AS (...) (composite).
CreateRange(CreateRangeStmt)
CREATE TYPE ... AS RANGE (...).
CreateFunction(CreateFunctionStmt)
CREATE [OR REPLACE] FUNCTION ....
CreateProcedure(CreateFunctionStmt)
CREATE [OR REPLACE] PROCEDURE ....
CreateExtension(CreateExtensionStmt)
CREATE EXTENSION ....
CreateTrigger(CreateTrigStmt)
CREATE [CONSTRAINT] TRIGGER ....
AlterTableAttachPartition(AlterTableStmt)
ALTER TABLE parent ATTACH PARTITION child FOR VALUES ....
Grant(GrantStmt)
GRANT priv ON obj TO grantee — object-level grant (not REVOKE, not role grant).
AlterOwner(AlterOwnerStmt)
ALTER <kind> name OWNER TO role.
AlterDefaultPrivileges(AlterDefaultPrivilegesStmt)
ALTER DEFAULT PRIVILEGES ... GRANT ....
CreatePolicy(CreatePolicyStmt)
CREATE POLICY name ON table ....
CreatePublication(CreatePublicationStmt)
CREATE PUBLICATION name ....
AlterPublication(AlterPublicationStmt)
ALTER PUBLICATION name ....
CreateSubscription(CreateSubscriptionStmt)
CREATE SUBSCRIPTION name CONNECTION ... PUBLICATION ....
AlterSubscription(AlterSubscriptionStmt)
ALTER SUBSCRIPTION name ....
CreateStatistics(CreateStatsStmt)
CREATE STATISTICS name … ON … FROM ….
AlterStatistics(AlterStatsStmt)
ALTER STATISTICS name SET STATISTICS n.
CreateCollation(DefineStmt)
CREATE COLLATION qname (provider = …, locale = …, …).
CreateAggregate(DefineStmt)
CREATE AGGREGATE qname(args) (SFUNC = …, STYPE = …, …).
CreateEventTrigger(CreateEventTrigStmt)
CREATE EVENT TRIGGER name ON event ….
AlterEventTrigger(AlterEventTrigStmt)
ALTER EVENT TRIGGER name {ENABLE|DISABLE|ENABLE REPLICA|ENABLE ALWAYS}.
CreateCast(CreateCastStmt)
CREATE CAST (src AS tgt) WITH FUNCTION … / WITH INOUT / WITHOUT FUNCTION.
CreateTsDictionary(DefineStmt)
CREATE TEXT SEARCH DICTIONARY qname (TEMPLATE = …, …).
CreateTsConfiguration(DefineStmt)
CREATE TEXT SEARCH CONFIGURATION qname (PARSER = …).
AlterTsDictionary(AlterTsDictionaryStmt)
ALTER TEXT SEARCH DICTIONARY name (opts).
AlterTsConfiguration(AlterTsConfigurationStmt)
ALTER TEXT SEARCH CONFIGURATION name ADD/ALTER/DROP/REPLACE MAPPING ….
Implementations§
Source§impl Statement
impl Statement
Sourcepub fn classify(
node: NodeEnum,
location: SourceLocation,
) -> Result<Self, ParseError>
pub fn classify( node: NodeEnum, location: SourceLocation, ) -> Result<Self, ParseError>
Classify a node into the supported whitelist, or return
ParseError::UnsupportedObjectKind for anything else.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Statement
impl RefUnwindSafe for Statement
impl Send for Statement
impl Sync for Statement
impl Unpin for Statement
impl UnsafeUnpin for Statement
impl UnwindSafe for Statement
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more