Allow ValueSet expansion into a discrete set for Bloom filtering#9868
Allow ValueSet expansion into a discrete set for Bloom filtering#9868findepi merged 3 commits intotrinodb:masterfrom
Conversation
e576072 to
937bdf5
Compare
plugin/trino-hive/src/main/java/io/trino/plugin/hive/orc/OrcReaderConfig.java
Outdated
Show resolved
Hide resolved
plugin/trino-hive/src/main/java/io/trino/plugin/hive/HiveSessionProperties.java
Outdated
Show resolved
Hide resolved
|
Wonder whether user(s) of |
937bdf5 to
d425c2c
Compare
IIUC, it has a single usage here: I think it should be OK to try range expansion here as well, but we need to apply a reasonable limit - maybe reuse/rename |
lib/trino-orc/src/main/java/io/trino/orc/TupleDomainOrcPredicate.java
Outdated
Show resolved
Hide resolved
In the current code, we use |
|
IIUC, it may help if we use an inequality predicate (e.g. trino/plugin/trino-hive/src/main/java/io/trino/plugin/hive/HiveMetadata.java Lines 2501 to 2517 in 1b5db4a |
core/trino-spi/src/test/java/io/trino/spi/predicate/TestValueSet.java
Outdated
Show resolved
Hide resolved
lib/trino-orc/src/main/java/io/trino/orc/TupleDomainOrcPredicate.java
Outdated
Show resolved
Hide resolved
c9fd6b7 to
27a756c
Compare
|
Many thanks for the review! |
|
I changed |
Can we remove the new config altogether and just derive the limit from existing compaction threshold config ? |
27a756c to
1edc70f
Compare
Sounds good - this indeed simplifies 1edc70f significantly :) |
lib/trino-orc/src/main/java/io/trino/orc/TupleDomainOrcPredicate.java
Outdated
Show resolved
Hide resolved
b69aeb1 to
311a105
Compare
lib/trino-orc/src/main/java/io/trino/orc/TupleDomainOrcPredicate.java
Outdated
Show resolved
Hide resolved
lib/trino-orc/src/test/java/io/trino/orc/TestOrcBloomFilters.java
Outdated
Show resolved
Hide resolved
7e204a1 to
94a1a1d
Compare
94a1a1d to
70c220b
Compare
|
Thanks for the review and the approval! |
ouch, rebase. this gives me https://github.com/trinodb/trino/compare/7e204a1545ea3b739148cd2036fb6a428c2f4c69..94a1a1d247c188dd6deea2ac61bbc31575908f73 as the diff. Has anything changed there? |
Also, implement it for basic integral types. Following trinodb#9868 (comment)
70c220b to
cafcdda
Compare
|
Oops.... un-rebased, so the following diff can be reviewed more easily: |
There was a problem hiding this comment.
Not sure - if I remove it, the build will fail (IIUC):
[ERROR] .../ValueSet.java:[176,5] interface abstract methods cannot have body
There was a problem hiding this comment.
The operation takes ValueSet and is defined in ValueSet. Why not instance/interface method?
There was a problem hiding this comment.
You're right - my bad... 🤦
There was a problem hiding this comment.
Pushed a (hopefully) better version in 7a8425f088.
thanks! |
cafcdda to
7a8425f
Compare
|
@rzeyde-varada thanks for the update. Please see CI red. |
7a8425f to
112fb76
Compare
|
Thanks! |
112fb76 to
db12517
Compare
|
Simplified the code, following #9868 (comment). |
db12517 to
f96ea0f
Compare
Also, implement it for basic integral types. Following #9868 (comment)
|
Thanks! |
Fixes #4108.