📄 regressplans.sh
字号:
#! /bin/sh# This script runs the Postgres regression tests with all useful combinations# of the backend options that disable various query plan types. If the# results are not all the same, it may indicate a bug in a particular# plan type, or perhaps just a regression test whose results aren't fully# determinate (eg, due to lack of an ORDER BY keyword).## Run this in the src/test/regress directory, after doing the usual setup# for a regular regression test, ie, "make clean all" (you should be ready# to do "make runtest").## The backend option switches that we use here are:# -fs disable sequential scans# -fi disable index scans# -fn disable nestloop joins# -fm disable merge joins# -fh disable hash joins# Only mergejoin and hashjoin are really guaranteed to turn off; the others# just bias the optimizer's cost calculations heavily against that choice.# There's no point in trying to turn off both scan types or all three join# types simultaneously; ergo, we have 3*7 = 21 interesting combinations.## Note that this will take *more than* 21 times longer than a regular# regression test, since we are preventing the system from using the most# efficient available query plans! Have patience.# Select make to use --- default gmake, can be overridden by env varMAKE="${MAKE:-gmake}"# If PGOPTIONS is already defined, we'll add the -f switches to it.PGOPTIONS="${PGOPTIONS:-}"mkdir planregressPGOPTIONS="$PGOPTIONS " $MAKE runtestmv -f regression.out planregress/out.normalmv -f regression.diffs planregress/diffs.normalPGOPTIONS="$PGOPTIONS -fh" $MAKE runtestmv -f regression.out planregress/out.hmv -f regression.diffs planregress/diffs.hPGOPTIONS="$PGOPTIONS -fm " $MAKE runtestmv -f regression.out planregress/out.mmv -f regression.diffs planregress/diffs.mPGOPTIONS="$PGOPTIONS -fm -fh" $MAKE runtestmv -f regression.out planregress/out.mhmv -f regression.diffs planregress/diffs.mhPGOPTIONS="$PGOPTIONS -fn " $MAKE runtestmv -f regression.out planregress/out.nmv -f regression.diffs planregress/diffs.nPGOPTIONS="$PGOPTIONS -fn -fh" $MAKE runtestmv -f regression.out planregress/out.nhmv -f regression.diffs planregress/diffs.nhPGOPTIONS="$PGOPTIONS -fn -fm " $MAKE runtestmv -f regression.out planregress/out.nmmv -f regression.diffs planregress/diffs.nmPGOPTIONS="$PGOPTIONS -fi " $MAKE runtestmv -f regression.out planregress/out.imv -f regression.diffs planregress/diffs.iPGOPTIONS="$PGOPTIONS -fi -fh" $MAKE runtestmv -f regression.out planregress/out.ihmv -f regression.diffs planregress/diffs.ihPGOPTIONS="$PGOPTIONS -fi -fm " $MAKE runtestmv -f regression.out planregress/out.immv -f regression.diffs planregress/diffs.imPGOPTIONS="$PGOPTIONS -fi -fm -fh" $MAKE runtestmv -f regression.out planregress/out.imhmv -f regression.diffs planregress/diffs.imhPGOPTIONS="$PGOPTIONS -fi -fn " $MAKE runtestmv -f regression.out planregress/out.inmv -f regression.diffs planregress/diffs.inPGOPTIONS="$PGOPTIONS -fi -fn -fh" $MAKE runtestmv -f regression.out planregress/out.inhmv -f regression.diffsregression.planregress/inhPGOPTIONS="$PGOPTIONS -fi -fn -fm " $MAKE runtestmv -f regression.out planregress/out.inmmv -f regression.diffs planregress/diffs.inmPGOPTIONS="$PGOPTIONS -fs " $MAKE runtestmv -f regression.out planregress/out.smv -f regression.diffs planregress/diffs.sPGOPTIONS="$PGOPTIONS -fs -fh" $MAKE runtestmv -f regression.out planregress/out.shmv -f regression.diffs planregress/diffs.shPGOPTIONS="$PGOPTIONS -fs -fm " $MAKE runtestmv -f regression.out planregress/out.smmv -f regression.diffs planregress/diffs.smPGOPTIONS="$PGOPTIONS -fs -fm -fh" $MAKE runtestmv -f regression.out planregress/out.smhmv -f regression.diffs planregress/diffs.smhPGOPTIONS="$PGOPTIONS -fs -fn " $MAKE runtestmv -f regression.out planregress/out.snmv -f regression.diffs planregress/diffs.snPGOPTIONS="$PGOPTIONS -fs -fn -fh" $MAKE runtestmv -f regression.out planregress/out.snhmv -f regression.diffs planregress/diffs.snhPGOPTIONS="$PGOPTIONS -fs -fn -fm " $MAKE runtestmv -f regression.out planregress/out.snmmv -f regression.diffs planregress/diffs.snmexit 0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -