17#include "common/sys/rc.h"
18#include "sql/parser/parse_defs.h"
32#define DEFINE_ENUM() \
33 DEFINE_ENUM_ITEM(CALC) \
34 DEFINE_ENUM_ITEM(SELECT) \
35 DEFINE_ENUM_ITEM(INSERT) \
36 DEFINE_ENUM_ITEM(UPDATE) \
37 DEFINE_ENUM_ITEM(DELETE) \
38 DEFINE_ENUM_ITEM(CREATE_TABLE) \
39 DEFINE_ENUM_ITEM(DROP_TABLE) \
40 DEFINE_ENUM_ITEM(ANALYZE_TABLE) \
41 DEFINE_ENUM_ITEM(CREATE_INDEX) \
42 DEFINE_ENUM_ITEM(DROP_INDEX) \
43 DEFINE_ENUM_ITEM(SYNC) \
44 DEFINE_ENUM_ITEM(SHOW_TABLES) \
45 DEFINE_ENUM_ITEM(DESC_TABLE) \
46 DEFINE_ENUM_ITEM(BEGIN) \
47 DEFINE_ENUM_ITEM(COMMIT) \
48 DEFINE_ENUM_ITEM(ROLLBACK) \
49 DEFINE_ENUM_ITEM(LOAD_DATA) \
50 DEFINE_ENUM_ITEM(HELP) \
51 DEFINE_ENUM_ITEM(EXIT) \
52 DEFINE_ENUM_ITEM(EXPLAIN) \
53 DEFINE_ENUM_ITEM(PREDICATE) \
54 DEFINE_ENUM_ITEM(SET_VARIABLE)
58#define DEFINE_ENUM_ITEM(name) name,
60#undef DEFINE_ENUM_ITEM
63inline const char *stmt_type_name(StmtType type)
66#define DEFINE_ENUM_ITEM(name) \
67 case StmtType::name: return #name;
69#undef DEFINE_ENUM_ITEM
70 default:
return "unkown";
74bool stmt_type_ddl(StmtType type);
86 virtual ~Stmt() =
default;
88 virtual StmtType type()
const = 0;
一个DB实例负责管理一批表
Definition: db.h:46
表示一个SQL语句
Definition: parse_defs.h:300
Stmt for Statement
Definition: stmt.h:83
#define DEFINE_ENUM()
Statement的类型
Definition: stmt.h:32