Re: Crashing v1.6.2 with a syntax error
От | Ezequias Rodrigues da Rocha |
---|---|
Тема | Re: Crashing v1.6.2 with a syntax error |
Дата | |
Msg-id | 55c095e90702220804j19da5c83ncec025534fd56b63@mail.gmail.com обсуждение исходный текст |
Ответ на | Crashing v1.6.2 with a syntax error (Erwin Brandstetter <brandstetter@falter.at>) |
Список | pgadmin-support |
The crashes occurs with me too. []s Ezequias 2007/2/20, Erwin Brandstetter <brandstetter@falter.at>: > 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.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 > > ---------------------------(end of broadcast)--------------------------- > TIP 1: if posting/reading through Usenet, please send an appropriate > subscribe-nomail command to majordomo@postgresql.org so that your > message can get through to the mailing list cleanly > -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Atenciosamente (Sincerely) Ezequias Rodrigues da Rocha=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- A pior das democracias ainda é melhor do que a melhor das ditaduras The worst of democracies is still better than the better of dictatorships http://ezequiasrocha.blogspot.com/
В списке pgadmin-support по дате отправления: