V8 Coverage Report
Files covered Lines
. / test/support/createdb.js
89.58 %
43 / 48
    1.      1#!/usr/bin/env node
    2.      1
    3.      1function createdb(callback) {
    4.      0    var existsSync = require('fs').existsSync || require('path').existsSync;
    5.      1    var path = require('path');
    6.      1
    7.      1    var sqlite3 = require('../../lib/sqlite3');
    8.      1
    9.      1    var count = 1000000;
   10.      1    var db_path = path.join(__dirname,'big.db');
   11.      1
   12.1000000    function randomString() {
   13.1000000        var str = '';
   14.1000000        var chars = 'abcdefghijklmnopqrstuvwxzyABCDEFGHIJKLMNOPQRSTUVWXZY0123456789  ';
   15.50519288        for (var i = Math.random() * 100; i > 0; i--) {
   16.50519288            str += chars[Math.floor(Math.random() * chars.length)];
   17.50519288        }
   18.1000000        return str;
   19.1000000    };
   20.      1
   21.      1
   22.      0    if (existsSync(db_path)) {
   23.      0        console.log('okay: database already created (' + db_path + ')');
   24.      0        if (callback) callback();
   25.      0    } else {
   26.      1        console.log("Creating test database... This may take several minutes.");
   27.      1        var db = new sqlite3.Database(db_path);
   28.      1        db.serialize(function() {
   29.      1            db.run("CREATE TABLE foo (id INT, txt TEXT)");
   30.      1            db.run("BEGIN TRANSACTION");
   31.      1            var stmt = db.prepare("INSERT INTO foo VALUES(?, ?)");
   32.1000000            for (var i = 0; i < count; i++) {
   33.1000000                stmt.run(i, randomString());
   34.1000000            }
   35.      1            stmt.finalize();
   36.      1            db.run("COMMIT TRANSACTION", [], function () {
   37.      1                db.close(callback);
   38.      1            });
   39.      1        });
   40.      1    }
   41.      1};
   42.      1
   43.      1if (require.main === module) {
   44.      1    createdb();
   45.      1}
   46.      1
   47.      1module.exports = createdb;
   48.      1