-
Notifications
You must be signed in to change notification settings - Fork 29
Getting Next Results Programmatically #36
Description
Hey Brian,
I tweeted you about trying to get next results and you asked me to gist and open an issue here. I already solved my problem in code, but I wasn't able to us pg-cursor to do it.
Basically I had this:
async function test() {
console.log("THIS IS THE TEST METHOD");
const client = await pool.connect();
const renditionsCursor = client.query(new Cursor("select * from object_stacks"));
renditionsCursor.read(10, (err, rows) => {
if (err) {
throw err;
}
for (var row of rows) {
console.log(`Checking: ${row.object_name}`);
}
renditionsCursor.read(10, (err, rows) => {
for (var row of rows) {
console.log(`Checking: ${row.object_name}`);
}
});
});
}And I was trying to figure out a way to programmatically do another renditionsCursor.read() and drain the cursor. The scenario is that I have about 1.5million rows I wanted to process and I thought pg-cursor might be able to help. It did seem like it could do the job but at the fault of my own I was unable to accomplish the goal with pg-cursor. I tried several tactics but I was never able to have one block of renditionsCursor.read() and then iterate it several times to get the next result sets.
On your NPM wiki you have a comment that says:
//Also - you probably want to use some sort of async or promise library to deal with paging //through your cursor results. node-pg-cursor makes no asumptions for you on that front.
So I was trying to use async/await to handle this but I just couldn't get it to grab the next results. Not really a big deal as I got this taken care of but I was curious to see if you've implemented what I was trying to do or if you have seen any examples of other people implementing the next results scenario.
Thanks for your time.