ClickHouse/src/Access
Robert Schulze 1a7727a254
Prefix overridden add_executable() command with "clickhouse_"
A simple HelloWorld program with zero includes except iostream triggers
a build of ca. 2000 source files. The reason is that ClickHouse's
top-level CMakeLists.txt overrides "add_executable()" to link all
binaries against "clickhouse_new_delete". This links against
"clickhouse_common_io", which in turn has lots of 3rd party library
dependencies ... Without linking "clickhouse_new_delete", the number of
compiled files for "HelloWorld" goes down to ca. 70.

As an example, the self-extracting-executable needs none of its current
dependencies but other programs may also benefit.

In order to restore access to the original "add_executable()", the
overriding version is now prefixed. There is precedence for a
"clickhouse_" prefix (as opposed to "ch_"), for example
"clickhouse_split_debug_symbols". In general prefixing makes sense also
because overriding CMake commands relies on undocumented behavior and is
considered not-so-great practice (*).

(*) https://crascit.com/2018/09/14/do-not-redefine-cmake-commands/
2022-07-11 19:36:18 +02:00
..
Common Merge master 2022-06-23 21:40:01 +02:00
examples Prefix overridden add_executable() command with "clickhouse_" 2022-07-11 19:36:18 +02:00
tests Fix tests. 2022-06-20 03:44:49 +02:00
AccessBackup.cpp More detailed error messages. 2022-07-03 14:20:19 +02:00
AccessBackup.h More detailed error messages. 2022-07-03 14:20:19 +02:00
AccessChangesNotifier.cpp Rework notifications used in access management. 2022-05-21 10:15:39 +02:00
AccessChangesNotifier.h Rework notifications used in access management. 2022-05-21 10:15:39 +02:00
AccessControl.cpp Improve gathering metadata for storing ACL in backups. 2022-06-30 09:46:37 +02:00
AccessControl.h Improve gathering metadata for storing ACL in backups. 2022-06-30 09:46:37 +02:00
AccessEntityIO.cpp refactoring ParserAttachAccessEntity 2022-04-20 22:57:44 -04:00
AccessEntityIO.h refactoring ParserAttachAccessEntity 2022-04-20 22:57:44 -04:00
AccessRights.cpp More accurate access checking for RESTORE. 2022-06-19 11:26:41 +02:00
AccessRights.h More accurate access checking for RESTORE. 2022-06-19 11:26:41 +02:00
Authentication.cpp fix trash in my code 2022-05-21 02:05:02 +02:00
Authentication.h A few improvements in the implementation of SSL certificate authentication. 2022-02-21 07:41:02 +03:00
CachedAccessChecking.cpp Add helper class to cache the result of checking access. 2022-02-02 22:22:41 +07:00
CachedAccessChecking.h Add helper class to cache the result of checking access. 2022-02-02 22:22:41 +07:00
CMakeLists.txt Add KerberosInit class; add kerberos_init console example; modify HDFSCommon.cpp 2022-06-03 12:06:31 +03:00
ContextAccess.cpp Fix crash when granting ALL on cluster. 2022-07-01 12:19:56 +02:00
ContextAccess.h better code 2022-06-01 16:49:26 +02:00
Credentials.cpp A few improvements in the implementation of SSL certificate authentication. 2022-02-21 07:41:02 +03:00
Credentials.h Fix clang-tidy warnings in Access folder 2022-03-14 18:17:35 +00:00
DiskAccessStorage.cpp Improve gathering metadata for storing ACL in backups. 2022-06-30 09:46:37 +02:00
DiskAccessStorage.h Improve gathering metadata for storing ACL in backups. 2022-06-30 09:46:37 +02:00
EnabledQuota.cpp more strict quota for written bytes 2022-04-01 15:02:49 +00:00
EnabledQuota.h Fix clang-tidy warnings in Access folder 2022-03-14 18:17:35 +00:00
EnabledRoles.cpp Rework notifications used in access management. 2022-05-21 10:15:39 +02:00
EnabledRoles.h Rework notifications used in access management. 2022-05-21 10:15:39 +02:00
EnabledRolesInfo.cpp Fix partial revokes (complex cases). 2020-06-30 18:47:02 +03:00
EnabledRolesInfo.h Add new functions currentRoles(), enabledRoles(), defaultRoles(). 2021-07-24 23:20:40 +03:00
EnabledRowPolicies.cpp Rename RowPolicy::ConditionType -> RowPolicyFilterType and move it to Access/Common. 2021-11-19 00:14:23 +03:00
EnabledRowPolicies.h Fix clang-tidy warnings in Access folder 2022-03-14 18:17:35 +00:00
EnabledSettings.cpp Add new functions currentProfiles(), enabledProfiles(), defaultProfiles(). 2021-07-22 22:20:53 +03:00
EnabledSettings.h Support for Clang Thread Safety Analysis (TSA) 2022-06-20 16:13:25 +02:00
ExternalAuthenticators.cpp Support for Clang Thread Safety Analysis (TSA) 2022-06-20 16:13:25 +02:00
ExternalAuthenticators.h Support for Clang Thread Safety Analysis (TSA) 2022-06-20 16:13:25 +02:00
GrantedRoles.cpp Implement backup/restore for ACL system tables (system.users, system.roles, etc.) 2022-06-17 18:14:31 +02:00
GrantedRoles.h More accurate access checking for RESTORE. 2022-06-19 11:26:41 +02:00
GSSAcceptor.cpp Remove useless code 2021-11-20 10:06:28 +03:00
GSSAcceptor.h Fix clang-tidy warnings in Access folder 2022-03-14 18:17:35 +00:00
IAccessEntity.cpp Use enum Type instead of std::type_index to represent the type of IAccessEntity. 2020-05-13 19:40:48 +03:00
IAccessEntity.h Add support for setting 'allow_backup' to skip access entities from putting to backup. 2022-06-19 12:49:50 +02:00
IAccessStorage.cpp More detailed error messages. 2022-07-03 14:20:19 +02:00
IAccessStorage.h Improve gathering metadata for storing ACL in backups. 2022-06-30 09:46:37 +02:00
KerberosInit.cpp Don't use std::unique_lock unless we have to 2022-06-28 19:19:06 +00:00
KerberosInit.h Add error code and message displaying in exceptions of KerberosInit; Correct code style in KerberosInit 2022-06-23 10:28:31 +03:00
LDAPAccessStorage.cpp Merge remote-tracking branch 'origin/master' into clang-tsa 2022-06-20 16:39:32 +02:00
LDAPAccessStorage.h Implement backup/restore for ACL system tables (system.users, system.roles, etc.) 2022-06-17 18:14:31 +02:00
LDAPClient.cpp base should not depend on Common 2022-04-29 10:26:35 +08:00
LDAPClient.h Fix clang-tidy warnings in Access folder 2022-03-14 18:17:35 +00:00
MemoryAccessStorage.cpp Improve gathering metadata for storing ACL in backups. 2022-06-30 09:46:37 +02:00
MemoryAccessStorage.h Improve gathering metadata for storing ACL in backups. 2022-06-30 09:46:37 +02:00
MultipleAccessStorage.cpp Fix style. 2022-06-30 15:10:33 +02:00
MultipleAccessStorage.h Improve gathering metadata for storing ACL in backups. 2022-06-30 09:46:37 +02:00
Quota.cpp Implement backup/restore for ACL system tables (system.users, system.roles, etc.) 2022-06-17 18:14:31 +02:00
Quota.h Add support for setting 'allow_backup' to skip access entities from putting to backup. 2022-06-19 12:49:50 +02:00
QuotaCache.cpp Improve quota's end-of-interval calculations. 2021-12-11 13:56:38 +03:00
QuotaCache.h Fix clang-tidy warnings in Access folder 2022-03-14 18:17:35 +00:00
QuotaUsage.cpp Improve system tables for quotas. Remove function currentQuota(). 2020-05-13 19:40:48 +03:00
QuotaUsage.h Rename Quota::KeyType -> QuotaKeyType and move it to Access/Common. 2021-11-19 00:14:23 +03:00
ReplicatedAccessStorage.cpp Fix making backups containing multiple ACL tables. 2022-07-05 20:57:01 +02:00
ReplicatedAccessStorage.h Improve gathering metadata for storing ACL in backups. 2022-06-30 09:46:37 +02:00
Role.cpp Implement backup/restore for ACL system tables (system.users, system.roles, etc.) 2022-06-17 18:14:31 +02:00
Role.h Fix style. 2022-06-19 15:58:26 +02:00
RoleCache.cpp Rework notifications used in access management. 2022-05-21 10:15:39 +02:00
RoleCache.h Use AccessExpireCache instead of ExpireCache. 2022-05-21 10:15:44 +02:00
RolesOrUsersSet.cpp Implement backup/restore for ACL system tables (system.users, system.roles, etc.) 2022-06-17 18:14:31 +02:00
RolesOrUsersSet.h Implement backup/restore for ACL system tables (system.users, system.roles, etc.) 2022-06-17 18:14:31 +02:00
RowPolicy.cpp Implement backup/restore for ACL system tables (system.users, system.roles, etc.) 2022-06-17 18:14:31 +02:00
RowPolicy.h Add support for setting 'allow_backup' to skip access entities from putting to backup. 2022-06-19 12:49:50 +02:00
RowPolicyCache.cpp Users without assigned row policies can view rows now. 2022-05-07 14:50:24 +02:00
RowPolicyCache.h Fix clang-tidy warnings in Access folder 2022-03-14 18:17:35 +00:00
SettingsConstraints.cpp clang-tidy check performance-noexcept-move-constructor fix 2022-03-02 18:15:27 +00:00
SettingsConstraints.h Fix clang-tidy warnings in Access folder 2022-03-14 18:17:35 +00:00
SettingsConstraintsAndProfileIDs.h Fix clang-tidy warnings in Access folder 2022-03-14 18:17:35 +00:00
SettingsProfile.cpp Implement backup/restore for ACL system tables (system.users, system.roles, etc.) 2022-06-17 18:14:31 +02:00
SettingsProfile.h Add support for setting 'allow_backup' to skip access entities from putting to backup. 2022-06-19 12:49:50 +02:00
SettingsProfileElement.cpp Add support for setting 'allow_backup' to skip access entities from putting to backup. 2022-06-19 12:49:50 +02:00
SettingsProfileElement.h Merge pull request #38024 from nvartolomei/nv/error-if-profile-does-not-exist 2022-07-03 11:26:08 +02:00
SettingsProfilesCache.cpp Move checking if parent profile is allowed to UsersConfigAccessStorage. 2022-07-01 14:46:35 +02:00
SettingsProfilesCache.h Fix clang-tidy warnings in Access folder 2022-03-14 18:17:35 +00:00
SettingsProfilesInfo.cpp Rename AccessControlManager -> AccessControl. 2021-11-02 14:06:20 +03:00
SettingsProfilesInfo.h Fix clang-tidy warnings in Access folder 2022-03-14 18:17:35 +00:00
User.cpp Implement backup/restore for ACL system tables (system.users, system.roles, etc.) 2022-06-17 18:14:31 +02:00
User.h Add support for setting 'allow_backup' to skip access entities from putting to backup. 2022-06-19 12:49:50 +02:00
UsersConfigAccessStorage.cpp Merge pull request #38024 from nvartolomei/nv/error-if-profile-does-not-exist 2022-07-03 11:26:08 +02:00
UsersConfigAccessStorage.h DiskAccessStorage is now allowed to backup by default. 2022-06-19 13:16:36 +02:00