From dad36179c6f36ddabc6e2aae342b085bb6ad0968 Mon Sep 17 00:00:00 2001 From: Egon Elbre Date: Tue, 24 Nov 2020 15:31:57 +0200 Subject: [PATCH] satellite/metainfo/metabase: fix segment listing with cursor.Part Change-Id: I910888d435b11d2d4687ea0042998a1078cd6443 --- satellite/metainfo/metabase/list_segments.go | 2 +- satellite/metainfo/metabase/list_segments_test.go | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/satellite/metainfo/metabase/list_segments.go b/satellite/metainfo/metabase/list_segments.go index fd7c9f1a4..e8fd9efe3 100644 --- a/satellite/metainfo/metabase/list_segments.go +++ b/satellite/metainfo/metabase/list_segments.go @@ -55,7 +55,7 @@ func (db *DB) ListSegments(ctx context.Context, opts ListSegments) (result ListS FROM segments WHERE stream_id = $1 AND - ($2 = 0 OR position > $2) + ($2 = 0::INT8 OR position > $2) ORDER BY position ASC LIMIT $3 `, opts.StreamID, opts.Cursor, opts.Limit+1))(func(rows tagsql.Rows) error { diff --git a/satellite/metainfo/metabase/list_segments_test.go b/satellite/metainfo/metabase/list_segments_test.go index ee6c98865..a58e132b1 100644 --- a/satellite/metainfo/metabase/list_segments_test.go +++ b/satellite/metainfo/metabase/list_segments_test.go @@ -132,6 +132,20 @@ func TestListSegments(t *testing.T) { }, }.Check(ctx, t, db) + ListSegments{ + Opts: metabase.ListSegments{ + StreamID: obj.StreamID, + Limit: 2, + Cursor: metabase.SegmentPosition{ + Part: 1, + Index: 10, + }, + }, + Result: metabase.ListSegmentsResult{ + More: false, + }, + }.Check(ctx, t, db) + Verify{ Objects: []metabase.RawObject{ metabase.RawObject(expectedObject),