make installcheck.

Started by Teodor Sigaevabout 11 years ago5 messages
#1Teodor Sigaev
teodor@sigaev.ru

Hi!

On production instance I have an installed preloaded library which affects
postgresql's optimizer (online_analyze if somebody is interesting). It works
well except executing make installcheck of other modules, for example btree_gist:

test numeric ... ok
test not_equal ... FAILED

=======================
1 of 25 tests failed.
=======================

It fails because of plan was changed, instead of

! Bitmap Heap Scan on test_ne
! Recheck Cond: ((a <> 'Thu Jan 01 00:00:00 2009'::timestamp without time
zone) AND (b <> 10.7))
! -> Bitmap Index Scan on test_ne_idx
! Index Cond: ((a <> 'Thu Jan 01 00:00:00 2009'::timestamp without time
zone) AND (b <> 10.7))

it get

! Index Scan using test_ne_idx on test_ne
! Index Cond: ((a <> 'Thu Jan 01 00:00:00 2009'::timestamp without time zone)
AND (b <> 10.7))

Is there any way to unload that library for test or, at least, execute set
statement (set online_analyze.enable = off, actually) on test database before
test run?

Thank you.

--
Teodor Sigaev E-mail: teodor@sigaev.ru
WWW: http://www.sigaev.ru/

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Teodor Sigaev (#1)
Re: make installcheck.

Teodor Sigaev <teodor@sigaev.ru> writes:

On production instance I have an installed preloaded library which affects
postgresql's optimizer (online_analyze if somebody is interesting). It works
well except executing make installcheck of other modules, for example btree_gist:

If you're fooling with the optimizer's behavior I'd think a lot of the
core regression tests would show bogus "failures" as well. Contrib
module tests seem like the least of your worries.

regards, tom lane

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#3Tom Lane
tgl@sss.pgh.pa.us
In reply to: Teodor Sigaev (#1)
Re: make installcheck.

Teodor Sigaev <teodor@sigaev.ru> writes:

Is there any way to unload that library for test or, at least, execute set
statement (set online_analyze.enable = off, actually) on test database before
test run?

BTW, so far as that goes, make installcheck should honor PGOPTIONS,
so you should be able to pass in "-c online_analyze.enable = off".
There's a rather obsolete example in src/test/regress/regressplans.sh.

regards, tom lane

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#4Teodor Sigaev
teodor@sigaev.ru
In reply to: Tom Lane (#2)
Re: make installcheck.

If you're fooling with the optimizer's behavior I'd think a lot of the
core regression tests would show bogus "failures" as well. Contrib
module tests seem like the least of your worries.

make check works well, of course, and I don't run core tests with installcheck.
But when module updates I'd like to run tests on alive instance.

--
Teodor Sigaev E-mail: teodor@sigaev.ru
WWW: http://www.sigaev.ru/

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#5Teodor Sigaev
teodor@sigaev.ru
In reply to: Tom Lane (#3)
Re: make installcheck.

BTW, so far as that goes, make installcheck should honor PGOPTIONS,
so you should be able to pass in "-c online_analyze.enable = off".

Thank you a lot, this works.

--
Teodor Sigaev E-mail: teodor@sigaev.ru
WWW: http://www.sigaev.ru/

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers