

![]() | Start a set with this search |
![]() | Include this search in one of my sets |
![]() | Exclude this search from one of my sets |
![]() | Permalink to these results Paste this link in email or IM: |
| Atom feed for tracking future search results Paste this URL into your reader: |
18 messages in org.postgresql.pgsql-hackersRe: Progress bar updates| From | Sent On | Attachments |
|---|---|---|
| Gregory Stark | Jul 18, 2006 11:35 am | |
| Luke Lonergan | Jul 18, 2006 11:44 am | |
| Dave Page | Jul 18, 2006 1:08 pm | |
| Andreas Pflug | Jul 18, 2006 5:12 pm | |
| Neil Conway | Jul 18, 2006 6:52 pm | |
| Tom Lane | Jul 18, 2006 8:23 pm | |
| Josh Berkus | Jul 18, 2006 9:24 pm | |
| Greg Stark | Jul 19, 2006 2:18 am | |
| Hannu Krosing | Jul 19, 2006 2:33 am | |
| Dave Page | Jul 19, 2006 2:35 am | |
| Andreas Pflug | Jul 19, 2006 5:23 am | |
| Tom Lane | Jul 19, 2006 7:33 am | |
| Darcy Buskermolen | Jul 19, 2006 8:54 am | |
| Andrew Hammond | Jul 19, 2006 10:29 am | |
| Christopher Kings-Lynne | Jul 19, 2006 6:38 pm | |
| Agent M | Jul 19, 2006 7:40 pm | |
| Csaba Nagy | Jul 20, 2006 1:51 am | |
| Luke Lonergan | Jul 20, 2006 8:36 am |

![]() | Permalink for this message Paste this link in email or IM: |
![]() | Permalink for this thread Paste this link in email or IM: |
| Atom feed for this thread Paste this URL into your reader: |
| Subject: | Re: Progress bar updates | Actions... |
|---|---|---|
| From: | Neil Conway (nei...@samurai.com) | |
| Date: | Jul 18, 2006 6:52:19 pm | |
| List: | org.postgresql.pgsql-hackers | |
On Tue, 2006-07-18 at 14:35 -0400, Gregory Stark wrote:
My first thought would be a message like CancelQuery which would cause the backend to peek into a static data structure and return a message that the client could parse and display something intelligent.
I'm not quite sure what you're suggesting; presumably you'd need to open another client connection to send the "status report" message to a backend (since a backend will not be polling its input socket during query execution). That just seems like the wrong approach -- stashing a backend's current status into shared memory sounds more promising, IMHO, and won't require changes to the FE/BE protocol.
I would suggest starting with utility functions like index builds or COPY which would have to be specially handled anyways. Handling all optimizable queries in a single generic implementation seems like something to tackle only once the basic infrastructure is there and working for simple cases.
Of course the estimates would be not much better than guesses.
Estimating query progress for DDL should be reasonably doable, but I think it would require some hard thought to get even somewhat accurate estimates for SELECT queries -- and I'm not sure there's much point doing this if we don't at least have an idea how we might implement reasonably accurate progress reporting for every kind of query.
This paper is worth a read:
Gang Luo, Jeffrey F.Naughton, Curt Ellmann and Michael Watzke: Toward a Progress Indicator for Database Queries. SIGMOD Conference 2004: 791-802.
Interestingly, they apparently implemented a prototype using PostgreSQL.
-Neil







