diff --git a/go/cmd/dolt/commands/indexcmds/cat.go b/go/cmd/dolt/commands/indexcmds/cat.go index ea0bde18747..cfc3310167e 100644 --- a/go/cmd/dolt/commands/indexcmds/cat.go +++ b/go/cmd/dolt/commands/indexcmds/cat.go @@ -151,7 +151,7 @@ func (cmd CatCmd) prettyPrintResults(ctx context.Context, doltSch schema.Schema, sqlCtx := sql.NewEmptyContext() - rowItr, err := table.NewTableIterator(ctx, doltSch, idx, 0) + rowItr, err := table.NewTableIterator(ctx, doltSch, idx) if err != nil { return err } diff --git a/go/libraries/doltcore/sqle/index/prolly_row_iter.go b/go/libraries/doltcore/sqle/index/prolly_row_iter.go index 932a9a5723c..54b82b91a43 100644 --- a/go/libraries/doltcore/sqle/index/prolly_row_iter.go +++ b/go/libraries/doltcore/sqle/index/prolly_row_iter.go @@ -39,7 +39,7 @@ type prollyRowIter struct { var _ sql.RowIter = prollyRowIter{} -func NewProllyRowIterForMap(sch schema.Schema, rows prolly.Map, iter prolly.MapIter, projections []uint64) sql.RowIter { +func NewProllyRowIterForMap(sch schema.Schema, rows prolly.MapInterface, iter prolly.MapIter, projections []uint64) sql.RowIter { if projections == nil { projections = sch.GetAllCols().Tags } diff --git a/go/libraries/doltcore/table/table_iterator.go b/go/libraries/doltcore/table/table_iterator.go index e771539345e..4d95dc3b017 100644 --- a/go/libraries/doltcore/table/table_iterator.go +++ b/go/libraries/doltcore/table/table_iterator.go @@ -59,15 +59,11 @@ func (i rowIterImpl) Close(ctx context.Context) error { // NewTableIterator creates a RowIter that iterates sql.Row's from |idx|. // |offset| can be supplied to read at some start point in |idx|. -func NewTableIterator(ctx context.Context, sch schema.Schema, idx durable.Index, offset uint64) (RowIter, error) { +func NewTableIterator(ctx context.Context, sch schema.Schema, idx durable.Index) (RowIter, error) { var rowItr sql.RowIter if types.IsFormat_DOLT(idx.Format()) { - m := durable.ProllyMapFromIndex(idx) - c, err := m.Count() - if err != nil { - return nil, err - } - itr, err := m.IterOrdinalRange(ctx, offset, uint64(c)) + m := durable.MapFromIndex(idx) + itr, err := m.IterAll(ctx) if err != nil { return nil, err } @@ -78,7 +74,7 @@ func NewTableIterator(ctx context.Context, sch schema.Schema, idx durable.Index, } else { noms := durable.NomsMapFromIndex(idx) - itr, err := noms.IteratorAt(ctx, offset) + itr, err := noms.IteratorAt(ctx, 0) if err != nil { return nil, err } diff --git a/go/libraries/doltcore/table/table_iterator_test.go b/go/libraries/doltcore/table/table_iterator_test.go index 486cce37fc7..7bb5af0f4fb 100644 --- a/go/libraries/doltcore/table/table_iterator_test.go +++ b/go/libraries/doltcore/table/table_iterator_test.go @@ -38,15 +38,12 @@ var testRand = rand.New(rand.NewSource(1)) func TestTableIteratorProlly(t *testing.T) { n := 100 - for i := 0; i < 10; i++ { - offset := testRand.Intn(n) - m, tups := mustMakeProllyMap(t, n) - idx := durable.IndexFromProllyMap(m) - itr, err := NewTableIterator(context.Background(), sch, idx, uint64(offset)) - require.NoError(t, err) - expectedRows := tuplesToRows(t, tups[offset:]) - testIterator(t, itr, expectedRows) - } + m, tups := mustMakeProllyMap(t, n) + idx := durable.IndexFromProllyMap(m) + itr, err := NewTableIterator(context.Background(), sch, idx) + require.NoError(t, err) + expectedRows := tuplesToRows(t, tups) + testIterator(t, itr, expectedRows) } func testIterator(t *testing.T, iter RowIter, expected []sql.Row) {