Skip to content

Commit 72fc538

Browse files
authored
fix: Ease diff code reading (#1157)
1 parent 9caed89 commit 72fc538

File tree

2 files changed

+17
-21
lines changed

2 files changed

+17
-21
lines changed

plugin/diff.go

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -9,39 +9,39 @@ import (
99
"github.com/apache/arrow/go/v13/arrow/memory"
1010
)
1111

12-
func RecordsDiff(sc *arrow.Schema, l, r []arrow.Record) string {
13-
return TableDiff(array.NewTableFromRecords(sc, l), array.NewTableFromRecords(sc, r))
12+
func RecordsDiff(sc *arrow.Schema, have, want []arrow.Record) string {
13+
return TableDiff(array.NewTableFromRecords(sc, have), array.NewTableFromRecords(sc, want))
1414
}
1515

16-
func TableDiff(l, r arrow.Table) string {
17-
if array.TableApproxEqual(l, r, array.WithUnorderedMapKeys(true)) {
16+
func TableDiff(have, want arrow.Table) string {
17+
if array.TableApproxEqual(have, want, array.WithUnorderedMapKeys(true)) {
1818
return ""
1919
}
2020

21-
if l.NumCols() != r.NumCols() {
22-
return fmt.Sprintf("different number of columns: %d vs %d", l.NumCols(), r.NumCols())
21+
if have.NumCols() != want.NumCols() {
22+
return fmt.Sprintf("different number of columns: %d vs %d", have.NumCols(), want.NumCols())
2323
}
24-
if l.NumRows() != r.NumRows() {
25-
return fmt.Sprintf("different number of rows: %d vs %d", l.NumRows(), r.NumRows())
24+
if have.NumRows() != want.NumRows() {
25+
return fmt.Sprintf("different number of rows: %d vs %d", have.NumRows(), want.NumRows())
2626
}
2727

2828
var sb strings.Builder
29-
for i := 0; i < int(l.NumCols()); i++ {
30-
lCol, err := array.Concatenate(l.Column(i).Data().Chunks(), memory.DefaultAllocator)
29+
for i := 0; i < int(have.NumCols()); i++ {
30+
haveCol, err := array.Concatenate(have.Column(i).Data().Chunks(), memory.DefaultAllocator)
3131
if err != nil {
3232
panic(fmt.Errorf("failed to concat left columns at idx %d: %w", i, err))
3333
}
34-
rCol, err := array.Concatenate(r.Column(i).Data().Chunks(), memory.DefaultAllocator)
34+
wantCol, err := array.Concatenate(want.Column(i).Data().Chunks(), memory.DefaultAllocator)
3535
if err != nil {
3636
panic(fmt.Errorf("failed to concat right columns at idx %d: %w", i, err))
3737
}
38-
edits, err := array.Diff(lCol, rCol)
38+
edits, err := array.Diff(wantCol, haveCol)
3939
if err != nil {
40-
panic(fmt.Errorf("left: %v, right: %v, error: %w", lCol.DataType(), rCol.DataType(), err))
40+
panic(fmt.Errorf("want: %v, have: %v, error: %w", wantCol.DataType(), haveCol.DataType(), err))
4141
}
42-
diff := edits.UnifiedDiff(lCol, rCol)
42+
diff := edits.UnifiedDiff(wantCol, haveCol)
4343
if diff != "" {
44-
sb.WriteString(l.Schema().Field(i).Name)
44+
sb.WriteString(have.Schema().Field(i).Name)
4545
sb.WriteString(": ")
4646
sb.WriteString(diff)
4747
sb.WriteString("\n")

schema/testdata.go

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -254,14 +254,10 @@ func (tg *TestDataGenerator) Generate(table *Table, opts GenTestDataOptions) arr
254254
}
255255

256256
// now we have sorted 1-row-records. Transform them into a single record with opts.MaxRows rows
257+
arrowTable := array.NewTableFromRecords(sc, records)
257258
columns := make([]arrow.Array, sc.NumFields())
258259
for n := 0; n < sc.NumFields(); n++ {
259-
arrs := make([]arrow.Array, len(records))
260-
for i := range arrs {
261-
arrs[i] = records[i].Column(n)
262-
}
263-
264-
concatenated, err := array.Concatenate(arrs, memory.DefaultAllocator)
260+
concatenated, err := array.Concatenate(arrowTable.Column(n).Data().Chunks(), memory.DefaultAllocator)
265261
if err != nil {
266262
panic(fmt.Sprintf("failed to concatenate arrays: %v", err))
267263
}

0 commit comments

Comments
 (0)