From: | Erwin Brandstetter <brandstetter(at)falter(dot)at> |
---|---|
To: | pgadmin-support(at)postgresql(dot)org |
Subject: | Crashing v1.6.2 with a syntax error |
Date: | 2007-02-21 01:06:21 |
Message-ID: | 45DB9B0D.809@falter.at |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgadmin-support |
Hi developers! Hi Dave!
Testing pgAdmin III v1.6.2 rev: 5837, client Win XP, host Debian Sarge,
PG 8.1.4. / Debian Etch, PG 8.2.1.
I have found a 'reliable' way to crash pgAdmin. Look at the following query:
select * from loc where loc like 'a%' loc = 'b';
Note the syntax error: "and" is missing in the WHERE clause. If I run
this from the SQL query dialogue window I get an error message with only
the error code - but that has been reported before.
FEHLER: Fehler »Syntaxfehler« bei »loc«
SQL state: 42601
Character: 1
However, if I open the edit grid with a filter and enter the faulty
WHERE clause, pgAdmin crashes.
I have run tests with a variety of tables and operators in PG 8.1.4 and
PG 8.2.1. Any of the following WHERE clauses triggers a crash.
fld1 like 'a%' fld2 = 'b'
fld1 = 'a%' fld2 = 'b'
fld1 = 'a%' fld1 = '%a%'
...
The "essential" part ist the "%" at the end of the first string.
An observation I have made along the way:
Look at the error message I get from pgAdmin for the following WHERE clause:
loc = '%a' loc = ''
Note that the % is in front this time (does not trigger a crash).
An error has occurred:
FEHLER: Fehler >>Syntaxfehler<< bei >>b<<
Line 1: EXPLAIN SELECT * FROM loc WHERE loc = '0x1.1f9d8ap-997' loc = ''
^
The string containing the character "%" is scrambled in a weird way. The
caret in the next line points to a seemingly random position.
If I run it from psql, I get a similar error message. Only the string is
not scrambled, and the caret is in a reasonable position.
event=# select * from loc where loc = '%a' loc = '';
FEHLER: Fehler »Syntaxfehler« bei »loc« at character 36
ZEILE 1: select * from loc where loc = '%a' loc = '';
^
I have tried to switch the "user language" in the pgAdmin options from
English to German. To no effect.
It might have to do with locales. From my postgresql.conf:
lc_messages = 'de_AT(dot)utf8(at)euro'
I have tried changing it to:
lc_messages = 'C'
After that the error message was scrambled differently:
loc = '%a' loc = ''
An error has occurred:
ERROR: syntax error at or near "loc"
LINE 1: EXPLAIN SELECT * FROM loc WHERE loc = '0x1.518a0fp-1002' loc
= ''
^
But it crashes just as well.
loc = 'a%' loc = ''
Regards
Erwin
From | Date | Subject | |
---|---|---|---|
Next Message | Guillaume Lelarge | 2007-02-21 07:11:51 | pgAdmin's unmaintained translations |
Previous Message | Dave Page | 2007-02-19 16:23:36 | Re: pgadmin crashing on OS X in table view |