(schema *expression.Schema, columns []*model.ColumnInfo)
| 615 | } |
| 616 | |
| 617 | func buildVirtualColumnIndex(schema *expression.Schema, columns []*model.ColumnInfo) []int { |
| 618 | virtualColumnIndex := make([]int, 0, len(columns)) |
| 619 | for i, col := range schema.Columns { |
| 620 | if col.VirtualExpr != nil { |
| 621 | virtualColumnIndex = append(virtualColumnIndex, i) |
| 622 | } |
| 623 | } |
| 624 | slices.SortFunc(virtualColumnIndex, func(i, j int) int { |
| 625 | return cmp.Compare(plannercore.FindColumnInfoByID(columns, schema.Columns[i].ID).Offset, |
| 626 | plannercore.FindColumnInfoByID(columns, schema.Columns[j].ID).Offset) |
| 627 | }) |
| 628 | return virtualColumnIndex |
| 629 | } |
| 630 | |
| 631 | // buildVirtualColumnInfo saves virtual column indices and sort them in definition order |
| 632 | func (e *TableReaderExecutor) buildVirtualColumnInfo() { |
no test coverage detected