Skip to content

Commit

Permalink
Merge pull request #1 from Ajayos/main
Browse files Browse the repository at this point in the history
fixed syntax error and  UNIQUE constraint failed error
  • Loading branch information
Ajayos authored Apr 29, 2023
2 parents 158df80 + 34b8c43 commit 4123691
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 13 deletions.
13 changes: 7 additions & 6 deletions index.js
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ var fs = require("fs");
var path = require("path");
var sqlite3 = require("sqlite3");
var util_1 = require("util");
var nodelog = require("@ajayos/nodelog");
var DB_FOLDER = 'DB';
var DB_FILE = 'ajayos.sql';
var DB_PATH = './' + DB_FOLDER + '/' + DB_FILE;
Expand Down Expand Up @@ -87,7 +88,7 @@ var setDB = function (tableName, rowName, data) { return __awaiter(void 0, void
case 2:
// Table does not exist, create it and insert the data
_a.sent();
return [4 /*yield*/, runAsync("INSERT OR IGNORE INTO ".concat(tableName, " (row_name, data) VALUES (?, ?);"), [rowName, JSON.stringify(data)])];
return [4 /*yield*/, runAsync("INSERT INTO ".concat(tableName, " (row_name, data) VALUES (?, ?);"), [rowName, JSON.stringify(data)])];
case 3:
_a.sent();
return [3 /*break*/, 9];
Expand All @@ -96,14 +97,14 @@ var setDB = function (tableName, rowName, data) { return __awaiter(void 0, void
result_1 = _a.sent();
if (!(result_1.length === 0)) return [3 /*break*/, 7];
// Row does not exist, insert it
return [4 /*yield*/, runAsync("INSERT INTO ".concat(tableName, " (row_name, data) VALUES (?, ?);"), [rowName, JSON.stringify(data)])];
return [4 /*yield*/, runAsync("INSERT OR REPLACE INTO ".concat(tableName, " (row_name, data) VALUES (?, ?);"), [rowName, JSON.stringify(data)])];
case 6:
// Row does not exist, insert it
_a.sent();
return [3 /*break*/, 9];
case 7:
// Row exists, update it
return [4 /*yield*/, runAsync("INSERT OR REPLACE OR IGNORE INTO ".concat(tableName, " (row_name, data) VALUES (?, ?);"), [rowName, JSON.stringify(data)])];
return [4 /*yield*/, runAsync("UPDATE ".concat(tableName, " SET data = ? WHERE row_name = ?"), [JSON.stringify(data), rowName])];
case 8:
// Row exists, update it
_a.sent();
Expand Down Expand Up @@ -223,7 +224,7 @@ var setDATA = function (tableName, rowName, data) { return __awaiter(void 0, voi
case 2:
// Table does not exist, create it and insert the data
_a.sent();
return [4 /*yield*/, runAsync("INSERT OR IGNORE INTO ".concat(tableName, " (row_name, data) VALUES (?, ?);"), [rowName, data])];
return [4 /*yield*/, runAsync("INSERT INTO ".concat(tableName, " (row_name, data) VALUES (?, ?);"), [rowName, data])];
case 3:
_a.sent();
return [3 /*break*/, 9];
Expand All @@ -232,14 +233,14 @@ var setDATA = function (tableName, rowName, data) { return __awaiter(void 0, voi
result_4 = _a.sent();
if (!(result_4.length === 0)) return [3 /*break*/, 7];
// Row does not exist, insert it
return [4 /*yield*/, runAsync("INSERT INTO ".concat(tableName, " (row_name, data) VALUES (?, ?);"), [rowName, data])];
return [4 /*yield*/, runAsync("INSERT OR REPLACE INTO ".concat(tableName, " (row_name, data) VALUES (?, ?);"), [rowName, data])];
case 6:
// Row does not exist, insert it
_a.sent();
return [3 /*break*/, 9];
case 7:
// Row exists, update it
return [4 /*yield*/, runAsync("INSERT OR REPLACE OR IGNORE INTO ".concat(tableName, " (row_name, data) VALUES (?, ?);"), [rowName, data])];
return [4 /*yield*/, runAsync("UPDATE ".concat(tableName, " SET data = ? WHERE row_name = ?"), [data, rowName])];
case 8:
// Row exists, update it
_a.sent();
Expand Down
12 changes: 6 additions & 6 deletions index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -43,17 +43,17 @@ export const setDB = async (tableName: string, rowName: string, data: any): Prom
if (result.length === 0) {
// Table does not exist, create it and insert the data
await runAsync(`CREATE TABLE ${tableName} (row_name TEXT PRIMARY KEY, data TEXT NOT NULL);`);
await runAsync(`INSERT OR IGNORE INTO ${tableName} (row_name, data) VALUES (?, ?);`, [rowName, JSON.stringify(data)]);
await runAsync(`INSERT INTO ${tableName} (row_name, data) VALUES (?, ?);`, [rowName, JSON.stringify(data)]);
} else {
// Table exists, check if row exists
const result = await allAsync(`SELECT row_name FROM ${tableName} WHERE row_name='${rowName}';`);

if (result.length === 0) {
// Row does not exist, insert it
await runAsync(`INSERT INTO ${tableName} (row_name, data) VALUES (?, ?);`, [rowName, JSON.stringify(data)]);
await runAsync(`INSERT OR REPLACE INTO ${tableName} (row_name, data) VALUES (?, ?);`, [rowName, JSON.stringify(data)]);
} else {
// Row exists, update it
await runAsync(`INSERT OR REPLACE OR IGNORE INTO ${tableName} (row_name, data) VALUES (?, ?);`, [rowName, JSON.stringify(data)]);
await runAsync(`UPDATE ${tableName} SET data = ? WHERE row_name = ?`, [JSON.stringify(data), rowName]);
}
}
return true;
Expand Down Expand Up @@ -139,17 +139,17 @@ export const setDATA = async (tableName: string, rowName: string, data: any): Pr
if (result.length === 0) {
// Table does not exist, create it and insert the data
await runAsync(`CREATE TABLE ${tableName} (row_name TEXT PRIMARY KEY, data TEXT NOT NULL);`);
await runAsync(`INSERT OR IGNORE INTO ${tableName} (row_name, data) VALUES (?, ?);`, [rowName, data]);
await runAsync(`INSERT INTO ${tableName} (row_name, data) VALUES (?, ?);`, [rowName, data]);
} else {
// Table exists, check if row exists
const result = await allAsync(`SELECT row_name FROM ${tableName} WHERE row_name='${rowName}';`);

if (result.length === 0) {
// Row does not exist, insert it
await runAsync(`INSERT INTO ${tableName} (row_name, data) VALUES (?, ?);`, [rowName, data]);
await runAsync(`INSERT OR REPLACE INTO ${tableName} (row_name, data) VALUES (?, ?);`, [rowName, data]);
} else {
// Row exists, update it
await runAsync(`INSERT OR REPLACE OR IGNORE INTO ${tableName} (row_name, data) VALUES (?, ?);`, [rowName, data]);
await runAsync(`UPDATE ${tableName} SET data = ? WHERE row_name = ?`, [data, rowName]);
}
}
return true;
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@ajayos/nodedb",
"version": "1.0.4",
"version": "1.0.5",
"description": "Database for nodejs",
"main": "index.js",
"ts": "index.ts",
Expand Down

0 comments on commit 4123691

Please sign in to comment.