@@ -1328,36 +1328,29 @@ void streamPropagateXCLAIM(client *c, robj *key, streamCG *group, robj *groupnam
13281328 * Note that JUSTID is useful in order to avoid that XCLAIM will do
13291329 * useless work in the slave side, trying to fetch the stream item. */
13301330 robj * argv [14 ];
1331- argv [0 ] = createStringObject ( "XCLAIM" , 6 ) ;
1331+ argv [0 ] = shared . xclaim ;
13321332 argv [1 ] = key ;
13331333 argv [2 ] = groupname ;
13341334 argv [3 ] = createStringObject (nack -> consumer -> name ,sdslen (nack -> consumer -> name ));
1335- argv [4 ] = createStringObjectFromLongLong ( 0 ) ;
1335+ argv [4 ] = shared . integers [ 0 ] ;
13361336 argv [5 ] = id ;
1337- argv [6 ] = createStringObject ( "TIME" , 4 ) ;
1337+ argv [6 ] = shared . time ;
13381338 argv [7 ] = createStringObjectFromLongLong (nack -> delivery_time );
1339- argv [8 ] = createStringObject ( "RETRYCOUNT" , 10 ) ;
1339+ argv [8 ] = shared . retrycount ;
13401340 argv [9 ] = createStringObjectFromLongLong (nack -> delivery_count );
1341- argv [10 ] = createStringObject ( "FORCE" , 5 ) ;
1342- argv [11 ] = createStringObject ( "JUSTID" , 6 ) ;
1343- argv [12 ] = createStringObject ( "LASTID" , 6 ) ;
1341+ argv [10 ] = shared . force ;
1342+ argv [11 ] = shared . justid ;
1343+ argv [12 ] = shared . lastid ;
13441344 argv [13 ] = createObjectFromStreamID (& group -> last_id );
13451345
13461346 /* We use progagate() because this code path is not always called from
13471347 * the command execution context. Moreover this will just alter the
13481348 * consumer group state, and we don't need MULTI/EXEC wrapping because
13491349 * there is no message state cross-message atomicity required. */
13501350 propagate (server .xclaimCommand ,c -> db -> id ,argv ,14 ,PROPAGATE_AOF |PROPAGATE_REPL );
1351- decrRefCount (argv [0 ]);
13521351 decrRefCount (argv [3 ]);
1353- decrRefCount (argv [4 ]);
1354- decrRefCount (argv [6 ]);
13551352 decrRefCount (argv [7 ]);
1356- decrRefCount (argv [8 ]);
13571353 decrRefCount (argv [9 ]);
1358- decrRefCount (argv [10 ]);
1359- decrRefCount (argv [11 ]);
1360- decrRefCount (argv [12 ]);
13611354 decrRefCount (argv [13 ]);
13621355}
13631356
@@ -1369,8 +1362,8 @@ void streamPropagateXCLAIM(client *c, robj *key, streamCG *group, robj *groupnam
13691362 */
13701363void streamPropagateGroupID (client * c , robj * key , streamCG * group , robj * groupname ) {
13711364 robj * argv [5 ];
1372- argv [0 ] = createStringObject ( "XGROUP" , 6 ) ;
1373- argv [1 ] = createStringObject ( "SETID" , 5 ) ;
1365+ argv [0 ] = shared . xgroup ;
1366+ argv [1 ] = shared . setid ;
13741367 argv [2 ] = key ;
13751368 argv [3 ] = groupname ;
13761369 argv [4 ] = createObjectFromStreamID (& group -> last_id );
@@ -1380,8 +1373,6 @@ void streamPropagateGroupID(client *c, robj *key, streamCG *group, robj *groupna
13801373 * consumer group state, and we don't need MULTI/EXEC wrapping because
13811374 * there is no message state cross-message atomicity required. */
13821375 propagate (server .xgroupCommand ,c -> db -> id ,argv ,5 ,PROPAGATE_AOF |PROPAGATE_REPL );
1383- decrRefCount (argv [0 ]);
1384- decrRefCount (argv [1 ]);
13851376 decrRefCount (argv [4 ]);
13861377}
13871378
@@ -1393,8 +1384,8 @@ void streamPropagateGroupID(client *c, robj *key, streamCG *group, robj *groupna
13931384 */
13941385void streamPropagateConsumerCreation (client * c , robj * key , robj * groupname , sds consumername ) {
13951386 robj * argv [5 ];
1396- argv [0 ] = createStringObject ( "XGROUP" , 6 ) ;
1397- argv [1 ] = createStringObject ( "CREATECONSUMER" , 14 ) ;
1387+ argv [0 ] = shared . xgroup ;
1388+ argv [1 ] = shared . createconsumer ;
13981389 argv [2 ] = key ;
13991390 argv [3 ] = groupname ;
14001391 argv [4 ] = createObject (OBJ_STRING ,sdsdup (consumername ));
@@ -1404,8 +1395,6 @@ void streamPropagateConsumerCreation(client *c, robj *key, robj *groupname, sds
14041395 * consumer group state, and we don't need MULTI/EXEC wrapping because
14051396 * there is no message state cross-message atomicity required. */
14061397 propagate (server .xgroupCommand ,c -> db -> id ,argv ,5 ,PROPAGATE_AOF |PROPAGATE_REPL );
1407- decrRefCount (argv [0 ]);
1408- decrRefCount (argv [1 ]);
14091398 decrRefCount (argv [4 ]);
14101399}
14111400
@@ -1725,9 +1714,7 @@ int streamParseIntervalIDOrReply(client *c, robj *o, streamID *id, int *exclude,
17251714}
17261715
17271716void streamRewriteApproxSpecifier (client * c , int idx ) {
1728- robj * equal_obj = createStringObject ("=" ,1 );
1729- rewriteClientCommandArgument (c ,idx ,equal_obj );
1730- decrRefCount (equal_obj );
1717+ rewriteClientCommandArgument (c ,idx ,shared .special_equals );
17311718}
17321719
17331720/* We propagate MAXLEN/MINID ~ <count> as MAXLEN/MINID = <resulting-len-of-stream>
0 commit comments