First version
[csql.git] / src / sql / StatementFactory.cxx
blobd8b9c89a5e1feeea64bb324576e78d2d04990dce
1 /***************************************************************************
2 * Copyright (C) 2007 by Prabakaran Thirumalai *
3 * praba_tuty@yahoo.com *
4 * *
5 * This program is free software; you can redistribute it and/or modify *
6 * it under the terms of the GNU General Public License as published by *
7 * the Free Software Foundation; either version 2 of the License, or *
8 * (at your option) any later version. *
9 * *
10 * This program is distributed in the hope that it will be useful, *
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13 * GNU General Public License for more details. *
14 * *
15 ***************************************************************************/
16 #include "Statement.h"
17 Statement* StatementFactory::getStatement(ParsedData *data)
19 Statement *stmt;
20 switch(data->getStmtType())
22 case InsertStatement:
23 stmt = new InsStatement();
24 break;
25 case SelectStatement:
26 stmt = new SelStatement();
27 break;
28 case UpdateStatement:
29 stmt = new UpdStatement();
30 break;
31 case DeleteStatement:
32 stmt = new DelStatement();
33 break;
34 case CreateTableStatement:
35 stmt = new CreateTblStatement();
36 break;
37 case DropTableStatement:
38 stmt = new DropTblStatement();
39 break;
40 case CreateIndexStatement:
41 stmt = new CreateIdxStatement();
42 break;
43 case DropIndexStatement:
44 stmt = new DropIdxStatement();
45 break;
47 stmt->setParsedData(data);
48 return stmt;