diff --git a/priv/sqlite3_drv.c b/priv/sqlite3_drv.c index 6aa9a43..8d76d18 100644 --- a/priv/sqlite3_drv.c +++ b/priv/sqlite3_drv.c @@ -65,22 +65,24 @@ static void outputv(ErlDrvData handle, ErlIOVec *ev) { ErlDrvBinary* data = ev->binv[1]; int command = data->orig_bytes[0]; // First byte is the command - // switch(command) { - // case CMD_PUT: - // put(driver_data, ev); - // break; - // - // case CMD_GET: - // get(driver_data, ev); - // break; - // - // case CMD_DEL: - // del(driver_data, ev); - // break; - // - // default: - // unkown(driver_data, ev); - // } + fprintf(stderr, "Command: %s\n", data->orig_bytes); + + switch(command) { + case CMD_LIST_TABLES: + list_tables(driver_data, ev); + break; + + // case CMD_GET: + // get(driver_data, ev); + // break; + // + // case CMD_DEL: + // del(driver_data, ev); + // break; + + default: + unkown(driver_data, ev); + } } static void ready_async(ErlDrvData drv_data, ErlDrvThreadData thread_data) @@ -88,6 +90,9 @@ static void ready_async(ErlDrvData drv_data, ErlDrvThreadData thread_data) } +static void list_tables(sqlite3_drv_t *drv, ErlIOVec *ev) { +} + #if 0 // Insert or replace record in the database static void put(sqlite3_drv_t *bdb_drv, ErlIOVec *ev) { diff --git a/priv/sqlite3_drv.h b/priv/sqlite3_drv.h index 5e25f54..4be71a4 100644 --- a/priv/sqlite3_drv.h +++ b/priv/sqlite3_drv.h @@ -9,9 +9,9 @@ #define DB_PATH "./store.db" // Binary commands between Erlang VM and Driver -#define CMD_PUT 1 -#define CMD_GET 2 -#define CMD_DEL 3 +#define CMD_LIST_TABLES 1 +#define CMD_SQL_EXEC 2 +// #define CMD_DEL 3 // Number of bytes for each key // (160 bits for SHA1 hash) @@ -29,7 +29,7 @@ static ErlDrvData start(ErlDrvPort port, char* cmd); static void stop(ErlDrvData handle); static void outputv(ErlDrvData handle, ErlIOVec *ev); static void ready_async(ErlDrvData drv_data, ErlDrvThreadData thread_data); -// static void put(bdb_drv_t *bdb_drv, ErlIOVec *ev); +static void list_tables(sqlite3_drv_t *drv, ErlIOVec *ev); // static void get(bdb_drv_t *bdb_drv, ErlIOVec *ev); // static void del(bdb_drv_t *bdb_drv, ErlIOVec *ev); static void unkown(sqlite3_drv_t *bdb_drv, ErlIOVec *ev);