Commit Graph

996 Commits

Author SHA1 Message Date
kssenii
0fa3fb3592 Fix show grants for user which has all grants 2023-03-03 14:04:32 +01:00
kssenii
0c4bb3c80f Merge remote-tracking branch 'upstream/master' into named-collections-granular-access 2023-03-02 19:08:29 +01:00
Robert Schulze
35f4b42608
Move likePatternToRegexp from Functions/ to Common/ 2023-02-27 16:41:15 +00:00
Mike Kot
c799bd094b
Merge branch 'master' into feature/show-secrets-option 2023-02-27 18:43:14 +03:00
kssenii
03c9eeb106 Fix tests 2023-02-27 14:29:20 +01:00
Mike Kot
62acc7a6cf setting and some docs 2023-02-27 13:18:21 +00:00
kssenii
a2f9ac88d9 Fix unit test 2023-02-27 13:00:54 +01:00
kssenii
536446d526 Remove debug logs 2023-02-24 18:09:00 +01:00
kssenii
d55fed77e3 Fix 2023-02-24 18:02:31 +01:00
kssenii
6224ca9cd6 Fix 2023-02-24 17:08:05 +01:00
kssenii
357ffcb61f More review fixes 2023-02-24 16:53:16 +01:00
kssenii
f2a9109fe1 Merge remote-tracking branch 'upstream/master' into named-collections-granular-access 2023-02-24 15:20:46 +01:00
kssenii
0555ca2724 Review fixes 2023-02-24 14:44:47 +01:00
kssenii
f0ca3ef207 Merge remote-tracking branch 'upstream/master' into named-collections-granular-access 2023-02-22 14:02:29 +01:00
kssenii
9a7c71b78e Allow to hide only values from system.named_collections 2023-02-21 18:07:57 +01:00
Alexey Milovidov
d8cda3dbb8 Remove PVS-Studio 2023-02-19 23:30:05 +01:00
kssenii
c6b371ddea Better 2023-02-15 18:32:00 +01:00
kssenii
0c53f33e6f Make code more common: add GlobalWithParameter level 2023-02-15 16:59:43 +01:00
Nikolay Degterinsky
3075656e1d Merge remote-tracking branch 'upstream/master' into HEAD 2023-02-15 10:06:44 +00:00
kssenii
33572f9acd Better 2023-02-14 19:50:27 +01:00
kssenii
c79f252a56 Fix test 2023-02-11 12:14:37 +01:00
kssenii
78c809608c Fix 2023-02-10 23:45:53 +01:00
kssenii
6f985b8ae0 Fix unit test, cleanup code 2023-02-10 18:49:18 +01:00
kssenii
c13b0b8a06 Fix tests 2023-02-10 14:39:09 +01:00
kssenii
214ffe0bb0 Remove unused code 2023-02-09 17:44:26 +01:00
kssenii
9e04e57949 Allow to give access only to certain named collections 2023-02-09 17:22:57 +01:00
Antonio Andelic
f96d480563
Merge branch 'master' into add-support-for-settings-alias 2023-02-09 16:07:45 +01:00
Kseniia Sumarokova
a5d3b00699
Merge pull request #46010 from kssenii/named-collections-fix-access
Fix named collections access
2023-02-07 23:20:22 +01:00
Antonio Andelic
3c2fafe07e Use correct name resolution 2023-02-06 09:12:03 +00:00
Antonio Andelic
7c8a25a18e Correctly use merge tree setting constraints 2023-02-06 08:30:09 +00:00
Antonio Andelic
8929838fcc Merge branch 'master' into add-support-for-settings-alias 2023-02-03 17:47:00 +00:00
Antonio Andelic
8a28279065 Better constraint resolution 2023-02-03 17:34:05 +00:00
Antonio Andelic
d5117f2aa6
Define S3 client with bucket and endpoint resolution (#45783)
* Update aws

* Define S3 client with bucket and endpoint resolution

* Add defines for ErrorCodes

* Use S3Client everywhere

* Remove unused errorcode

* Add DROP S3 CLIENT CACHE query

* Add a comment

* Fix style

* Update aws

* Update reference files

* Add missing include

* Fix unit test

* Remove unneeded declarations

* Correctly use RetryStrategy

* Rename S3Client to Client

* Fix retry count

* fix clang-tidy warnings
2023-02-03 14:30:52 +01:00
kssenii
486c10bde1 Fix named collections access 2023-02-03 13:18:54 +01:00
Antonio Andelic
f613bfd8d2 Merge branch 'master' into add-support-for-settings-alias 2023-02-02 11:15:39 +00:00
Antonio Andelic
ec04cf6876 Merge branch 'master' into add-support-for-settings-alias 2023-02-01 09:01:01 +00:00
Robert Schulze
325c6bdf3d
Renaming: "Query Result Cache" --> "Query Cache"
Reasons:

- The cache will at some point store intermediate results as opposed to
  only query results. We should change the terminology now without
  having to worry about backward compat.

- Equivalent caches in MySQL (1) and Starrocks (2) are called "query
  cache".

- The new name is ca. 13.8% more catchy.

(1) https://dev.mysql.com/doc/refman/5.6/en/query-cache.html
(2) https://docs.starrocks.io/en-us/2.5/using_starrocks/query_cache
2023-01-31 09:54:34 +00:00
freedomDR
5836a3f153 refactor coder 2023-01-28 04:27:11 +00:00
freedomDR
379850b6c4 add system sync file cache 2023-01-28 04:27:10 +00:00
Antonio Andelic
defc9108f0 Extend support for aliases to constraints and profiles 2023-01-27 09:39:10 +00:00
Alexander Tokmakov
3744fa2c63 format more messages 2023-01-25 21:16:42 +01:00
Alexander Tokmakov
9d13ca4a16 fix 2023-01-24 01:49:16 +01:00
Alexander Tokmakov
414693feb2 fixes 2023-01-24 00:46:03 +01:00
Alexander Tokmakov
3f6594f4c6 forbid old ctor of Exception 2023-01-23 22:18:05 +01:00
Alexander Tokmakov
70d1adfe4b
Better formatting for exception messages (#45449)
* save format string for NetException

* format exceptions

* format exceptions 2

* format exceptions 3

* format exceptions 4

* format exceptions 5

* format exceptions 6

* fix

* format exceptions 7

* format exceptions 8

* Update MergeTreeIndexGin.cpp

* Update AggregateFunctionMap.cpp

* Update AggregateFunctionMap.cpp

* fix
2023-01-24 00:13:58 +03:00
Robert Schulze
340f406553
Merge branch 'master' into query-result-cache 2023-01-22 13:21:36 +01:00
Robert Schulze
4f90824347
Merge remote-tracking branch 'origin/master' into query-result-cache 2023-01-17 22:49:53 +00:00
Alexander Tokmakov
5cd90c1a3e Merge branch 'master' into exception_message_patterns 2023-01-17 20:04:04 +01:00
Alexander Tokmakov
72e8615bec formatting of some exception messages 2023-01-17 20:03:56 +01:00
Nikolay Degterinsky
d414d4aa7a Merge remote-tracking branch 'upstream/master' into bcrypt 2023-01-16 22:14:03 +00:00
Nikolay Degterinsky
09558003c2 Make workfactor changeable 2023-01-16 22:11:15 +00:00
Anton Popov
6863cd152f
Merge pull request #42181 from CurtizJ/optimize-loading-parts
Do not load inactive parts at startup
2023-01-16 14:38:50 +01:00
Robert Schulze
099e30ef2a
Merge remote-tracking branch 'origin/master' into query-result-cache 2023-01-16 08:04:49 +00:00
Yakov Olkhovskiy
842a34666c
Merge pull request #44594 from arenadata/ADQM-634
Add keytab parameter in kerberos section of config.xml
2023-01-12 15:07:45 -05:00
Anton Popov
6c4f53bdca Merge remote-tracking branch 'upstream/master' into HEAD 2023-01-11 01:00:57 +00:00
Robert Schulze
0c3b034887
Merge remote-tracking branch 'origin/master' into query-result-cache 2023-01-10 09:02:41 +00:00
Roman Vasin
2995c6d866 Merge branch 'master' of github.com:ClickHouse/ClickHouse into ADQM-634 2023-01-09 08:26:45 +00:00
Alexey Milovidov
d331f0ce82 Fix buffer overflow in parser 2023-01-09 03:31:12 +01:00
Robert Schulze
45dbcf88e5
Merge remote-tracking branch 'origin/master' into query-result-cache 2023-01-06 20:42:48 +00:00
Anton Popov
ed00399eb6 Merge remote-tracking branch 'upstream/master' into HEAD 2023-01-05 14:12:02 +00:00
Nikolay Degterinsky
aa52956412 Add bcrypt authentification type 2023-01-04 15:33:16 +00:00
Robert Schulze
e9e04166d9
Merge remote-tracking branch 'origin/master' into query-result-cache 2023-01-02 08:20:27 +00:00
Nikolay Degterinsky
9146dd3636 Fix build 2022-12-29 01:17:14 +00:00
Nikolay Degterinsky
e814179663 Add default password type 2022-12-28 13:26:23 +00:00
Roman Vasin
483e26cf2f
Merge branch 'master' into ADQM-634 2022-12-26 15:34:38 +03:00
Yakov Olkhovskiy
ce533af162 remove unnecessary includes 2022-12-23 19:29:51 +00:00
Yakov Olkhovskiy
a166dde9c4 add member function getLastForwardedFor to ClientInfo 2022-12-23 18:32:29 +00:00
Anton Popov
0722020cae Merge remote-tracking branch 'upstream/master' into HEAD 2022-12-23 18:15:55 +00:00
Roman Vasin
2d9f3c242b Add test_bad_path_to_keytab test 2022-12-22 08:07:16 +00:00
Yakov Olkhovskiy
8462b724ca
Merge branch 'master' into feature-protocol-proxy 2022-12-20 13:12:07 -05:00
Yakov Olkhovskiy
9092134544 auth_use_forwarded_address config setting added, using forwarded address for proxied TCP and HTTP connection, likely bug is fixed in AccessControl, relevant test is appended 2022-12-20 17:39:40 +00:00
Konstantin Bogdanov
bb03efac38
Lint 2022-12-20 03:43:53 +01:00
Konstantin Bogdanov
f612cbe1c3
Only use constraints for SettingsConstraints 2022-12-20 03:15:32 +01:00
Roman Vasin
616efdd336 Move keytab init into GSSAcceptorContext::initHandles() 2022-12-19 15:28:15 +00:00
Robert Schulze
b93c56323c
Merge remote-tracking branch 'origin/master' into query-result-cache 2022-12-19 09:18:36 +00:00
Robert Schulze
537c64aad2
Merge remote-tracking branch 'origin/master' into query-result-cache
Conflicts:
- tests/queries/0_stateless/02117_show_create_table_system.reference
2022-12-15 12:17:58 +00:00
Anton Popov
3008e701ea fix tests 2022-12-14 01:36:03 +00:00
Nikolay Degterinsky
809f15ac81
Merge branch 'master' into fix_settings_constraints 2022-12-13 20:33:16 +01:00
Nikolay Degterinsky
443bc3e656
Merge pull request #43719 from evillique/password_complexity_rules
Add password complexity rules
2022-12-13 17:56:45 +01:00
Nikolay Degterinsky
034269087f Fix tests 2022-12-13 09:16:23 +00:00
Anton Popov
0b396bab14 Merge remote-tracking branch 'upstream/master' into HEAD 2022-12-12 18:08:27 +00:00
Anton Popov
a2fee110b8 add query for waiting of loading parts and fix test_transactions 2022-12-12 14:33:42 +00:00
Nikolay Degterinsky
e0defffcb4 Fix build 2022-12-12 13:47:06 +00:00
Robert Schulze
b78652e138
Query result cache 2022-12-12 10:37:10 +00:00
Nikolay Degterinsky
19e95e8cd8 Better implementation of password rules 2022-12-11 23:59:04 +00:00
Nikolay Degterinsky
f2c07c0337 Merge remote-tracking branch 'upstream/master' into password_complexity_rules 2022-12-10 00:46:05 +00:00
Roman Vasin
9c70b13702 Add #if USE_KRB5 2022-12-09 12:33:05 +00:00
Roman Vasin
165e39085b Set keytab by call of krb5_gss_register_acceptor_identity() 2022-12-09 12:25:55 +00:00
Sergei Trifonov
bae1519970
Merge branch 'master' into merge_tree_settings_constraints 2022-12-08 22:25:16 +01:00
serxa
fed665c0ea fix tidy build 2022-12-08 21:24:38 +00:00
Alexey Milovidov
9c81fd7afc
Merge pull request #43517 from ClickHouse/password-reset-message
Move password reset message from client to server
2022-12-07 23:26:58 +03:00
serxa
db50ce0634 refactoring 2022-12-07 16:08:33 +00:00
serxa
9ccfda73ae fixes after review 2022-12-07 13:07:28 +00:00
Nikolay Degterinsky
bb9fdc0839 Fix CREATE query constraints 2022-12-07 00:53:27 +00:00
serxa
1b5b43ec87 fix checks on CREATE + added resolveSetting.h + improved system table 2022-12-06 19:09:18 +00:00
serxa
e908e49dd9 review fixes 2022-12-05 11:02:37 +00:00
kssenii
dca3444283 Merge remote-tracking branch 'upstream/master' into named-collections-sql-commands 2022-12-04 15:56:02 +01:00
serxa
006af1b6a4 constraints on merge tree settings 2022-12-02 19:30:14 +00:00
Vasily Nemkov
aff3e283e6
Update SettingsProfilesInfo.h 2022-11-28 16:06:56 +04:00
Vasily Nemkov
cdc9e5e5fb
Fixed accessing invalid iterator 2022-11-28 16:06:11 +04:00
Alexey Milovidov
114d77d8e8 Revert "Update AccessControl.cpp"
This reverts commit ae335e9c22.
2022-11-26 02:42:14 +01:00
Nikolay Degterinsky
3fd10e0011 Better solution 2022-11-25 22:38:28 +00:00
Nikolay Degterinsky
6825d85daa Add complexity rules for passwords 2022-11-25 22:38:05 +00:00
Alexey Milovidov
d45e49ead5 Merge branch 'password-reset-message' of github.com:ClickHouse/ClickHouse into password-reset-message 2022-11-25 23:05:03 +01:00
Alexey Milovidov
f0a3196fa8 xMerge branch 'master' into password-reset-message 2022-11-25 22:26:23 +01:00
Vasily Nemkov
d7fc4fee5e
Update SettingsProfilesInfo.cpp 2022-11-23 22:07:11 +04:00
Vasily Nemkov
ccfe0e26b4
Merge branch 'master' into fix_profile_names_mismatch 2022-11-23 21:49:46 +04:00
Vasily Nemkov
246c6ff320 Cleanup 2022-11-23 17:29:38 +04:00
Vasily Nemkov
aa78f1c842 Made sure SettingsProfilesInfo::profiles is a subset of SettingsProfilesInfo::profiles_with_implicit
That means SettingsProfilesInfo::profiles now:
- has default_profile_id (if enabled)
- doesn't have profiles that are not matching for current user/roles
2022-11-23 17:29:38 +04:00
kssenii
6044a9257c Merge remote-tracking branch 'upstream/master' into named-collections-sql-commands 2022-11-23 12:00:55 +01:00
Alexey Milovidov
8cb34913a1
Merge pull request #42461 from Enmk/ldap_fix_search_limit
fix LDAP in case of many roles on user
2022-11-22 20:05:14 +01:00
Alexey Milovidov
ae335e9c22
Update AccessControl.cpp 2022-11-22 21:58:30 +03:00
Alexey Milovidov
c816ed4f0e Move password reset message from client to server 2022-11-22 19:36:52 +01:00
Alexey Milovidov
c20dbb7770 Move password reset message from client to server 2022-11-22 19:34:38 +01:00
kssenii
ae25a90f09 Fix show access command 2022-11-19 13:21:35 +01:00
kssenii
98f5cc10bb Merge remote-tracking branch 'upstream/master' into named-collections-access-fix 2022-11-18 19:51:28 +01:00
kssenii
5323c51176 Restrict access to system.named_collections 2022-11-17 13:40:03 +01:00
kssenii
f0ce28349d Better 2022-11-16 17:58:21 +01:00
Alexey Milovidov
923f2dd562
Merge branch 'master' into ldap_fix_search_limit 2022-11-16 06:13:07 +01:00
kssenii
234f6ee54d Add commands CREATE/ALTER/DROP NAMED COLLECTION 2022-11-15 15:51:56 +01:00
Vitaly Baranov
21e7d843da
Merge pull request #43097 from vitlibar/correct-error-message-after-dropping-current-user
Make error message after dropping current user more correct.
2022-11-14 21:13:58 +01:00
Kseniia Sumarokova
79206c6eb0
Merge pull request #43147 from kssenii/named-collections-refactoring
Add generic implementation for arbitrary structured named collections, access type and system.named_collections
2022-11-14 11:57:17 +01:00
Maksim Kita
e220906c9e Analyzer added identifier typo corrections 2022-11-10 19:21:51 +01:00
kssenii
bed7ac9442 Support arbitrary structure collections 2022-11-10 17:05:24 +01:00
Vitaly Baranov
6bc8b544ce
Merge branch 'master' into correct-error-message-after-dropping-current-user 2022-11-10 13:36:52 +01:00
Vitaly Baranov
675507594a Make error message after dropping current user more correct. 2022-11-09 21:01:05 +01:00
Vasily Nemkov
c16c06eaba
Removed declaration of unused LOGICAL_ERROR 2022-11-02 20:28:40 +04:00
Vasily Nemkov
e95d2c30e9
Removed debug code 2022-11-02 18:52:38 +04:00
Vasily Nemkov
c994dabb75 Fixed build on CI/CD
Making type conversions for search_limit explicit
2022-11-02 17:40:40 +04:00
Vladimir Chebotaryov
d17b7387f9 Reworked changes to std::shared_ptr<const RowPolicyFilter>. 2022-10-27 10:42:55 +03:00
Vladimir Chebotaryov
c28e439c33 Review fixes. 2022-10-27 10:42:22 +03:00
Vladimir Chebotaryov
4cabe1f57c Added applied row-level policies to system.query_log. 2022-10-27 10:41:47 +03:00
Vasily Nemkov
c569adfaf6 Minor fixes: typo and missing forward declaration 2022-10-25 13:42:54 +04:00
Vasily Nemkov
659a097631 Fixed SettingsProfilesInfo::getProfileNames() throwing std::exception
- Using profiles_with_implicit for profile IDs, since it seems to be better synchronized with names
- Trying harder: attempting to get name from AccessControl if it is missing from local cached names
- Throwing Exception if everything else fails
2022-10-25 09:35:10 +04:00
Alexey Milovidov
98f5f27947
Merge branch 'master' into ldap_fix_search_limit 2022-10-24 10:44:45 +02:00
Azat Khuzhin
4e76629aaf Fixes for -Wshorten-64-to-32
- lots of static_cast
- add safe_cast
- types adjustments
  - config
  - IStorage::read/watch
  - ...
- some TODO's (to convert types in future)

P.S. That was quite a journey...

v2: fixes after rebase
v3: fix conflicts after #42308 merged
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-10-21 13:25:19 +02:00
Vasily Nemkov
05cde705b0 Addressed issues mentioned in PR
Stronger hashing for LDAP parameters
Fixed SipHash double finalize()
Simplified checks on search_limit
2022-10-20 16:38:41 +04:00
Alexey Milovidov
1fd6a56845 Update LDAPClient.h 2022-10-20 16:38:40 +04:00
Alexey Milovidov
08c1e8dc2d Update ExternalAuthenticators.cpp 2022-10-20 16:38:39 +04:00
Vasily Nemkov
1ed7ad57d9 fix LDAP in case of many roles on user
- Raised default value of search_limit to 256
- Added option to change that to arbitrary value
- using SipHash for computing hash of LDAP server parameters
- other minor changes
2022-10-20 16:38:38 +04:00
Alexander Tokmakov
4175f8cde6 abort instead of __builtin_unreachable in debug builds 2022-10-07 21:49:08 +02:00
Robert Schulze
fd86829824
Consolidate config_core.h into config.h
Less duplication, less confusion ...
2022-09-28 13:31:57 +00:00
Nikolay Degterinsky
a7f3c7086c
Merge pull request #41341 from evillique/mandatory-identification
Add a setting requiring no_password to be explicitly specified when creating a user
2022-09-22 15:19:43 +02:00
Nikolay Degterinsky
7292d47923
Merge branch 'master' into mandatory-identification 2022-09-21 12:18:17 +02:00
kssenii
b8079e4577 Merge remote-tracking branch 'upstream/master' into rename-some-cache-commands 2022-09-20 13:02:18 +02:00
Sergei Trifonov
cf2db48c29
Merge pull request #40631 from ClickHouse/readonly-settings-allow
Allow to modify constrained settings in readonly mode
2022-09-20 02:18:14 +02:00
kssenii
e3cd3686af Rename 2022-09-19 14:02:51 +02:00
serxa
a0bfa801e5 explicit ctor 2022-09-19 10:52:08 +00:00
Vitaly Baranov
e7e51ab2d9 Add comments. 2022-09-18 12:44:05 +02:00
Vitaly Baranov
69996c960c Add retries for the initialization of ReplicatedAccessStorage. 2022-09-18 12:44:05 +02:00
Vitaly Baranov
5365b105cc Add SYSTEM RELOAD USERS command. 2022-09-18 12:44:00 +02:00
Vitaly Baranov
1b40f94c6b Move common code from MemoryAccessStorage and DiskAccessStorage to IAccessStorage. 2022-09-18 12:17:15 +02:00
Vitaly Baranov
391507b4b6 Update src/Access/DiskAccessStorage.cpp
Co-authored-by: Antonio Andelic <antonio2368@users.noreply.github.com>
2022-09-16 19:02:06 +02:00
Vitaly Baranov
2ec6ef497d Make DiskAccessStorage::insertWithID() more consistent with MemoryAccessStorage::insertWithID(). 2022-09-16 19:02:06 +02:00
Vitaly Baranov
7e716d14cd Make ReplicatedAccessStorage::insertWithID() more consistent with MemoryAccessStorage::insertWithID(). 2022-09-16 19:02:06 +02:00
Vitaly Baranov
646cd55690 Improve recovery of ReplicatedAccessStorage after errors. 2022-09-16 19:02:06 +02:00
Vitaly Baranov
8f9f5c69da Use MemoryAccessStorage to simplify ReplicatedAccessStorage. 2022-09-16 19:02:06 +02:00
serxa
4971c1f04d review fixes 2022-09-15 11:34:14 +00:00
Nikolay Degterinsky
72d8a04ee6 Add setting 'allow_implicit_no_password' 2022-09-15 08:07:42 +00:00
Sergei Trifonov
cad3a6b764 fix style 2022-09-12 22:01:45 +02:00
Sergei Trifonov
c31818260f renames and refactoring 2022-09-12 21:03:06 +02:00
Sergei Trifonov
62541ab764 fix more tests and clang tidy build 2022-09-08 17:43:09 +02:00
Sergei Trifonov
77ee4c04aa fix stateless tests 2022-09-06 20:28:50 +02:00
Sergei Trifonov
7a2d750f7f fix typo 2022-09-02 18:59:16 +02:00
Sergei Trifonov
a6a95e38ca fix style 2022-09-02 18:20:47 +02:00
Sergei Trifonov
005b2588d8
Merge branch 'master' into readonly-settings-allow 2022-09-02 16:37:43 +02:00
Sergei Trifonov
014d109175 fix build, fix docs, fix comments, logical fixes, test are still to be fixed and new test are to be added 2022-09-02 16:20:09 +02:00
Sergei Trifonov
7fec55eea4 work in progress 2022-09-02 04:12:05 +02:00
Robert Schulze
5ff0ecb867
Merge branch 'master' into remove-unnecessary-context-access-method 2022-08-31 10:14:27 +02:00
Alexander Tokmakov
022f440ad0
Merge pull request #40769 from arthurpassos/caresptrresolver-hosts-patch
Fix CaresPTRResolver not reading hosts file
2022-08-30 14:35:10 +03:00
Robert Schulze
c185353bf0
Minor: remove unnecessary ContextAccess::make() method 2022-08-30 08:06:42 +00:00
Arthur Passos
961365c7a4 Fix CaresPTRResolver not reading hosts file 2022-08-29 15:11:39 -03:00
Konstantin Morozov
d185b7a332 refactoring: public ctors 2022-08-29 20:19:20 +03:00
Sergei Trifonov
f8cfb2e53a fix style, typos and tests 2022-08-29 14:33:48 +02:00
Konstantin Morozov
6636bdec2a refactoring: fix format 2022-08-29 07:44:40 +03:00
Konstantin Morozov
38a85ade27 refactoring: small up 2022-08-28 22:33:12 +03:00
Konstantin Morozov
b4de735a90 refactoring: fix space 2022-08-28 20:55:08 +03:00
Konstantin Morozov
08e9e799d0 refactoring: fix 2022-08-28 20:53:00 +03:00
Konstantin Morozov
75bd61fad5 Merge remote-tracking branch 'origin/ref/remove-unnecessary-allocation' into ref/remove-unnecessary-allocation
# Conflicts:
#	src/Access/ContextAccess.cpp
#	src/Access/ContextAccess.h
2022-08-28 20:50:29 +03:00
Konstantin Morozov
7cd2821aed refactoring: template make helper 2022-08-28 20:42:55 +03:00
Konstantin Morozov
4050ab819e refactoring: remove unnecessary allocation 2022-08-28 17:23:17 +03:00
Konstantin Morozov
d4d80dd3c1 refactoring: remove unnecessary allocation 2022-08-28 17:09:13 +03:00
Sergei Trifonov
c5d1bbf680 reimplement with <allow> tag 2022-08-26 21:20:00 +02:00
Sergei Trifonov
856a2f5956 Allow to modify constrained settings in readonly mode 2022-08-25 17:24:24 +02:00
avogar
8dd54c043d Merge branch 'master' of github.com:ClickHouse/ClickHouse into schema-inference-cache 2022-08-17 11:47:40 +00:00
alexX512
6bf29cb610 Change class LRUCache to class CachBase. Check running CacheBase with default pcahce policy SLRU 2022-08-07 19:59:30 +00:00
avogar
9b1a267203 Refactor, remove TTL, add size limit, add system table and system query 2022-08-05 16:20:15 +00:00
Azat Khuzhin
498c8b3c52 Fix clang-tidy in utils/examples
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-07-29 11:36:51 +03:00
Alexander Tokmakov
bed2206ae9
Merge pull request #39460 from ClickHouse/remove_some_dead_and_commented_code
Remove some dead and commented code
2022-07-22 13:24:34 +03:00
Alexander Tokmakov
9e9969cea7
Merge pull request #37827 from arthurpassos/host_regexp_multiple_domains
Test host_regexp against all PTR records instead of only one
2022-07-21 16:43:05 +03:00
Alexander Tokmakov
a8da5d96fc remove some dead and commented code 2022-07-21 15:05:48 +02:00
Nikolai Kochetov
91043351aa Fixing build. 2022-07-20 20:30:16 +00:00
Vitaly Baranov
6bf7bffbeb Correct the list of always accessible system tables. 2022-07-15 15:44:29 +02:00
Vitaly Baranov
de34d173ba Remove excessive log messages. 2022-07-15 15:44:29 +02:00
Vitaly Baranov
c85b2b5732 Add option enabling that SELECT from the system database requires grant. 2022-07-15 15:44:25 +02:00
avogar
9291d33080 Pass const std::string_view & by value, not by reference 2022-07-14 16:11:57 +00:00
Arthur Passos
395dada988 minor style adjustments 2022-07-13 09:40:56 -03:00
Arthur Passos
cb349c05c5 minor adjustments 2022-07-12 19:27:44 -03:00
Arthur Passos
d48690d455 Make CaresPTRResolver a singleton through DNSPTRResolverProvider, add comments and address minor comments 2022-07-12 14:21:10 -03:00
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
Vitaly Baranov
ed27987646
Merge pull request #38861 from vitlibar/backup-improvements-9
Backup Improvements 9
2022-07-07 02:24:47 +02:00
Vitaly Baranov
1ac46c5e48 Fix making backups containing multiple ACL tables. 2022-07-05 20:57:01 +02:00
Vitaly Baranov
43d35eec1b Write unfinished mutations to backup. 2022-07-05 14:51:09 +02:00
Arthur Passos
d66154e697 Test host_regexp against all PTR records instead of only one 2022-07-04 10:05:28 -03:00
Vitaly Baranov
b4103c1a0e
Merge pull request #38674 from vitlibar/fix-crash-when-grant-all-on-cluster
Fix crash when granting ALL on cluster.
2022-07-04 10:13:56 +02:00
Vitaly Baranov
92e0ee0b6f More detailed error messages. 2022-07-03 14:20:19 +02:00
Vitaly Baranov
1a71e44b28
Merge pull request #38024 from nvartolomei/nv/error-if-profile-does-not-exist
Throw exception when xml user profile does not exist
2022-07-03 11:26:08 +02:00
mergify[bot]
dfac2ca2fc
Merge branch 'master' into fix-crash-when-grant-all-on-cluster 2022-07-02 17:38:45 +00:00
Vitaly Baranov
8195aa768b Move checking if parent profile is allowed to UsersConfigAccessStorage. 2022-07-01 14:46:35 +02:00
Vitaly Baranov
ae2f586170 Fix crash when granting ALL on cluster. 2022-07-01 12:19:56 +02:00
Vitaly Baranov
e367d96964 Fix style. 2022-06-30 15:10:33 +02:00
Vitaly Baranov
5456bde4a2 Improve gathering metadata for storing ACL in backups. 2022-06-30 09:46:37 +02:00
Vitaly Baranov
031ca28fdc Add test for partition clause. More checks for data compatibility on restore. 2022-06-30 08:37:18 +02:00
Vitaly Baranov
11b51d2878 Implement storing UDF in backups. 2022-06-30 08:37:17 +02:00
Vitaly Baranov
44db346fea Improve gathering metadata for backup - part 3. 2022-06-30 08:37:17 +02:00
Robert Schulze
f692ead6ad
Don't use std::unique_lock unless we have to
Replace where possible by std::lock_guard which is more light-weight.
2022-06-28 19:19:06 +00:00
Yakov Olkhovskiy
d5f65ece9b
Merge pull request #38105 from arenadata/ADQM-419
Add kerberosInit function as a replacement for kinit executable calls in Kafka and HDFS
2022-06-27 14:19:24 -04:00
mergify[bot]
f63c959679
Merge branch 'master' into cleanup_garbage_in_store_dir 2022-06-26 13:35:10 +00:00
Alexander Tokmakov
74f38710a8 Merge branch 'master' into cleanup_garbage_in_store_dir 2022-06-23 21:43:28 +02:00
kssenii
6fbd49f554 Merge master 2022-06-23 21:40:01 +02:00
kssenii
468c98ff42 Better 2022-06-23 17:46:27 +02:00
Roman Vasin
cb748cd8ec Fix code style in KerberosInit 2022-06-23 16:11:48 +03:00
Roman Vasin
4bf1fc4718 Add error code and message displaying in exceptions of KerberosInit; Correct code style in KerberosInit 2022-06-23 10:28:31 +03:00
kssenii
dce1c76270 Fix 2022-06-22 18:00:25 +02:00
Roman Vasin
7bd65c8c24 Add comments to KerberosInit; Remove input cache and flags from KerberosInit 2022-06-22 16:31:48 +03:00
Roman Vasin
f281199588 Fix code style in KerberosInit; Add anonymous namespace; Add comment about using kerberos_init 2022-06-22 11:28:00 +03:00
Roman Vasin
1d6eea6cfa Replace LOG_DEBUG by LOG_TRACE in KerberosInit; Correct exception message; Prohibit making a copy of KerberosInit 2022-06-21 18:55:17 +03:00
Alexander Tokmakov
ba0fcec993 add background cleanup of store/ subdirs 2022-06-21 12:35:47 +02:00
Robert Schulze
55b39e709d
Merge remote-tracking branch 'origin/master' into clang-tsa 2022-06-20 16:39:32 +02:00
Robert Schulze
5a4f21c50f
Support for Clang Thread Safety Analysis (TSA)
- TSA is a static analyzer build by Google which finds race conditions
  and deadlocks at compile time.

- It works by associating a shared member variable with a
  synchronization primitive that protects it. The compiler can then
  check at each access if proper locking happened before. A good
  introduction are [0] and [1].

- TSA requires some help by the programmer via annotations. Luckily,
  LLVM's libcxx already has annotations for std::mutex, std::lock_guard,
  std::shared_mutex and std::scoped_lock. This commit enables them
  (--> contrib/libcxx-cmake/CMakeLists.txt).

- Further, this commit adds convenience macros for the low-level
  annotations for use in ClickHouse (--> base/defines.h). For
  demonstration, they are leveraged in a few places.

- As we compile with "-Wall -Wextra -Weverything", the required compiler
  flag "-Wthread-safety-analysis" was already enabled. Negative checks
  are an experimental feature of TSA and disabled
  (--> cmake/warnings.cmake). Compile times did not increase noticeably.

- TSA is used in a few places with simple locking. I tried TSA also
  where locking is more complex. The problem was usually that it is
  unclear which data is protected by which lock :-(. But there was
  definitely some weird code where locking looked broken. So there is
  some potential to find bugs.

*** Limitations of TSA besides the ones listed in [1]:

- The programmer needs to know which lock protects which piece of shared
  data. This is not always easy for large classes.

- Two synchronization primitives used in ClickHouse are not annotated in
  libcxx:
  (1) std::unique_lock: A releaseable lock handle often together with
      std::condition_variable, e.g. in solve producer-consumer problems.
  (2) std::recursive_mutex: A re-entrant mutex variant. Its usage can be
      considered a design flaw + typically it is slower than a standard
      mutex. In this commit, one std::recursive_mutex was converted to
      std::mutex and annotated with TSA.

- For free-standing functions (e.g. helper functions) which are passed
  shared data members, it can be tricky to specify the associated lock.
  This is because the annotations use the normal C++ rules for symbol
  resolution.

[0] https://clang.llvm.org/docs/ThreadSafetyAnalysis.html
[1] https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/42958.pdf
2022-06-20 16:13:25 +02:00
Vitaly Baranov
a6fc0dea4e Fix clang-tidy more. 2022-06-20 11:04:37 +02:00
Vitaly Baranov
2c8788266c Fix tests. 2022-06-20 03:44:49 +02:00
Vitaly Baranov
8a7c970ce0 Fix style. 2022-06-19 15:58:26 +02:00
Vitaly Baranov
115be82440 DiskAccessStorage is now allowed to backup by default. 2022-06-19 13:16:36 +02:00
Vitaly Baranov
9f197defda Add support for setting 'allow_backup' to skip access entities from putting to backup. 2022-06-19 12:49:50 +02:00
Vitaly Baranov
01aaaf7395 More accurate access checking for RESTORE. 2022-06-19 11:26:41 +02:00
Vitaly Baranov
a0c558a17e Implement backup/restore for ACL system tables (system.users, system.roles, etc.) 2022-06-17 18:14:31 +02:00
Roman Vasin
d93fd3bd2d Add complilation support for case when krb5 is not used 2022-06-16 09:30:40 +00:00
Vitaly Baranov
c0f06c5e16 Require new privilige 'BACKUP' to make a backup. 2022-06-15 20:32:35 +02:00
Roman Vasin
344fbe8de4 Fix code style 2022-06-15 20:26:42 +03:00
Roman Vasin
89a659e738 Move krb header files from KerberosInit.h to KerberosInit.cpp 2022-06-15 20:08:16 +03:00
Roman Vasin
1c26424371 Change message in StorageKafka; Code style correction 2022-06-15 19:35:21 +03:00
Roman Vasin
dd5b0ee065 Add kerberosInit() function to call KeberosInit 2022-06-15 17:02:53 +03:00
Antonio Andelic
dded528d13
Merge pull request #36424 from PolyProgrammist/r1unfreeze
SYSTEM UNFREEZE query that deletes the whole backup
2022-06-14 08:44:45 +02:00
Nikita Mikhaylov
fc626b2897
Update SettingsProfilesCache.cpp 2022-06-14 00:16:28 +02:00
Vitaly Baranov
241b51c7d4
Add implicit grants with grant option too. (#38017) 2022-06-14 00:09:51 +02:00
Nicolae Vartolomei
9555153f95 Throw exception when xml user profile does not exist
Closes #26086
2022-06-13 13:29:08 +00:00
Roman Vasin
4c560584c7 Code cleanup in KerberosInit and kafka integration tests 2022-06-10 12:38:39 +03:00
Roman Vasin
d1d6d87432 Cleanup code in KerberosInit 2022-06-09 11:51:15 +03:00
Roman Vasin
3cfea6e76f Cleanup code in KerberosInit, HDFSCommon and StorageKafka; update English and Russian documentation. 2022-06-08 17:57:45 +03:00