Thread: make installcheck.
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/
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
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
> 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/
> 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/