Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
tracer.startRootSpan({ name: 'selectEventRootSpan' }, (rootSpan: RootSpan) => {
const q = 'SELECT 4 as value'
// Must use new Query for eventemitter
// https://node-postgres.com/guides/upgrading#client-query-submittable-
const query = client.query(new pg.Query(q))
query.on('end', res => {
assert.strictEqual(rootSpanVerifier.endedRootSpans.length, 0)
rootSpan.end()
assert.strictEqual(rootSpanVerifier.endedRootSpans.length, 1)
assert.strictEqual(rootSpanVerifier.endedRootSpans[0].spans.length, 1)
assert.strictEqual(rootSpanVerifier.endedRootSpans[0].spans[0].attributes.query, q)
assertSpan(rootSpanVerifier, 'pg-query', SpanKind.CLIENT)
done()
})
})
})
self.removeListener('conn-error', onConnError);
clearTimeout(timer);
res.emit(event, arg);
}
function onConnError(err) {
dtrace['query-conn-error'].fire(function () {
return ([reqid, sql, err.toString()]);
});
setImmediate(done, 'error', err);
}
req = new pg.Query(sql, args);
req.on('row', function onRow(row) {
dtrace['query-row'].fire(function () {
return ([reqid, sql, row]);
});
log.debug({
req_id: reqid,
client: self,
row: row
}, 'query: row');
if (ended) {
return;
}
query: function (query) {
var ret = new Promise();
if (!this.closed) {
try {
this.connection.setMaxListeners(0);
var fields = [], rows = [];
var q = this.connection.query(new pg.Query(query))
.on("error", ret.errback)
.on("row", function(row){
rows.push(row);
})
.on("end", function(){
ret.callback(rows, fields);
});
var orig = q.handleRowDescription;
q.handleRowDescription = function (msg) {
fields = msg.fields;
q.handleRowDescription = orig;
return orig.apply(q, arguments);
};
} catch (e) {
ret.errback(e);
}
this.db.connect((err,client,done) => {
var query = client.query(new Query(`
SELECT COUNT(*) as count from ${postgresUtil.table('candles')}
`));
var rows = [];
query.on('row', function(row) {
rows.push(row);
});
query.on('end',function(){
done();
next(null, _.first(rows).count);
});
});
}