Skip to content
This repository was archived by the owner on Oct 18, 2023. It is now read-only.

Commit b5850bb

Browse files
committed
add savepoint and release stmt categories
1 parent 7b5b4f2 commit b5850bb

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

sqld/src/query_analysis.rs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ pub enum StmtKind {
2828
TxnEnd,
2929
Read,
3030
Write,
31+
Savepoint,
32+
Release,
3133
Other,
3234
}
3335

@@ -51,7 +53,7 @@ impl StmtKind {
5153
Cmd::Explain(_) => Some(Self::Other),
5254
Cmd::ExplainQueryPlan(_) => Some(Self::Other),
5355
Cmd::Stmt(Stmt::Begin { .. }) => Some(Self::TxnBegin),
54-
Cmd::Stmt(Stmt::Commit { .. } | Stmt::Rollback { .. }) => Some(Self::TxnEnd),
56+
Cmd::Stmt(Stmt::Commit { .. } | Stmt::Rollback { savepoint_name: None, .. }) => Some(Self::TxnEnd),
5557
Cmd::Stmt(
5658
Stmt::CreateVirtualTable { tbl_name, .. }
5759
| Stmt::CreateTable {
@@ -99,6 +101,8 @@ impl StmtKind {
99101
temporary: false, ..
100102
}) => Some(Self::Write),
101103
Cmd::Stmt(Stmt::DropView { .. }) => Some(Self::Write),
104+
Cmd::Stmt(Stmt::Savepoint(_)) => Some(Self::Savepoint),
105+
Cmd::Stmt(Stmt::Release(_)) | Cmd::Stmt(Stmt::Rollback { savepoint_name: Some(_) , ..}) => Some(Self::Release),
102106
_ => None,
103107
}
104108
}
@@ -187,7 +191,7 @@ impl State {
187191
(State::Txn, StmtKind::TxnEnd) => State::Init,
188192
(state, StmtKind::Other | StmtKind::Write | StmtKind::Read) => state,
189193
(State::Invalid, _) => State::Invalid,
190-
(State::Init, StmtKind::TxnBegin) => State::Txn,
194+
(State::Init, StmtKind::TxnBegin | ) => State::Txn,
191195
};
192196
}
193197

0 commit comments

Comments
 (0)