LCOV - differential code coverage report
Current view: top level - src/backend/utils/adt - jsonfuncs.c (source / functions) Coverage Total Hit UBC GNC CBC EUB ECB DCB
Current: c70b6db34ffeab48beef1fb4ce61bcad3772b8dd vs 06473f5a344df8c9594ead90a609b86f6724cff8 Lines: 95.8 % 2181 2090 91 5 2085 1 5
Current Date: 2025-09-06 07:49:51 +0900 Functions: 100.0 % 150 150 5 145
Baseline: lcov-20250907-010129-baseline Branches: 77.4 % 1609 1246 363 1246 103 41
Baseline Date: 2025-09-05 08:21:35 +0100 Line coverage date bins:
Legend: Lines:     hit not hit
Branches: + taken - not taken # not executed
(7,30] days: 100.0 % 3 3 3
(30,360] days: 100.0 % 28 28 2 26
(360..) days: 95.8 % 2150 2059 91 2059 1
Function coverage date bins:
(360..) days: 100.0 % 150 150 5 145
Branch coverage date bins:
(30,360] days: 85.0 % 20 17 3 17
(360..) days: 70.9 % 1733 1229 360 1229 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
alen_object_start CBC 6 100.0 % (5 / 5) 75.0 % (3 / 4)
get_array_end CBC 6 100.0 % (8 / 8) 50.0 % (2 / 4)
json_array_elements_text CBC 6 100.0 % (2 / 2)
json_each CBC 6 100.0 % (2 / 2)
json_each_text CBC 6 100.0 % (2 / 2)
jsonb_array_elements_text CBC 6 100.0 % (2 / 2)
okeys_array_start CBC 6 100.0 % (5 / 5) 75.0 % (3 / 4)
json_to_recordset CBC 9 100.0 % (2 / 2)
jsonb_delete_array GNC 9 88.9 % (32 / 36) 63.9 % (23 / 36)
jsonb_to_recordset CBC 9 100.0 % (2 / 2)
each_array_start CBC 12 80.0 % (4 / 5) 25.0 % (1 / 4)
each_worker CBC 12 100.0 % (21 / 21)
json_array_length CBC 12 100.0 % (11 / 11)
jsonb_each_text CBC 12 100.0 % (2 / 2)
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)
get_object_end CBC 18 100.0 % (8 / 8) 75.0 % (3 / 4)
get_object_start CBC 18 100.0 % (6 / 6) 75.0 % (3 / 4)
jsonb_array_elements CBC 18 100.0 % (2 / 2)
jsonb_pretty CBC 18 100.0 % (5 / 5)
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)
alen_array_element_start CBC 21 100.0 % (5 / 5) 100.0 % (2 / 2)
transform_json_string_values CBC 21 100.0 % (18 / 18)
transform_jsonb_string_values CBC 21 100.0 % (18 / 18) 88.9 % (16 / 18)
alen_scalar CBC 24 100.0 % (5 / 5) 75.0 % (3 / 4)
elements_worker_jsonb GNC 24 92.9 % (26 / 28) 62.5 % (10 / 16)
json_array_element_text CBC 24 100.0 % (7 / 7) 100.0 % (2 / 2)
transform_string_values_array_element_start CBC 24 100.0 % (5 / 5) 75.0 % (3 / 4)
jsonb_object_keys CBC 27 100.0 % (31 / 31) 87.5 % (14 / 16)
transform_string_values_object_end CBC 27 100.0 % (4 / 4) 50.0 % (1 / 2)
transform_string_values_object_start CBC 27 100.0 % (4 / 4) 50.0 % (1 / 2)
jsonb_populate_record_valid CBC 30 100.0 % (4 / 4)
jsonb_set_lax CBC 30 95.5 % (21 / 22) 75.0 % (18 / 24)
jsonb_array_element_text CBC 33 92.9 % (13 / 14) 90.0 % (9 / 10)
push_path CBC 36 92.9 % (26 / 28) 77.8 % (14 / 18)
sn_object_end CBC 36 100.0 % (4 / 4) 50.0 % (1 / 2)
sn_object_start CBC 36 100.0 % (4 / 4) 50.0 % (1 / 2)
json_strip_nulls CBC 42 100.0 % (19 / 19) 75.0 % (3 / 4)
jsonb_strip_nulls CBC 42 100.0 % (30 / 30) 90.0 % (27 / 30)
jsonb_delete_path CBC 48 88.9 % (16 / 18) 57.1 % (8 / 14)
json_to_record CBC 51 100.0 % (2 / 2)
jsonb_to_record CBC 51 100.0 % (2 / 2)
push_null_elements CBC 54 100.0 % (5 / 5) 100.0 % (2 / 2)
transform_string_values_object_field_start CBC 57 100.0 % (7 / 7) 66.7 % (4 / 6)
transform_string_values_scalar CBC 60 100.0 % (7 / 7) 100.0 % (2 / 2)
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)
jsonb_insert CBC 66 84.2 % (16 / 19) 42.9 % (6 / 14)
sn_array_element_start CBC 66 100.0 % (9 / 9) 80.0 % (8 / 10)
each_scalar CBC 75 85.7 % (6 / 7) 50.0 % (3 / 6)
iterate_json_values CBC 75 100.0 % (13 / 13)
iterate_jsonb_values CBC 75 100.0 % (29 / 29) 100.0 % (22 / 22)
jsonb_populate_recordset CBC 75 100.0 % (2 / 2)
json_populate_recordset CBC 78 100.0 % (2 / 2)
sn_object_field_start CBC 78 100.0 % (10 / 10) 75.0 % (6 / 8)
IteratorConcat CBC 84 100.0 % (37 / 37) 88.6 % (39 / 44)
json_extract_path_text CBC 90 100.0 % (2 / 2)
jsonb_delete CBC 90 100.0 % (24 / 24) 79.2 % (19 / 24)
jsonb_extract_path_text CBC 90 100.0 % (2 / 2)
populate_recordset_array_start CBC 90 100.0 % (2 / 2)
jsonb_object_field_text CBC 99 100.0 % (11 / 11) 100.0 % (6 / 6)
jsonb_set_element CBC 123 88.9 % (8 / 9) 25.0 % (1 / 4)
parse_jsonb_index_flags CBC 126 93.5 % (29 / 31) 70.0 % (28 / 40)
jsonb_delete_idx CBC 129 100.0 % (30 / 30) 85.7 % (24 / 28)
sn_scalar CBC 132 100.0 % (10 / 10) 83.3 % (5 / 6)
jsonb_extract_path CBC 135 100.0 % (2 / 2)
json_array_element CBC 140 100.0 % (7 / 7) 100.0 % (2 / 2)
populate_recordset_object_end CBC 141 100.0 % (10 / 10) 100.0 % (2 / 2)
populate_recordset_object_start CBC 141 91.7 % (11 / 12) 50.0 % (3 / 6)
json_extract_path CBC 144 100.0 % (2 / 2)
jsonb_set CBC 144 90.5 % (19 / 21) 66.7 % (12 / 18)
populate_recordset_array_element_start CBC 150 83.3 % (5 / 6) 50.0 % (3 / 6)
get_record_type_from_query CBC 156 92.3 % (12 / 13) 62.5 % (5 / 8)
jsonb_array_length CBC 156 100.0 % (7 / 7) 75.0 % (6 / 8)
jsonb_array_element CBC 162 100.0 % (14 / 14) 100.0 % (8 / 8)
populate_recordset_worker CBC 171 92.9 % (65 / 70) 61.4 % (27 / 44)
setPathArray CBC 186 96.6 % (57 / 59) 85.9 % (79 / 92)
jsonb_concat CBC 189 100.0 % (14 / 14) 91.7 % (11 / 12)
json_array_elements CBC 192 100.0 % (2 / 2)
elements_worker CBC 198 100.0 % (23 / 23)
JsonbValueAsText CBC 210 78.9 % (15 / 19) 60.0 % (6 / 10)
populate_array_report_expected_array CBC 216 85.7 % (12 / 14) 70.0 % (14 / 20)
get_jsonb_path_all CBC 225 100.0 % (10 / 10) 100.0 % (4 / 4)
report_json_context CBC 225 95.0 % (19 / 20) 83.3 % (15 / 18)
get_path_all CBC 234 100.0 % (22 / 22) 81.2 % (13 / 16)
populate_recordset_record CBC 240 100.0 % (12 / 12) 100.0 % (2 / 2)
json_errsave_error CBC 246 88.9 % (8 / 9) 60.0 % (12 / 20)
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_scalar CBC 258 85.7 % (6 / 7) 50.0 % (3 / 6)
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)
jsonb_get_element CBC 315 98.4 % (62 / 63) 76.8 % (43 / 56)
populate_array_object_start CBC 324 72.7 % (8 / 11) 41.7 % (5 / 12)
json_get_first_token CBC 336 87.5 % (7 / 8) 75.0 % (3 / 4)
json_populate_record CBC 411 100.0 % (2 / 2)
jsonb_populate_record CBC 441 100.0 % (2 / 2)
setPathObject CBC 447 98.2 % (55 / 56) 91.7 % (55 / 60)
populate_array_json CBC 450 100.0 % (14 / 14) 33.3 % (4 / 12)
json_object_field_text CBC 459 100.0 % (8 / 8) 100.0 % (2 / 2)
json_object_field CBC 487 100.0 % (8 / 8) 100.0 % (2 / 2)
populate_array_array_end CBC 576 81.8 % (9 / 11) 75.0 % (6 / 8)
hash_array_start CBC 636 100.0 % (5 / 5) 75.0 % (3 / 4)
setPath CBC 663 87.9 % (29 / 33) 60.7 % (17 / 28)
populate_array_check_dimension CBC 777 100.0 % (10 / 10) 100.0 % (8 / 8)
get_record_type_from_argument CBC 825 85.7 % (6 / 7) 50.0 % (3 / 6)
elements_object_start CBC 840 80.0 % (4 / 5) 25.0 % (1 / 4)
json_populate_type CBC 840 80.0 % (20 / 25) 80.0 % (8 / 10)
populate_array_dim_jsonb CBC 849 94.3 % (33 / 35) 75.0 % (36 / 48)
populate_array_assign_ndims CBC 918 83.3 % (10 / 12) 41.7 % (5 / 12)
okeys_object_field_start CBC 921 100.0 % (10 / 10) 100.0 % (4 / 4)
get_array_start CBC 922 93.3 % (14 / 15) 78.6 % (11 / 14)
okeys_scalar CBC 927 100.0 % (5 / 5) 75.0 % (3 / 4)
json_object_keys CBC 930 100.0 % (27 / 27) 100.0 % (4 / 4)
get_json_object_as_hash CBC 942 90.0 % (18 / 20) 50.0 % (1 / 2)
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)
populate_record_worker CBC 984 92.9 % (39 / 42) 75.0 % (21 / 28)
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)
populate_array CBC 1080 93.3 % (28 / 30) 75.0 % (9 / 12)
allocate_record_info CBC 1152 100.0 % (8 / 8) 70.0 % (7 / 10)
get_worker CBC 1338 100.0 % (30 / 30) 90.0 % (9 / 10)
populate_domain CBC 1479 100.0 % (9 / 9) 75.0 % (9 / 12)
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_scalar CBC 1827 80.0 % (12 / 15) 50.0 % (8 / 16)
JsValueToJsObject CBC 1977 100.0 % (17 / 17) 70.6 % (24 / 34)
populate_composite CBC 1977 83.3 % (15 / 18) 77.8 % (14 / 18)
populate_record CBC 2193 97.6 % (40 / 41) 83.3 % (35 / 42)
update_cached_tupdesc CBC 2376 91.7 % (11 / 12) 60.0 % (6 / 10)
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)
populate_array_element CBC 3081 100.0 % (11 / 11) 75.0 % (6 / 8)
json_categorize_type CBC 3535 98.0 % (49 / 50) 84.6 % (22 / 26)
hash_scalar CBC 3690 100.0 % (8 / 8) 75.0 % (6 / 8)
populate_scalar CBC 4614 95.6 % (43 / 45) 85.0 % (34 / 40)
makeJsonLexContext GNC 5994 100.0 % (4 / 4)
jsonb_each CBC 6084 100.0 % (2 / 2)
each_worker_jsonb GNC 6096 96.7 % (29 / 30) 71.4 % (10 / 14)
prepare_column_cache CBC 10785 97.6 % (41 / 42) 77.8 % (14 / 18)
jsonb_object_field CBC 12345 100.0 % (11 / 11) 100.0 % (4 / 4)
JsObjectGetField CBC 15180 100.0 % (11 / 11) 90.0 % (9 / 10)
pg_parse_json_or_errsave CBC 18630 100.0 % (6 / 6) 100.0 % (2 / 2)
populate_record_field CBC 18849 92.3 % (24 / 26) 83.7 % (36 / 43)
elements_scalar CBC 21612 85.7 % (6 / 7) 50.0 % (3 / 6)
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_scalar CBC 89961 100.0 % (15 / 15) 100.0 % (14 / 14)

Generated by: LCOV version 2.4-beta