Skip to content

Commit 5320c5c

Browse files
authored
Merge pull request #391 from daniel-cohere/streamCmp-in-xtrim
use streamCmp in Xtrim
2 parents ef93126 + e4791b5 commit 5320c5c

File tree

2 files changed

+21
-2
lines changed

2 files changed

+21
-2
lines changed

cmd_stream_test.go

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1076,16 +1076,22 @@ func TestStreamTrim(t *testing.T) {
10761076
ok(t, err)
10771077
_, err = c.Do("XADD", "planets", "5-1", "name", "Saturn")
10781078
ok(t, err)
1079+
_, err = c.Do("XADD", "planets", "5-2", "name", "Uranus")
1080+
ok(t, err)
1081+
_, err = c.Do("XADD", "planets", "5-11", "name", "Pluto")
1082+
ok(t, err)
10791083

10801084
mustDo(t, c,
1081-
"XTRIM", "planets", "MAXLEN", "=", "3", proto.Int(3))
1085+
"XTRIM", "planets", "MAXLEN", "=", "5", proto.Int(3))
10821086

10831087
mustDo(t, c,
10841088
"XRANGE", "planets", "-", "+",
10851089
proto.Array(
10861090
proto.Array(proto.String("3-0"), proto.Strings("name", "Mars")),
10871091
proto.Array(proto.String("4-1"), proto.Strings("name", "Jupiter")),
10881092
proto.Array(proto.String("5-1"), proto.Strings("name", "Saturn")),
1093+
proto.Array(proto.String("5-2"), proto.Strings("name", "Uranus")),
1094+
proto.Array(proto.String("5-11"), proto.Strings("name", "Pluto")),
10891095
))
10901096

10911097
mustDo(t, c,
@@ -1096,6 +1102,8 @@ func TestStreamTrim(t *testing.T) {
10961102
proto.Array(
10971103
proto.Array(proto.String("4-1"), proto.Strings("name", "Jupiter")),
10981104
proto.Array(proto.String("5-1"), proto.Strings("name", "Saturn")),
1105+
proto.Array(proto.String("5-2"), proto.Strings("name", "Uranus")),
1106+
proto.Array(proto.String("5-11"), proto.Strings("name", "Pluto")),
10991107
))
11001108

11011109
mustDo(t, c,
@@ -1105,6 +1113,17 @@ func TestStreamTrim(t *testing.T) {
11051113
"XRANGE", "planets", "-", "+",
11061114
proto.Array(
11071115
proto.Array(proto.String("5-1"), proto.Strings("name", "Saturn")),
1116+
proto.Array(proto.String("5-2"), proto.Strings("name", "Uranus")),
1117+
proto.Array(proto.String("5-11"), proto.Strings("name", "Pluto")),
1118+
))
1119+
1120+
mustDo(t, c,
1121+
"XTRIM", "planets", "MINID", "5-11", proto.Int(2))
1122+
1123+
mustDo(t, c,
1124+
"XRANGE", "planets", "-", "+",
1125+
proto.Array(
1126+
proto.Array(proto.String("5-11"), proto.Strings("name", "Pluto")),
11081127
))
11091128
}
11101129

stream.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -273,7 +273,7 @@ func (s *streamKey) trimBefore(id string) int {
273273
s.mu.Lock()
274274
var delete []string
275275
for _, entry := range s.entries {
276-
if entry.ID < id {
276+
if streamCmp(entry.ID, id) < 0 {
277277
delete = append(delete, entry.ID)
278278
} else {
279279
break

0 commit comments

Comments
 (0)