Skip to content

Commit ab302b8

Browse files
authored
Merge branch 'ClickHouse:master' into mapContainsValuesLike
2 parents 8badc78 + 14e1cca commit ab302b8

File tree

623 files changed

+14576
-4013
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

623 files changed

+14576
-4013
lines changed

.github/workflows/create_release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ jobs:
149149
git diff HEAD
150150
- name: Create ChangeLog PR
151151
if: ${{ inputs.type == 'patch' && ! inputs.dry-run && ! inputs.only-repo && ! inputs.only-docker }}
152-
uses: peter-evans/create-pull-request@v6
152+
uses: peter-evans/create-pull-request@c5a7806660adbe173f04e3e038b0ccdcd758773c # v6
153153
with:
154154
author: "robot-clickhouse <[email protected]>"
155155
token: ${{ secrets.ROBOT_CLICKHOUSE_COMMIT_TOKEN }}

.github/workflows/master.yml

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1611,6 +1611,44 @@ jobs:
16111611
python3 -m praktika run 'Stateless tests (release, ParallelReplicas, s3 storage)' --workflow "MasterCI" --ci |& tee ./ci/tmp/job.log
16121612
fi
16131613
1614+
stateless_tests_debug_asyncinsert_s3_storage:
1615+
runs-on: [self-hosted, func-tester]
1616+
needs: [config_workflow, dockers_build_amd_and_merge, build_amd_debug]
1617+
if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChkZWJ1ZywgQXN5bmNJbnNlcnQsIHMzIHN0b3JhZ2Up') }}
1618+
name: "Stateless tests (debug, AsyncInsert, s3 storage)"
1619+
outputs:
1620+
data: ${{ steps.run.outputs.DATA }}
1621+
steps:
1622+
- name: Checkout code
1623+
uses: actions/checkout@v4
1624+
with:
1625+
ref: ${{ env.CHECKOUT_REF }}
1626+
1627+
- name: Prepare env script
1628+
run: |
1629+
rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
1630+
mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
1631+
cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
1632+
export PYTHONPATH=./ci:.:
1633+
cat > ./ci/tmp/workflow_config_masterci.json << 'EOF'
1634+
${{ needs.config_workflow.outputs.data }}
1635+
EOF
1636+
cat > ./ci/tmp/workflow_status.json << 'EOF'
1637+
${{ toJson(needs) }}
1638+
EOF
1639+
ENV_SETUP_SCRIPT_EOF
1640+
1641+
- name: Run
1642+
id: run
1643+
run: |
1644+
. ./ci/tmp/praktika_setup_env.sh
1645+
set -o pipefail
1646+
if command -v ts &> /dev/null; then
1647+
python3 -m praktika run 'Stateless tests (debug, AsyncInsert, s3 storage)' --workflow "MasterCI" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
1648+
else
1649+
python3 -m praktika run 'Stateless tests (debug, AsyncInsert, s3 storage)' --workflow "MasterCI" --ci |& tee ./ci/tmp/job.log
1650+
fi
1651+
16141652
stateless_tests_debug:
16151653
runs-on: [self-hosted, func-tester]
16161654
needs: [config_workflow, dockers_build_amd_and_merge, build_amd_debug]

.github/workflows/pull_request.yml

