-
- Downloads
Make some adjustments to reduce platform dependencies in plan selection.
In particular, there was a mathematical tie between the two possible nestloop-with-materialized-inner-scan plans for a join (ie, we computed the same cost with either input on the inside), resulting in a roundoff error driven choice, if the relations were both small enough to fit in sort_mem. Add a small cost factor to ensure we prefer materializing the smaller input. This changes several regression test plans, but with any luck we will now have more stability across platforms.
Showing
- src/backend/optimizer/path/costsize.c 10 additions, 1 deletionsrc/backend/optimizer/path/costsize.c
- src/backend/optimizer/util/plancat.c 8 additions, 3 deletionssrc/backend/optimizer/util/plancat.c
- src/test/regress/expected/geometry.out 107 additions, 107 deletionssrc/test/regress/expected/geometry.out
- src/test/regress/expected/geometry_1.out 107 additions, 107 deletionssrc/test/regress/expected/geometry_1.out
- src/test/regress/expected/geometry_2.out 107 additions, 107 deletionssrc/test/regress/expected/geometry_2.out
- src/test/regress/expected/inherit.out 8 additions, 7 deletionssrc/test/regress/expected/inherit.out
- src/test/regress/expected/join.out 1140 additions, 1140 deletionssrc/test/regress/expected/join.out
- src/test/regress/sql/inherit.sql 2 additions, 1 deletionsrc/test/regress/sql/inherit.sql
- src/test/regress/sql/join.sql 4 additions, 4 deletionssrc/test/regress/sql/join.sql
Loading
Please register or sign in to comment