(t *testing.T)
| 603 | } |
| 604 | |
| 605 | func TestNewTwoColumnRangeMeta(t *testing.T) { |
| 606 | { |
| 607 | // No enum columns → plain "col asc" / "col desc" ORDER BY clauses. |
| 608 | uniqueKeyColumns := NewColumnList([]string{"name", "position"}) |
| 609 | m := newTwoColumnRangeMeta(uniqueKeyColumns) |
| 610 | require.Equal(t, "`name`", m.col1Name) |
| 611 | require.Equal(t, "`position`", m.col2Name) |
| 612 | require.Equal(t, "?", m.col1Val) |
| 613 | require.Equal(t, "?", m.col2Val) |
| 614 | require.Equal(t, "`name` asc, `position` asc", m.orderByAsc) |
| 615 | require.Equal(t, "`name` desc, `position` desc", m.orderByDesc) |
| 616 | } |
| 617 | { |
| 618 | // Enum on first column only. |
| 619 | uniqueKeyColumns := NewColumnList([]string{"name", "position"}) |
| 620 | uniqueKeyColumns.SetColumnType("name", EnumColumnType) |
| 621 | m := newTwoColumnRangeMeta(uniqueKeyColumns) |
| 622 | require.Equal(t, "concat(`name`) asc, `position` asc", m.orderByAsc) |
| 623 | require.Equal(t, "concat(`name`) desc, `position` desc", m.orderByDesc) |
| 624 | } |
| 625 | { |
| 626 | // Enum on second column only. |
| 627 | uniqueKeyColumns := NewColumnList([]string{"name", "position"}) |
| 628 | uniqueKeyColumns.SetColumnType("position", EnumColumnType) |
| 629 | m := newTwoColumnRangeMeta(uniqueKeyColumns) |
| 630 | require.Equal(t, "`name` asc, concat(`position`) asc", m.orderByAsc) |
| 631 | require.Equal(t, "`name` desc, concat(`position`) desc", m.orderByDesc) |
| 632 | } |
| 633 | { |
| 634 | // Enum on both columns. |
| 635 | uniqueKeyColumns := NewColumnList([]string{"name", "position"}) |
| 636 | uniqueKeyColumns.SetColumnType("name", EnumColumnType) |
| 637 | uniqueKeyColumns.SetColumnType("position", EnumColumnType) |
| 638 | m := newTwoColumnRangeMeta(uniqueKeyColumns) |
| 639 | require.Equal(t, "concat(`name`) asc, concat(`position`) asc", m.orderByAsc) |
| 640 | require.Equal(t, "concat(`name`) desc, concat(`position`) desc", m.orderByDesc) |
| 641 | } |
| 642 | } |
| 643 | |
| 644 | func TestBuildTwoColumnUnionParts(t *testing.T) { |
| 645 | rangeStartArgs := []interface{}{3, 17} |
nothing calls this directly
no test coverage detected
searching dependent graphs…