Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search archives
  Advanced Search

Re: Crashing v1.6.2 with a syntax error


  • From: "Ezequias Rodrigues da Rocha" <ezequias(dot)rocha(at)gmail(dot)com>
  • To: "Erwin Brandstetter" <brandstetter(at)falter(dot)at>
  • Cc: pgadmin-support(at)postgresql(dot)org
  • Subject: Re: Crashing v1.6.2 with a syntax error
  • Date: Thu, 22 Feb 2007 13:04:19 -0300
  • Message-id: <55c095e90702220804j19da5c83ncec025534fd56b63@mail.gmail.com> <text/plain>

The crashes occurs with me too.

[]s
Ezequias

2007/2/20, Erwin Brandstetter <brandstetter(at)falter(dot)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(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

---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
       subscribe-nomail command to majordomo(at)postgresql(dot)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/



Home | Main Index | Thread Index

Privacy Policy | About PostgreSQL
Copyright © 1996 – 2012 PostgreSQL Global Development Group