pub enum Bound {
Query(Plan),
CreateTable(CreateTable),
CreateView(CreateView),
DropTable(DropTable),
Insert(Insert),
Setting(Setting),
Explain(Plan),
}Expand description
One statement, bound.
Not #[non_exhaustive]. A new variant here is a new kind of statement, and the compiler
pointing at every place that has to decide what to do with it is the whole value of the enum.
Variants§
Query(Plan)
A query, which is the only one of these that produces rows.
CreateTable(CreateTable)
CREATE TABLE.
CreateView(CreateView)
CREATE VIEW.
DropTable(DropTable)
DROP TABLE or DROP VIEW.
Insert(Insert)
INSERT INTO.
Setting(Setting)
SET name = value, or RESET name, which is the same thing with no value.
Explain(Plan)
EXPLAIN over a query, holding the plan of the query rather than the query.
The same Plan a Bound::Query would have carried, bound the same way and by the same
code. What makes it an explain is that the layer above optimizes it and prints it instead
of running it, which is the point: a plan that was built differently because somebody asked
to see it is not the plan that runs.