lots of values for IN() clause

From: Markus Schiltknecht <markus(at)bluegap(dot)ch>
To: pgsql general <pgsql-general(at)postgresql(dot)org>
Subject: lots of values for IN() clause
Date: 2006-11-02 15:21:52
Message-ID: 454A0D10.1050708@bluegap.ch
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi,

One of our PostgreSQL 8.1.5 databases constantly crashed on a certain
query (backend SEGFAULTs). I've figured the crashes were caused by a
very long IN() clause.

You can easily reproduce the crash by feeding the output of the python
script below to your database.

Fortunately, 8.2 (as of 09/19/2006) no longer crashes. Anyway, I think
it would be helpful to have at least a better error message instead of a
SEGFAULT for 8.1. I didn't test earlier versions.

Regards

Markus

python script mentioned:

#!/usr/bin/python

values = 100000

print "CREATE TABLE test (a INT, b INT);"
print "SELECT a, b FROM test WHERE b IN (" + \
",".join([str(x) for x in range(values)]) + \
");"
print "DROP TABLE test;"

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Oisin Glynn 2006-11-02 15:40:09 Re: pg_proc Question
Previous Message Peter 2006-11-02 15:18:11 Re: Weird double single quote issue