📄 executor.h
字号:
/////////////////////////////////////////////////////////////
//
//
//
//
//////////////////////////////////////////////////////////////
#ifndef __EXECUTOR_H__
#define __EXECUTOR_H__
#include "SplitString.h"
#include "AnalyseWords.h"
#include "CatalogManager.h"
#include "btree.h"
#include "record.h"
#include <fstream>
#include <string>
#include <set>
#include <algorithm>
using namespace std;
//
class Executor
{
public:
virtual string ExecuteSQL(int)=0;
bool Compare(int num1,int num2, string op);
bool Compare(float num1, float num2, string op);
bool Compare(string num1, string num2, string op);
};
class ExCreateTable : public Executor
{
private:
AnCreateTable m_ACTresult;
public:
ExCreateTable(AnCreateTable result) : m_ACTresult(result){}
string ExecuteSQL(int);
};
class ExCreateIndex : public Executor
{
private:
AnCreateIndex m_ACIresult;
public:
ExCreateIndex(AnCreateIndex result) : m_ACIresult(result){}
string ExecuteSQL(int);
};
class ExDropTable : public Executor
{
private:
AnDropTable m_ADTresult;
public:
ExDropTable(AnDropTable result) : m_ADTresult(result){}
string ExecuteSQL(int);
};
class ExDropIndex : public Executor
{
private:
AnDropIndex m_ADIresult;
public:
ExDropIndex(AnDropIndex result) : m_ADIresult(result){}
string ExecuteSQL(int);
};
class ExInsertValues : public Executor
{
private:
AnInsertValues m_AIVresult;
public:
ExInsertValues(AnInsertValues result) : m_AIVresult(result){}
string ExecuteSQL(int);
};
class ExDeleteValues : public Executor
{
private:
AnDeleteValues m_ADTresult;
RecordManager m_record;
public:
ExDeleteValues(AnDeleteValues result) : m_ADTresult(result),m_record(result.m_tableName){}
string ExecuteSQL(int);
};
class ExSelectTable : public Executor
{
private:
AnSelectTable m_ASTresult; //分析结果
RecordManager m_record;
public:
ExSelectTable(AnSelectTable result) : m_ASTresult(result),m_record(result.m_tableName){}
string ExecuteSQL(int);
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -