LCOV - differential code coverage report
Current view: top level - src/backend/utils/adt - acl.c (source / functions) Coverage Total Hit UNC UBC GNC CBC DUB DCB
Current: 1a1248818fb8b8b0353c292c632d6a6af77e8209 vs 8e82d6610e7280d7870c0c36ff1c797e3cfb3e09 Lines: 63.6 % 1947 1239 3 705 1 1238 1 1
Current Date: 2026-10-12 11:56:10 +0200 Functions: 64.5 % 172 111 61 2 109
Baseline: lcov-20261012-baseline Branches: 58.8 % 881 518 8 355 518
Baseline Date: 2026-10-12 10:36:06 +0200 Line coverage date bins:
Legend: Lines:     hit not hit
Branches: + taken - not taken # not executed
(7,30] days: 0.0 % 3 0 3
(30,360] days: 88.9 % 36 32 4 1 31
(360..) days: 63.3 % 1908 1207 701 1207
Function coverage date bins:
(30,360] days: 100.0 % 3 3 3
(360..) days: 63.9 % 169 108 61 2 106
Branch coverage date bins:
(7,30] days: 0.0 % 8 0 8
(30,360] days: 68.2 % 22 15 7 15
(360..) days: 59.1 % 851 503 348 503

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
aclcontains UBC 0 0.0 % (0 / 12) 0.0 % (0 / 10)
aclinsert UBC 0 0.0 % (0 / 2) 0.0 % (0 / 2)
aclremove UBC 0 0.0 % (0 / 2) 0.0 % (0 / 2)
convert_database_name UBC 0 0.0 % (0 / 3)
convert_database_priv_string UBC 0 0.0 % (0 / 2)
convert_language_name UBC 0 0.0 % (0 / 3)
convert_language_priv_string UBC 0 0.0 % (0 / 2)
convert_tablespace_name UBC 0 0.0 % (0 / 3)
convert_tablespace_priv_string UBC 0 0.0 % (0 / 2)
has_any_column_privilege_id UBC 0 0.0 % (0 / 14) 0.0 % (0 / 6)
has_any_column_privilege_id_id UBC 0 0.0 % (0 / 14) 0.0 % (0 / 6)
has_any_column_privilege_id_name UBC 0 0.0 % (0 / 10) 0.0 % (0 / 2)
has_any_column_privilege_name UBC 0 0.0 % (0 / 10) 0.0 % (0 / 2)
has_any_column_privilege_name_id UBC 0 0.0 % (0 / 15) 0.0 % (0 / 6)
has_any_column_privilege_name_name UBC 0 0.0 % (0 / 11) 0.0 % (0 / 2)
has_column_privilege_id_id_attnum UBC 0 0.0 % (0 / 10) 0.0 % (0 / 2)
has_column_privilege_id_id_name UBC 0 0.0 % (0 / 11) 0.0 % (0 / 2)
has_column_privilege_id_name_attnum UBC 0 0.0 % (0 / 11) 0.0 % (0 / 2)
has_column_privilege_id_name_name UBC 0 0.0 % (0 / 12) 0.0 % (0 / 2)
has_column_privilege_name_id_attnum UBC 0 0.0 % (0 / 11) 0.0 % (0 / 2)
has_column_privilege_name_id_name UBC 0 0.0 % (0 / 12) 0.0 % (0 / 2)
has_column_privilege_name_name_attnum UBC 0 0.0 % (0 / 12) 0.0 % (0 / 2)
has_database_privilege_id UBC 0 0.0 % (0 / 10) 0.0 % (0 / 2)
has_database_privilege_id_id UBC 0 0.0 % (0 / 10) 0.0 % (0 / 2)
has_database_privilege_id_name UBC 0 0.0 % (0 / 8)
has_database_privilege_name UBC 0 0.0 % (0 / 8)
has_database_privilege_name_id UBC 0 0.0 % (0 / 11) 0.0 % (0 / 2)
has_database_privilege_name_name UBC 0 0.0 % (0 / 9)
has_function_privilege_id UBC 0 0.0 % (0 / 10) 0.0 % (0 / 2)
has_function_privilege_id_id UBC 0 0.0 % (0 / 10) 0.0 % (0 / 2)
has_function_privilege_id_name UBC 0 0.0 % (0 / 8)
has_function_privilege_name UBC 0 0.0 % (0 / 8)
has_function_privilege_name_id UBC 0 0.0 % (0 / 11) 0.0 % (0 / 2)
has_language_privilege_id UBC 0 0.0 % (0 / 10) 0.0 % (0 / 2)
has_language_privilege_id_id UBC 0 0.0 % (0 / 10) 0.0 % (0 / 2)
has_language_privilege_id_name UBC 0 0.0 % (0 / 8)
has_language_privilege_name UBC 0 0.0 % (0 / 8)
has_language_privilege_name_id UBC 0 0.0 % (0 / 11) 0.0 % (0 / 2)
has_language_privilege_name_name UBC 0 0.0 % (0 / 9)
has_largeobject_privilege_id_id UBC 0 0.0 % (0 / 10) 0.0 % (0 / 2)
has_schema_privilege_id UBC 0 0.0 % (0 / 10) 0.0 % (0 / 2)
has_schema_privilege_id_id UBC 0 0.0 % (0 / 10) 0.0 % (0 / 2)
has_schema_privilege_id_name UBC 0 0.0 % (0 / 8)
has_schema_privilege_name UBC 0 0.0 % (0 / 8)
has_schema_privilege_name_id UBC 0 0.0 % (0 / 11) 0.0 % (0 / 2)
has_sequence_privilege_id_id UBC 0 0.0 % (0 / 15) 0.0 % (0 / 8)
has_sequence_privilege_id_name UBC 0 0.0 % (0 / 10) 0.0 % (0 / 4)
has_sequence_privilege_name_id UBC 0 0.0 % (0 / 16) 0.0 % (0 / 8)
has_tablespace_privilege_id UBC 0 0.0 % (0 / 10) 0.0 % (0 / 2)
has_tablespace_privilege_id_id UBC 0 0.0 % (0 / 10) 0.0 % (0 / 2)
has_tablespace_privilege_id_name UBC 0 0.0 % (0 / 8)
has_tablespace_privilege_name UBC 0 0.0 % (0 / 8)
has_tablespace_privilege_name_id UBC 0 0.0 % (0 / 11) 0.0 % (0 / 2)
has_tablespace_privilege_name_name UBC 0 0.0 % (0 / 9)
has_type_privilege_id UBC 0 0.0 % (0 / 10) 0.0 % (0 / 2)
has_type_privilege_id_id UBC 0 0.0 % (0 / 10) 0.0 % (0 / 2)
has_type_privilege_id_name UBC 0 0.0 % (0 / 8)
has_type_privilege_name UBC 0 0.0 % (0 / 8)
has_type_privilege_name_id UBC 0 0.0 % (0 / 11) 0.0 % (0 / 2)
pg_has_role_id_name UBC 0 0.0 % (0 / 8)
pg_has_role_name_id UBC 0 0.0 % (0 / 8)
has_parameter_privilege_id_name CBC 1 100.0 % (5 / 5)
has_parameter_privilege_name CBC 1 100.0 % (4 / 4)
has_column_privilege_id_name CBC 4 90.9 % (10 / 11) 50.0 % (1 / 2)
has_foreign_data_wrapper_privilege_id CBC 4 90.0 % (9 / 10) 50.0 % (1 / 2)
has_foreign_data_wrapper_privilege_id_id CBC 4 90.0 % (9 / 10) 50.0 % (1 / 2)
has_foreign_data_wrapper_privilege_id_name CBC 4 100.0 % (8 / 8)
has_foreign_data_wrapper_privilege_name CBC 4 100.0 % (8 / 8)
has_foreign_data_wrapper_privilege_name_id CBC 4 90.9 % (10 / 11) 50.0 % (1 / 2)
has_sequence_privilege_name CBC 4 90.0 % (9 / 10) 25.0 % (1 / 4)
has_server_privilege_id_id CBC 4 90.0 % (9 / 10) 50.0 % (1 / 2)
has_server_privilege_id_name CBC 4 100.0 % (8 / 8)
has_server_privilege_name CBC 4 100.0 % (8 / 8)
has_server_privilege_name_id CBC 4 90.9 % (10 / 11) 50.0 % (1 / 2)
convert_type_name CBC 8 83.3 % (5 / 6) 25.0 % (1 / 4)
convert_type_priv_string CBC 8 100.0 % (2 / 2)
has_foreign_data_wrapper_privilege_name_name CBC 8 100.0 % (9 / 9)
has_server_privilege_name_name CBC 8 100.0 % (9 / 9)
has_type_privilege_name_name CBC 8 100.0 % (9 / 9)
hash_aclitem_extended CBC 8 100.0 % (5 / 5) 100.0 % (2 / 2)
is_member_of_role CBC 8 66.7 % (4 / 6) 50.0 % (2 / 4)
has_column_privilege_name_name CBC 12 91.7 % (11 / 12) 50.0 % (1 / 2)
has_sequence_privilege_name_name CBC 12 100.0 % (11 / 11) 75.0 % (3 / 4)
has_table_privilege_name_id CBC 12 90.9 % (10 / 11) 50.0 % (1 / 2)
pg_has_role_name CBC 12 100.0 % (8 / 8)
convert_foreign_data_wrapper_name CBC 16 100.0 % (3 / 3)
convert_server_name CBC 16 100.0 % (3 / 3)
has_column_privilege_name_attnum CBC 20 90.9 % (10 / 11) 50.0 % (1 / 2)
has_table_privilege_id_id CBC 24 90.0 % (9 / 10) 50.0 % (1 / 2)
makeaclitem CBC 24 100.0 % (11 / 11) 100.0 % (2 / 2)
pg_has_role_name_name CBC 24 100.0 % (9 / 9)
has_sequence_privilege_id CBC 26 86.7 % (13 / 15) 50.0 % (4 / 8)
convert_foreign_data_wrapper_priv_string CBC 28 100.0 % (2 / 2)
get_rolespec_name CBC 28 100.0 % (6 / 6)
has_table_privilege_id_name CBC 28 100.0 % (8 / 8)
convert_schema_name CBC 36 100.0 % (3 / 3)
convert_schema_priv_string CBC 36 100.0 % (2 / 2)
has_schema_privilege_name_name CBC 36 100.0 % (9 / 9)
has_param_priv_byname CBC 37 100.0 % (3 / 3)
convert_sequence_priv_string CBC 42 100.0 % (2 / 2)
has_parameter_privilege_name_name CBC 42 100.0 % (6 / 6)
make_empty_acl CBC 43 100.0 % (2 / 2)
convert_parameter_priv_string CBC 44 100.0 % (2 / 2)
has_table_privilege_name CBC 44 100.0 % (8 / 8)
has_server_privilege_id CBC 52 90.0 % (9 / 10) 50.0 % (1 / 2)
has_largeobject_privilege_name_id CBC 56 90.9 % (10 / 11) 50.0 % (1 / 2)
recursive_revoke CBC 59 95.8 % (23 / 24) 75.0 % (12 / 16)
aclnewowner CBC 72 91.2 % (31 / 34) 73.1 % (19 / 26)
convert_server_priv_string CBC 76 100.0 % (2 / 2)
check_circularity CBC 77 95.8 % (23 / 24) 62.5 % (10 / 16)
has_largeobject_privilege_id CBC 84 100.0 % (10 / 10) 100.0 % (2 / 2)
has_column_privilege_name_name_name CBC 100 92.3 % (12 / 13) 50.0 % (1 / 2)
pg_has_role_id_id CBC 112 100.0 % (7 / 7)
convert_column_name CBC 116 100.0 % (15 / 15) 87.5 % (7 / 8)
convert_function_name CBC 116 83.3 % (5 / 6) 25.0 % (1 / 4)
convert_function_priv_string CBC 116 100.0 % (2 / 2)
has_function_privilege_name_name CBC 116 100.0 % (9 / 9)
aclmerge CBC 140 80.0 % (12 / 15) 50.0 % (8 / 16)
convert_largeobject_priv_string CBC 140 100.0 % (2 / 2)
has_lo_priv_byid CBC 140 100.0 % (13 / 13) 87.5 % (7 / 8)
has_table_privilege_name_name CBC 144 100.0 % (9 / 9)
aclitemComparator CBC 183 43.8 % (7 / 16) 25.0 % (3 / 12)
select_best_admin CBC 287 100.0 % (5 / 5) 100.0 % (2 / 2)
check_rolespec_name CBC 339 55.6 % (5 / 9) 33.3 % (4 / 12)
convert_table_name CBC 356 100.0 % (3 / 3)
aclequal CBC 363 92.9 % (13 / 14) 70.0 % (14 / 20)
aclmask_direct CBC 380 90.0 % (18 / 20) 62.5 % (15 / 24)
get_rolespec_tuple CBC 432 82.6 % (19 / 23) 47.8 % (11 / 23)
is_member_of_role_nosuper CBC 486 100.0 % (4 / 4) 100.0 % (2 / 2)
has_admin_privs_of_role CBC 513 100.0 % (7 / 7) 100.0 % (4 / 4)
get_role_oid_or_public CBC 543 75.0 % (3 / 4) 50.0 % (1 / 2)
aclitemsort CBC 590 100.0 % (4 / 4) 66.7 % (4 / 6)
is_admin_of_role CBC 1391 85.7 % (6 / 7) 75.0 % (3 / 4)
check_can_set_role CBC 1411 100.0 % (4 / 4) 75.0 % (3 / 4)
roles_list_append CBC 2684 69.2 % (9 / 13) 33.3 % (6 / 18)
has_column_privilege_id_attnum CBC 2914 100.0 % (10 / 10) 100.0 % (2 / 2)
column_privilege_check CBC 3042 93.3 % (14 / 15) 90.0 % (9 / 10)
convert_column_priv_string CBC 3042 100.0 % (2 / 2)
aclitemin CBC 5084 83.3 % (10 / 12) 50.0 % (4 / 8)
aclparse CBC 5084 50.0 % (46 / 92) 47.9 % (35 / 73)
getid CBC 5172 88.0 % (22 / 25) 73.1 % (19 / 26)
get_rolespec_oid CBC 5851 88.2 % (15 / 17) 54.5 % (6 / 11)
has_table_privilege_id CBC 8451 100.0 % (10 / 10) 100.0 % (2 / 2)
convert_table_priv_string CBC 8695 100.0 % (2 / 2)
aclcopy CBC 11013 100.0 % (6 / 6) 50.0 % (2 / 4)
hash_aclitem CBC 15984 100.0 % (3 / 3)
aclitem_match CBC 16279 100.0 % (3 / 3) 100.0 % (4 / 4)
initialize_acl CBC 17759 100.0 % (8 / 8) 100.0 % (2 / 2)
get_role_oid CBC 23622 100.0 % (5 / 5) 83.3 % (5 / 6)
aclconcat CBC 28515 100.0 % (9 / 9) 50.0 % (4 / 8)
roles_is_member_of CBC 34648 95.6 % (43 / 45) 80.4 % (37 / 46)
RoleMembershipCacheCallback CBC 38129 100.0 % (7 / 7) 100.0 % (6 / 6)
select_best_grantor CBC 40628 100.0 % (31 / 31) 90.9 % (20 / 22)
aclupdate CBC 40956 93.8 % (45 / 48) 76.9 % (20 / 26)
aclmembers GNC 49226 100.0 % (17 / 17) 83.3 % (10 / 12)
pg_has_role_id CBC 68396 100.0 % (7 / 7)
convert_role_priv_string CBC 68544 100.0 % (2 / 2)
pg_role_aclcheck CBC 68544 78.6 % (11 / 14) 75.0 % (12 / 16)
convert_any_priv_string CBC 80795 100.0 % (21 / 21) 85.0 % (17 / 20)
aclmask CBC 81578 94.1 % (32 / 34) 82.5 % (33 / 40)
aclitem_eq CBC 138491 100.0 % (7 / 7) 100.0 % (6 / 6)
check_acl CBC 181330 62.5 % (5 / 8) 25.0 % (3 / 12)
acldefault_sql GNC 231276 85.7 % (42 / 49) 54.5 % (12 / 22)
has_privs_of_role CBC 235311 100.0 % (6 / 6) 100.0 % (4 / 4)
acldefault CBC 307011 97.3 % (71 / 73) 84.6 % (22 / 26)
convert_aclright_to_string CBC 311532 64.7 % (22 / 34) 55.6 % (10 / 18)
member_can_set_role CBC 339727 100.0 % (6 / 6) 100.0 % (4 / 4)
aclexplode CBC 348656 100.0 % (40 / 40) 83.3 % (10 / 12)
allocacl CBC 387622 91.7 % (11 / 12) 25.0 % (1 / 4)
aclitemout CBC 526971 87.1 % (27 / 31) 77.8 % (14 / 18)
putid CBC 824912 100.0 % (16 / 16) 100.0 % (12 / 12)
is_safe_acl_char CBC 6937383 75.0 % (3 / 4) 83.3 % (5 / 6)

Generated by: LCOV version 2.0-1