Merge branch 'master' into ENG-3038-merge-join-code-paths
Merge remote-tracking branch 'alexeev/ENG-3038-merge-join-code-paths' into ENG-3038-merge-join-code-paths

Conflicts:
	tests/scripts/examples/sql_coverage/join-template.sql
ENG-4096: optimize query only with GROUP BY on indexed columns (no WHERE, ORDER BY) to use IndexScan instead of SeqScan; moreover, apply SerialAgg on this IndexScan if it's unique.
ENG-4096: add test cases; use ParsedColInfo not groupbyExprs in ParsedSelectStmt to find the right index.
ENG-4096: remove unique check and change cooresponding test cases
ENG-4096: remove unnecessary unique index in test ddl; only apply this optimization when needed.
Merge branch 'master' into ENG-4096
ENG-4096: changes based on Paul's review.
Turn the multi outer join feature on
ENG-4625: use existing index only to speed up min/max maintainance; add indexForMinMax in MaterializedViewInfo catalog definition.
TODO: add more test cases when using indexes.
ENG-4625: a minor change
ENG-4625
ENG-4625: new ddl compiler and indexed min/max matview test cases.
Add this line back to keep it synchronized with master
Delete originally expected failed test cases after we support them now
ENG-4625: apply post filter, add more tests.
Merge branch 'master' into ENG-4096

Conflicts:
	tests/frontend/org/voltdb/planner/TestPlansOrderBy.java
Add sql coverage test for three table outer join feature
ENG-4625: use one NValue instead of keeping track of both min and max.
Add first step to implement where clause for re-aggregation plan node