MCPcopy Create free account
hub / github.com/bytebase/bytebase / getStatementType

Function getStatementType

backend/plugin/parser/tidb/statement_type.go:30–72  ·  view source on GitHub ↗

getStatementType returns the type of statement.

(stmt tidbast.StmtNode)

Source from the content-addressed store, hash-verified

28
29// getStatementType returns the type of statement.
30func getStatementType(stmt tidbast.StmtNode) storepb.StatementType {
31 switch v := stmt.(type) {
32 // DDL statements
33 case *tidbast.CreateDatabaseStmt:
34 return storepb.StatementType_CREATE_DATABASE
35 case *tidbast.CreateTableStmt:
36 return storepb.StatementType_CREATE_TABLE
37 case *tidbast.CreateViewStmt:
38 return storepb.StatementType_CREATE_VIEW
39 case *tidbast.CreateIndexStmt:
40 return storepb.StatementType_CREATE_INDEX
41
42 case *tidbast.DropDatabaseStmt:
43 return storepb.StatementType_DROP_DATABASE
44 case *tidbast.DropTableStmt:
45 if v.IsView {
46 return storepb.StatementType_DROP_VIEW
47 }
48 return storepb.StatementType_DROP_TABLE
49 case *tidbast.DropIndexStmt:
50 return storepb.StatementType_DROP_INDEX
51
52 case *tidbast.AlterDatabaseStmt:
53 return storepb.StatementType_ALTER_DATABASE
54 case *tidbast.AlterTableStmt:
55 return storepb.StatementType_ALTER_TABLE
56
57 case *tidbast.TruncateTableStmt:
58 return storepb.StatementType_TRUNCATE
59 case *tidbast.RenameTableStmt:
60 return storepb.StatementType_RENAME
61
62 // DML statements
63 case *tidbast.DeleteStmt:
64 return storepb.StatementType_DELETE
65 case *tidbast.InsertStmt:
66 return storepb.StatementType_INSERT
67 case *tidbast.UpdateStmt:
68 return storepb.StatementType_UPDATE
69 }
70
71 return storepb.StatementType_STATEMENT_TYPE_UNSPECIFIED
72}

Callers 1

GetStatementTypesFunction · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected