Commit Graph

2230 Commits

Author SHA1 Message Date
kssenii
9cb10aae3c Some fixes 2021-07-18 03:43:08 +00:00
Alexey Milovidov
9f1f010798 ./generate-ya-make.sh #26426 2021-07-17 13:03:05 +03:00
alexey-milovidov
917cdcd0bb
Merge pull request #26426 from vdimir/functions-coding-split-file
Split FunctionsCoding into several files
2021-07-17 13:01:50 +03:00
alexey-milovidov
6f13eb49c1
Merge pull request #26320 from Algunenano/profile_sleep_calls
Add profile events for sleep function calls
2021-07-17 01:37:23 +03:00
alexey-milovidov
e883bcb34d
Update FunctionsCodingIP.cpp 2021-07-17 01:18:41 +03:00
vdimir
a06fc36b06
Move FunctionsCodingIP to separate file 2021-07-16 17:03:25 +03:00
vdimir
435d400ca3
Move FunctionToStringCutToZero to separate file 2021-07-16 16:58:06 +03:00
vdimir
ec1c2d2b9b
Move bitPositionsToArray/bitmaskToArray to separate file 2021-07-16 16:48:19 +03:00
vdimir
22a59bd623
Move function 'char' to separate file 2021-07-16 16:44:01 +03:00
Nikolai Kochetov
d996d0bae9 Fix incompatible result type for scalar queries with empty result. 2021-07-16 16:38:35 +03:00
vdimir
4cf2e33647
Use registerAlias for mysql comatibility of ntoa/aton functions 2021-07-16 16:18:06 +03:00
vdimir
f79699df7b
Move functions coding for uuid to separate file 2021-07-16 16:16:40 +03:00
vdimir
bf1b5ae4b4
Move (un)hex/bin functions to separate file 2021-07-16 16:16:30 +03:00
Alexey Boykov
8026ed5ee9 Adding query_id functions and tests 2021-07-16 14:47:17 +03:00
kssenii
3ba2d114d5 Revert "Merge pull request #26352 from ClickHouse/revert-25774-datatype-date32"
This reverts commit 94a210650f, reversing
changes made to 0893b9ff8e.
2021-07-15 11:41:52 +00:00
Filatenkov Artur
29b1155c95
Merge pull request #26261 from SaintBacchus/toTimeZone
Make toTimeZone monotonicity when timeZone is a constant value
2021-07-15 13:02:35 +03:00
alexey-milovidov
9ba4064c86
Revert "Datatype Date32, support range 1925 to 2283" 2021-07-15 10:53:35 +03:00
Alexey Milovidov
a60d52d9c3 Whitespaces #26330 2021-07-14 23:26:42 +03:00
Raúl Marín
901e251d53 Add profile events to sleep function calls 2021-07-14 18:44:09 +02:00
Alexey Milovidov
9dd0a76220 Add a setting "function_range_max_elements_in_block" and increase it 5 times 2021-07-14 11:31:08 +03:00
Vladimir
c6177bd0cc
Merge pull request #26123 from vdimir/issue-25806-null-enum-to-str 2021-07-14 10:22:37 +03:00
huangzhaowei
d9f490a300 format code 2021-07-14 14:49:18 +08:00
huangzhaowei
8315e4f7a3 Fix test case error 2021-07-14 10:41:24 +08:00
Nikita Mikhaylov
601d04f55d ignore 2021-07-13 22:16:27 +00:00
Nikita Mikhaylov
28b990cc18 better 2021-07-13 17:14:00 +00:00
Nikita Mikhaylov
208ef7a2d2
Merge pull request #24980 from Andr0901/s2-library
Integration of S2 library
2021-07-13 20:10:57 +03:00
Nikita Mikhaylov
224c08b46e exceptions 2021-07-13 12:54:00 +00:00
Nikita Mikhaylov
d2c8c34229 fix build 2021-07-13 12:10:21 +00:00
Nikita Mikhaylov
eecb989c3f update ya make 2021-07-13 12:10:21 +00:00
Nikita Mikhaylov
5904b5f20b Update h3toGeo.cpp 2021-07-13 12:10:21 +00:00
Nikita Mikhaylov
cac2aa9699 Revert "Revert "Implement h3ToGeo function"" 2021-07-13 12:10:21 +00:00
Nikita Mikhaylov
1b4f60a0f6 fix fuzzer 2021-07-13 10:51:35 +00:00
Nikita Mikhaylov
fa816ab19c fix fuzzer 2021-07-13 10:51:35 +00:00
Nikita Mikhaylov
625576796c final fix 2021-07-13 10:51:35 +00:00
Nikita Mikhaylov
b0e0165ce0 better 2021-07-13 10:51:35 +00:00
Nikita Mikhaylov
fbf529411b fix tests 2021-07-13 10:51:35 +00:00
Nikita Mikhaylov
67fecc55a9 add tests 2021-07-13 10:50:39 +00:00
Nikita Mikhaylov
0be0fc810b fix tests 2021-07-13 10:50:39 +00:00
Nikita Mikhaylov
b92d47fcd0 fix build 2021-07-13 10:50:38 +00:00
Nikita Mikhaylov
356c11bb25 fix tests 2021-07-13 10:50:38 +00:00
Nikita Mikhaylov
c4b0d8f849 fix build 2021-07-13 10:50:38 +00:00
Nikita Mikhaylov
e0473be7d7 bump 2021-07-13 10:50:38 +00:00
Nikita Mikhaylov
6cdac2a56f link error 2021-07-13 10:50:12 +00:00
Nikita Mikhaylov
3f36a93656 better 2021-07-13 10:50:12 +00:00
Nikita Mikhaylov
246bb8b36f try gh client 2021-07-13 10:50:12 +00:00
Andr0901
f78480507e some fixes 2021-07-13 10:50:12 +00:00
Andr0901
fe075f407e add some cap and rect functions 2021-07-13 10:49:55 +00:00
Andr0901
4d75450e54 add tests 2021-07-13 10:49:55 +00:00
Andr0901
12219391d6 Initial commit 2021-07-13 10:49:54 +00:00
vdimir
a01f8c147d
Move check of null_map outside of loop in ConvertImpl::execute for toString 2021-07-13 09:52:31 +03:00
vdimir
c938a53e88
Fixes for FunctionConversion implementation for nulls 2021-07-13 09:48:05 +03:00
vdimir
b4c6a17eb2
Add ReturnType template parameter to FormatImpl::execute 2021-07-13 09:48:05 +03:00
vdimir
32b174403e
Nullable in ConvertImplGenericToString 2021-07-13 09:48:04 +03:00
vdimir
3a0a456549
Do not try catch in ConvertImpl::execute 2021-07-13 09:48:04 +03:00
vdimir
5b18480a49
Return null if value can't be converted in toString for nullable 2021-07-13 09:48:04 +03:00
vdimir
7c4c2b29c2
Do not throw exception for unexpected values in enum during to string conversion 2021-07-13 09:48:04 +03:00
huangzhaowei
c4fcdb8b91 Make toTimeZone monotonicity when timeZone is a constant value 2021-07-13 13:54:44 +08:00
alexey-milovidov
5295f7ebb2
Merge pull request #26235 from ClickHouse/check-non-deterministic-functions-in-keys
Check for non-deterministic functions in keys, including constant expressions
2021-07-13 02:46:44 +03:00
Kseniia Sumarokova
4a6b4d6c26
Merge pull request #25774 from liuneng1994/datatype-date32
Datatype Date32, support range 1925 to 2283
2021-07-12 20:33:39 +03:00
Alexey Milovidov
ff5c433f10 Check for non-deterministic functions in keys, including constant expressions 2021-07-12 08:58:19 +03:00
neng.liu
4669839fbb add comment and update ya.make 2021-07-11 04:55:42 -07:00
alexey-milovidov
757e5745f2
Merge pull request #25483 from qoega/update-h3
Update h3
2021-07-10 19:18:45 +03:00
alexey-milovidov
f95cd5b1e4
Merge pull request #26180 from ClickHouse/azat-subdomains
Merging #26041.
2021-07-10 19:16:01 +03:00
Maksim Kita
c17ab7db8e
Merge pull request #26147 from vitlibar/pad-functions-comments
Add comments for the implementations of the pad functions
2021-07-10 16:42:54 +03:00
Alexey Milovidov
d93fb6c93f Drop Arcadia 2021-07-10 11:54:43 +03:00
Alexey Milovidov
ee4b261857 Merge branch 'master' into update-h3 2021-07-10 11:52:39 +03:00
Alexey Milovidov
ba1442532b Fix build 2021-07-10 11:43:28 +03:00
Alexey Milovidov
e09467fd5a Merge with #26041 2021-07-10 11:29:54 +03:00
Alexey Milovidov
9ca38235aa Correct fix for #26041 2021-07-10 11:29:08 +03:00
alexey-milovidov
15069bf1ba
Merge pull request #21543 from hexiaoting/dev-map-bug
Add DataTypeMap support LowCardinality and FixedString type
2021-07-10 05:54:59 +03:00
Alexey Milovidov
354a57aea8 Drop Arcadia 2021-07-10 05:53:49 +03:00
alexey-milovidov
856892a817
Update geoToH3.cpp 2021-07-10 05:46:11 +03:00
Maksim Kita
f48c5af90c
Merge pull request #26118 from vdimir/issue-25993-join-get-lc
Do not use default impl for low cardinality for joinGet
2021-07-09 23:45:55 +03:00
alexey-milovidov
53f5c63e2c
Update geoToH3.cpp 2021-07-09 22:16:57 +03:00
alexey-milovidov
806bf3d99c
Merge pull request #26130 from kitaisreal/dict-get-has-complex-key-dictionary-key-argument-tuple-fix
Functions dictGet, dictHas complex key dictionary key argument tuple fix
2021-07-09 21:45:55 +03:00
Vitaly Baranov
b7cc1904cc Add comments to the implementations of the pad functions 2021-07-09 21:11:55 +03:00
Maksim Kita
03c4853451 Functions dictGet, dictHas complex key dictionary key argument tuple fix 2021-07-09 17:20:02 +03:00
Maksim Kita
59d5cff1fe
Merge pull request #26113 from ClickHouse/point-in-polygon-nan
Fix possible crash in `pointInPolygon` if the setting `validate_polygons` is turned off.
2021-07-09 16:41:43 +03:00
Maksim Kita
c73d53dda4
Merge pull request #26094 from zxc111/issue-9390
hex/bin functions support AggregateFunction states.
2021-07-09 16:41:07 +03:00
zxc111
0ec402ff64 castColumn instead of execute toString function 2021-07-09 18:35:26 +08:00
vdimir
95f8ca4e03
Do not use default impl for low cardinality for joinGet 2021-07-09 12:16:03 +03:00
alexey-milovidov
0bad945392
Update PolygonUtils.h 2021-07-09 06:49:08 +03:00
Vitaly Baranov
3fb0567887
Merge pull request #26075 from vitlibar/pad-functions
Pad functions
2021-07-09 06:46:23 +03:00
NengLiu
1d7d973dea change addWeeks delta's datatype from Int64 to Int32 2021-07-09 11:42:32 +08:00
NengLiu
e172ca240b change addQuarter delta's datatype from Int64 to Int32 2021-07-09 11:35:12 +08:00
alexey-milovidov
eafce775c9
Merge pull request #25452 from amosbird/jsonextractrawstring
JSONExtract String or Raw
2021-07-09 06:17:13 +03:00
alexey-milovidov
09c20d5d08
Update geoToH3.cpp 2021-07-09 06:15:53 +03:00
mergify[bot]
5814742656
Merge branch 'master' into update-h3 2021-07-09 03:13:19 +00:00
Alexey Milovidov
9290d6f112 Fix UBSan report in pointInPolygon 2021-07-09 06:06:21 +03:00
mergify[bot]
bbde9e2efd
Merge branch 'master' into dev-map-bug 2021-07-09 02:52:53 +00:00
Vitaly Baranov
3dfdcf4604 Improve implementation of leftPadString(), rename to leftPad(). Add new functions rightPad(), leftPadUTF8(), rightPadUTF8(). Add a test. 2021-07-08 23:39:29 +03:00
zxc111
e4b1e0619c hex/bin functions support AggregateFunction states. 2021-07-09 00:41:44 +08:00
neng.liu
e47aadfdef Merge branch 'datatype-date32' of https://github.com/liuneng1994/ClickHouse into datatype-date32 2021-07-08 00:09:48 -07:00
neng.liu
100d30a5ba fix pr comment 2021-07-08 00:06:36 -07:00
alesapin
aa86fac4e7 Fix unbundled build 2021-07-07 14:07:20 +03:00
alesapin
f0fc12d0dd Merge branch 'master' into evillique-nlp 2021-07-07 12:14:49 +03:00
Azat Khuzhin
5e120b8d37 Fix stack-buffer-overflow in custom TLDs due to StringHashTable copy 8 bytes at a time
ASan reports [1]:

    ==164==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7f0209dd4abf at pc 0x00000b75b7c5 bp 0x7f0209dd4760 sp 0x7f0209dd4758
    READ of size 8 at 0x7f0209dd4abf thread T4 (TCPHandler)
        0 0xb75b7c4 in auto StringHashTable<StringHashSetSubMaps<Allocator<true, true> > >::dispatch<StringHashTable<StringHashSetSubMaps<Allocator<true, true> > > const, StringRef const&, StringHashTable<StringHashSetSubMaps<Allocator<true, true> > >::FindCallable>(StringHashTable<StringHashSetSubMaps<Allocator<true, true> > > const&, StringRef const&, StringHashTable<StringHashSetSubMaps<Allocator<true, true> > >::FindCallable&&) obj-x86_64-linux-gnu/../src/Common/HashTable/StringHashTable.h:283:21
        1 0xb75b7c4 in StringHashTable<StringHashSetSubMaps<Allocator<true, true> > >::has(StringRef const&, unsigned long) const obj-x86_64-linux-gnu/../src/Common/HashTable/StringHashTable.h:365:16
        2 0xb75b7c4 in DB::TLDList::has(StringRef const&) const obj-x86_64-linux-gnu/../src/Common/TLDListsHolder.cpp:31:26
        3 0x1c4a6046 in void DB::ExtractFirstSignificantSubdomain<true>::executeCustom<DB::FirstSignificantSubdomainCustomLookup>(DB::FirstSignificantSubdomainCustomLookup const&, char const*, unsigned long, char const*&, unsigned long&, char const**) (/usr/bin/clickhouse+0x1c4a6046)
        4 0x1c4a3586 in DB::FunctionCutToFirstSignificantSubdomainCustomImpl<DB::CutToFirstSignificantSubdomainCustom<true>, DB::NameCutToFirstSignificantSubdomainCustom>::executeImpl(std::__1::vector<DB::ColumnWithTypeAndName, std::__1::allocator<DB::ColumnWithTypeAndName> > const&, std::__1::shared_ptr<DB::IDataType const> const&, unsigned long) const (/usr/bin/clickhouse+0x1c4a3586)
        5 0x10d96e34 in DB::IFunction::executeImplDryRun(std::__1::vector<DB::ColumnWithTypeAndName, std::__1::allocator<DB::ColumnWithTypeAndName> > const&, std::__1::shared_ptr<DB::IDataType const> const&, unsigned long) const (/usr/bin/clickhouse+0x10d96e34)
        6 0x10d9648b in DB::FunctionToExecutableFunctionAdaptor::executeDryRunImpl(std::__1::vector<DB::ColumnWithTypeAndName, std::__1::allocator<DB::ColumnWithTypeAndName> > const&, std::__1::shared_ptr<DB::IDataType const> const&, unsigned long) const (/usr/bin/clickhouse+0x10d9648b)
        7 0x200ed79b in DB::IExecutableFunction::executeWithoutLowCardinalityColumns(std::__1::vector<DB::ColumnWithTypeAndName, std::__1::allocator<DB::ColumnWithTypeAndName> > const&, std::__1::shared_ptr<DB::IDataType const> const&, unsigned long, bool) const obj-x86_64-linux-gnu/../src/Functions/IFunction.cpp:212:15
        8 0x200ee436 in DB::IExecutableFunction::execute(std::__1::vector<DB::ColumnWithTypeAndName, std::__1::allocator<DB::ColumnWithTypeAndName> > const&, std::__1::shared_ptr<DB::IDataType const> const&, unsigned long, bool) const obj-x86_64-linux-gnu/../src/Functions/IFunction.cpp:257:22
        9 0x20cd6f6f in DB::ActionsDAG::addFunction(std::__1::shared_ptr<DB::IFunctionOverloadResolver> const&, std::__1::vector<DB::ActionsDAG::Node const*, std::__1::allocator<DB::ActionsDAG::Node const*> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) obj-x86_64-linux-gnu/../src/Interpreters/ActionsDAG.cpp:214:37
        10 0x2124c8a7 in DB::ScopeStack::addFunction(std::__1::shared_ptr<DB::IFunctionOverloadResolver> const&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) obj-x86_64-linux-gnu/../src/Interpreters/ActionsVisitor.cpp:570:51
        11 0x2125c80d in DB::ActionsMatcher::Data::addFunction(std::__1::shared_ptr<DB::IFunctionOverloadResolver> const&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) obj-x86_64-linux-gnu/../src/Interpreters/ActionsVisitor.h:169:27
        12 0x2125c80d in DB::ActionsMatcher::visit(DB::ASTFunction const&, std::__1::shared_ptr<DB::IAST> const&, DB::ActionsMatcher::Data&) obj-x86_64-linux-gnu/../src/Interpreters/ActionsVisitor.cpp:1061:14
        13 0x212522fb in DB::ActionsMatcher::visit(DB::ASTFunction const&, std::__1::shared_ptr<DB::IAST> const&, DB::ActionsMatcher::Data&) obj-x86_64-linux-gnu/../src/Interpreters/ActionsVisitor.cpp:971:17
        14 0x2121354e in DB::InDepthNodeVisitor<DB::ActionsMatcher, true, std::__1::shared_ptr<DB::IAST> const>::visit(std::__1::shared_ptr<DB::IAST> const&) obj-x86_64-linux-gnu/../src/Interpreters/InDepthNodeVisitor.h:34:13
        15 0x211e17c7 in DB::ExpressionAnalyzer::getRootActions(std::__1::shared_ptr<DB::IAST> const&, bool, std::__1::shared_ptr<DB::ActionsDAG>&, bool) obj-x86_64-linux-gnu/../src/Interpreters/ExpressionAnalyzer.cpp:421:48
        16 0x21204024 in DB::ExpressionAnalyzer::getConstActions(std::__1::vector<DB::ColumnWithTypeAndName, std::__1::allocator<DB::ColumnWithTypeAndName> > const&) obj-x86_64-linux-gnu/../src/Interpreters/ExpressionAnalyzer.cpp:1423:5
        17 0x230f7216 in DB::KeyCondition::getBlockWithConstants(std::__1::shared_ptr<DB::IAST> const&, std::__1::shared_ptr<DB::TreeRewriterResult const> const&, std::__1::shared_ptr<DB::Context const>) obj-x86_64-linux-gnu/../src/Storages/MergeTree/KeyCondition.cpp:385:103
        18 0x22877f9e in DB::(anonymous namespace)::replaceConstantExpressions(std::__1::shared_ptr<DB::IAST>&, std::__1::shared_ptr<DB::Context const>, DB::NamesAndTypesList const&, std::__1::shared_ptr<DB::IStorage const>, std::__1::shared_ptr<DB::StorageInMemoryMetadata const> const&) obj-x86_64-linux-gnu/../src/Storages/StorageDistributed.cpp:280:34
        19 0x22877f9e in DB::StorageDistributed::skipUnusedShards(std::__1::shared_ptr<DB::Cluster>, std::__1::shared_ptr<DB::IAST> const&, std::__1::shared_ptr<DB::StorageInMemoryMetadata const> const&, std::__1::shared_ptr<DB::Context const>) const obj-x86_64-linux-gnu/../src/Storages/StorageDistributed.cpp:1091:5
        20 0x2285d215 in DB::StorageDistributed::getOptimizedCluster(std::__1::shared_ptr<DB::Context const>, std::__1::shared_ptr<DB::StorageInMemoryMetadata const> const&, std::__1::shared_ptr<DB::IAST> const&) const obj-x86_64-linux-gnu/../src/Storages/StorageDistributed.cpp:1015:32
        21 0x2285a9c4 in DB::StorageDistributed::getQueryProcessingStage(std::__1::shared_ptr<DB::Context const>, DB::QueryProcessingStage::Enum, std::__1::shared_ptr<DB::StorageInMemoryMetadata const> const&, DB::SelectQueryInfo&) const obj-x86_64-linux-gnu/../src/Storages/StorageDistributed.cpp:500:40
        22 0x2183a4b2 in DB::InterpreterSelectQuery::getSampleBlockImpl() obj-x86_64-linux-gnu/../src/Interpreters/InterpreterSelectQuery.cpp:616:31
        23 0x21828db4 in DB::InterpreterSelectQuery::InterpreterSelectQuery(std::__1::shared_ptr<DB::IAST> const&, std::__1::shared_ptr<DB::Context const>, std::__1::shared_ptr<DB::IBlockInputStream> const&, std::__1::optional<DB::Pipe>, std::__1::shared_ptr<DB::IStorage> const&, DB::SelectQueryOptions const&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, std::__1::shared_ptr<DB::StorageInMemoryMetadata const> const&)::$_1::operator()(bool) const obj-x86_64-linux-gnu/../src/Interpreters/InterpreterSelectQuery.cpp:506:25
        24 0x2181b652 in DB::InterpreterSelectQuery::InterpreterSelectQuery(std::__1::shared_ptr<DB::IAST> const&, std::__1::shared_ptr<DB::Context const>, std::__1::shared_ptr<DB::IBlockInputStream> const&, std::__1::optional<DB::Pipe>, std::__1::shared_ptr<DB::IStorage> const&, DB::SelectQueryOptions const&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, std::__1::shared_ptr<DB::StorageInMemoryMetadata const> const&) obj-x86_64-linux-gnu/../src/Interpreters/InterpreterSelectQuery.cpp:509:5
        25 0x21817cbe in DB::InterpreterSelectQuery::InterpreterSelectQuery(std::__1::shared_ptr<DB::IAST> const&, std::__1::shared_ptr<DB::Context const>, DB::SelectQueryOptions const&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&) obj-x86_64-linux-gnu/../src/Interpreters/InterpreterSelectQuery.cpp:161:7
        26 0x21dd0eb5 in std::__1::__unique_if<DB::InterpreterSelectQuery>::__unique_single std::__1::make_unique<DB::InterpreterSelectQuery, std::__1::shared_ptr<DB::IAST> const&, std::__1::shared_ptr<DB::Context>&, DB::SelectQueryOptions&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&>(std::__1::shared_ptr<DB::IAST> const&, std::__1::shared_ptr<DB::Context>&, DB::SelectQueryOptions&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&) obj-x86_64-linux-gnu/../contrib/libcxx/include/memory:2068:32
        27 0x21dd0eb5 in DB::InterpreterSelectWithUnionQuery::buildCurrentChildInterpreter(std::__1::shared_ptr<DB::IAST> const&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&) obj-x86_64-linux-gnu/../src/Interpreters/InterpreterSelectWithUnionQuery.cpp:212:16
        28 0x21dcd0e7 in DB::InterpreterSelectWithUnionQuery::InterpreterSelectWithUnionQuery(std::__1::shared_ptr<DB::IAST> const&, std::__1::shared_ptr<DB::Context const>, DB::SelectQueryOptions const&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&) obj-x86_64-linux-gnu/../src/Interpreters/InterpreterSelectWithUnionQuery.cpp:134:13
        29 0x211afe79 in std::__1::__unique_if<DB::InterpreterSelectWithUnionQuery>::__unique_single std::__1::make_unique<DB::InterpreterSelectWithUnionQuery, std::__1::shared_ptr<DB::IAST>&, std::__1::shared_ptr<DB::Context>&, DB::SelectQueryOptions const&>(std::__1::shared_ptr<DB::IAST>&, std::__1::shared_ptr<DB::Context>&, DB::SelectQueryOptions const&) obj-x86_64-linux-gnu/../contrib/libcxx/include/memory:2068:32
        30 0x211afe79 in DB::InterpreterFactory::get(std::__1::shared_ptr<DB::IAST>&, std::__1::shared_ptr<DB::Context>, DB::SelectQueryOptions const&) obj-x86_64-linux-gnu/../src/Interpreters/InterpreterFactory.cpp:110:16
        31 0x22273f97 in DB::executeQueryImpl(char const*, char const*, std::__1::shared_ptr<DB::Context>, bool, DB::QueryProcessingStage::Enum, bool, DB::ReadBuffer*) obj-x86_64-linux-gnu/../src/Interpreters/executeQuery.cpp:524:28
        32 0x22270ce2 in DB::executeQuery(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::shared_ptr<DB::Context>, bool, DB::QueryProcessingStage::Enum, bool) obj-x86_64-linux-gnu/../src/Interpreters/executeQuery.cpp:913:30
        33 0x23905879 in DB::TCPHandler::runImpl() obj-x86_64-linux-gnu/../src/Server/TCPHandler.cpp:312:24
        34 0x2392b81c in DB::TCPHandler::run() obj-x86_64-linux-gnu/../src/Server/TCPHandler.cpp:1622:9
        35 0x2ab1fd8e in Poco::Net::TCPServerConnection::start() obj-x86_64-linux-gnu/../contrib/poco/Net/src/TCPServerConnection.cpp:43:3
        36 0x2ab20952 in Poco::Net::TCPServerDispatcher::run() obj-x86_64-linux-gnu/../contrib/poco/Net/src/TCPServerDispatcher.cpp:115:20
        37 0x2adfa3f4 in Poco::PooledThread::run() obj-x86_64-linux-gnu/../contrib/poco/Foundation/src/ThreadPool.cpp:199:14
        38 0x2adf4716 in Poco::ThreadImpl::runnableEntry(void*) obj-x86_64-linux-gnu/../contrib/poco/Foundation/src/Thread_POSIX.cpp:345:27
        39 0x7f02e66f2608 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x9608)
        40 0x7f02e6619292 in clone (/lib/x86_64-linux-gnu/libc.so.6+0x122292)

    Address 0x7f0209dd4abf is located in stack of thread T4 (TCPHandler) at offset 447 in frame
        0 0x1c4a2c6f in DB::FunctionCutToFirstSignificantSubdomainCustomImpl<DB::CutToFirstSignificantSubdomainCustom<true>, DB::NameCutToFirstSignificantSubdomainCustom>::executeImpl(std::__1::vector<DB::ColumnWithTypeAndName, std::__1::allocator<DB::ColumnWithTypeAndName> > const&, std::__1::shared_ptr<DB::IDataType const> const&, unsigned long) const (/usr/bin/clickhouse+0x1c4a2c6f)

      This frame has 16 object(s):
        [32, 40) 'ref.tmp.i168'
        [64, 72) 'tmp_data.i.i'
        [96, 104) 'tmp_length.i.i'
        [128, 136) 'domain_end.i.i'
        [160, 216) 'ref.tmp.i132'
        [256, 312) 'ref.tmp.i'
        [352, 360) 'tld_lookup'
        [384, 408) 'ref.tmp'
        [448, 472) 'ref.tmp11' <== Memory access at offset 447 partially underflows this variable
        [512, 536) 'ref.tmp14'
        [576, 632) 'ref.tmp20'
        [672, 696) 'ref.tmp65'
        [736, 760) 'ref.tmp66'
        [800, 824) 'ref.tmp67'
        [864, 888) 'ref.tmp68'
        [928, 952) 'ref.tmp78'
    HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork
          (longjmp and C++ exceptions *are* supported)
    Thread T4 (TCPHandler) created by T0 here:
        0 0xb51940a in pthread_create (/usr/bin/clickhouse+0xb51940a)
        1 0x2adf3a9f in Poco::ThreadImpl::startImpl(Poco::SharedPtr<Poco::Runnable, Poco::ReferenceCounter, Poco::ReleasePolicy<Poco::Runnable> >) obj-x86_64-linux-gnu/../contrib/poco/Foundation/src/Thread_POSIX.cpp:202:6
        2 0x2adf699a in Poco::Thread::start(Poco::Runnable&) obj-x86_64-linux-gnu/../contrib/poco/Foundation/src/Thread.cpp:128:2
        3 0x2adfa998 in Poco::PooledThread::start() obj-x86_64-linux-gnu/../contrib/poco/Foundation/src/ThreadPool.cpp:85:10
        4 0x2adfa998 in Poco::ThreadPool::ThreadPool(int, int, int, int) obj-x86_64-linux-gnu/../contrib/poco/Foundation/src/ThreadPool.cpp:252:12
        5 0xb582c25 in DB::Server::main(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&) obj-x86_64-linux-gnu/../programs/server/Server.cpp:915:22
        6 0x2ab511a5 in Poco::Util::Application::run() obj-x86_64-linux-gnu/../contrib/poco/Util/src/Application.cpp:334:8
        7 0xb56a89c in DB::Server::run() obj-x86_64-linux-gnu/../programs/server/Server.cpp:392:25
        8 0x2ab956f7 in Poco::Util::ServerApplication::run(int, char**) obj-x86_64-linux-gnu/../contrib/poco/Util/src/ServerApplication.cpp:611:9
        9 0xb566519 in mainEntryClickHouseServer(int, char**) obj-x86_64-linux-gnu/../programs/server/Server.cpp:171:20
        10 0xb56224a in main obj-x86_64-linux-gnu/../programs/main.cpp:366:12
        11 0x7f02e651e0b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2)

    SUMMARY: AddressSanitizer: stack-buffer-overflow obj-x86_64-linux-gnu/../src/Common/HashTable/StringHashTable.h:283:21 in auto StringHashTable<StringHashSetSubMaps<Allocator<true, true> > >::dispatch<StringHashTable<StringHashSetSubMaps<Allocator<true, true> > > const, StringRef const&, StringHashTable<StringHashSetSubMaps<Allocator<true, true> > >::FindCallable>(StringHashTable<StringHashSetSubMaps<Allocator<true, true> > > const&, StringRef const&, StringHashTable<StringHashSetSubMaps<Allocator<true, true> > >::FindCallable&&)
    Shadow bytes around the buggy address:
      0x0fe0c13b2900: 00 00 f3 f3 00 00 00 00 00 00 00 00 00 00 00 00
      0x0fe0c13b2910: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
      0x0fe0c13b2920: f1 f1 f1 f1 f8 f2 f2 f2 00 f2 f2 f2 00 f2 f2 f2
      0x0fe0c13b2930: 00 f2 f2 f2 f8 f8 f8 f8 f8 f8 f8 f2 f2 f2 f2 f2
      0x0fe0c13b2940: f8 f8 f8 f8 f8 f8 f8 f2 f2 f2 f2 f2 00 f2 f2 f2
    =>0x0fe0c13b2950: f8 f8 f8 f2 f2 f2 f2[f2]00 00 00 f2 f2 f2 f2 f2
      0x0fe0c13b2960: 00 00 00 f2 f2 f2 f2 f2 f8 f8 f8 f8 f8 f8 f8 f2
      0x0fe0c13b2970: f2 f2 f2 f2 f8 f8 f8 f2 f2 f2 f2 f2 f8 f8 f8 f2
      0x0fe0c13b2980: f2 f2 f2 f2 f8 f8 f8 f2 f2 f2 f2 f2 f8 f8 f8 f2
      0x0fe0c13b2990: f2 f2 f2 f2 f8 f8 f8 f3 f3 f3 f3 f3 00 00 00 00
      0x0fe0c13b29a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    Shadow byte legend (one shadow byte represents 8 application bytes):
      Addressable:           00
      Partially addressable: 01 02 03 04 05 06 07
      Heap left redzone:       fa
      Freed heap region:       fd
      Stack left redzone:      f1
      Stack mid redzone:       f2
      Stack right redzone:     f3
      Stack after return:      f5
      Stack use after scope:   f8
      Global redzone:          f9
      Global init order:       f6
      Poisoned by user:        f7
      Container overflow:      fc
      Array cookie:            ac
      Intra object redzone:    bb
      ASan internal:           fe
      Left alloca redzone:     ca
      Right alloca redzone:    cb
      Shadow gap:              cc
    ==164==ABORTING

  [1]: https://clickhouse-test-reports.s3.yandex.net/26041/42a844546229e56c51a3ec986467ced52e4ed972/functional_stateless_tests_flaky_check_(address)/stderr.log

v2: Replace String with string_view in custom TLD for scalar
v3: use ColumnString::getDataAt()
2021-07-07 10:38:45 +03:00
Vladimir
b46ac3dfd1
Merge pull request #25609 from zxc111/master 2021-07-07 09:36:55 +03:00
Azat Khuzhin
42a8445462 Fix constness of custom TLDs
Before this patch the functions below returns incorrect type for consts,
and hence optimize_skip_unused_shards does not work:

- cutToFirstSignificantSubdomainCustom()
- cutToFirstSignificantSubdomainCustomWithWWW()
- firstSignificantSubdomainCustom()
2021-07-07 01:27:31 +03:00
vdimir
c6e13e6e2e
Add leading zeros in function bin 2021-07-06 15:19:42 +03:00