Synchronous Connection and query handling for node-firebird.
Sometimes we need to do synchronous proccess instead of natural asynchronous with callback in query and data processing. Manukdadali wrap functionality of node-firebird and make it posible to use synchronously.
Installation
npm install manukdadali
Usage
const fb = require('manukdadali');
Config
const config = {
host : 'localhost',
database : 'MYDB.FDB',
user : 'SYSDBA',
password : 'masterkey'
};
Connect & Query
do this in async function
process.stdout.write("connecting to FirebirdSQL Server...");
let conn = await fb.connect(config);
console.log("\x1b[32m", "[Connected]", "\x1b[0m");
try {
process.stdout.write('doing first query...')
let rows = await conn.query('SELECT FIRST 10 * FROM mytable');
console.log("\x1b[32m", "[OK].", "\x1b[0m");
console.log(rows);
} catch(err) {
throw err;
} finally {
conn.close();
}
Transaction
do this in async function
process.stdout.write("connecting to FirebirdSQL Server...");
let conn = await fb.connect(config);
console.log("\x1b[32m", "[Connected]", "\x1b[0m");
process.stdout.write("staring transaction...");
await conn.BeginTransaction(fb.ISOLATION_READ_COMMITED);
console.log("\x1b[32m", "[Ok]", "\x1b[0m");
try {
process.stdout.write("updating data...");
await conn.query("UPDATE mytable QUERY");
console.log("\x1b[32m", "[Ok]", "\x1b[0m");
process.stdout.write("committing transaction...");
await conn.commit();
console.log("\x1b[32m", "[Ok]", "\x1b[0m");
} catch(err) {
throw err;
} finally {
await conn.close();
}