Fix format, logging
parent
e4a271d6bd
commit
0db2ddd579
|
@ -1,6 +1,6 @@
|
||||||
// Простенький "селект билдер" по мотивам MediaWiki-овского, успешно юзаю подобный в PHP уже лет 8
|
// Простенький "селект билдер" по мотивам MediaWiki-овского, успешно юзаю подобный в PHP уже лет 8
|
||||||
// (c) Виталий Филиппов, 2019
|
// (c) Виталий Филиппов, 2019-2020
|
||||||
// Версия 2020-01-06
|
// Версия 2020-03-25
|
||||||
|
|
||||||
// В PHP, правда, прикольнее - там в массиве можно смешивать строковые и численные ключи,
|
// В PHP, правда, прикольнее - там в массиве можно смешивать строковые и численные ключи,
|
||||||
// благодаря чему можно писать $where = [ 't1.a=t2.a', 't2.b' => [ 1, 2, 3 ] ]
|
// благодаря чему можно писать $where = [ 't1.a=t2.a', 't2.b' => [ 1, 2, 3 ] ]
|
||||||
|
@ -409,14 +409,14 @@ async function select(dbh, tables, fields, where, options, format)
|
||||||
data.rows.forEach(r => delete r['*']);
|
data.rows.forEach(r => delete r['*']);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ((format & MS_LIST) || (format & MS_COL))
|
if (format & MS_LIST)
|
||||||
data = data.rows.map(r => Object.values(r));
|
data = data.rows.map(r => Object.values(r));
|
||||||
|
else if (format & MS_COL)
|
||||||
|
data = data.rows.map(r => Object.values(r)[0]);
|
||||||
else
|
else
|
||||||
data = data.rows;
|
data = data.rows;
|
||||||
if (format & MS_ROW)
|
if (format & MS_ROW)
|
||||||
data = data[0];
|
data = data[0];
|
||||||
if (data && (format & MS_COL))
|
|
||||||
data = data[0];
|
|
||||||
return calc_found_rows ? [ found_rows, data ] : data;
|
return calc_found_rows ? [ found_rows, data ] : data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -734,15 +734,22 @@ class Connection extends ConnectionBase
|
||||||
}
|
}
|
||||||
this.connection_lost = false;
|
this.connection_lost = false;
|
||||||
sql = (bind && bind.length ? _inline(sql, bind) : sql);
|
sql = (bind && bind.length ? _inline(sql, bind) : sql);
|
||||||
if (this.config.log_queries)
|
let start_time;
|
||||||
console.log('> '+sql);
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (!this.in_transaction)
|
if (!this.in_transaction)
|
||||||
{
|
{
|
||||||
this.in_transaction = true;
|
this.in_transaction = true;
|
||||||
}
|
}
|
||||||
|
if (this.config.log_queries)
|
||||||
|
{
|
||||||
|
start_time = Date.now();
|
||||||
|
}
|
||||||
const r = await this.dbh.query(sql);
|
const r = await this.dbh.query(sql);
|
||||||
|
if (this.config.log_queries)
|
||||||
|
{
|
||||||
|
console.log('> pid='+process.pid+' '+((Date.now()-start_time)/1000).toFixed(3)+' '+sql);
|
||||||
|
}
|
||||||
if (this.in_transaction === true)
|
if (this.in_transaction === true)
|
||||||
{
|
{
|
||||||
this.in_transaction = false;
|
this.in_transaction = false;
|
||||||
|
|
Loading…
Reference in New Issue