Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement Predicate functions #4109

Merged
merged 9 commits into from
Aug 23, 2024
Merged

Implement Predicate functions #4109

merged 9 commits into from
Aug 23, 2024

Conversation

acquamarin
Copy link
Collaborator

@acquamarin acquamarin commented Aug 20, 2024

Description

This PR implements the following predicate functions:

Function Description
all() returns true if the predicate holds for all elements in the given list.
any() returns true if the predicate holds for at least one element in the given list.
none() returns true if the predicate does not hold for any element in the given list.
single() returns true if the predicate holds for exactly one of the elements in the given list.

@acquamarin acquamarin changed the title Predicate Implement Predicate functions Aug 20, 2024
Copy link

Benchmark Result

Master commit hash: e76f9436587ffe61b10ce147fcd7e892420b20ac
Branch commit hash: 7ffcea62f4f2fe5c7d858ef80c0bb91331444111

Query Group Query Name Mean Time - Commit (ms) Mean Time - Master (ms) Diff
aggregation q24 754.91 674.29 80.62 (11.96%)
aggregation q28 11643.89 11774.66 -130.77 (-1.11%)
filter q14 150.41 152.05 -1.63 (-1.07%)
filter q15 153.25 150.94 2.32 (1.53%)
filter q16 336.38 331.63 4.76 (1.43%)
filter q17 473.37 472.36 1.02 (0.22%)
filter q18 1943.53 1880.61 62.92 (3.35%)
fixed_size_expr_evaluator q07 566.08 562.66 3.42 (0.61%)
fixed_size_expr_evaluator q08 783.08 771.77 11.31 (1.47%)
fixed_size_expr_evaluator q09 775.32 771.53 3.78 (0.49%)
fixed_size_expr_evaluator q10 269.72 266.69 3.03 (1.14%)
fixed_size_expr_evaluator q11 265.56 260.66 4.90 (1.88%)
fixed_size_expr_evaluator q12 261.39 258.35 3.05 (1.18%)
fixed_size_expr_evaluator q13 1499.65 1486.41 13.24 (0.89%)
fixed_size_seq_scan q23 149.06 143.77 5.29 (3.68%)
join q31 12.76 13.26 -0.49 (-3.71%)
ldbc_snb_ic q35 753.18 783.25 -30.06 (-3.84%)
ldbc_snb_ic q36 45.59 46.06 -0.47 (-1.02%)
ldbc_snb_is q32 10.71 10.65 0.06 (0.55%)
ldbc_snb_is q33 18.63 19.22 -0.60 (-3.10%)
ldbc_snb_is q34 8.54 9.03 -0.49 (-5.41%)
multi-rel multi-rel-large-scan 2784.96 2777.32 7.64 (0.27%)
multi-rel multi-rel-lookup 57.60 48.41 9.19 (18.99%)
multi-rel multi-rel-small-scan 52.28 50.50 1.79 (3.54%)
order_by q25 157.19 158.44 -1.26 (-0.79%)
order_by q26 471.61 483.32 -11.71 (-2.42%)
order_by q27 1439.21 1420.47 18.74 (1.32%)
scan_after_filter q01 200.96 197.17 3.79 (1.92%)
scan_after_filter q02 187.45 187.71 -0.26 (-0.14%)
shortest_path_ldbc100 q39 96.67 93.02 3.65 (3.93%)
var_size_expr_evaluator q03 2101.73 2081.97 19.76 (0.95%)
var_size_expr_evaluator q04 2244.96 2199.58 45.38 (2.06%)
var_size_expr_evaluator q05 2633.71 2740.26 -106.55 (-3.89%)
var_size_expr_evaluator q06 1408.24 1386.71 21.53 (1.55%)
var_size_seq_scan q19 1499.03 1474.07 24.96 (1.69%)
var_size_seq_scan q20 3143.74 3198.15 -54.41 (-1.70%)
var_size_seq_scan q21 2431.55 2418.20 13.35 (0.55%)
var_size_seq_scan q22 135.73 131.66 4.07 (3.09%)

@@ -214,6 +218,8 @@ WRITE : ( 'W' | 'w' ) ( 'R' | 'r' ) ( 'I' | 'i' ) ( 'T' | 't' ) ( 'E' | 'e' ) ;

XOR : ( 'X' | 'x' ) ( 'O' | 'o' ) ( 'R' | 'r' ) ;

SINGLE : ( 'S' | 's' ) ( 'I' | 'i' ) ( 'N' | 'n' ) ( 'G' | 'g' ) ( 'L' | 'l' ) ( 'E' | 'e' ) ;
Copy link
Contributor

Choose a reason for hiding this comment

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

We should make them non-reserved keywords right?

Copy link

Benchmark Result

Master commit hash: c169786e597dbf6921094956ce63786d8a9381f9
Branch commit hash: bd4fa81933fc0c89b5227f8ae234cc3435cce78b

Query Group Query Name Mean Time - Commit (ms)
aggregation q24 679.53
aggregation q28 11988.13
filter q14 160.39
filter q15 161.47
filter q16 353.25
filter q17 480.80
filter q18 1946.61
fixed_size_expr_evaluator q07 570.53
fixed_size_expr_evaluator q08 782.49
fixed_size_expr_evaluator q09 780.76
fixed_size_expr_evaluator q10 274.33
fixed_size_expr_evaluator q11 269.33
fixed_size_expr_evaluator q12 266.19
fixed_size_expr_evaluator q13 1510.93
fixed_size_seq_scan q23 150.21
join q31 13.07
ldbc_snb_ic q35 763.15
ldbc_snb_ic q36 46.67
ldbc_snb_is q32 10.00
ldbc_snb_is q33 17.06
ldbc_snb_is q34 8.15
multi-rel multi-rel-large-scan 3200.61
multi-rel multi-rel-lookup 73.23
multi-rel multi-rel-small-scan 55.89
order_by q25 164.43
order_by q26 483.56
order_by q27 1428.96
scan_after_filter q01 207.41
scan_after_filter q02 194.43
shortest_path_ldbc100 q39 93.73
var_size_expr_evaluator q03 2079.23
var_size_expr_evaluator q04 2228.08
var_size_expr_evaluator q05 2563.29
var_size_expr_evaluator q06 1483.08
var_size_seq_scan q19 1486.26
var_size_seq_scan q20 3192.19
var_size_seq_scan q21 2466.16
var_size_seq_scan q22 134.28

Copy link

codecov bot commented Aug 23, 2024

Codecov Report

Attention: Patch coverage is 98.29060% with 2 lines in your changes missing coverage. Please review.

Project coverage is 84.16%. Comparing base (c169786) to head (2b51181).
Report is 1 commits behind head on master.

Files Patch % Lines
src/function/list/list_transform.cpp 93.33% 1 Missing ⚠️
...lude/parser/expression/parsed_expression_visitor.h 0.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #4109      +/-   ##
==========================================
+ Coverage   84.14%   84.16%   +0.02%     
==========================================
  Files        1316     1321       +5     
  Lines       51860    51957      +97     
  Branches     7189     7208      +19     
==========================================
+ Hits        43636    43731      +95     
- Misses       8069     8071       +2     
  Partials      155      155              

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

@acquamarin acquamarin merged commit ee3816a into master Aug 23, 2024
23 checks passed
@acquamarin acquamarin deleted the predicate branch August 23, 2024 08:41
ted-wq-x pushed a commit to ted-wq-x/kuzu that referenced this pull request Nov 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants