Crashing v1.6.2 with a syntax error
От | Erwin Brandstetter |
---|---|
Тема | Crashing v1.6.2 with a syntax error |
Дата | |
Msg-id | 45DB9B0D.809@falter.at обсуждение исходный текст |
Ответы |
Re: Crashing v1.6.2 with a syntax error
Re: Crashing v1.6.2 with a syntax error |
Список | 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 ZEILE1: 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.utf8@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
В списке pgadmin-support по дате отправления: