Expand description
§The MYSQL module
work in progress
§Example
!
async function test_mysql(){
let mysql_mod = await import('greco://mysql');
let url = "localhost";
let port = 3306;
let user = null;
let pass = null;
let dbSchema = "esses";
let con = new mysql_mod.Connection(url, port, user, pass, dbSchema);
// params and batches
await con.execute("insert into table1(name, lastName) values(:name, :lastName)", {name: 'Pete', lastName: 'Peterson'}, {name: 'Andrew', lastName: 'Anderson'});
let q1_objects = await con.query("select * from something where id > :id and age < :age", {id: 1, age: 123}, (name, age) => {
console.log("a name = %s, age = %s", name, age);
return {name, age};
});
// q1_objects is an array like [{name: 'n1', age: 21}, {name: 'n2', age: 37}, etc..]
let transaction = await con.transaction();
try {
// all methods return a promise so execution never blocks
await transaction.execute("insert into table1(name) values(:name)", {name: 'Harry'}, {name: 'Henry'});
let ct_rows = await transaction.query("select count(*) from table1", [], (ct) => {
return {count: ct};
});
await transaction.commit();
} finally {
// returns a promise await for error handling.
await transaction.close();
}
}
test_mysql().then(() => {
console.log("done");
}).catch((ex) => {
console.log("test failed: %s", ex);
});