LCOV - differential code coverage report
Current view: top level - src/backend/utils/adt - numeric.c (source / functions) Coverage Total Hit UNC LBC UIC UBC GIC GNC CBC EUB ECB DUB DCB
Current: 0e5ff9b9b45a657aea12440478dc002e9b01f138 vs 0123ce131fca454009439dfa3b2266d1d40737d7 Lines: 94.7 % 4018 3804 1 3 210 126 3678 22 179
Current Date: 2026-03-14 14:10:32 -0400 Functions: 99.1 % 211 209 1 1 54 155 12
Baseline: lcov-20260315-024220-baseline Branches: 78.6 % 2497 1963 20 1 8 505 8 64 1891 42 22 51 97
Baseline Date: 2026-03-14 15:27:56 +0100 Line coverage date bins:
Legend: Lines:     hit not hit
Branches: + taken - not taken # not executed
(30,360] days: 99.2 % 127 126 1 126
(360..) days: 94.5 % 3891 3678 3 210 3678
Function coverage date bins:
(30,360] days: 100.0 % 13 13 13
(360..) days: 99.0 % 198 196 1 1 41 155
Branch coverage date bins:
(30,360] days: 76.2 % 84 64 20 64
(360..) days: 76.7 % 2477 1899 1 8 505 8 1891 42 22

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
accum_sum_add CBC 1177858 100.0 % (15 / 15) 100.0 % (6 / 6)
accum_sum_carry CBC 86379 100.0 % (29 / 29) 88.9 % (16 / 18)
accum_sum_combine CBC 27 100.0 % (6 / 6)
accum_sum_copy CBC 21 100.0 % (10 / 10)
accum_sum_final CBC 86307 90.5 % (19 / 21) 62.5 % (5 / 8)
accum_sum_rescale CBC 1177858 100.0 % (33 / 33) 83.3 % (15 / 18)
accum_sum_reset CBC 9 100.0 % (6 / 6) 100.0 % (2 / 2)
add_abs CBC 223340 97.5 % (39 / 40) 88.9 % (16 / 18)
add_var CBC 309285 100.0 % (35 / 35) 85.7 % (12 / 14)
alloc_var CBC 1091046 100.0 % (7 / 7) 100.0 % (2 / 2)
apply_typmod CBC 84575 96.0 % (24 / 25) 95.8 % (23 / 24)
apply_typmod_special CBC 944 100.0 % (9 / 9) 75.0 % (6 / 8)
ceil_var CBC 102 100.0 % (9 / 9) 100.0 % (4 / 4)
cmp_abs CBC 354594 100.0 % (3 / 3)
cmp_abs_common CBC 14081674 92.0 % (23 / 25) 93.3 % (28 / 30)
cmp_numerics CBC 14052443 95.8 % (23 / 24) 92.9 % (39 / 42)
cmp_var CBC 85114 100.0 % (5 / 5)
cmp_var_common CBC 14128533 100.0 % (18 / 18) 100.0 % (16 / 16)
compute_bucket CBC 240 100.0 % (14 / 14)
div_mod_var CBC 2259 56.5 % (13 / 23) 30.0 % (3 / 10)
div_var CBC 285573 93.0 % (160 / 172) 85.7 % (84 / 98)
div_var_int CBC 292143 97.6 % (41 / 42) 89.3 % (25 / 28)
div_var_int64 CBC 264 97.6 % (41 / 42) 89.3 % (25 / 28)
do_int128_accum GNC 278739 100.0 % (6 / 6) 100.0 % (2 / 2)
do_numeric_accum CBC 1056776 100.0 % (23 / 23) 100.0 % (14 / 14)
do_numeric_discard CBC 171 90.6 % (29 / 32) 76.9 % (20 / 26)
duplicate_numeric CBC 13997 100.0 % (4 / 4)
estimate_ln_dweight CBC 369 100.0 % (22 / 22) 100.0 % (12 / 12)
exp_var CBC 90 97.5 % (39 / 40) 78.6 % (11 / 14)
float4_numeric CBC 11291 100.0 % (14 / 14) 100.0 % (6 / 6)
float8_numeric CBC 537 100.0 % (14 / 14) 100.0 % (6 / 6)
floor_var CBC 54 100.0 % (9 / 9) 100.0 % (4 / 4)
free_var CBC 2097236 100.0 % (6 / 6) 100.0 % (2 / 2)
gcd_var CBC 111 100.0 % (26 / 26) 90.0 % (9 / 10)
generate_series_numeric CBC 60192 100.0 % (2 / 2)
generate_series_numeric_support CBC 321 95.9 % (47 / 49) 90.5 % (38 / 42)
generate_series_step_numeric GNC 60417 100.0 % (45 / 45) 82.5 % (33 / 40)
get_min_scale CBC 186 93.3 % (14 / 15) 90.0 % (9 / 10)
get_str_from_var CBC 445692 100.0 % (49 / 49) 100.0 % (24 / 24)
get_str_from_var_sci CBC 114 94.1 % (16 / 17) 75.0 % (3 / 4)
hash_numeric CBC 306772 83.3 % (20 / 24) 59.4 % (19 / 32)
hash_numeric_extended CBC 42 84.6 % (22 / 26) 56.2 % (18 / 32)
in_range_numeric_numeric CBC 576 98.1 % (53 / 54) 79.3 % (46 / 58)
init_var_from_num CBC 2935285 100.0 % (8 / 8) 92.9 % (13 / 14)
int128_deserialize GNC 39 100.0 % (4 / 4)
int128_serialize GNC 39 100.0 % (4 / 4)
int2_accum GNC 99 100.0 % (7 / 7) 100.0 % (6 / 6)
int2_accum_inv GNC 81 85.7 % (6 / 7) 50.0 % (4 / 8)
int2_avg_accum CBC 21 83.3 % (10 / 12) 40.0 % (4 / 10)
int2_avg_accum_inv CBC 6 83.3 % (10 / 12) 40.0 % (4 / 10)
int2_numeric CBC 3 100.0 % (3 / 3)
int2_sum GNC 12 81.8 % (9 / 11) 66.7 % (4 / 6)
int2int4_sum CBC 1917 88.9 % (8 / 9) 50.0 % (5 / 10)
int4_accum GNC 121099 100.0 % (7 / 7) 100.0 % (6 / 6)
int4_accum_inv GNC 81 85.7 % (6 / 7) 50.0 % (4 / 8)
int4_avg_accum CBC 1313151 83.3 % (10 / 12) 40.0 % (4 / 10)
int4_avg_accum_inv CBC 726 83.3 % (10 / 12) 40.0 % (4 / 10)
int4_avg_combine CBC 5145 81.2 % (13 / 16) 35.0 % (7 / 20)
int4_numeric CBC 777779 100.0 % (3 / 3)
int4_sum GNC 2470450 100.0 % (11 / 11) 100.0 % (6 / 6)
int64_div_fast_to_numeric GNC 14692 86.4 % (19 / 22) 66.7 % (4 / 6)
int64_to_numeric CBC 934979 100.0 % (6 / 6)
int64_to_numericvar CBC 950791 100.0 % (23 / 23) 100.0 % (6 / 6)
int8_accum CBC 120099 100.0 % (7 / 7) 100.0 % (6 / 6)
int8_accum_inv CBC 81 75.0 % (6 / 8) 41.7 % (5 / 12)
int8_avg CBC 5417 90.9 % (10 / 11) 50.0 % (5 / 10)
int8_avg_accum GNC 159458 100.0 % (7 / 7) 100.0 % (6 / 6)
int8_avg_accum_inv GNC 18 85.7 % (6 / 7) 50.0 % (4 / 8)
int8_avg_combine GNC 15 88.9 % (16 / 18) 57.1 % (8 / 14)
int8_avg_deserialize GNC 15 90.9 % (10 / 11) 25.0 % (1 / 4)
int8_avg_serialize GNC 15 88.9 % (8 / 9) 25.0 % (1 / 4)
int8_numeric CBC 18427 100.0 % (3 / 3)
int8_sum UBC 0 0.0 % (0 / 9) 0.0 % (0 / 6)
is_valid_numeric_typmod CBC 94810 100.0 % (2 / 2)
ln_var CBC 417 97.7 % (43 / 44) 81.2 % (13 / 16)
log_var CBC 108 100.0 % (21 / 21)
makeInt128AggState GNC 484 87.5 % (7 / 8) 25.0 % (1 / 4)
makeInt128AggStateCurrentContext GNC 27 100.0 % (4 / 4)
makeNumericAggState GNC 85570 88.9 % (8 / 9) 25.0 % (1 / 4)
makeNumericAggStateCurrentContext GNC 42 100.0 % (5 / 5)
make_numeric_typmod CBC 939 100.0 % (2 / 2)
make_result GNC 1134911 100.0 % (2 / 2)
make_result_safe GNC 1907654 97.6 % (41 / 42) 87.5 % (42 / 48)
mod_var CBC 206852 100.0 % (7 / 7)
mul_var CBC 595114 100.0 % (90 / 90) 95.0 % (38 / 40)
mul_var_short GNC 579429 100.0 % (131 / 131) 88.6 % (31 / 35)
numeric CBC 5851 86.7 % (26 / 30) 57.5 % (23 / 40)
numeric_abbrev_abort CBC 72 23.5 % (4 / 17) 4.5 % (1 / 22)
numeric_abbrev_convert GNC 9584 95.7 % (22 / 23) 83.3 % (10 / 12)
numeric_abbrev_convert_var GNC 9509 92.0 % (23 / 25) 78.6 % (11 / 14)
numeric_abs CBC 9753 100.0 % (11 / 11) 83.3 % (5 / 6)
numeric_accum CBC 321 100.0 % (7 / 7) 100.0 % (6 / 6)
numeric_accum_inv CBC 114 87.5 % (7 / 8) 60.0 % (6 / 10)
numeric_add GNC 126321 100.0 % (5 / 5)
numeric_add_safe GNC 126840 100.0 % (23 / 23) 95.0 % (19 / 20)
numeric_avg CBC 39 100.0 % (18 / 18) 87.5 % (14 / 16)
numeric_avg_accum CBC 936404 100.0 % (7 / 7) 100.0 % (6 / 6)
numeric_avg_combine CBC 12 87.9 % (29 / 33) 55.6 % (10 / 18)
numeric_avg_deserialize CBC 12 94.7 % (18 / 19) 25.0 % (1 / 4)
numeric_avg_serialize CBC 12 94.1 % (16 / 17) 25.0 % (1 / 4)
numeric_ceil CBC 111 100.0 % (9 / 9) 100.0 % (2 / 2)
numeric_cmp CBC 466164 100.0 % (7 / 7) 100.0 % (4 / 4)
numeric_cmp_abbrev CBC 93577 100.0 % (6 / 6) 100.0 % (4 / 4)
numeric_combine CBC 18 88.6 % (31 / 35) 55.6 % (10 / 18)
numeric_deserialize CBC 18 95.2 % (20 / 21) 25.0 % (1 / 4)
numeric_div GNC 74159 100.0 % (5 / 5)
numeric_div_safe GNC 74579 94.9 % (37 / 39) 90.0 % (27 / 30)
numeric_div_trunc CBC 609 94.4 % (34 / 36) 85.7 % (24 / 28)
numeric_eq CBC 340466 100.0 % (7 / 7) 100.0 % (4 / 4)
numeric_exp CBC 39 100.0 % (20 / 20) 87.5 % (7 / 8)
numeric_fac CBC 21 100.0 % (20 / 20) 78.6 % (11 / 14)
numeric_fast_cmp GNC 12999489 100.0 % (9 / 9) 100.0 % (4 / 4)
numeric_float4 CBC 1228 100.0 % (12 / 12) 100.0 % (6 / 6)
numeric_float8 CBC 260328 100.0 % (12 / 12) 100.0 % (6 / 6)
numeric_float8_no_overflow CBC 14 54.5 % (6 / 11) 16.7 % (1 / 6)
numeric_floor CBC 63 100.0 % (9 / 9) 100.0 % (2 / 2)
numeric_gcd CBC 108 100.0 % (12 / 12) 100.0 % (4 / 4)
numeric_ge CBC 7507 100.0 % (7 / 7) 75.0 % (3 / 4)
numeric_gt CBC 27817 100.0 % (7 / 7) 100.0 % (4 / 4)
numeric_in GNC 83306 95.4 % (62 / 65) 91.7 % (44 / 48)
numeric_inc CBC 24 100.0 % (9 / 9) 100.0 % (2 / 2)
numeric_int2 CBC 51 92.3 % (12 / 13) 66.7 % (12 / 18)
numeric_int4 GNC 3058 100.0 % (3 / 3)
numeric_int4_safe GNC 3850 100.0 % (9 / 9) 83.3 % (10 / 12)
numeric_int8 GNC 261 100.0 % (3 / 3)
numeric_int8_safe GNC 285 100.0 % (9 / 9) 83.3 % (10 / 12)
numeric_is_inf CBC 604 100.0 % (2 / 2)
numeric_is_integral CBC 33 85.7 % (6 / 7) 87.5 % (7 / 8)
numeric_is_nan CBC 4167 100.0 % (2 / 2)
numeric_larger CBC 9315 100.0 % (6 / 6) 100.0 % (2 / 2)
numeric_lcm CBC 123 100.0 % (18 / 18) 100.0 % (8 / 8)
numeric_le CBC 8963 100.0 % (7 / 7) 100.0 % (4 / 4)
numeric_ln CBC 99 100.0 % (17 / 17) 83.3 % (5 / 6)
numeric_log CBC 171 100.0 % (25 / 25) 84.6 % (22 / 26)
numeric_lt CBC 188573 100.0 % (7 / 7) 100.0 % (4 / 4)
numeric_maximum_size CBC 3524 83.3 % (5 / 6) 50.0 % (1 / 2)
numeric_min_scale CBC 36 100.0 % (8 / 8) 100.0 % (2 / 2)
numeric_mod GNC 206657 100.0 % (5 / 5)
numeric_mod_safe GNC 206663 100.0 % (20 / 20) 88.9 % (16 / 18)
numeric_mul GNC 245100 100.0 % (5 / 5)
numeric_mul_safe GNC 245118 91.8 % (45 / 49) 85.3 % (29 / 34)
numeric_ne CBC 2688 100.0 % (7 / 7) 100.0 % (4 / 4)
numeric_normalize CBC 20300 70.6 % (12 / 17) 50.0 % (6 / 12)
numeric_out CBC 426839 100.0 % (11 / 11) 100.0 % (6 / 6)
numeric_out_sci CBC 123 100.0 % (10 / 10) 100.0 % (6 / 6)
numeric_pg_lsn CBC 62 90.0 % (9 / 10) 58.3 % (7 / 12)
numeric_poly_avg GNC 18 100.0 % (10 / 10) 66.7 % (4 / 6)
numeric_poly_combine GNC 12 90.0 % (18 / 20) 57.1 % (8 / 14)
numeric_poly_deserialize GNC 12 91.7 % (11 / 12) 25.0 % (1 / 4)
numeric_poly_serialize GNC 12 90.0 % (9 / 10) 25.0 % (1 / 4)
numeric_poly_stddev_internal CBC 211 100.0 % (18 / 18) 50.0 % (3 / 6)
numeric_poly_stddev_pop GNC 36 83.3 % (5 / 6) 50.0 % (2 / 4)
numeric_poly_stddev_samp GNC 82 100.0 % (6 / 6) 75.0 % (3 / 4)
numeric_poly_sum GNC 525 100.0 % (9 / 9) 100.0 % (6 / 6)
numeric_poly_var_pop GNC 30 83.3 % (5 / 6) 50.0 % (2 / 4)
numeric_poly_var_samp GNC 63 100.0 % (6 / 6) 75.0 % (3 / 4)
numeric_power CBC 822 100.0 % (64 / 64) 89.4 % (59 / 66)
numeric_recv CBC 51 67.7 % (21 / 31) 25.0 % (7 / 28)
numeric_round CBC 3904 100.0 % (15 / 15) 100.0 % (4 / 4)
numeric_scale CBC 54 100.0 % (5 / 5) 75.0 % (3 / 4)
numeric_send CBC 35 100.0 % (11 / 11) 100.0 % (2 / 2)
numeric_serialize CBC 18 94.7 % (18 / 19) 25.0 % (1 / 4)
numeric_sign CBC 24 91.7 % (11 / 12) 83.3 % (5 / 6)
numeric_sign_internal CBC 1785 100.0 % (11 / 11) 87.5 % (14 / 16)
numeric_smaller CBC 405 100.0 % (6 / 6) 100.0 % (2 / 2)
numeric_sortsupport GNC 609 100.0 % (17 / 17) 100.0 % (2 / 2)
numeric_sqrt CBC 75 100.0 % (17 / 17) 83.3 % (5 / 6)
numeric_stddev_internal CBC 493 94.4 % (34 / 36) 90.0 % (18 / 20)
numeric_stddev_pop CBC 48 83.3 % (5 / 6) 50.0 % (2 / 4)
numeric_stddev_samp CBC 87 100.0 % (6 / 6) 75.0 % (3 / 4)
numeric_sub GNC 37663 100.0 % (5 / 5)
numeric_sub_safe GNC 37738 100.0 % (23 / 23) 95.0 % (19 / 20)
numeric_sum CBC 85453 100.0 % (17 / 17) 87.5 % (14 / 16)
numeric_support CBC 258 100.0 % (21 / 21) 68.8 % (11 / 16)
numeric_trim_scale CBC 162 100.0 % (9 / 9) 100.0 % (2 / 2)
numeric_trunc CBC 313 100.0 % (15 / 15) 100.0 % (4 / 4)
numeric_typmod_precision CBC 24268 100.0 % (2 / 2)
numeric_typmod_scale CBC 20744 100.0 % (2 / 2)
numeric_uminus CBC 442 70.6 % (12 / 17) 40.0 % (8 / 20)
numeric_uplus LBC 0 0.0 % (0 / 3)
numeric_var_pop CBC 57 83.3 % (5 / 6) 50.0 % (2 / 4)
numeric_var_samp CBC 90 100.0 % (6 / 6) 75.0 % (3 / 4)
numerictypmodin CBC 960 93.3 % (14 / 15) 70.8 % (17 / 24)
numerictypmodout CBC 188 85.7 % (6 / 7) 50.0 % (1 / 2)
numericvar_deserialize CBC 48 100.0 % (9 / 9) 100.0 % (2 / 2)
numericvar_serialize CBC 48 100.0 % (8 / 8) 100.0 % (2 / 2)
numericvar_to_double_no_overflow CBC 233 85.7 % (6 / 7) 25.0 % (1 / 4)
numericvar_to_int32 CBC 4213 100.0 % (7 / 7) 100.0 % (6 / 6)
numericvar_to_int64 CBC 5167 100.0 % (30 / 30) 88.9 % (16 / 18)
numericvar_to_uint64 CBC 59 92.9 % (26 / 28) 75.0 % (12 / 16)
power_ten_int CBC 114 100.0 % (10 / 10) 100.0 % (6 / 6)
power_var CBC 699 98.1 % (53 / 54) 77.8 % (28 / 36)
power_var_int CBC 618 86.5 % (64 / 74) 66.7 % (26 / 39)
random_numeric CBC 16731 100.0 % (16 / 16) 75.0 % (12 / 16)
random_var CBC 16719 100.0 % (57 / 57) 93.3 % (28 / 30)
round_var CBC 124386 100.0 % (39 / 39) 91.7 % (22 / 24)
select_div_scale CBC 74840 100.0 % (24 / 24) 80.0 % (8 / 10)
set_var_from_non_decimal_integer_str CBC 78 87.5 % (70 / 80) 77.6 % (45 / 58)
set_var_from_num CBC 6464 100.0 % (8 / 8) 92.9 % (13 / 14)
set_var_from_str CBC 94144 92.4 % (85 / 92) 89.1 % (49 / 55)
set_var_from_var CBC 17607 100.0 % (11 / 11) 100.0 % (4 / 4)
sqrt_var CBC 2097 97.4 % (152 / 156) 87.8 % (65 / 74)
strip_var CBC 1644532 100.0 % (15 / 15) 100.0 % (10 / 10)
sub_abs CBC 327641 97.5 % (39 / 40) 83.3 % (15 / 18)
sub_var CBC 266279 100.0 % (35 / 35) 85.7 % (12 / 14)
trunc_var CBC 210414 100.0 % (17 / 17) 100.0 % (6 / 6)
width_bucket_numeric GNC 393 97.3 % (36 / 37) 73.7 % (28 / 38)
xdigit_value CBC 354 100.0 % (4 / 4) 66.7 % (8 / 12)
zero_var CBC 30357 100.0 % (8 / 8) 100.0 % (2 / 2)

Generated by: LCOV version 2.4-beta