hmm: Request Error

Beitrag lesen

irgendwie ist das zum mäusemelken:

generateOneUpdate
select:
select user_id, mitarbeiter_id from user, mitarbeiter where user.email = 'wyczisk@gmx.de' and mitarbeiter.name = 'a';
generateOneUpdate
select:
select user_id, mitarbeiter_id from user, mitarbeiter where user.email = 'wyczisk@gmx.de' and mitarbeiter.name = 'Christopher';
generateOneUpdate
select:
select user_id, mitarbeiter_id from user, mitarbeiter where user.email = 'wyczisk@gmx.de' and mitarbeiter.name = 'Christopher';
generateOneUpdate
select:
select user_id, mitarbeiter_id from user, mitarbeiter where user.email = 'wyczisk@gmx.de' and mitarbeiter.name = 'Jens';
generateOneUpdate
select:
select user_id, mitarbeiter_id from user, mitarbeiter where user.email = 'wyczisk@gmx.de' and mitarbeiter.name = 's';
test
[ { user_id: 1, mitarbeiter_id: 3 } ]
insert into user_mitarbeiter (user_id, mitarbeiter_id) select 1, 3 where not exists (select 1 from user_mitarbeiter where user_id = 1 and mitarbeiter_id = 3);

insert into mitarbeiter_skill (mitarbeiter_id, skill, subskill, nivau) select 3, 'b', 'c', '2' where not exists (select 1 from mitarbeiter_skill where mitarbeiter_id = 3 and skill = 'b' and subskill = 'c');

replace into mitarbeiter_skill (mitarbeiter_id, skill, subskill, nivau) select 3, 'b', 'c', '2' where exists (select 1 from mitarbeiter_skill where mitarbeiter_id = 3 and skill = 'b' and subskill = 'c');

events.js:141
      throw er; // Unhandled 'error' event
      ^

Error: SQLITE_BUSY: database is locked
    at Error (native)

code:

    this.generateOneUpdate = function(email, data) {
        var dbLokal = new sqlite3.Database(dbRef);
        
        var statment = SQL_INSERT_MITARBEITER.replace(/\?name/g, "'" + data.name + "'");
        dbLokal.run(statment);
        console.log("generateOneUpdate");
               
        statment = SQL_SELECT_USER_MITARBEITER_ID.replace(/\?email/g, "'" + email + "'");
        statment = statment.replace(/\?name/g, "'" + data.name + "'");
        console.log("select:");
        console.log(statment);

        dbLokal.all(statment, function(err, rows) {
            console.log("test");
            console.log(rows);
            
            var user_id = rows[0].user_id;
            var m_id = rows[0].mitarbeiter_id;
            //callback(rows[lastIndex].user_id, rows[lastIndex].mitarbeiter_id, data);
            
            var statmentLokal = SQL_INSERT_USER_MITARBEITER.replace(/\?user_id/g, user_id);
            statmentLokal = statmentLokal.replace(/\?m_id/g, m_id);
            console.log(statmentLokal + "\n");
            dbLokal.run(statmentLokal);
            statmentLokal = SQL_INSERT_SKILL.replace(/\?m_id/g, m_id);
            statmentLokal = statmentLokal.replace(/\?skill/g, "'" + data.skill + "'");
            statmentLokal = statmentLokal.replace(/\?subskill/g, "'" + data.subskill + "'");
            statmentLokal = statmentLokal.replace(/\?nivau/g, "'" + data.nivau + "'");
            console.log(statmentLokal + "\n");
            dbLokal.run(statmentLokal);
            statmentLokal = SQL_REPLACE_SKILL.replace(/\?m_id/g, m_id);
            statmentLokal = statmentLokal.replace(/\?skill/g, "'" + data.skill + "'");
            statmentLokal = statmentLokal.replace(/\?subskill/g, "'" + data.subskill + "'");
            statmentLokal = statmentLokal.replace(/\?nivau/g, "'" + data.nivau + "'");
            console.log(statmentLokal + "\n");
            dbLokal.run(statmentLokal);
        });
        
        dbLokal.close();
    }