LCOV - differential code coverage report
Current view: top level - src/backend/utils/adt - numeric.c (source / functions) Coverage Total Hit UNC UBC GBC GNC CBC DUB DCB
Current: c38de3ae6098ccf1904109f2e550eb4777f66024 vs e352ac8c5c90ed6ce792f044c22145578542a330 Lines: 94.3 % 4048 3816 6 226 38 3778 2 35
Current Date: 2026-11-05 14:14:01 +0100 Functions: 99.1 % 212 210 2 14 196
Baseline: lcov-20261105-baseline Branches: 77.8 % 2565 1995 19 551 1 21 1973
Baseline Date: 2026-11-05 14:14:01 +0100 Line coverage date bins:
Legend: Lines:     hit not hit
Branches: + taken - not taken # not executed
(7,30] days: 80.0 % 30 24 6 24
(30,360] days: 71.8 % 71 51 20 14 37
(360..) days: 94.8 % 3947 3741 206 3741
Function coverage date bins:
(30,360] days: 100.0 % 1 1 1
(360..) days: 99.1 % 211 209 2 14 195
Branch coverage date bins:
(7,30] days: 50.0 % 34 17 17 17
(30,360] days: 47.6 % 82 39 2 41 4 35
(360..) days: 79.2 % 2449 1939 510 1 1938

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 GNC 1570448 100.0 % (14 / 14) 100.0 % (6 / 6)
accum_sum_carry CBC 115162 100.0 % (29 / 29) 88.9 % (16 / 18)
accum_sum_combine CBC 36 100.0 % (6 / 6)
accum_sum_copy GNC 28 100.0 % (10 / 10)
accum_sum_final CBC 115058 90.5 % (19 / 21) 62.5 % (5 / 8)
accum_sum_rescale GNC 1570448 100.0 % (33 / 33) 83.3 % (15 / 18)
accum_sum_reset CBC 12 100.0 % (6 / 6) 100.0 % (2 / 2)
add_abs CBC 299701 97.5 % (39 / 40) 88.9 % (16 / 18)
add_var CBC 414386 100.0 % (35 / 35) 85.7 % (12 / 14)
alloc_var CBC 1457019 100.0 % (7 / 7) 100.0 % (2 / 2)
apply_typmod CBC 104876 96.0 % (24 / 25) 95.8 % (23 / 24)
apply_typmod_special CBC 1304 100.0 % (9 / 9) 75.0 % (6 / 8)
ceil_var CBC 136 100.0 % (9 / 9) 100.0 % (4 / 4)
cmp_abs CBC 469588 100.0 % (3 / 3)
cmp_abs_common CBC 18812858 92.0 % (23 / 25) 93.3 % (28 / 30)
cmp_numerics CBC 18766510 100.0 % (24 / 24) 95.2 % (40 / 42)
cmp_var CBC 114524 100.0 % (5 / 5)
cmp_var_common CBC 18871010 100.0 % (18 / 18) 100.0 % (16 / 16)
compute_bucket CBC 322 100.0 % (14 / 14)
div_mod_var CBC 3275 56.5 % (13 / 23) 30.0 % (3 / 10)
div_var CBC 380395 93.0 % (160 / 172) 85.7 % (84 / 98)
div_var_int CBC 389773 97.6 % (41 / 42) 89.3 % (25 / 28)
div_var_int64 CBC 360 97.6 % (41 / 42) 89.3 % (25 / 28)
do_int128_accum CBC 371367 100.0 % (6 / 6) 100.0 % (2 / 2)
do_int128_discard CBC 208 100.0 % (6 / 6) 100.0 % (2 / 2)
do_numeric_accum CBC 1409012 100.0 % (23 / 23) 100.0 % (14 / 14)
do_numeric_discard CBC 228 90.6 % (29 / 32) 76.9 % (20 / 26)
duplicate_numeric CBC 18829 100.0 % (4 / 4)
estimate_ln_dweight CBC 526 100.0 % (22 / 22) 100.0 % (12 / 12)
exp_var CBC 139 97.5 % (39 / 40) 78.6 % (11 / 14)
float4_numeric CBC 15099 93.3 % (14 / 15) 87.5 % (7 / 8)
float8_numeric CBC 12798 93.3 % (14 / 15) 87.5 % (7 / 8)
floor_var CBC 72 100.0 % (9 / 9) 100.0 % (4 / 4)
free_var CBC 2793534 100.0 % (6 / 6) 100.0 % (2 / 2)
gcd_var CBC 148 100.0 % (26 / 26) 90.0 % (9 / 10)
generate_series_numeric CBC 80256 100.0 % (2 / 2)
generate_series_numeric_support CBC 535 95.9 % (47 / 49) 90.5 % (38 / 42)
generate_series_step_numeric CBC 80556 100.0 % (45 / 45) 82.5 % (33 / 40)
get_min_scale CBC 267 93.3 % (14 / 15) 90.0 % (9 / 10)
get_str_from_var CBC 557343 100.0 % (49 / 49) 100.0 % (24 / 24)
get_str_from_var_sci CBC 152 94.1 % (16 / 17) 75.0 % (3 / 4)
hash_numeric GNC 410122 84.0 % (21 / 25) 59.4 % (19 / 32)
hash_numeric_extended GNC 56 84.6 % (22 / 26) 56.2 % (18 / 32)
in_range_numeric_numeric CBC 768 98.1 % (53 / 54) 79.3 % (46 / 58)
init_var_from_num CBC 3868020 100.0 % (8 / 8) 100.0 % (14 / 14)
int128_deserialize CBC 54 100.0 % (4 / 4)
int128_serialize CBC 54 100.0 % (4 / 4)
int128_to_numericvar CBC 6258 100.0 % (19 / 19) 100.0 % (4 / 4)
int2_accum CBC 132 100.0 % (7 / 7) 100.0 % (6 / 6)
int2_accum_inv CBC 108 85.7 % (6 / 7) 50.0 % (4 / 8)
int2_avg_accum GNC 28 78.6 % (11 / 14) 35.7 % (5 / 14)
int2_avg_accum_inv CBC 8 83.3 % (10 / 12) 40.0 % (4 / 10)
int2_numeric CBC 5 100.0 % (3 / 3)
int2_sum GNC 16 77.8 % (7 / 9) 50.0 % (4 / 8)
int2int4_sum CBC 2716 88.9 % (8 / 9) 50.0 % (5 / 10)
int4_accum CBC 161132 100.0 % (7 / 7) 100.0 % (6 / 6)
int4_accum_inv CBC 108 85.7 % (6 / 7) 50.0 % (4 / 8)
int4_avg_accum GNC 1744070 78.6 % (11 / 14) 35.7 % (5 / 14)
int4_avg_accum_inv CBC 1000 83.3 % (10 / 12) 40.0 % (4 / 10)
int4_avg_combine GNC 6909 77.8 % (14 / 18) 33.3 % (8 / 24)
int4_numeric CBC 1037800 100.0 % (3 / 3)
int4_sum GNC 3416740 88.9 % (8 / 9) 62.5 % (5 / 8)
int64_div_fast_to_numeric CBC 15151 86.4 % (19 / 22) 66.7 % (4 / 6)
int64_to_numeric CBC 1246546 100.0 % (6 / 6)
int64_to_numericvar CBC 1263240 100.0 % (23 / 23) 100.0 % (6 / 6)
int8_accum CBC 160132 100.0 % (7 / 7) 100.0 % (6 / 6)
int8_accum_inv CBC 108 75.0 % (6 / 8) 41.7 % (5 / 12)
int8_avg CBC 6817 90.9 % (10 / 11) 50.0 % (5 / 10)
int8_avg_accum CBC 213131 100.0 % (7 / 7) 100.0 % (6 / 6)
int8_avg_accum_inv CBC 24 85.7 % (6 / 7) 50.0 % (4 / 8)
int8_avg_combine CBC 22 80.0 % (16 / 20) 50.0 % (8 / 16)
int8_avg_deserialize CBC 22 90.9 % (10 / 11) 25.0 % (1 / 4)
int8_avg_serialize CBC 22 88.9 % (8 / 9) 25.0 % (1 / 4)
int8_numeric CBC 24588 100.0 % (3 / 3)
int8_sum UBC 0 0.0 % (0 / 9) 0.0 % (0 / 6)
is_valid_numeric_typmod CBC 119007 100.0 % (2 / 2)
ln_var CBC 599 97.7 % (43 / 44) 81.2 % (13 / 16)
log_var GNC 160 100.0 % (23 / 23) 75.0 % (3 / 4)
makeInt128AggState CBC 641 87.5 % (7 / 8) 25.0 % (1 / 4)
makeInt128AggStateCurrentContext CBC 38 100.0 % (4 / 4)
makeNumericAggState CBC 114082 88.9 % (8 / 9) 25.0 % (1 / 4)
makeNumericAggStateCurrentContext CBC 56 100.0 % (5 / 5)
make_numeric_typmod CBC 1079 100.0 % (2 / 2)
make_numeric_typmod_safe CBC 1124 100.0 % (6 / 6) 100.0 % (12 / 12)
make_result CBC 1518084 100.0 % (2 / 2)
make_result_safe CBC 2539010 97.6 % (41 / 42) 87.5 % (42 / 48)
mod_var CBC 275504 100.0 % (7 / 7)
mul_var CBC 795540 100.0 % (90 / 90) 95.0 % (38 / 40)
mul_var_short CBC 772976 100.0 % (131 / 131) 88.6 % (31 / 35)
numeric CBC 8077 81.2 % (26 / 32) 56.8 % (25 / 44)
numeric_abbrev_abort CBC 96 23.5 % (4 / 17) 4.5 % (1 / 22)
numeric_abbrev_convert CBC 12779 95.7 % (22 / 23) 83.3 % (10 / 12)
numeric_abbrev_convert_var GNC 12679 91.7 % (22 / 24) 78.6 % (11 / 14)
numeric_abs CBC 13004 100.0 % (11 / 11) 83.3 % (5 / 6)
numeric_accum CBC 428 100.0 % (7 / 7) 100.0 % (6 / 6)
numeric_accum_inv CBC 152 87.5 % (7 / 8) 60.0 % (6 / 10)
numeric_add CBC 168460 100.0 % (5 / 5)
numeric_add_safe CBC 169154 100.0 % (23 / 23) 95.0 % (19 / 20)
numeric_avg CBC 52 100.0 % (18 / 18) 87.5 % (14 / 16)
numeric_avg_accum CBC 1248516 100.0 % (7 / 7) 100.0 % (6 / 6)
numeric_avg_combine CBC 16 82.9 % (29 / 35) 50.0 % (10 / 20)
numeric_avg_deserialize CBC 16 94.7 % (18 / 19) 25.0 % (1 / 4)
numeric_avg_serialize CBC 16 94.1 % (16 / 17) 25.0 % (1 / 4)
numeric_ceil CBC 148 100.0 % (9 / 9) 100.0 % (2 / 2)
numeric_cmp CBC 607860 100.0 % (7 / 7) 100.0 % (4 / 4)
numeric_cmp_abbrev CBC 125730 100.0 % (6 / 6) 100.0 % (4 / 4)
numeric_combine CBC 24 83.8 % (31 / 37) 50.0 % (10 / 20)
numeric_deserialize CBC 24 95.2 % (20 / 21) 25.0 % (1 / 4)
numeric_div CBC 98473 100.0 % (5 / 5)
numeric_div_safe CBC 99034 94.9 % (37 / 39) 90.0 % (27 / 30)
numeric_div_trunc CBC 822 94.4 % (34 / 36) 85.7 % (24 / 28)
numeric_eq CBC 448676 100.0 % (7 / 7) 100.0 % (4 / 4)
numeric_exp CBC 65 100.0 % (20 / 20) 87.5 % (7 / 8)
numeric_fac CBC 33 100.0 % (20 / 20) 78.6 % (11 / 14)
numeric_fast_cmp CBC 17388874 100.0 % (9 / 9) 100.0 % (4 / 4)
numeric_float4 CBC 1748 85.7 % (12 / 14) 87.5 % (7 / 8)
numeric_float8 CBC 346964 84.6 % (11 / 13) 87.5 % (7 / 8)
numeric_float8_no_overflow CBC 715 54.5 % (6 / 11) 16.7 % (1 / 6)
numeric_floor CBC 84 100.0 % (9 / 9) 100.0 % (2 / 2)
numeric_gcd CBC 144 100.0 % (12 / 12) 100.0 % (4 / 4)
numeric_ge CBC 7947 100.0 % (7 / 7) 75.0 % (3 / 4)
numeric_gt CBC 33666 100.0 % (7 / 7) 100.0 % (4 / 4)
numeric_in CBC 103054 95.4 % (62 / 65) 91.7 % (44 / 48)
numeric_inc CBC 32 100.0 % (9 / 9) 100.0 % (2 / 2)
numeric_int2 CBC 73 92.3 % (12 / 13) 66.7 % (12 / 18)
numeric_int4 CBC 3781 83.3 % (5 / 6) 30.0 % (3 / 10)
numeric_int4_safe CBC 4924 100.0 % (9 / 9) 83.3 % (10 / 12)
numeric_int8 CBC 347 83.3 % (5 / 6) 30.0 % (3 / 10)
numeric_int8_safe CBC 387 100.0 % (9 / 9) 83.3 % (10 / 12)
numeric_is_inf CBC 1829 100.0 % (2 / 2)
numeric_is_integral CBC 54 85.7 % (6 / 7) 87.5 % (7 / 8)
numeric_is_nan CBC 7563 100.0 % (2 / 2)
numeric_larger CBC 12420 100.0 % (6 / 6) 100.0 % (2 / 2)
numeric_lcm CBC 164 100.0 % (18 / 18) 100.0 % (8 / 8)
numeric_le CBC 10642 100.0 % (7 / 7) 100.0 % (4 / 4)
numeric_ln CBC 140 100.0 % (17 / 17) 83.3 % (5 / 6)
numeric_log GNC 249 100.0 % (30 / 30) 86.7 % (26 / 30)
numeric_lt CBC 250876 100.0 % (7 / 7) 100.0 % (4 / 4)
numeric_maximum_size CBC 4892 83.3 % (5 / 6) 50.0 % (1 / 2)
numeric_min_scale CBC 60 100.0 % (8 / 8) 100.0 % (2 / 2)
numeric_mod CBC 275245 100.0 % (5 / 5)
numeric_mod_safe CBC 275253 100.0 % (20 / 20) 88.9 % (16 / 18)
numeric_mul CBC 326759 85.7 % (6 / 7) 30.0 % (3 / 10)
numeric_mul_safe CBC 326791 91.8 % (45 / 49) 85.3 % (29 / 34)
numeric_ne CBC 3584 100.0 % (7 / 7) 100.0 % (4 / 4)
numeric_normalize CBC 22354 70.6 % (12 / 17) 50.0 % (6 / 12)
numeric_out CBC 536115 100.0 % (11 / 11) 100.0 % (6 / 6)
numeric_out_sci CBC 164 100.0 % (10 / 10) 100.0 % (6 / 6)
numeric_pg_lsn CBC 105 90.0 % (9 / 10) 58.3 % (7 / 12)
numeric_poly_avg CBC 24 100.0 % (10 / 10) 66.7 % (4 / 6)
numeric_poly_combine CBC 16 81.8 % (18 / 22) 50.0 % (8 / 16)
numeric_poly_deserialize CBC 16 91.7 % (11 / 12) 25.0 % (1 / 4)
numeric_poly_serialize CBC 16 90.0 % (9 / 10) 25.0 % (1 / 4)
numeric_poly_stddev_internal CBC 278 100.0 % (18 / 18) 50.0 % (3 / 6)
numeric_poly_stddev_pop CBC 48 83.3 % (5 / 6) 50.0 % (2 / 4)
numeric_poly_stddev_samp CBC 106 100.0 % (6 / 6) 75.0 % (3 / 4)
numeric_poly_sum CBC 697 100.0 % (9 / 9) 100.0 % (6 / 6)
numeric_poly_var_pop CBC 40 83.3 % (5 / 6) 50.0 % (2 / 4)
numeric_poly_var_samp CBC 84 100.0 % (6 / 6) 75.0 % (3 / 4)
numeric_power CBC 1149 100.0 % (64 / 64) 89.4 % (59 / 66)
numeric_recv CBC 51 67.7 % (21 / 31) 25.0 % (7 / 28)
numeric_round CBC 5221 100.0 % (15 / 15) 100.0 % (4 / 4)
numeric_scale CBC 81 100.0 % (5 / 5) 75.0 % (3 / 4)
numeric_send CBC 35 100.0 % (11 / 11) 100.0 % (2 / 2)
numeric_serialize CBC 24 94.7 % (18 / 19) 25.0 % (1 / 4)
numeric_sign CBC 32 91.7 % (11 / 12) 83.3 % (5 / 6)
numeric_sign_internal CBC 2494 100.0 % (11 / 11) 87.5 % (14 / 16)
numeric_smaller CBC 543 100.0 % (6 / 6) 100.0 % (2 / 2)
numeric_sortsupport CBC 799 100.0 % (17 / 17) 100.0 % (2 / 2)
numeric_sqrt CBC 108 100.0 % (17 / 17) 83.3 % (5 / 6)
numeric_stddev_internal CBC 654 94.4 % (34 / 36) 90.0 % (18 / 20)
numeric_stddev_pop CBC 64 83.3 % (5 / 6) 50.0 % (2 / 4)
numeric_stddev_samp CBC 116 100.0 % (6 / 6) 75.0 % (3 / 4)
numeric_sub CBC 45820 100.0 % (5 / 5)
numeric_sub_safe CBC 46636 100.0 % (23 / 23) 95.0 % (19 / 20)
numeric_sum CBC 113926 100.0 % (17 / 17) 87.5 % (14 / 16)
numeric_support CBC 427 100.0 % (21 / 21) 68.8 % (11 / 16)
numeric_trim_scale CBC 227 100.0 % (9 / 9) 100.0 % (2 / 2)
numeric_trunc CBC 442 100.0 % (15 / 15) 100.0 % (4 / 4)
numeric_typmod_precision CBC 32896 100.0 % (2 / 2)
numeric_typmod_scale CBC 28004 100.0 % (2 / 2)
numeric_uminus CBC 636 88.2 % (15 / 17) 70.0 % (14 / 20)
numeric_uplus UBC 0 0.0 % (0 / 3)
numeric_var_pop CBC 76 83.3 % (5 / 6) 50.0 % (2 / 4)
numeric_var_samp CBC 120 100.0 % (6 / 6) 75.0 % (3 / 4)
numerictypmodin CBC 1047 100.0 % (9 / 9) 83.3 % (5 / 6)
numerictypmodout CBC 209 85.7 % (6 / 7) 50.0 % (1 / 2)
numericvar_deserialize CBC 64 100.0 % (9 / 9) 100.0 % (2 / 2)
numericvar_serialize CBC 64 100.0 % (8 / 8) 100.0 % (2 / 2)
numericvar_to_double_no_overflow CBC 1058 85.7 % (6 / 7) 25.0 % (1 / 4)
numericvar_to_int32 CBC 5413 100.0 % (7 / 7) 100.0 % (6 / 6)
numericvar_to_int64 GNC 6727 100.0 % (29 / 29) 88.9 % (16 / 18)
numericvar_to_uint64 CBC 101 92.9 % (26 / 28) 75.0 % (12 / 16)
power_ten_int CBC 152 100.0 % (10 / 10) 100.0 % (6 / 6)
power_var CBC 968 98.1 % (53 / 54) 77.8 % (28 / 36)
power_var_int CBC 848 86.5 % (64 / 74) 66.7 % (26 / 39)
random_numeric CBC 22308 100.0 % (16 / 16) 75.0 % (12 / 16)
random_var CBC 22292 100.0 % (57 / 57) 93.3 % (28 / 30)
round_var CBC 168243 100.0 % (39 / 39) 91.7 % (22 / 24)
select_div_scale CBC 99381 100.0 % (24 / 24) 80.0 % (8 / 10)
set_var_from_non_decimal_integer_str CBC 104 87.5 % (70 / 80) 77.6 % (45 / 58)
set_var_from_num CBC 8819 100.0 % (8 / 8) 92.9 % (13 / 14)
set_var_from_str CBC 129612 92.4 % (85 / 92) 89.1 % (49 / 55)
set_var_from_var CBC 24549 100.0 % (11 / 11) 100.0 % (4 / 4)
sqrt_var CBC 3028 97.4 % (152 / 156) 87.8 % (65 / 74)
strip_var CBC 2201009 100.0 % (15 / 15) 100.0 % (10 / 10)
sub_abs CBC 436353 97.5 % (39 / 40) 83.3 % (15 / 18)
sub_var CBC 351480 100.0 % (35 / 35) 85.7 % (12 / 14)
trunc_var CBC 280547 100.0 % (17 / 17) 100.0 % (6 / 6)
width_bucket_numeric CBC 529 97.3 % (36 / 37) 73.7 % (28 / 38)
xdigit_value CBC 472 100.0 % (4 / 4) 66.7 % (8 / 12)
zero_var CBC 37942 100.0 % (8 / 8) 100.0 % (2 / 2)

Generated by: LCOV version 2.0-1