LCOV - differential code coverage report
Current view: top level - src/backend/utils/adt - jsonfuncs.c (source / functions) Coverage Total Hit UNC UBC GIC GNC CBC EUB ECB DUB DCB
Current: c3df85756ceb0246958ef2b72c04aba51e52de13 vs 167cb26718e3eae4fef470900b4cd1d434f15649 Lines: 95.8 % 2166 2075 1 90 2 124 1949 1 1 141
Current Date: 2025-12-18 07:33:40 +0900 Functions: 100.0 % 150 150 36 114 7
Baseline: lcov-20251218-005734-baseline Branches: 77.7 % 1593 1238 2 353 30 1208 103 41
Baseline Date: 2025-12-17 11:55:04 -0800 Line coverage date bins:
Legend: Lines:     hit not hit
Branches: + taken - not taken # not executed
(7,30] days: 99.1 % 108 107 1 107
(30,360] days: 100.0 % 30 30 17 13
(360..) days: 95.6 % 2028 1938 90 2 1936 1
Function coverage date bins:
(7,30] days: 100.0 % 2 2 2
(30,360] days: 100.0 % 5 5 5
(360..) days: 100.0 % 143 143 29 114
Branch coverage date bins:
(7,30] days: 93.8 % 32 30 2 30
(30,360] days: 85.0 % 20 17 3 17
(360..) days: 70.7 % 1685 1191 350 1191 103 41

