Skip to content

Commit a3f0e87

Browse files
authored
Merge branch 'master' into alex-dc
2 parents 73fe339 + 67ae7f6 commit a3f0e87

File tree

957 files changed

+22709
-5675
lines changed

Some content is hidden

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

957 files changed

+22709
-5675
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: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -47,14 +47,20 @@ 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-
* [Jakarta Meetup with AWS](https://www.meetup.com/clickhouse-indonesia-user-group/events/306973747/) - April 22, 2025
51-
* [Denver Meetup](https://www.meetup.com/clickhouse-denver-user-group/events/306934991/) - April 23, 2025
5250
* [Austin Meetup](https://www.meetup.com/clickhouse-austin-user-group/events/307289908) - May 13, 2025
5351
* [London Meetup](https://www.meetup.com/clickhouse-london-user-group/events/306047172/) - May 14, 2025
5452
* [Istanbul Meetup](https://www.meetup.com/clickhouse-turkiye-meetup-group/events/306978337/) - May 15, 2025
5553
* [Shenzhen Meetup](https://www.huodongxing.com/event/7803892350511) - May 17, 2025
54+
* [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+
* [Washington DC Meetup](https://www.meetup.com/clickhouse-dc-user-group/events/307622954/) - June 12, 2025
57+
* [Atlanta Meetup](https://www.meetup.com/clickhouse-atlanta-meetup-group/events/307627590/) - July 8, 2025
58+
* [New York Meetup](https://www.meetup.com/clickhouse-new-york-user-group/events/307627675/) - July 15, 2025
59+
5660

5761
Recent meetups
62+
* [Denver Meetup](https://www.meetup.com/clickhouse-denver-user-group/events/306934991/) - April 23, 2025
63+
* [Jakarta Meetup with AWS](https://www.meetup.com/clickhouse-indonesia-user-group/events/306973747/) - April 22, 2025
5864
* [Kuala Lumper Meetup with CNCF](https://www.meetup.com/clickhouse-malaysia-meetup-group/events/306697678/) - April 16, 2025
5965
* [Tokyo Meetup with Confluent](https://www.meetup.com/clickhouse-tokyo-user-group/events/306832118/) - April 15, 2025
6066
* [Ho Chi Minh Meetup with AWS & Infinite Lambda](https://www.meetup.com/clickhouse-vietnam-meetup-group/events/306810105/) - April 12, 2025
@@ -73,12 +79,7 @@ Recent meetups
7379
* [Seattle Meetup](https://www.meetup.com/clickhouse-seattle-user-group/events/305916325) - March 5, 2025
7480
* [Paris Meetup](https://www.meetup.com/clickhouse-france-user-group/events/305792997) - March 4, 2025
7581
* [Shanghai Meetup](https://www.huodongxing.com/event/3794544969111?td=3894807410019) - March 1, 2025
76-
* [Singapore Meetup](https://www.meetup.com/clickhouse-singapore-meetup-group/events/305917892/) - Feb 25, 2025
77-
* [Los Angeles Meetup (with DevOpsDays)](https://www.meetup.com/clickhouse-los-angeles-user-group/events/305952193) - Feb 20, 2025
78-
* [Wellington Meetup](https://www.meetup.com/clickhouse-wellington-user-group/events/305666164/) - Feb 20, 2025
79-
* [Auckland Meetup](https://www.meetup.com/clickhouse-auckland-meetup-group/events/305666103/) - Feb 19, 2025
80-
* [Dubai Meetup](https://www.meetup.com/clickhouse-dubai-meetup-group/events/303096989/) - Feb 10, 2025
81-
* [Bangalore Meetup](https://www.meetup.com/clickhouse-bangalore-user-group/events/305497951/) - Feb 8, 2025
82+
8283

8384

8485

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) \

0 commit comments

Comments
 (0)