Thread: make installcheck.

make installcheck.

From
Teodor Sigaev
Date:
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/
 



Re: make installcheck.

From
Tom Lane
Date:
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



Re: make installcheck.

From
Tom Lane
Date:
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



Re: make installcheck.

From
Teodor Sigaev
Date:
> 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/
 



Re: make installcheck.

From
Teodor Sigaev
Date:
> 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/