Function Name Sort by function name TLA Hit count Sort by function hit count Lines Sort by unexercised lines in function Branches Sort by unexercised branches in function
IteratorConcat GNC 84 100.0 % (36 / 36) 88.6 % (39 / 44)
JsObjectGetField CBC 15180 100.0 % (11 / 11) 90.0 % (9 / 10)
JsValueToJsObject CBC 1977 100.0 % (17 / 17) 70.6 % (24 / 34)
JsonbValueAsText CBC 210 78.9 % (15 / 19) 60.0 % (6 / 10)
alen_array_element_start CBC 21 100.0 % (5 / 5) 100.0 % (2 / 2)
alen_object_start CBC 6 100.0 % (5 / 5) 75.0 % (3 / 4)
alen_scalar CBC 24 100.0 % (5 / 5) 75.0 % (3 / 4)
allocate_record_info CBC 1152 100.0 % (8 / 8) 70.0 % (7 / 10)
each_array_start CBC 12 80.0 % (4 / 5) 25.0 % (1 / 4)
each_object_field_end CBC 63 100.0 % (21 / 21) 100.0 % (8 / 8)
each_object_field_start CBC 63 100.0 % (7 / 7) 100.0 % (6 / 6)
each_scalar CBC 75 85.7 % (6 / 7) 50.0 % (3 / 6)
each_worker GNC 12 100.0 % (21 / 21)
each_worker_jsonb GNC 6096 96.7 % (29 / 30) 71.4 % (10 / 14)
elements_array_element_end GNC 996 100.0 % (20 / 20) 100.0 % (8 / 8)
elements_array_element_start CBC 996 100.0 % (7 / 7) 100.0 % (6 / 6)
elements_object_start CBC 840 80.0 % (4 / 5) 25.0 % (1 / 4)
elements_scalar CBC 21612 85.7 % (6 / 7) 50.0 % (3 / 6)
elements_worker GNC 198 100.0 % (23 / 23)
elements_worker_jsonb GNC 24 92.9 % (26 / 28) 62.5 % (10 / 16)
get_array_element_end CBC 962 100.0 % (19 / 19) 88.9 % (16 / 18)
get_array_element_start CBC 962 100.0 % (21 / 21) 88.9 % (16 / 18)
get_array_end CBC 6 100.0 % (8 / 8) 50.0 % (2 / 4)
get_array_start CBC 922 93.3 % (14 / 15) 78.6 % (11 / 14)
get_json_object_as_hash GNC 942 90.0 % (18 / 20) 50.0 % (1 / 2)
get_jsonb_path_all CBC 225 100.0 % (10 / 10) 100.0 % (4 / 4)
get_object_end CBC 18 100.0 % (8 / 8) 75.0 % (3 / 4)
get_object_field_end CBC 88306 100.0 % (20 / 20) 90.0 % (18 / 20)
get_object_field_start CBC 88306 100.0 % (20 / 20) 88.9 % (16 / 18)
get_object_start CBC 18 100.0 % (6 / 6) 75.0 % (3 / 4)
get_path_all GNC 234 100.0 % (22 / 22) 81.2 % (13 / 16)
get_record_type_from_argument CBC 825 85.7 % (6 / 7) 50.0 % (3 / 6)
get_record_type_from_query CBC 156 92.3 % (12 / 13) 62.5 % (5 / 8)
get_scalar CBC 89961 100.0 % (15 / 15) 100.0 % (14 / 14)
get_worker GNC 1338 100.0 % (30 / 30) 90.0 % (9 / 10)
hash_array_start CBC 636 100.0 % (5 / 5) 75.0 % (3 / 4)
hash_object_field_end CBC 3078 94.1 % (16 / 17) 75.0 % (6 / 8)
hash_object_field_start CBC 3078 100.0 % (10 / 10) 100.0 % (6 / 6)
hash_scalar CBC 3690 100.0 % (8 / 8) 75.0 % (6 / 8)
iterate_json_values GNC 75 100.0 % (13 / 13)
iterate_jsonb_values CBC 75 100.0 % (29 / 29) 100.0 % (22 / 22)
iterate_values_object_field_start CBC 279 100.0 % (6 / 6) 100.0 % (2 / 2)
iterate_values_scalar CBC 282 100.0 % (18 / 18) 100.0 % (10 / 10)
json_array_element CBC 140 100.0 % (7 / 7) 100.0 % (2 / 2)
json_array_element_text CBC 24 100.0 % (7 / 7) 100.0 % (2 / 2)
json_array_elements CBC 192 100.0 % (2 / 2)
json_array_elements_text CBC 6 100.0 % (2 / 2)
json_array_length GNC 12 100.0 % (11 / 11)
json_categorize_type CBC 3547 98.0 % (49 / 50) 84.6 % (22 / 26)
json_each CBC 6 100.0 % (2 / 2)
json_each_text CBC 6 100.0 % (2 / 2)
json_errsave_error CBC 246 88.9 % (8 / 9) 60.0 % (12 / 20)
json_extract_path CBC 144 100.0 % (2 / 2)
json_extract_path_text CBC 90 100.0 % (2 / 2)
json_get_first_token CBC 336 87.5 % (7 / 8) 75.0 % (3 / 4)
json_object_field CBC 487 100.0 % (8 / 8) 100.0 % (2 / 2)
json_object_field_text CBC 459 100.0 % (8 / 8) 100.0 % (2 / 2)
json_object_keys GNC 930 100.0 % (27 / 27) 100.0 % (4 / 4)
json_populate_record CBC 411 100.0 % (2 / 2)
json_populate_recordset CBC 78 100.0 % (2 / 2)
json_populate_type CBC 840 80.0 % (20 / 25) 80.0 % (8 / 10)
json_strip_nulls GNC 42 100.0 % (20 / 20) 75.0 % (3 / 4)
json_to_record CBC 51 100.0 % (2 / 2)
json_to_recordset CBC 9 100.0 % (2 / 2)
jsonb_array_element CBC 162 100.0 % (14 / 14) 100.0 % (8 / 8)
jsonb_array_element_text CBC 33 92.9 % (13 / 14) 90.0 % (9 / 10)
jsonb_array_elements CBC 18 100.0 % (2 / 2)
jsonb_array_elements_text CBC 6 100.0 % (2 / 2)
jsonb_array_length CBC 156 100.0 % (7 / 7) 75.0 % (6 / 8)
jsonb_concat GNC 189 100.0 % (13 / 13) 100.0 % (10 / 10)
jsonb_delete GNC 90 100.0 % (22 / 22) 81.8 % (18 / 22)
jsonb_delete_array GNC 9 88.2 % (30 / 34) 64.7 % (22 / 34)
jsonb_delete_idx GNC 129 100.0 % (28 / 28) 88.5 % (23 / 26)
jsonb_delete_path GNC 48 87.5 % (14 / 16) 58.3 % (7 / 12)
jsonb_each CBC 6084 100.0 % (2 / 2)
jsonb_each_text CBC 12 100.0 % (2 / 2)
jsonb_extract_path CBC 135 100.0 % (2 / 2)
jsonb_extract_path_text CBC 90 100.0 % (2 / 2)
jsonb_get_element GNC 315 98.4 % (62 / 63) 76.8 % (43 / 56)
jsonb_insert GNC 66 82.4 % (14 / 17) 41.7 % (5 / 12)
jsonb_object_field CBC 12345 100.0 % (11 / 11) 100.0 % (4 / 4)
jsonb_object_field_text CBC 99 100.0 % (11 / 11) 100.0 % (6 / 6)
jsonb_object_keys GNC 27 100.0 % (31 / 31) 87.5 % (14 / 16)
jsonb_populate_record CBC 441 100.0 % (2 / 2)
jsonb_populate_record_valid CBC 30 100.0 % (4 / 4)
jsonb_populate_recordset CBC 75 100.0 % (2 / 2)
jsonb_pretty GNC 18 100.0 % (5 / 5)
jsonb_set GNC 144 89.5 % (17 / 19) 68.8 % (11 / 16)
jsonb_set_element GNC 123 88.9 % (8 / 9) 25.0 % (1 / 4)
jsonb_set_lax CBC 30 95.5 % (21 / 22) 75.0 % (18 / 24)
jsonb_strip_nulls GNC 42 100.0 % (28 / 28) 92.9 % (26 / 28)
jsonb_to_record CBC 51 100.0 % (2 / 2)
jsonb_to_recordset CBC 9 100.0 % (2 / 2)
makeJsonLexContext GNC 5994 100.0 % (4 / 4)
okeys_array_start CBC 6 100.0 % (5 / 5) 75.0 % (3 / 4)
okeys_object_field_start CBC 921 100.0 % (10 / 10) 100.0 % (4 / 4)
okeys_scalar CBC 927 100.0 % (5 / 5) 75.0 % (3 / 4)
parse_jsonb_index_flags CBC 126 93.5 % (29 / 31) 70.0 % (28 / 40)
pg_parse_json_or_errsave CBC 18618 100.0 % (6 / 6) 100.0 % (2 / 2)
populate_array GNC 1080 93.3 % (28 / 30) 75.0 % (9 / 12)
populate_array_array_end CBC 576 81.8 % (9 / 11) 75.0 % (6 / 8)
populate_array_assign_ndims GNC 918 83.3 % (10 / 12) 41.7 % (5 / 12)
populate_array_check_dimension CBC 777 100.0 % (10 / 10) 100.0 % (8 / 8)
populate_array_dim_jsonb CBC 849 94.3 % (33 / 35) 75.0 % (36 / 48)
populate_array_element CBC 3081 100.0 % (11 / 11) 75.0 % (6 / 8)
populate_array_element_end CBC 1656 95.2 % (20 / 21) 75.0 % (9 / 12)
populate_array_element_start CBC 1683 100.0 % (8 / 8) 100.0 % (4 / 4)
populate_array_json CBC 450 100.0 % (14 / 14) 33.3 % (4 / 12)
populate_array_object_start CBC 324 72.7 % (8 / 11) 41.7 % (5 / 12)
populate_array_report_expected_array CBC 216 85.7 % (12 / 14) 70.0 % (14 / 20)
populate_array_scalar CBC 1827 80.0 % (12 / 15) 50.0 % (8 / 16)
populate_composite CBC 1977 83.3 % (15 / 18) 77.8 % (14 / 18)
populate_domain CBC 1479 100.0 % (9 / 9) 75.0 % (9 / 12)
populate_record CBC 2193 97.6 % (40 / 41) 83.3 % (35 / 42)
populate_record_field CBC 18849 92.3 % (24 / 26) 83.7 % (36 / 43)
populate_record_worker CBC 984 92.9 % (39 / 42) 75.0 % (21 / 28)
populate_recordset_array_element_start CBC 150 83.3 % (5 / 6) 50.0 % (3 / 6)
populate_recordset_array_start CBC 90 100.0 % (2 / 2)
populate_recordset_object_end CBC 141 100.0 % (10 / 10) 100.0 % (2 / 2)
populate_recordset_object_field_end CBC 258 94.1 % (16 / 17) 75.0 % (6 / 8)
populate_recordset_object_field_start CBC 258 100.0 % (10 / 10) 100.0 % (6 / 6)
populate_recordset_object_start CBC 141 91.7 % (11 / 12) 50.0 % (3 / 6)
populate_recordset_record CBC 240 100.0 % (12 / 12) 100.0 % (2 / 2)
populate_recordset_scalar CBC 258 85.7 % (6 / 7) 50.0 % (3 / 6)
populate_recordset_worker GNC 171 92.9 % (65 / 70) 61.4 % (27 / 44)
populate_scalar CBC 4614 95.6 % (43 / 45) 85.0 % (34 / 40)
prepare_column_cache CBC 10785 97.6 % (41 / 42) 77.8 % (14 / 18)
push_null_elements GNC 54 100.0 % (5 / 5) 100.0 % (2 / 2)
push_path GNC 36 92.9 % (26 / 28) 77.8 % (14 / 18)
report_json_context CBC 225 95.0 % (19 / 20) 83.3 % (15 / 18)
setPathArray GNC 186 96.6 % (57 / 59) 85.9 % (79 / 92)
sn_array_element_start CBC 66 100.0 % (9 / 9) 80.0 % (8 / 10)
sn_array_end CBC 18 100.0 % (4 / 4) 50.0 % (1 / 2)
sn_array_start CBC 18 100.0 % (4 / 4) 50.0 % (1 / 2)
sn_object_end CBC 36 100.0 % (4 / 4) 50.0 % (1 / 2)
sn_object_field_start CBC 78 100.0 % (10 / 10) 75.0 % (6 / 8)
sn_object_start CBC 36 100.0 % (4 / 4) 50.0 % (1 / 2)
sn_scalar CBC 132 100.0 % (10 / 10) 83.3 % (5 / 6)
transform_json_string_values GNC 21 100.0 % (19 / 19)
transform_jsonb_string_values GNC 21 100.0 % (17 / 17) 88.9 % (16 / 18)
transform_string_values_array_element_start CBC 24 100.0 % (5 / 5) 75.0 % (3 / 4)
transform_string_values_array_end CBC 15 100.0 % (4 / 4) 50.0 % (1 / 2)
transform_string_values_array_start CBC 15 100.0 % (4 / 4) 50.0 % (1 / 2)
transform_string_values_object_end CBC 27 100.0 % (4 / 4) 50.0 % (1 / 2)
transform_string_values_object_field_start CBC 57 100.0 % (7 / 7) 66.7 % (4 / 6)
transform_string_values_object_start CBC 27 100.0 % (4 / 4) 50.0 % (1 / 2)
transform_string_values_scalar CBC 60 100.0 % (7 / 7) 100.0 % (2 / 2)
update_cached_tupdesc CBC 2376 91.7 % (11 / 12) 60.0 % (6 / 10)

Generated by: LCOV version 2.4-beta