From: | Thom Brown <thom(at)linux(dot)com> |
---|---|
To: | Anil Sahoo <anil(dot)sahoo(at)enterprisedb(dot)com> |
Cc: | Dave Page <dpage(at)pgadmin(dot)org>, pgadmin-hackers <pgadmin-hackers(at)postgresql(dot)org> |
Subject: | Re: Regarding feature #6841 |
Date: | 2024-04-18 14:56:17 |
Message-ID: | CAA-aLv78JAHGS3qht7odbNhkePAMUsSrBWGDZWNhe7b85658ng@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgadmin-hackers |
On Thu, Apr 18, 2024, 15:26 Anil Sahoo <anil(dot)sahoo(at)enterprisedb(dot)com> wrote:
> Hi Dave,
> We took help from Code Mirror, i.e Code Mirror gives the parsed SQL from
> the editor through a tree called syntaxTree and by using some logic we
> extracted the statements which have semicolon in it and also added some
> extra logic to break the whole query on next of next line as empty or if
> comments are there.
>
> Using all this logic we got the individual queries and checked where our
> cursor is in editor and checked with the query and through this we got the
> actual query at cursor position.
>
> For example,
>
> 1. if the cursor is at starting or ending position or anywhere in
> between a query with semicolon or without semicolon, that can be single
> line or multi line then the query gets extracted.
> 2. if the cursor is at starting or ending position or anywhere in
> between a comment that can be single line or multi line then the comment
> gets extracted.
> 3. if the cursor is at a position where the previous line has a query
> then that query gets extracted.
>
> For the anonymous block containing multiple queries, code mirror gives the
> statements differently. That is an incomplete query we can say, so the
> query tool gives error. We can say some limitations are there with Code
> Mirror.
>
> Please let me know if you have any questions on this.
>
I guess my first question is, what is the requirement being fulfilled here?
Also, I have more experience with selecting what to run, and having it run
whatever was selected. I don't see the current proposal as particularly
intuitive. Having the cursor midway through a statement (or even the last
line of a statement) doesn't quite feel right. What would happen in this
example?...
SELECT contents
FROM |mytable
WHERE id BETWEEN 101 AND 200
ORDER BY id ASC;
Note I placed a pipe to represent the cursor before the table name. And
would it make a difference if the first 3 lines were a single line?
In any case, given all statements are separated by semicolons in
PostgreSQL, I am resistant to the idea of supporting them without for
specific features.
Regards
Thom
From | Date | Subject | |
---|---|---|---|
Next Message | Thom Brown | 2024-04-18 15:14:16 | Re: Regarding feature #6841 |
Previous Message | Dave Page | 2024-04-18 14:37:17 | Re: Regarding feature #6841 |