refactor of copy to PoC
This commit is contained in:
parent
f7454228c6
commit
014f0a1491
@ -75,8 +75,7 @@ function handleCopyTo () {
|
|||||||
res.header("Content-Disposition", `attachment; filename=${encodeURIComponent(filename)}`);
|
res.header("Content-Disposition", `attachment; filename=${encodeURIComponent(filename)}`);
|
||||||
res.header("Content-Type", "application/octet-stream");
|
res.header("Content-Type", "application/octet-stream");
|
||||||
|
|
||||||
const pg = new PSQL(userDbParams);
|
streamCopy.to(sql, userDbParams, function (err, pgstream, client, done) {
|
||||||
pg.connect(function (err, client, done) {
|
|
||||||
if (err) {
|
if (err) {
|
||||||
return next(err);
|
return next(err);
|
||||||
}
|
}
|
||||||
@ -84,8 +83,6 @@ function handleCopyTo () {
|
|||||||
let responseEnded = false;
|
let responseEnded = false;
|
||||||
let connectionClosedByClient = false;
|
let connectionClosedByClient = false;
|
||||||
|
|
||||||
const copyToStream = copyTo(sql);
|
|
||||||
const pgstream = client.query(copyToStream);
|
|
||||||
|
|
||||||
res
|
res
|
||||||
.on('error', err => {
|
.on('error', err => {
|
||||||
@ -123,12 +120,9 @@ function handleCopyTo () {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
.on('data', data => metrics.addSize(data.length))
|
.on('data', data => metrics.addSize(data.length))
|
||||||
.on('end', () => {
|
|
||||||
metrics.end(copyToStream.rowCount);
|
|
||||||
done();
|
|
||||||
return next(null, metrics);
|
|
||||||
})
|
|
||||||
.pipe(res);
|
.pipe(res);
|
||||||
|
}, function (err, rows) {
|
||||||
|
metrics.end(rows);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -7,8 +7,24 @@ const { Client } = require('pg');
|
|||||||
const Logger = require('./logger');
|
const Logger = require('./logger');
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
to() {
|
to(sql, userDbParams, cb, next) {
|
||||||
|
const pg = new PSQL(userDbParams);
|
||||||
|
pg.connect(function (err, client, done) {
|
||||||
|
if (err) {
|
||||||
|
cb(err);
|
||||||
|
}
|
||||||
|
|
||||||
|
const copyToStream = copyTo(sql);
|
||||||
|
const pgstream = client.query(copyToStream);
|
||||||
|
|
||||||
|
pgstream
|
||||||
|
.on('end', () => {
|
||||||
|
done();
|
||||||
|
next(null, copyToStream.rowCount);
|
||||||
|
})
|
||||||
|
|
||||||
|
cb(null, pgstream, client, done)
|
||||||
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
from(sql, userDbParams, cb, next) {
|
from(sql, userDbParams, cb, next) {
|
||||||
|
Loading…
Reference in New Issue
Block a user