Commit 63f188ef authored by nanahira's avatar nanahira

clean sqlite3

parent a094c5af
Pipeline #42899 passed with stages
in 7 minutes and 45 seconds
...@@ -17,8 +17,8 @@ ...@@ -17,8 +17,8 @@
} }
*/ */
var sqlite3 = require('sqlite3').verbose();
var fs = require('fs'); var fs = require('fs');
var initSqlJs = require('sql.js');
var loadJSON = require('load-json-file').sync; var loadJSON = require('load-json-file').sync;
var config = loadJSON('./config/draw.json'); var config = loadJSON('./config/draw.json');
var constants = loadJSON('./data/constants.json'); var constants = loadJSON('./data/constants.json');
...@@ -31,16 +31,32 @@ var LFLIST={"unknown": []}; ...@@ -31,16 +31,32 @@ var LFLIST={"unknown": []};
var MAIN_POOL=[]; var MAIN_POOL=[];
var EXTRA_POOL=[]; var EXTRA_POOL=[];
function load_database(callback) { var sqlJsPromise;
var db=new sqlite3.Database(config.dbfile); var SQL = null;
db.each("select * from datas,texts where datas.id=texts.id", function (err,result) { function ensureSqlJs() {
if (err) { if (!sqlJsPromise) {
console.log(config.dbfile + ":" + err); var wasmPath = require.resolve('sql.js/dist/sql-wasm.wasm');
return; sqlJsPromise = initSqlJs({
locateFile: function() {
return wasmPath;
}
}).then(function(SQLLib) {
SQL = SQLLib;
return SQLLib;
});
} }
else { return sqlJsPromise;
}
function load_database(callback) {
ensureSqlJs().then(function() {
var dbBuffer = fs.readFileSync(config.dbfile);
var db = new SQL.Database(dbBuffer);
var stmt = db.prepare("select * from datas,texts where datas.id=texts.id");
while (stmt.step()) {
var result = stmt.getAsObject();
if ((result.type & constants.TYPES.TYPE_TOKEN) || result.alias) { if ((result.type & constants.TYPES.TYPE_TOKEN) || result.alias) {
return; continue;
} }
CARD_RESULT[result.id] = 0; CARD_RESULT[result.id] = 0;
if((result.type & constants.TYPES.TYPE_FUSION) || (result.type & constants.TYPES.TYPE_SYNCHRO) || (result.type & constants.TYPES.TYPE_XYZ) || (result.type & constants.TYPES.TYPE_LINK)) { if((result.type & constants.TYPES.TYPE_FUSION) || (result.type & constants.TYPES.TYPE_SYNCHRO) || (result.type & constants.TYPES.TYPE_XYZ) || (result.type & constants.TYPES.TYPE_LINK)) {
...@@ -49,7 +65,14 @@ function load_database(callback) { ...@@ -49,7 +65,14 @@ function load_database(callback) {
ALL_MAIN_CARDS[result.id] = 3; ALL_MAIN_CARDS[result.id] = 3;
} }
} }
}, callback); stmt.free();
db.close();
if (callback) {
callback();
}
}).catch(function(err) {
console.log(config.dbfile + ":" + err);
});
} }
function load_lflist() { function load_lflist() {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment