Skip to content
This repository was archived by the owner on Oct 10, 2025. It is now read-only.

Add index hashing for uint128#6052

Merged
EnyuPan merged 2 commits intomasterfrom
uint128-hash-index
Oct 8, 2025
Merged

Add index hashing for uint128#6052
EnyuPan merged 2 commits intomasterfrom
uint128-hash-index

Conversation

@EnyuPan
Copy link
Contributor

@EnyuPan EnyuPan commented Oct 8, 2025

Description

Add hash index for the UINT128 type and support using it as a primary key.

Contributor agreement

@codecov
Copy link

codecov bot commented Oct 8, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 86.26%. Comparing base (fadb62e) to head (6fcf6ab).
⚠️ Report is 1 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #6052   +/-   ##
=======================================
  Coverage   86.26%   86.26%           
=======================================
  Files        1463     1463           
  Lines       67129    67127    -2     
  Branches     8180     8182    +2     
=======================================
- Hits        57911    57910    -1     
+ Misses       8952     8951    -1     
  Partials      266      266           
Flag Coverage Δ
in-mem 80.85% <ø> (+<0.01%) ⬆️
on-disk 86.35% <ø> (+<0.01%) ⬆️
recovery 86.35% <ø> (-0.01%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@github-actions
Copy link

github-actions bot commented Oct 8, 2025

Benchmark Result

Master commit hash: fadb62e04e64dda738d14e9bd38cd25531b77d08
Branch commit hash: 8cfc9b4a795ba4df3a45058c3aa3798360348056

Query Group Query Name Mean Time - Commit (ms) Mean Time - Master (ms) Diff
join SelectiveTwoHopJoin 42.64 53.66 -11.02 (-20.54%)
ldbc_snb_is q32 5.31 4.16 1.15 (27.73%)
ldbc_snb_is q34 3.36 1.19 2.17 (182.62%)
recursive_join recursive-join-sparse 7.15 11.79 -4.65 (-39.41%)
Other queries
Query Group Query Name Mean Time - Commit (ms) Mean Time - Master (ms) Diff
aggregation q24 706.15 707.06 -0.91 (-0.13%)
aggregation q28 7775.47 7757.43 18.05 (0.23%)
filter q14 60.22 61.60 -1.38 (-2.24%)
filter q15 59.57 62.15 -2.57 (-4.14%)
filter q16 274.34 273.30 1.04 (0.38%)
filter q17 385.17 384.29 0.88 (0.23%)
filter q18 1829.57 1846.05 -16.48 (-0.89%)
filter zonemap-node 27.89 27.68 0.21 (0.76%)
filter zonemap-node-lhs-cast 28.30 27.87 0.43 (1.54%)
filter zonemap-node-null 27.80 27.72 0.08 (0.28%)
filter zonemap-rel 4973.35 4967.48 5.87 (0.12%)
fixed_size_expr_evaluator q07 613.84 613.82 0.02 (0.00%)
fixed_size_expr_evaluator q08 896.02 904.07 -8.05 (-0.89%)
fixed_size_expr_evaluator q09 899.48 900.10 -0.61 (-0.07%)
fixed_size_expr_evaluator q10 189.13 189.30 -0.16 (-0.09%)
fixed_size_expr_evaluator q11 187.58 190.52 -2.95 (-1.55%)
fixed_size_expr_evaluator q12 167.66 168.75 -1.09 (-0.65%)
fixed_size_expr_evaluator q13 1496.77 1501.36 -4.59 (-0.31%)
fixed_size_seq_scan q23 46.45 46.84 -0.39 (-0.83%)
join q29 787.75 805.26 -17.51 (-2.17%)
join q30 1661.32 1892.23 -230.91 (-12.20%)
join q31 5.48 6.78 -1.30 (-19.19%)
ldbc_snb_ic q35 12.26 12.55 -0.30 (-2.35%)
ldbc_snb_ic q36 100.50 96.98 3.52 (3.63%)
ldbc_snb_is q33 12.08 12.10 -0.02 (-0.15%)
limit push-down-limit-into-distinct 2039.14 2001.92 37.22 (1.86%)
multi-rel multi-rel-large-scan 1933.14 1978.32 -45.19 (-2.28%)
multi-rel multi-rel-lookup 9.86 10.24 -0.38 (-3.69%)
multi-rel multi-rel-small-scan 226.74 234.97 -8.23 (-3.50%)
order_by q25 63.95 66.40 -2.45 (-3.69%)
order_by q26 398.31 383.31 15.00 (3.91%)
order_by q27 1293.14 1296.48 -3.34 (-0.26%)
recursive_join recursive-join-bidirection 388.96 400.85 -11.89 (-2.97%)
recursive_join recursive-join-dense 7068.42 6985.62 82.80 (1.19%)
recursive_join recursive-join-path 23721.35 23670.18 51.16 (0.22%)
recursive_join recursive-join-trail 7054.26 6976.77 77.49 (1.11%)
scan_after_filter q01 109.48 108.65 0.83 (0.77%)
scan_after_filter q02 94.39 95.82 -1.43 (-1.49%)
shortest_path_ldbc100 q37 220.50 222.87 -2.37 (-1.07%)
shortest_path_ldbc100 q38 340.49 361.15 -20.66 (-5.72%)
shortest_path_ldbc100 q39 74.60 84.98 -10.38 (-12.21%)
shortest_path_ldbc100 q40 493.57 532.02 -38.46 (-7.23%)
var_size_expr_evaluator q03 2123.69 2096.86 26.83 (1.28%)
var_size_expr_evaluator q04 2136.11 2127.24 8.87 (0.42%)
var_size_expr_evaluator q05 2630.60 2626.71 3.90 (0.15%)
var_size_expr_evaluator q06 1268.53 1253.23 15.29 (1.22%)
var_size_seq_scan q19 1368.51 1347.28 21.23 (1.58%)
var_size_seq_scan q20 2092.02 2105.82 -13.80 (-0.66%)
var_size_seq_scan q21 2095.20 2077.20 18.00 (0.87%)
var_size_seq_scan q22 107.64 109.82 -2.18 (-1.99%)

-STATEMENT CREATE (n8: tab {uint128key: NULL, value: 1}) return n8.*;
---- error
Runtime exception: Found NULL, which violates the non-null constraint of the primary key column.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you add some more statements to check that matching by primary key works?

@EnyuPan EnyuPan marked this pull request as ready for review October 8, 2025 21:34
@EnyuPan EnyuPan merged commit 23551e3 into master Oct 8, 2025
27 of 31 checks passed
@EnyuPan EnyuPan deleted the uint128-hash-index branch October 8, 2025 21:49
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants