@@ -480,31 +480,17 @@ void Dag_SetTensorInGlobalCtx(RedisAI_RunInfo *rinfo, size_t index, RAI_Tensor *
480480void RedisAI_DagRunSessionStep (RedisAI_RunInfo * rinfo , const char * devicestr ) {
481481 RAI_DagOp * currentOp = RedisAI_DagCurrentOp (rinfo );
482482
483- switch (currentOp -> commandType ) {
484- case REDISAI_DAG_CMD_TENSORSET : {
485- // TENSORSET op is done in parsing stage (consider removing it from dag ops).
486- currentOp -> result = REDISMODULE_OK ;
487- break ;
488- }
489- case REDISAI_DAG_CMD_TENSORGET : {
490- // TENSORSET op is done when we finish (consider removing it from dag ops).
491- currentOp -> result = REDISMODULE_OK ;
492- break ;
493- }
494- case REDISAI_DAG_CMD_MODELRUN : {
483+ // Verify that the op type belongs to the DAGCommand enum.
484+ VALIDATE_DAG_COMMAND (currentOp -> commandType )
485+
486+ if (currentOp -> commandType == REDISAI_DAG_CMD_MODELRUN ) {
495487 RedisAI_DagRunSession_ModelRun_Step (rinfo , currentOp );
496- break ;
497- }
498- case REDISAI_DAG_CMD_SCRIPTRUN : {
488+ } else if (currentOp -> commandType == REDISAI_DAG_CMD_SCRIPTRUN ) {
499489 RedisAI_DagRunSession_ScriptRun_Step (rinfo , currentOp );
500- break ;
501- }
502- default : {
503- /* unsupported DAG's command */
504- RAI_SetError (currentOp -> err , RAI_EDAGRUN , "ERR unsupported command within DAG" );
505- currentOp -> result = REDISMODULE_ERR ;
506- break ;
507- }
490+ } else {
491+ // do nothing for tensorset (executed on parsing) and for tensorget (done
492+ // on dag reply).
493+ return ;
508494 }
509495
510496 if (currentOp -> result != REDISMODULE_OK ) {
@@ -568,26 +554,21 @@ int RedisAI_DagRun_Reply(RedisModuleCtx *ctx, RedisModuleString **argv, int argc
568554
569555 for (size_t i = 0 ; i < n_dagOps ; i ++ ) {
570556 RAI_DagOp * currentOp = rinfo -> dagOps [i ];
557+
571558 switch (currentOp -> commandType ) {
572559 case REDISAI_DAG_CMD_TENSORSET : {
573560 rinfo -> dagReplyLength ++ ;
574- if (currentOp -> result == REDISMODULE_ERR ) {
575- RedisModule_ReplyWithError (ctx , currentOp -> err -> detail_oneline );
576- dag_error = 1 ;
577- } else if (currentOp -> result == -1 ) {
578- RedisModule_ReplyWithSimpleString (ctx , "NA" );
579- } else {
580- RedisModule_ReplyWithSimpleString (ctx , "OK" );
581- }
561+ RedisModule_Assert (currentOp -> result == REDISMODULE_OK );
562+ RedisModule_ReplyWithSimpleString (ctx , "OK" );
582563 break ;
583564 }
584565
585566 case REDISAI_DAG_CMD_TENSORGET : {
586567 rinfo -> dagReplyLength ++ ;
587- if (currentOp -> result == -1 ) {
568+ RAI_Tensor * t = Dag_GetTensorFromGlobalCtx (rinfo , currentOp -> inkeys_indices [0 ]);
569+ if (t == NULL ) {
588570 RedisModule_ReplyWithSimpleString (ctx , "NA" );
589571 } else {
590- RAI_Tensor * t = Dag_GetTensorFromGlobalCtx (rinfo , currentOp -> inkeys_indices [0 ]);
591572 ReplyWithTensor (ctx , currentOp -> fmt , t );
592573 }
593574 break ;
@@ -636,8 +617,7 @@ int RedisAI_DagRun_Reply(RedisModuleCtx *ctx, RedisModuleString **argv, int argc
636617 break ;
637618 }
638619 default :
639- /* no-op */
640- break ;
620+ RedisModule_Assert (false && "Dag reply - invalid op" );
641621 }
642622 }
643623 if (dag_error ) {
0 commit comments