Lines changed: 39 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1765,6 +1765,44 @@ jobs:
17651765
python3 -m praktika run 'Stateless tests (release, ParallelReplicas, s3 storage)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
17661766
fi
17671767
1768+
stateless_tests_debug_asyncinsert_s3_storage:
1769+
runs-on: [self-hosted, func-tester]
1770+
needs: [config_workflow, dockers_build_amd_and_merge, build_amd_debug]
1771+
if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChkZWJ1ZywgQXN5bmNJbnNlcnQsIHMzIHN0b3JhZ2Up') }}
1772+
name: "Stateless tests (debug, AsyncInsert, s3 storage)"
1773+
outputs:
1774+
data: ${{ steps.run.outputs.DATA }}
1775+
steps:
1776+
- name: Checkout code
1777+
uses: actions/checkout@v4
1778+
with:
1779+
ref: ${{ env.CHECKOUT_REF }}
1780+
1781+
- name: Prepare env script
1782+
run: |
1783+
rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
1784+
mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
1785+
cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
1786+
export PYTHONPATH=./ci:.:
1787+
cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
1788+
${{ needs.config_workflow.outputs.data }}
1789+
EOF
1790+
cat > ./ci/tmp/workflow_status.json << 'EOF'
1791+
${{ toJson(needs) }}
1792+
EOF
1793+
ENV_SETUP_SCRIPT_EOF
1794+
1795+
- name: Run
1796+
id: run
1797+
run: |
1798+
. ./ci/tmp/praktika_setup_env.sh
1799+
set -o pipefail
1800+
if command -v ts &> /dev/null; then
1801+
python3 -m praktika run 'Stateless tests (debug, AsyncInsert, s3 storage)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
1802+
else
1803+
python3 -m praktika run 'Stateless tests (debug, AsyncInsert, s3 storage)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
1804+
fi
1805+
17681806
stateless_tests_debug:
17691807
runs-on: [self-hosted, func-tester]
17701808
needs: [config_workflow, dockers_build_amd_and_merge, build_amd_debug]
@@ -4351,7 +4389,7 @@ jobs:
43514389
43524390
finish_workflow:
43534391
runs-on: [self-hosted, style-checker-aarch64]
4354-
needs: [config_workflow, dockers_build_arm, dockers_build_amd_and_merge, style_check, docs_check, fast_test, build_amd_tidy, build_arm_tidy, build_amd_debug, build_amd_release, build_amd_asan, build_amd_tsan, build_amd_msan, build_amd_ubsan, build_amd_binary, build_arm_release, build_arm_asan, build_arm_coverage, build_arm_binary, build_amd_darwin, build_arm_darwin, build_arm_v80compat, build_amd_freebsd, build_ppc64le, build_amd_compat, build_amd_musl, build_riscv64, build_s390x, build_loongarch64, build_fuzzers, unit_tests_asan, unit_tests_tsan, unit_tests_msan, unit_tests_ubsan, docker_server_image, docker_keeper_image, install_packages_release, install_packages_aarch64, compatibility_check_release, compatibility_check_aarch64, stateless_tests_asan_distributed_plan_1_2, stateless_tests_asan_distributed_plan_2_2, stateless_tests_release, stateless_tests_release_old_analyzer_s3_databasereplicated_1_2, stateless_tests_release_old_analyzer_s3_databasereplicated_2_2, stateless_tests_release_parallelreplicas_s3_storage, stateless_tests_debug, stateless_tests_tsan_1_3, stateless_tests_tsan_2_3, stateless_tests_tsan_3_3, stateless_tests_msan_1_4, stateless_tests_msan_2_4, stateless_tests_msan_3_4, stateless_tests_msan_4_4, stateless_tests_ubsan, stateless_tests_debug_distributed_plan_s3_storage, stateless_tests_tsan_s3_storage_1_3, stateless_tests_tsan_s3_storage_2_3, stateless_tests_tsan_s3_storage_3_3, stateless_tests_aarch64, stateless_tests_coverage_1_6, stateless_tests_coverage_2_6, stateless_tests_coverage_3_6, stateless_tests_coverage_4_6, stateless_tests_coverage_5_6, stateless_tests_coverage_6_6, bugfix_validation, stateless_tests_asan_flaky_check, integration_tests_asan_old_analyzer_1_6, integration_tests_asan_old_analyzer_2_6, integration_tests_asan_old_analyzer_3_6, integration_tests_asan_old_analyzer_4_6, integration_tests_asan_old_analyzer_5_6, integration_tests_asan_old_analyzer_6_6, integration_tests_release_1_4, integration_tests_release_2_4, integration_tests_release_3_4, integration_tests_release_4_4, integration_tests_aarch64_distributed_plan_1_4, integration_tests_aarch64_distributed_plan_2_4, integration_tests_aarch64_distributed_plan_3_4, integration_tests_aarch64_distributed_plan_4_4, integration_tests_tsan_1_6, integration_tests_tsan_2_6, integration_tests_tsan_3_6, integration_tests_tsan_4_6, integration_tests_tsan_5_6, integration_tests_tsan_6_6, integration_tests_asan_flaky_check, stress_test_amd_debug, stress_test_amd_tsan, stress_test_arm_asan, stress_test_amd_ubsan, stress_test_amd_msan, upgrade_check_arm_asan, upgrade_check_amd_tsan, upgrade_check_amd_msan, upgrade_check_amd_debug, ast_fuzzer_amd_debug, ast_fuzzer_arm_asan, ast_fuzzer_amd_tsan, ast_fuzzer_amd_msan, ast_fuzzer_amd_ubsan, buzzhouse_amd_debug, buzzhouse_arm_asan, buzzhouse_amd_tsan, buzzhouse_amd_msan, buzzhouse_amd_ubsan, performance_comparison_amd_release_master_head_1_3, performance_comparison_amd_release_master_head_2_3, performance_comparison_amd_release_master_head_3_3, performance_comparison_arm_release_master_head_1_3, performance_comparison_arm_release_master_head_2_3, performance_comparison_arm_release_master_head_3_3]
4392+
needs: [config_workflow, dockers_build_arm, dockers_build_amd_and_merge, style_check, docs_check, fast_test, build_amd_tidy, build_arm_tidy, build_amd_debug, build_amd_release, build_amd_asan, build_amd_tsan, build_amd_msan, build_amd_ubsan, build_amd_binary, build_arm_release, build_arm_asan, build_arm_coverage, build_arm_binary, build_amd_darwin, build_arm_darwin, build_arm_v80compat, build_amd_freebsd, build_ppc64le, build_amd_compat, build_amd_musl, build_riscv64, build_s390x, build_loongarch64, build_fuzzers, unit_tests_asan, unit_tests_tsan, unit_tests_msan, unit_tests_ubsan, docker_server_image, docker_keeper_image, install_packages_release, install_packages_aarch64, compatibility_check_release, compatibility_check_aarch64, stateless_tests_asan_distributed_plan_1_2, stateless_tests_asan_distributed_plan_2_2, stateless_tests_release, stateless_tests_release_old_analyzer_s3_databasereplicated_1_2, stateless_tests_release_old_analyzer_s3_databasereplicated_2_2, stateless_tests_release_parallelreplicas_s3_storage, stateless_tests_debug_asyncinsert_s3_storage, stateless_tests_debug, stateless_tests_tsan_1_3, stateless_tests_tsan_2_3, stateless_tests_tsan_3_3, stateless_tests_msan_1_4, stateless_tests_msan_2_4, stateless_tests_msan_3_4, stateless_tests_msan_4_4, stateless_tests_ubsan, stateless_tests_debug_distributed_plan_s3_storage, stateless_tests_tsan_s3_storage_1_3, stateless_tests_tsan_s3_storage_2_3, stateless_tests_tsan_s3_storage_3_3, stateless_tests_aarch64, stateless_tests_coverage_1_6, stateless_tests_coverage_2_6, stateless_tests_coverage_3_6, stateless_tests_coverage_4_6, stateless_tests_coverage_5_6, stateless_tests_coverage_6_6, bugfix_validation, stateless_tests_asan_flaky_check, integration_tests_asan_old_analyzer_1_6, integration_tests_asan_old_analyzer_2_6, integration_tests_asan_old_analyzer_3_6, integration_tests_asan_old_analyzer_4_6, integration_tests_asan_old_analyzer_5_6, integration_tests_asan_old_analyzer_6_6, integration_tests_release_1_4, integration_tests_release_2_4, integration_tests_release_3_4, integration_tests_release_4_4, integration_tests_aarch64_distributed_plan_1_4, integration_tests_aarch64_distributed_plan_2_4, integration_tests_aarch64_distributed_plan_3_4, integration_tests_aarch64_distributed_plan_4_4, integration_tests_tsan_1_6, integration_tests_tsan_2_6, integration_tests_tsan_3_6, integration_tests_tsan_4_6, integration_tests_tsan_5_6, integration_tests_tsan_6_6, integration_tests_asan_flaky_check, stress_test_amd_debug, stress_test_amd_tsan, stress_test_arm_asan, stress_test_amd_ubsan, stress_test_amd_msan, upgrade_check_arm_asan, upgrade_check_amd_tsan, upgrade_check_amd_msan, upgrade_check_amd_debug, ast_fuzzer_amd_debug, ast_fuzzer_arm_asan, ast_fuzzer_amd_tsan, ast_fuzzer_amd_msan, ast_fuzzer_amd_ubsan, buzzhouse_amd_debug, buzzhouse_arm_asan, buzzhouse_amd_tsan, buzzhouse_amd_msan, buzzhouse_amd_ubsan, performance_comparison_amd_release_master_head_1_3, performance_comparison_amd_release_master_head_2_3, performance_comparison_amd_release_master_head_3_3, performance_comparison_arm_release_master_head_1_3, performance_comparison_arm_release_master_head_2_3, performance_comparison_arm_release_master_head_3_3]
43554393
if: ${{ !cancelled() }}
43564394
name: "Finish Workflow"
43574395
outputs:

