Skip to content

Enable merging of LocalVocabs - #1310

Merged
joka921 merged 23 commits into
ad-freiburg:masterfrom
joka921:merge-local-vocab
Apr 12, 2024
Merged

joka921 merged 23 commits into
ad-freiburg:masterfrom
joka921:merge-local-vocab

Conversation

@joka921

@joka921 joka921 commented Mar 21, 2024 •

Copy link
Copy Markdown
Member

So far, operations with more than one operand (like joins) required that at most one operand had a non-empty local vocabulary. The reason was simply to avoid the need for merging two or more local vocabularies and the corresponding hassle of having to rewrite the local vocab indexes in one or more of the operand result tables.

Now local vocab IDs are actually pointers to 16-byte aligned strings (after removing the datatype bits, which cost 4 bits in precision, hence the 16-byte alignment). Each LocalVocab now maintains sets of such pointers and when two or more LocalVocabs are merged, we simply merge the respective sets. When comparing two local vocab IDs, the pointers are dereferenced.

This fixes #1242.

@codecov

codecov Bot commented Mar 21, 2024 •

Copy link
Copy Markdown

Codecov Report

Attention: Patch coverage is 98.73418% with 1 lines in your changes are missing coverage. Please review.

Project coverage is 88.38%. Comparing base (01e5c61) to head (814e172).

Files Patch % Lines
src/engine/TransitivePath.cpp 0.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1310      +/-   ##
==========================================
+ Coverage   88.33%   88.38%   +0.04%     
==========================================
  Files         313      313              
  Lines       28428    28444      +16     
  Branches     3133     3138       +5     
==========================================
+ Hits        25111    25139      +28     
+ Misses       2176     2168       -8     
+ Partials     1141     1137       -4     

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

@hannahbast hannahbast left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

1-1 with Johannes, really nice and elegant, we discussed some changes and missing tests

@hannahbast
hannahbast marked this pull request as ready for review April 10, 2024 19:49

@hannahbast hannahbast left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Awesome, looking forward to the remaining changes

@hannahbast hannahbast changed the title Merge local vocab Enable merging of LocalVocabs Apr 11, 2024

@hannahbast hannahbast left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Another round with Johannes, almost done

@hannahbast hannahbast left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Awesome, just one typo left

@sonarqubecloud

sonarqubecloud Bot commented Apr 11, 2024 •

Copy link
Copy Markdown

Quality Gate Passed Quality Gate passed

Issues
4 New issues
3 Accepted issues

Measures
0 Security Hotspots
No data about Coverage
0.0% Duplication on New Code

See analysis details on SonarCloud

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.

"Merging of non-empty local vocabularies" error

2 participants