You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
GeometryCacheManager, which handles geometry adding to cache, preprocessing, serialization
This is a major refactoring discussed with @ullingerc. The overall goal is to enable Qlever to parse geometries once on index build, and later re-use these parsed and preprocessed geoms during query time.
First step is done (there is now a GeometryCacheManager). This is already used in the tests and in main() and seems to work without any problems.
Next steps:
1.) also serialize the remaining parts of GeometryCacheManager to disk so that we can easily rebuild it in QLever during query.
2.) Create a SweepEventList class which holds the geom IDs relevant for the join. These may come from multiple cache, and the correct cache is selected by the upper 3 bits of the geometry ID returned from the GeometryCacheManager. Several goals here: enable "local" geometry caches during query execution for user-defined geometries, and allow a build of "local" sweep event lists. We also want the two sides of a join to be in separate event lists, as this enables some speedups in spatialjoin.
During the implementation of the first step I noticed a few smaller things which prevent (2) atm, but I have a few rough ideas how to tackle them.
Now has a SweeperEventList class, unclear so far where the geometryDuplicateRemoval should now reside in, so disabled atm (which is why the tests are failing)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Split the Sweeper into two separate classes:
This is a major refactoring discussed with @ullingerc. The overall goal is to enable Qlever to parse geometries once on index build, and later re-use these parsed and preprocessed geoms during query time.