partition the where values so we can access the removed ones
push partion logic down and initialization logic up
push partitioning up so bind elimination can get the removed wheres
remove bind values for where clauses that were removed
avoid creating a set if no where values are removed
Merge branch 'bindwhere'

* bindwhere:
  avoid creating a set if no where values are removed
  remove bind values for where clauses that were removed
  push partitioning up so bind elimination can get the removed wheres
  push partion logic down and initialization logic up
  partition the where values so we can access the removed ones