Re: Error in Query Builder: multi-line sql

From: Colin Beckingham <colbec(at)start(dot)ca>
To: Guillaume Lelarge <guillaume(at)lelarge(dot)info>, pgadmin-support(at)postgresql(dot)org
Subject: Re: Error in Query Builder: multi-line sql
Date: 2012-03-10 14:59:22
Message-ID: 4F5B6C4A.6080308@start.ca
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-support

On 03/10/2012 09:19 AM, Colin Beckingham wrote:
>
>
> On 03/10/2012 08:38 AM, Guillaume Lelarge wrote:
>> On Fri, 2012-03-09 at 05:09 -0500, Colin Beckingham wrote:
>>> [...]
>>> select distinct on (mname, nname) mname, nname from grammar \
>>> inner join majors using (mid) \
>>> inner join minors using (nid) \
>>> inner join jxgp using (gid) \
>>> where jxgp.pid = 9
>>>
>>
>> It seems hard to reproduce. Can you send me the tables's definition?
>> (grammar, majors, minors, jxpg) It'll be easier and quicker for me than
>> trying to figure out their definitions. Thanks.
>>
>
> OK here is some more detail:
> In order to eliminate the possibility it was the definitions of my
> tables that are the issue, I tried this:
>
> CREATE TABLE one
> (
> col1 integer,
> col2 text
> )
> WITH (
> OIDS=FALSE
> );
>
> now create table two identical to one above. I think the oids are
> irrelevant in this case. Neither table contains any data.
>
> Use Kwrite (I also tried with text cut and paste from Libreoffice
> writer) to create text as follows:
>
> sql = "select distinct on (one.col2) one.col2 \
> from one \
> inner join two \
> using (col1)"
>
> Now open QB and paste in the text from Kwrite, remove the \ chars and
> other non-sql in the text and try to run the query, which runs fine, it
> just does not have any rows, ok. You can probably just paste in the sql,
> but I wanted to reproduce the Python format.
>
> Now we will crash the sql editor: with mouse highlight the opening
> parenthesis of "(one.col2" and try to delete it with a backspace key. QB
> editor becomes unusable. I find this is completely consistent on my system.
>

This seems to be related to the number of lines in the text.
With the following arbitrary statements (not related to any real db at
all) the first two, when cut and pasted into the window by themselves,
edit correctly. The second two fail when evaluating pairs of parentheses.

When deleting, say, the '(' from say line 2, line 2 remains visible
while the other lines disappear into the blue cloud.

However, when pasting all the lines from below into the window and
removing a '(', the text remains visible but the window is not usable
until you slide the horizontal bar right and left, which forces a
refresh of the window contents.

==============

select distinct on (junk)
from (junk)
inner join junk using (junk)

select distinct on (junk)
from (junk)
inner join junk using (junk)
inner join junk using (junk)

select distinct on (junk)
from (junk)
inner join junk using (junk)
inner join junk using (junk)
inner join junk using (junk)

select distinct on (junk)
from (junk)
inner join junk using (junk)
inner join junk using (junk)
inner join junk using (junk)
inner join junk using (junk)

--
---
Colin Beckingham
613-454-5369
http://www.it4gh.com

In response to

Responses

Browse pgadmin-support by date

  From Date Subject
Next Message Guillaume Lelarge 2012-03-10 15:45:03 Re: Error in Query Builder: multi-line sql
Previous Message Colin Beckingham 2012-03-10 14:19:40 Re: Error in Query Builder: multi-line sql