Re: Regarding feature #6841 - Mailing list pgadmin-hackers

From Aditya Toshniwal
Subject Re: Regarding feature #6841
Date
Msg-id CAM9w-_nvA83wZ8m47B3fLswAQygrg1X9tk1g9hyQZEFqoH_zog@mail.gmail.com
Whole thread Raw
In response to Re: Regarding feature #6841  (Aditya Toshniwal <aditya.toshniwal@enterprisedb.com>)
Responses Re: Regarding feature #6841
List pgadmin-hackers
Hi Dave,

On Fri, Apr 19, 2024 at 7:15 PM Aditya Toshniwal <aditya.toshniwal@enterprisedb.com> wrote:
Hi Dave,

On Fri, Apr 19, 2024 at 7:05 PM Dave Page <dpage@pgadmin.org> wrote:
Hi

On Fri, 19 Apr 2024 at 14:32, Aditya Toshniwal <aditya.toshniwal@enterprisedb.com> wrote:
Hi Dave,

On Fri, Apr 19, 2024 at 6:22 PM Dave Page <dpage@pgadmin.org> wrote:
Hi

On Fri, 19 Apr 2024 at 11:56, Aditya Toshniwal <aditya.toshniwal@enterprisedb.com> wrote:

Even if you put the cursor on the "SELECT"? If so, that would imply the parser understands the string quoting; e.g. in this case, the Python multiline string. Presumably then it would also understand regular single and double quotes - what about (for example) a heredoc in a pl/sh function?
Yes, the parser understands all the aspects of a SQL query and so it understands what type of token the cursor is based on which it does the syntax highlighting I believe.

Does it? Even EPAS extensions?
I mean only standard SQL grammar.

Standard SQL grammar doesn't help us much - PostgreSQL is probably the most standard compliant dialect there is, but if it deviates from the standard in a few cases, and has a ton of syntax that isn't even in the standard. However, I suspect you mean PostgreSQL-standard, as we are using the PostgreSQL dialect in CodeMirror. But, pgAdmin also supports EPAS....
We'll have to test different scenarios to know exactly what works and what doesn't.
 

 

It sounds like Thom has similar concerns, and I know him well enough to know he wouldn't chime in without good reason.
There are limitations and it won't work correctly apart from standard SQL queries. Like I said, we're adding it as a new button without touching the existing working. If a user chooses to use the new button, he knows that pgAdmin will try to find the query on its own. This is an optional feature.
Additionally, what we could do is when the user hits the button we will show a warning and the user can opt for not showing it again.

Ten minutes later they will have forgotten that warning.

I'm currently thinking that we should display the current query all the time somehow (though I'm not sure how, without taking up a lot of space).
Can't we add some kind of tooltip or popover on hover over the execute query button?

Possibly :-). Let's try a PoC.
OK. I'll ask Anil to create some samples.
 
We gave a thought on how a person would know what the query is when using keyboard shortcuts. So we came up with another suggestion. How about a highlighter on what is the query based on cursor position? Example below. We can disable it from preferences. We still need to check how the performance will be, although we'll add debouncing.

image.png
 
 

BTW, if we do figure out a way of doing this that we all agree is safe, I'm going to want to see a bunch of automated tests against valid EPAS and PG queries, as weird and bizarre as we can think of.
I agree.


--
Thanks,
Aditya Toshniwal
pgAdmin Hacker | Sr. Software Architect | enterprisedb.com
"Don't Complain about Heat, Plant a TREE"


--


--
Thanks,
Aditya Toshniwal
pgAdmin Hacker | Sr. Software Architect | enterprisedb.com
"Don't Complain about Heat, Plant a TREE"


--
Thanks,
Aditya Toshniwal
pgAdmin Hacker | Sr. Software Architect | enterprisedb.com
"Don't Complain about Heat, Plant a TREE"
Attachment

pgadmin-hackers by date:

Previous
From: Aditya Toshniwal
Date:
Subject: Re: Regarding feature #6841
Next
From: Dave Page
Date:
Subject: Re: Regarding feature #6841