HyriseSQLParser/src/sql/SQLStatement.h

53 lines
891 B
C
Raw Normal View History

#ifndef SQLPARSER_SQLSTATEMENT_H
#define SQLPARSER_SQLSTATEMENT_H
2014-10-20 22:33:36 +02:00
2015-01-06 15:29:18 +01:00
#include <vector>
2014-10-09 01:30:22 +02:00
#include "Expr.h"
namespace hsql {
enum StatementType {
kStmtError, // unused
kStmtSelect,
kStmtImport,
kStmtInsert,
kStmtUpdate,
kStmtDelete,
kStmtCreate,
kStmtDrop,
kStmtPrepare,
kStmtExecute,
kStmtExport,
kStmtRename,
2017-08-23 23:09:02 +02:00
kStmtAlter,
kStmtShow
};
2016-02-27 15:01:06 +01:00
// Base struct for every SQL statement
struct SQLStatement {
SQLStatement(StatementType type);
2016-02-27 15:01:06 +01:00
virtual ~SQLStatement();
2016-02-27 15:01:06 +01:00
StatementType type() const;
bool isType(StatementType type) const;
2016-02-27 15:01:06 +01:00
// Shorthand for isType(type).
bool is(StatementType type) const;
// Length of the string in the SQL query string
size_t stringLength;
2017-06-06 03:49:41 +02:00
std::vector<Expr*>* hints;
private:
StatementType type_;
};
2014-10-09 01:30:22 +02:00
} // namespace hsql
#endif // SQLPARSER_SQLSTATEMENT_H