First implementation for enable_load_extension

TODO: Wait for the reply of the port driver
This commit is contained in:
booo
2012-07-24 16:14:33 +02:00
parent 08955394ab
commit 20298aad29
4 changed files with 33 additions and 2 deletions

View File

@@ -125,6 +125,16 @@ static ErlDrvData start(ErlDrvPort port, char* cmd) {
return (ErlDrvData) retval;
}
static int enable_load_extension(sqlite3_drv_t* drv, char *buf,
int len) {
if (buf[1]) {
sqlite3_enable_load_extension(drv->db, 1);
} else {
sqlite3_enable_load_extension(drv->db, 0);
}
return 0;
}
// Driver Stop
static void stop(ErlDrvData handle) {
sqlite3_drv_t* driver_data = (sqlite3_drv_t*) handle;
@@ -181,6 +191,9 @@ static int control(
case CMD_SQL_EXEC_SCRIPT:
sql_exec_script(driver_data, buf, len);
break;
case CMD_ENABLE_LOAD_EXTENSION:
enable_load_extension(driver_data, buf, len);
break;
default:
unknown(driver_data, buf, len);
}