emit resultset statistics
| 41 | |
| 42 | // emit resultset statistics |
| 43 | void ResultSetStat_emit |
| 44 | ( |
| 45 | RedisModuleCtx *ctx, // redis module context |
| 46 | const ResultSetStatistics *stats // statistics to emit |
| 47 | ) { |
| 48 | int buflen; |
| 49 | char buff[512] = {0}; |
| 50 | size_t resultset_size = 2; // execution time, cached |
| 51 | |
| 52 | // compute required space for resultset statistics |
| 53 | if(stats->index_creation) resultset_size++; |
| 54 | if(stats->index_deletion) resultset_size++; |
| 55 | if(stats->constraint_creation) resultset_size++; |
| 56 | if(stats->constraint_deletion) resultset_size++; |
| 57 | if(stats->labels_added > 0) resultset_size++; |
| 58 | if(stats->nodes_created > 0) resultset_size++; |
| 59 | if(stats->nodes_deleted > 0) resultset_size++; |
| 60 | if(stats->labels_removed > 0) resultset_size++; |
| 61 | if(stats->properties_set > 0) resultset_size++; |
| 62 | if(stats->properties_removed > 0) resultset_size++; |
| 63 | if(stats->relationships_deleted > 0) resultset_size++; |
| 64 | if(stats->relationships_created > 0) resultset_size++; |
| 65 | |
| 66 | RedisModule_ReplyWithArray(ctx, resultset_size); |
| 67 | |
| 68 | if(stats->labels_added > 0) { |
| 69 | buflen = sprintf(buff, "Labels added: %d", stats->labels_added); |
| 70 | RedisModule_ReplyWithStringBuffer(ctx, (const char *)buff, buflen); |
| 71 | } |
| 72 | |
| 73 | if(stats->labels_removed > 0) { |
| 74 | buflen = sprintf(buff, "Labels removed: %d", stats->labels_removed); |
| 75 | RedisModule_ReplyWithStringBuffer(ctx, (const char *)buff, buflen); |
| 76 | } |
| 77 | |
| 78 | if(stats->nodes_created > 0) { |
| 79 | buflen = sprintf(buff, "Nodes created: %d", stats->nodes_created); |
| 80 | RedisModule_ReplyWithStringBuffer(ctx, (const char *)buff, buflen); |
| 81 | } |
| 82 | |
| 83 | if(stats->properties_set > 0) { |
| 84 | buflen = sprintf(buff, "Properties set: %d", stats->properties_set); |
| 85 | RedisModule_ReplyWithStringBuffer(ctx, (const char *)buff, buflen); |
| 86 | } |
| 87 | |
| 88 | if(stats->properties_removed > 0) { |
| 89 | buflen = sprintf(buff, "Properties removed: %d", stats->properties_removed); |
| 90 | RedisModule_ReplyWithStringBuffer(ctx, (const char *)buff, buflen); |
| 91 | } |
| 92 | |
| 93 | if(stats->relationships_created > 0) { |
| 94 | buflen = sprintf(buff, "Relationships created: %d", stats->relationships_created); |
| 95 | RedisModule_ReplyWithStringBuffer(ctx, (const char *)buff, buflen); |
| 96 | } |
| 97 | |
| 98 | if(stats->nodes_deleted > 0) { |
| 99 | buflen = sprintf(buff, "Nodes deleted: %d", stats->nodes_deleted); |
| 100 | RedisModule_ReplyWithStringBuffer(ctx, (const char *)buff, buflen); |
no test coverage detected