code: func (p *Insert) ResolveIndices() (err error) {
  	err = p.baseSchemaProducer.ResolveIndices()
  	if err != nil {
  		return err
  	}
  	for _, asgn := range p.OnDuplicate {
  		newCol, err := asgn.Col.ResolveIndices(p.tableSchema)
  		if err != nil {
  			return err
  		}
  		asgn.Col = newCol.(*expression.Column)
  		asgn.Expr, err = asgn.Expr.ResolveIndices(p.Schema4OnDuplicate)
  		if err != nil {
  			return err
  		}
  	}
  	for _, set := range p.SetList {
  		newCol, err := set.Col.ResolveIndices(p.tableSchema)
  		if err != nil {
  			return err
  		}
  		set.Col = newCol.(*expression.Column)
  		set.Expr, err = set.Expr.ResolveIndices(p.tableSchema)
  		if err != nil {
  			return err
  		}
  	}
  	for i, expr := range p.GenCols.Exprs {
  		p.GenCols.Exprs[i], err = expr.ResolveIndices(p.tableSchema)
  		if err != nil {
  			return err
  		}
  	}
  	for _, asgn := range p.GenCols.OnDuplicates {
  		newCol, err := asgn.Col.ResolveIndices(p.tableSchema)
  		if err != nil {
  			return err
  		}
  		asgn.Col = newCol.(*expression.Column)
  		asgn.Expr, err = asgn.Expr.ResolveIndices(p.Schema4OnDuplicate)
  		if err != nil {
  			return err
  		}
  	}
  	return
  }
docs: // ResolveIndices implements Plan interface.