On Sat, Apr 01, 2006 at 03:40:19PM +0200, jeroen van iddekinge wrote: > When using intarray operator in a query, postgres dies and restart > itself when executing the following query: > > select r1.bet_sentence & r2.bet_sentence > from related r1,related r2 > where r1.bet_sentence && r2.bet_sentence
Here's a complete test case: CREATE TABLE foo (a integer[]); INSERT INTO foo (a) SELECT array[random() * 10, random() * 10, random() * 10] FROM generate_series(1, 24); CREATE INDEX foo_a_idx ON foo USING gist (a gist__int_ops); SET enable_seqscan TO off; SELECT f1.a & f2.a FROM foo f1, foo f2 WHERE f1.a && f2.a; This crashes for me in 8.1.3 on FreeBSD 6.1-PRERELEASE and Solaris 9. An assert-enabled 8.1.3 logs the following: TRAP: BadArgument("!(((header->context) != ((void *)0) && (((((Node*)((header->context)))->type) == T_AllocSetContext))))", File: "mcxt.c", Line: 612) -- Michael Fuhr ---------------------------(end of broadcast)--------------------------- TIP 9: In versions below 8.0, the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match