code: func (e *InsertValues) fillColValue(datum types.Datum, idx int, column *table.Column, hasValue bool) (types.Datum,
  	error) {
  	if mysql.HasAutoIncrementFlag(column.Flag) {
  		d, err := e.adjustAutoIncrementDatum(datum, hasValue, column)
  		if err != nil {
  			return types.Datum{}, err
  		}
  		return d, nil
  	}
  	if !hasValue {
  		d, err := e.getColDefaultValue(idx, column)
  		if e.filterErr(err) != nil {
  			return types.Datum{}, err
  		}
  		return d, nil
  	}
  	return datum, nil
  }
docs: // fillColValue fills the column value if it is not set in the insert statement.