27 lines
917 B
C++
27 lines
917 B
C++
#include "parser.h"
|
|
#include "executor.h"
|
|
|
|
// https://dev.to/joaoh82/what-would-sqlite-look-like-if-written-in-rust-part-1-2np4
|
|
|
|
// parser should get lexer as param and table executor to be able translate * or get types or so
|
|
// podporovat create as select
|
|
// drop table
|
|
|
|
int main(int argc, char *argv[]) {
|
|
Parser parser{};
|
|
Executor executor{};
|
|
|
|
std::string sql_create = "create table a (i integer not null, s varchar(64), f float)";
|
|
// std::string sql_insert = "insert into a (i, s) values(1, 'one')";
|
|
// std::string sql_inser2 = "insert into a (i, s) values(2, 'two')";
|
|
// std::string sql_inser3 = "insert into a (i, s) values(3, 'two')";
|
|
// std::string sql_update = "update a set s = 'three' where i = 3";
|
|
// std::string sql_select = "select i, s from a where i > 0";
|
|
// std::string sql_delete = "delete from a where i = 3";
|
|
|
|
auto node = parser.parse(sql_create);
|
|
|
|
executor.execute(*node.get());
|
|
return 0;
|
|
}
|