code: func (p *DataSource) tryToConvert2DummyScan(prop *requiredProperty) (*physicalPlanInfo, error) {
  	sel, isSel := p.GetParentByIndex(0).(*Selection)
  	if !isSel {
  		return nil, nil
  	}
  
  	for _, cond := range sel.Conditions {
  		if con, ok := cond.(*expression.Constant); ok {
  			result, err := expression.EvalBool(con, nil, p.ctx)
  			if err != nil {
  				return nil, errors.Trace(err)
  			}
  			if !result {
  				dummy := &PhysicalDummyScan{}
  				dummy.tp = "Dummy"
  				dummy.allocator = p.allocator
  				dummy.initIDAndContext(p.ctx)
  				dummy.SetSchema(p.schema)
  				info := &physicalPlanInfo{p: dummy}
  				p.storePlanInfo(prop, info)
  				return info, nil
  			}
  		}
  	}
  	return nil, nil
  }
docs: // tryToConvert2DummyScan is an optimization which checks if its parent is a selection with a constant condition
  // that evaluates to false. If it is, there is no need for a real physical scan, a dummy scan will do.