CMakeLists.txt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -613,9 +613,11 @@ endif()
613613

614614
include (cmake/sanitize_targets.cmake)
615615

616-
if (COMPILER_CACHE STREQUAL "chcache")
616+
if (COMPILER_CACHE STREQUAL "chcache" AND CHCACHE_EXECUTABLE_PATH STREQUAL "")
617+
message(STATUS "Adding chcache as dependency to all other targets")
617618
get_all_targets(all_targets)
618-
set (chcache_targets _cargo-build_chcache cargo-build_chcache cargo-prebuild_chcache)
619+
set(chcache_targets _cargo-build_chcache cargo-build_chcache cargo-prebuild_chcache)
620+
619621
foreach(target ${all_targets})
620622
if (target IN_LIST chcache_targets)
621623
continue()

README.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ curl https://clickhouse.com/ | sh
3737
Every month we get together with the community (users, contributors, customers, those interested in learning more about ClickHouse) to discuss what is coming in the latest release.
3838
If you are interested in sharing what you've built on ClickHouse, let us know.
3939

40-
* [v25.4 Community & Release Call](https://clickhouse.com/company/events/v25-4-community-release-call) - April 22
40+
* [v25.5 Community & Release Call](https://clickhouse.com/company/events/v25-5-community-release-call) - May 22
4141

4242
## Upcoming Events
4343

@@ -47,17 +47,21 @@ Please feel free to reach out to tyler `<at>` clickhouse `<dot>` com.
4747
You can also peruse [ClickHouse Events](https://clickhouse.com/company/news-events) for a list of all upcoming trainings, meetups, speaking engagements, etc.
4848

4949
Upcoming meetups
50-
* [Austin Meetup](https://www.meetup.com/clickhouse-austin-user-group/events/307289908) - May 13, 2025
5150
* [London Meetup](https://www.meetup.com/clickhouse-london-user-group/events/306047172/) - May 14, 2025
5251
* [Istanbul Meetup](https://www.meetup.com/clickhouse-turkiye-meetup-group/events/306978337/) - May 15, 2025
5352
* [Shenzhen Meetup](https://www.huodongxing.com/event/7803892350511) - May 17, 2025
53+
* [Belgium Meetup](https://www.meetup.com/clickhouse-belgium-user-group/events/307818346/) - May 20, 2025
5454
* [Seattle Meetup](https://www.meetup.com/clickhouse-seattle-user-group/events/307622716/) - May 20, 2025
55+
* [Tokyo Meetup](https://www.meetup.com/clickhouse-tokyo-user-group/events/307689645/) - June 5, 2025
56+
* [Cyprus Meetup](https://www.meetup.com/clickhouse-cyprus-user-group/events/307819236) - June 10, 2025
5557
* [Washington DC Meetup](https://www.meetup.com/clickhouse-dc-user-group/events/307622954/) - June 12, 2025
58+
* [Tel Aviv Meetup](https://www.meetup.com/clickhouse-meetup-israel/events/307820741/) - June 17, 2025
5659
* [Atlanta Meetup](https://www.meetup.com/clickhouse-atlanta-meetup-group/events/307627590/) - July 8, 2025
5760
* [New York Meetup](https://www.meetup.com/clickhouse-new-york-user-group/events/307627675/) - July 15, 2025
5861

5962

6063
Recent meetups
64+
* [Austin Meetup](https://www.meetup.com/clickhouse-austin-user-group/events/307289908) - May 13, 2025
6165
* [Denver Meetup](https://www.meetup.com/clickhouse-denver-user-group/events/306934991/) - April 23, 2025
6266
* [Jakarta Meetup with AWS](https://www.meetup.com/clickhouse-indonesia-user-group/events/306973747/) - April 22, 2025
6367
* [Kuala Lumper Meetup with CNCF](https://www.meetup.com/clickhouse-malaysia-meetup-group/events/306697678/) - April 16, 2025

base/base/Decimal.h

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ namespace DB
1010
{
1111
template <class> struct Decimal;
1212
class DateTime64;
13+
class Time64;
1314

1415
#define FOR_EACH_UNDERLYING_DECIMAL_TYPE(M) \
1516
M(Int32) \
@@ -142,6 +143,16 @@ class DateTime64 : public Decimal64
142143

143144
constexpr DateTime64(const Base & v): Base(v) {} // NOLINT(google-explicit-constructor)
144145
};
146+
147+
class Time64 : public Decimal64
148+
{
149+
public:
150+
using Base = Decimal64;
151+
using Base::Base;
152+
using NativeType = Base::NativeType;
153+
154+
constexpr Time64(const Base & v): Base(v) {} // NOLINT(google-explicit-constructor)
155+
};
145156
}
146157

147158
constexpr UInt64 max_uint_mask = std::numeric_limits<UInt64>::max();
@@ -173,6 +184,15 @@ namespace std
173184
}
174185
};
175186

187+
template <>
188+
struct hash<DB::Time64>
189+
{
190+
size_t operator()(const DB::Time64 & x) const
191+
{
192+
return std::hash<DB::Time64::NativeType>()(x);
193+
}
194+
};
195+
176196
template <>
177197
struct hash<DB::Decimal256>
178198
{

base/base/Decimal_fwd.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,16 @@ using Decimal128 = Decimal<Int128>;
2727
using Decimal256 = Decimal<Int256>;
2828

2929
class DateTime64;
30+
class Time64;
3031

3132
template <class T>
3233
concept is_decimal =
3334
std::is_same_v<T, Decimal32>
3435
|| std::is_same_v<T, Decimal64>
3536
|| std::is_same_v<T, Decimal128>
3637
|| std::is_same_v<T, Decimal256>
37-
|| std::is_same_v<T, DateTime64>;
38+
|| std::is_same_v<T, DateTime64>
39+
|| std::is_same_v<T, Time64>;
3840

3941
template <class T>
4042
concept is_over_big_int =

base/base/TypeName.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ TN_MAP(Decimal64)
4444
TN_MAP(Decimal128)
4545
TN_MAP(Decimal256)
4646
TN_MAP(DateTime64)
47+
TN_MAP(Time64)
4748
TN_MAP(Array)
4849
TN_MAP(Tuple)
4950
TN_MAP(Map)

base/base/extended_types.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ template <typename T> concept is_floating_point =
7474
M(DataTypeDate) \
7575
M(DataTypeDate32) \
7676
M(DataTypeDateTime) \
77+
M(DataTypeTime) \
7778
M(DataTypeInt8) \
7879
M(DataTypeUInt8) \
7980
M(DataTypeInt16) \
@@ -94,6 +95,7 @@ template <typename T> concept is_floating_point =
9495
M(DataTypeDate, X) \
9596
M(DataTypeDate32, X) \
9697
M(DataTypeDateTime, X) \
98+
M(DataTypeTime, X) \
9799
M(DataTypeInt8, X) \
98100
M(DataTypeUInt8, X) \
99101
M(DataTypeInt16, X) \

base/poco/Foundation/src/URI.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -690,7 +690,7 @@ void URI::encodePath(std::string & encodedStr) const
690690
if (_enable_url_encoding)
691691
encode(_path, RESERVED_PATH, encodedStr);
692692
else
693-
encodedStr = _path;
693+
encodedStr = encodedStr + _path;
694694
}
695695

696696
void URI::decodePath(const std::string & encodedStr)

0 commit comments

Comments
 (0)