Support sqlite mode flags (#73)
* Update mbtiles.js * some reading * remove seemingly unused/dead code * core api functionality * test note * grids * remove index test * add tilelive example * vNext * follow sqlite3 URI filenames * add mode test * add mode test * fix ci * fix ci * Update mbtiles.js * follow sqlite3 URI filenames * add mode test * add mode test * fix ci * fix ci * Update readme on mode flags
This commit is contained in:
@@ -51,11 +51,22 @@ function MBTiles(uri, callback) {
|
||||
uri.query = uri.query || {};
|
||||
if (!uri.query.batch) uri.query.batch = 100;
|
||||
|
||||
if (!uri.query.mode) uri.query.mode = 'rwc';
|
||||
var flagEnum = {
|
||||
ro: sqlite3.OPEN_READONLY,
|
||||
rw: sqlite3.OPEN_READWRITE,
|
||||
rwc: sqlite3.OPEN_READWRITE | sqlite3.OPEN_CREATE
|
||||
};
|
||||
var mode = flagEnum[uri.query.mode];
|
||||
if (!mode) {
|
||||
return callback(new Error('Only supports "ro", "rw", or "rwc" mode.'));
|
||||
}
|
||||
|
||||
var mbtiles = this;
|
||||
this.setMaxListeners(0);
|
||||
this.filename = uri.pathname;
|
||||
this._batchSize = +uri.query.batch;
|
||||
mbtiles._db = new sqlite3.Database(mbtiles.filename, function(err) {
|
||||
mbtiles._db = new sqlite3.Database(mbtiles.filename, mode, function(err) {
|
||||
if (err) return callback(err);
|
||||
fs.stat(mbtiles.filename, function(err, stat) {
|
||||
if (err) return callback(err);
|
||||
|
||||
Reference in New Issue
Block a user