Sylvain Rabot <sylvain@xxxxxxxxxxxxxx> writes: > On Postgres 9.1beta2 when i run this code the first select will use > contraint exclusion but the second will not. > This apparently has something to do with the size of the array > returned by the fake immutable function. See predtest.c: /* * Proof attempts involving large arrays in ScalarArrayOpExpr nodes are * likely to require O(N^2) time, and more often than not fail anyway. * So we set an arbitrary limit on the number of array elements that * we will allow to be treated as an AND or OR clause. * XXX is it worth exposing this as a GUC knob? */ #define MAX_SAOP_ARRAY_SIZE 100 While you could possibly increase that, I think that your approach is bound to have terrible performance anyway. regards, tom lane -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general