MCPcopy Create free account
hub / github.com/RedisGraph/RedisGraph / ResultSetStat_emit

Function ResultSetStat_emit

src/resultset/resultset_statistics.c:43–135  ·  view source on GitHub ↗

emit resultset statistics

Source from the content-addressed store, hash-verified

41
42// emit resultset statistics
43void 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);

Callers 1

ResultSet_ReplyFunction · 0.85

Calls 1

QueryCtx_GetRuntimeFunction · 0.85

Tested by

no test coverage detected