Skip to content

Commit b1500ad

Browse files
committed
RCBC-393: fix type conversion for query metrics
1 parent b6d696b commit b1500ad

File tree

2 files changed

+10
-16
lines changed

2 files changed

+10
-16
lines changed

ext/couchbase.cxx

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3797,22 +3797,14 @@ cb_Backend_document_query(VALUE self, VALUE statement, VALUE options)
37973797
if (resp.meta.metrics) {
37983798
VALUE metrics = rb_hash_new();
37993799
rb_hash_aset(meta, rb_id2sym(rb_intern("metrics")), metrics);
3800-
rb_hash_aset(metrics, rb_id2sym(rb_intern("elapsed_time")), resp.meta.metrics->elapsed_time.count());
3801-
rb_hash_aset(metrics, rb_id2sym(rb_intern("execution_time")), resp.meta.metrics->execution_time.count());
3800+
rb_hash_aset(metrics, rb_id2sym(rb_intern("elapsed_time")), ULL2NUM(resp.meta.metrics->elapsed_time.count()));
3801+
rb_hash_aset(metrics, rb_id2sym(rb_intern("execution_time")), ULL2NUM(resp.meta.metrics->execution_time.count()));
38023802
rb_hash_aset(metrics, rb_id2sym(rb_intern("result_count")), ULL2NUM(resp.meta.metrics->result_count));
38033803
rb_hash_aset(metrics, rb_id2sym(rb_intern("result_size")), ULL2NUM(resp.meta.metrics->result_size));
3804-
if (resp.meta.metrics->sort_count > 0) {
3805-
rb_hash_aset(metrics, rb_id2sym(rb_intern("sort_count")), ULL2NUM(resp.meta.metrics->sort_count));
3806-
}
3807-
if (resp.meta.metrics->mutation_count > 0) {
3808-
rb_hash_aset(metrics, rb_id2sym(rb_intern("mutation_count")), ULL2NUM(resp.meta.metrics->mutation_count));
3809-
}
3810-
if (resp.meta.metrics->error_count > 0) {
3811-
rb_hash_aset(metrics, rb_id2sym(rb_intern("error_count")), ULL2NUM(resp.meta.metrics->error_count));
3812-
}
3813-
if (resp.meta.metrics->warning_count > 0) {
3814-
rb_hash_aset(metrics, rb_id2sym(rb_intern("warning_count")), ULL2NUM(resp.meta.metrics->warning_count));
3815-
}
3804+
rb_hash_aset(metrics, rb_id2sym(rb_intern("sort_count")), ULL2NUM(resp.meta.metrics->sort_count));
3805+
rb_hash_aset(metrics, rb_id2sym(rb_intern("mutation_count")), ULL2NUM(resp.meta.metrics->mutation_count));
3806+
rb_hash_aset(metrics, rb_id2sym(rb_intern("error_count")), ULL2NUM(resp.meta.metrics->error_count));
3807+
rb_hash_aset(metrics, rb_id2sym(rb_intern("warning_count")), ULL2NUM(resp.meta.metrics->warning_count));
38163808
}
38173809

38183810
return res;

test/query_test.rb

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,10 @@ def test_query_with_metrics
6161

6262
metrics = res.meta_data.metrics
6363

64-
refute metrics.error_count
65-
refute metrics.warning_count
64+
assert_predicate metrics.elapsed_time, :positive?
65+
assert_predicate metrics.execution_time, :positive?
66+
assert_equal 0, metrics.error_count
67+
assert_equal 0, metrics.warning_count
6668
assert_equal 1, metrics.result_count
6769
end
6870

0 commit comments

Comments
 (0)