Skip to content

Commit 2e58f8e

Browse files
authored
Merge pull request #674 from kuba--/fix-673/commit_files
Set index for commitFilesRowIter.
2 parents 1eaf890 + a4b7e69 commit 2e58f8e

File tree

2 files changed

+41
-0
lines changed

2 files changed

+41
-0
lines changed

commit_files.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,8 +102,16 @@ func (t *commitFilesTable) PartitionRows(
102102
return nil, err
103103
}
104104

105+
var index sql.IndexValueIter
106+
if t.index != nil {
107+
if index, err = t.index.Values(p); err != nil {
108+
return nil, err
109+
}
110+
}
111+
105112
return &commitFilesRowIter{
106113
repo: repo,
114+
index: index,
107115
commitHashes: stringsToHashes(hashes),
108116
paths: paths,
109117
skipGitErrors: shouldSkipErrors(ctx),

commit_files_test.go

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,3 +106,36 @@ func TestCommitFilesIndexIterClosed(t *testing.T) {
106106
func TestCommitFilesIterClosed(t *testing.T) {
107107
testTableIterClosed(t, new(commitFilesTable))
108108
}
109+
110+
func TestPartitionRowsWithIndex(t *testing.T) {
111+
112+
t.Helper()
113+
require := require.New(t)
114+
ctx, _, cleanup := setup(t)
115+
defer cleanup()
116+
117+
table := new(commitFilesTable)
118+
expected, err := tableToRows(ctx, table)
119+
require.NoError(err)
120+
121+
lookup := tableIndexLookup(t, table, ctx)
122+
tbl := table.WithIndexLookup(lookup)
123+
124+
pit, err := tbl.Partitions(ctx)
125+
require.NoError(err)
126+
127+
i := 0
128+
for p, e := pit.Next(); e != io.EOF; p, e = pit.Next() {
129+
require.NoError(e)
130+
131+
rit, err := tbl.PartitionRows(ctx, p)
132+
require.NoError(err)
133+
134+
for r, e := rit.Next(); e != io.EOF; r, e = rit.Next() {
135+
require.NoError(e)
136+
137+
require.ElementsMatch(expected[i], r)
138+
i++
139+
}
140+
}
141+
}

0 commit comments

Comments
 (0)