Skip to content

Conversation

@aalkin
Copy link
Member

@aalkin aalkin commented Jun 12, 2025

The binding nodes used in expressions refer to the original columns using the hash of the type name of the column. With string-based expressions this would be impossible to replicate, as only the runtime string is available. This is solved by replacing the type name hash with the hash of the string formed from the column's namespace prefix and the column's getter, e.g. aod::track::pt also coinciding with the variable name of the binding node. This way the binding node can be reconstructed from the string expression using this exact string and would be immediately usable in filter expressions which are matched to the corresponding tables by the used binding nodes' hashes.

@aalkin aalkin requested a review from a team as a code owner June 12, 2025 11:54
@github-actions
Copy link
Contributor

REQUEST FOR PRODUCTION RELEASES:
To request your PR to be included in production software, please add the corresponding labels called "async-" to your PR. Add the labels directly (if you have the permissions) or add a comment of the form (note that labels are separated by a ",")

+async-label <label1>, <label2>, !<label3> ...

This will add <label1> and <label2> and removes <label3>.

The following labels are available
async-2023-pbpb-apass4
async-2023-pp-apass4
async-2024-pp-apass1
async-2022-pp-apass7
async-2024-pp-cpass0
async-2024-PbPb-apass1
async-2024-ppRef-apass1
async-2024-PbPb-apass2
async-2023-PbPb-apass5

@aalkin aalkin requested a review from ktf June 12, 2025 11:55
@alibuild
Copy link
Collaborator

alibuild commented Jun 12, 2025

Error while checking build/O2/fullCI_slc9 for 5a47169 at 2025-06-16 05:53:

input queue has size 76
output queue has size 2226
input queue has size 70
output queue has size 2226
input queue has size 55
output queue has size 2228
input queue has size 49
output queue has size 2228
input queue has size 42
output queue has size 2228
input queue has size 26
output queue has size 2230
input queue has size 23
output queue has size 2230
input queue has size 9
output queue has size 2230
input queue has size 2
output queue has size 2230
input queue has size 0
output queue has size 2230
input queue has size 0
output queue has size 2234
input queue has size 0
output queue has size 2238
input queue has size 0
output queue has size 2241
input queue has size 0
output queue has size 2241
input queue has size 0
output queue has size 2248
input queue has size 0
output queue has size 2254
input queue has size 0
output queue has size 2263
input queue has size 0
output queue has size 2272
input queue has size 0
output queue has size 2283
input queue has size 0
output queue has size 2302
input queue has size 0
output queue has size 2316
++ cp thinned_compile_commands.json compile_commands.json
++ CHECKS='-*,modernize-avoid-bind,modernize-deprecated-headers,modernize-make-shared,modernize-raw-string-literal,modernize-redundant-void-arg,modernize-replace-auto-ptr,modernize-replace-random-shuffle,modernize-shrink-to-fit,modernize-unary-static-assert,modernize-use-equals-default,modernize-use-noexcept,modernize-use-nullptr,modernize-use-override,modernize-use-transparent-functors,modernize-use-uncaught-exceptions,readability-braces-around-statements'
++ tee error-log.txt
+++ which O2codecheck
+++ find /sw/slc9_x86-64/GCC-Toolchain/v14.2.0-alice2-1/lib -name crtbegin.o -exec dirname '{}' ';'
++ run_O2CodeChecker.py -j 32 -clang-tidy-binary /sw/slc9_x86-64/o2codechecker/v18.1.2.1-local1/bin/O2codecheck -clang-apply-replacements-binary /sw/slc9_x86-64/Clang/v18.1.8-21/bin-safe/clang-apply-replacements -extra-args=--extra-arg=--gcc-install-dir=/sw/slc9_x86-64/GCC-Toolchain/v14.2.0-alice2-1/lib/gcc/x86_64-unknown-linux-gnu/14.2.0 '-header-filter=.*SOURCES(?!.*/3rdparty/).*' '-checks=-*,modernize-avoid-bind,modernize-deprecated-headers,modernize-make-shared,modernize-raw-string-literal,modernize-redundant-void-arg,modernize-replace-auto-ptr,modernize-replace-random-shuffle,modernize-shrink-to-fit,modernize-unary-static-assert,modernize-use-equals-default,modernize-use-noexcept,modernize-use-nullptr,modernize-use-override,modernize-use-transparent-functors,modernize-use-uncaught-exceptions,readability-braces-around-statements'
No checks enabled.
Unable to run clang-tidy.

Full log here.

@ktf
Copy link
Member

ktf commented Jun 26, 2025

Tested on hyperloop. Merging.

@ktf ktf merged commit bb740a4 into AliceO2Group:dev Jun 26, 2025
12 of 13 checks passed
SchrodingersGhostCat pushed a commit to SchrodingersGhostCat/AliceO2 that referenced this pull request Jun 27, 2025
mhemmer-cern pushed a commit to mhemmer-cern/AliceO2 that referenced this pull request Sep 9, 2025
@aalkin aalkin deleted the replace-id-hash branch December 11, 2025 09:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants