-
Notifications
You must be signed in to change notification settings - Fork 64
Time semantics overhaul #1969
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
Merged
Merged
Time semantics overhaul #1969
Changes from all commits
Commits
Show all changes
197 commits
Select commit
Hold shift + click to select a range
24424b5
ValidGraph
ljeub-pometry 74da6ef
more detailed output for edge debug
ljeub-pometry aa00f3f
more tests
ljeub-pometry ba008e4
windowed exploded edge count for persistent graph was wrong
ljeub-pometry bf044f7
more testing for PersistentGraph (it is still broken)
ljeub-pometry fb829b7
improve the internal apis for node history
ljeub-pometry a520e28
try to clean things up a bit
ljeub-pometry b802510
start adding layer info to node history
ljeub-pometry d3da924
start thinking about improved node history apis
ljeub-pometry b00ff8b
rework TimeIndexOps
ljeub-pometry e082c2d
wip
ljeub-pometry fb5c72b
working timesemantics for node
ljeub-pometry c5760f8
fix graph earliest_time
ljeub-pometry 0282e63
refactor a lot of the history related methods and add lifetime to Nod…
ljeub-pometry e0473ad
fix graph latest_time()
ljeub-pometry f80c0bd
fix the remaining lifetime annotations on NodeView
ljeub-pometry ca3c2fc
minor fixes
ljeub-pometry ae269f5
refactor time semantics mod
ljeub-pometry cd7a432
actually useful debug output for nodes and properties
ljeub-pometry 935ccfe
explicit test for proptest failure in CachedView
ljeub-pometry bab1997
implement layer filtering at the storage level
ljeub-pometry af5de71
fix exploded_edge_filter tests since nodes are now actually being fil…
ljeub-pometry e2d74d6
materialize still needs to copy nodes even if layers are empty!
ljeub-pometry 5c5db33
LayeredGraph should filter nodes now
ljeub-pometry a19c50f
the test needs to supply different secondary indices or the history i…
ljeub-pometry b8eb601
need to implement EdgeFilterOps for LayeredGraph
ljeub-pometry 3ef6dc2
unbox TimeIndexOps again and fix private storage
ljeub-pometry 1dbf598
add reverse iters to TimeIndexOps
ljeub-pometry eece345
fix windowing for disk edge history
ljeub-pometry 9fa93a7
fix reverse node edge history
ljeub-pometry 45d0f51
preserve node updates without properties in disk storage even if the …
ljeub-pometry 0ec9e98
Merge master into feature/IsValidFilter
ljeub-pometry 9958e4f
fix merge
ljeub-pometry e2b9abd
tidy
ljeub-pometry 5eace8e
remove unused packages from lock file
ljeub-pometry 9ad4664
Merge master into feature/IsValidFilter
ljeub-pometry e66b359
TimeIndexIntoOps are no longer needed
ljeub-pometry fd96e2b
start refactoring edge semantics
ljeub-pometry 1810e90
refactor
ljeub-pometry 674c0f0
Merge master into feature/IsValidFilter
ljeub-pometry 38beba8
add filtered views for edge additions and deletions (note that making…
ljeub-pometry b9aa5fb
First implementation of persistent edge time semantics and add filter…
ljeub-pometry e72a236
Merge master into feature/IsValidFilter
ljeub-pometry a05ee28
more edge method updates (WIP)
ljeub-pometry 58798de
Merge master into feature/IsValidFilter
ljeub-pometry 16659c7
fix merge
ljeub-pometry bb1ad2f
switch EdgeViewOps to new time semantics
ljeub-pometry 65a2c95
mostly working but some tests still failing
ljeub-pometry c0a674f
make test output more useful in case of failure
ljeub-pometry f247c07
fix graph equality impl
ljeub-pometry b0e15a2
fix reverse iter in TimeIndexWindow
ljeub-pometry 3757f86
fix is_deleted
ljeub-pometry de84713
improve the debug output for graphs and edges
ljeub-pometry 7787e00
node property persistence shouldn't look at edge events
ljeub-pometry e048d46
missing calls to layer_map
ljeub-pometry 480af89
need to preserve the secondary index for persisted updates so that th…
ljeub-pometry ae56515
more tests
ljeub-pometry d362009
fix persistent semantics
ljeub-pometry 4cd9743
materialize needs to use new apis for deletions
ljeub-pometry eb2c913
fix test for updated semantics
ljeub-pometry 4648336
ValidGraph should just be an edge filter
ljeub-pometry 6b79a9a
fixes for node iterators and windowed graph
ljeub-pometry cc4598a
switch over edge propeties to new apis (still need to implement some …
ljeub-pometry 1c545d8
move edge properties to new implementation
ljeub-pometry bf9bd5c
fix nodes len with list filter
ljeub-pometry 5632068
clean up the old apis
ljeub-pometry 1fe0429
Default layer does no longer get created unless there are edge update…
ljeub-pometry 6a8954f
fix cached view for graph without layers
ljeub-pometry 146f34e
update some tests
ljeub-pometry f21c2c2
more places where default layer was assumed to be 0
ljeub-pometry 1ac1acd
improved tests
ljeub-pometry 0032aa8
cache needs to write the default layer now
ljeub-pometry dbe6962
empty disk graph should be supported
ljeub-pometry f5d920e
minor tidy up of the parquet decoding
ljeub-pometry f4961eb
explicitly add the default layer to fix cypher tests
ljeub-pometry 76aa61c
add default layer explicitly in comparison as it should still be there
ljeub-pometry c8fe8b4
parquet loader needs to load deletions before constant properties as …
ljeub-pometry 23c0560
tidy
ljeub-pometry 5652dde
add convenient way to run python tests with storage enabled through tox
ljeub-pometry eb0234e
update python tests for new semantics
ljeub-pometry ad196c0
tidy up unused code
ljeub-pometry 055deb1
Merge master into feature/IsValidFilter
ljeub-pometry 84c5e8c
split the python workflow to test disk storage and in memory version …
ljeub-pometry 41e9c83
set the workflow permissions
ljeub-pometry e3a60c3
more workflow permissions
ljeub-pometry 16b0504
fix workflow name so it is not confusing
ljeub-pometry 7034772
more name fixes
ljeub-pometry 5b4b4c0
exploded edge filter now works for persistent graph
ljeub-pometry d8d5b5e
updated cargo.toml
ljeub-pometry 8198f54
address review comments
ljeub-pometry 73303d6
LayeredGraph does not need to filter nodes directly
ljeub-pometry facad30
improved testing of layered graph
ljeub-pometry 143357f
refactor node filtering
ljeub-pometry 4d56415
refactor node filtering to avoid weird interactions
ljeub-pometry a025b84
fix benchmark
ljeub-pometry 80ad857
try to optimise node_valid_window for persistent graph (broken)
ljeub-pometry 470d088
fix elid and test it fully
ljeub-pometry 231124a
add check for too many layers (we would have run out of memory long b…
ljeub-pometry 1f14ba8
fix persistent semantics
ljeub-pometry 71623c0
explicit node updates are persistent
ljeub-pometry 26a4748
Merge master into feature/IsValidFilter
ljeub-pometry bc3c9b7
fix performance regression in count_nodes
ljeub-pometry 5edba9c
some optimisations
ljeub-pometry 96e02cf
fix nodes and subgraph
ljeub-pometry 847fcc2
fix the group_by tests
ljeub-pometry 9466ced
filter rework
ljeub-pometry a25c38c
some more filter optimisations
ljeub-pometry 1d2384f
minor optim
ljeub-pometry 4af0ba9
optimise active check for nodes
ljeub-pometry ad4c912
unbox some iterators to avoid allocations
ljeub-pometry 9a70741
more unboxing
ljeub-pometry d149e66
increase the sample size so we can actually detect changes
ljeub-pometry e423fbf
Use hashset instead of vec of TreeMaps to avoid allocations when ther…
ljeub-pometry bfbe945
with_range is redundant
ljeub-pometry 4e607d3
unbox iterators in TimeIndexOps
ljeub-pometry ff638df
avoid cloning layer_ids by passing them as input argument
ljeub-pometry 9e8c510
fix disk impl
ljeub-pometry 625e5e8
subgraph results are different now
ljeub-pometry 35b7df4
eliminate more clones
ljeub-pometry ef41c56
Merge master into feature/IsValidFilter
ljeub-pometry 5f68355
rename InheritStaticPropertiesOps to InheritConstantPropertiesOps
ljeub-pometry 4673671
add test for persistent semantics on PersistentGraph temporal properties
ljeub-pometry ceed0f2
fix has_temporal_prop_window for PersistentGraph
ljeub-pometry 5e94cd3
improve proptests
ljeub-pometry da5e459
implement deletion ops on Arc<Storage>
ljeub-pometry 3a7f14d
make it possible to check for default layer in has_layer with None
ljeub-pometry f6d36fa
simplify proptest generator to avoid flatmap
ljeub-pometry f0c813e
tidy up and fix tests
ljeub-pometry 6cc40e3
always include deletions
ljeub-pometry 93bb00b
fix the node edge history filtering for node-filtered graphs
ljeub-pometry b4ad3da
fix len and is_empty for NodeEdgeHistory
ljeub-pometry deb0d7a
more tests for TypeFilteredSubgraph edge cases
ljeub-pometry cdb13b3
Merge master into feature/IsValidFilter
ljeub-pometry c92edf0
fix bug in active implementation for NodeEdgeHistory
ljeub-pometry 19a70b5
try to reduce the resources required for the readthedocs build
ljeub-pometry 44a806c
add test for edge active/valid/deleted semantics
ljeub-pometry 13ba5fb
is_active_window for persistent semantics should consider deletions w…
ljeub-pometry 91f32fc
test is_valid, is_deleted, is_active in graph comparison assert
ljeub-pometry 2e113e9
materialized persistent graph has updates at the start of the window …
ljeub-pometry 684baba
correctly handle deletions at start of window in persistent edge_acti…
ljeub-pometry 27531cd
handle the weird window start for materialized PersistentGraph in tes…
ljeub-pometry 2b0c917
more tests that need to be updated
ljeub-pometry ae3b751
should use equality to compare numbers (this only works because pytho…
ljeub-pometry 9ba6ace
use equality check in tests
ljeub-pometry 2325402
test is_valid and is_deleted on edges in python
ljeub-pometry f58f306
clean compile error when trying to enable the storage feature without…
ljeub-pometry 83c4b54
unbox more iterators
ljeub-pometry 37a33fb
bring back the rest of the exploded filtering implementation
ljeub-pometry dd4db7c
fix exploded edge property filter test for updated semantics
ljeub-pometry 725747a
first part of splitting, raphtory-core and raphtory-api work, raphtor…
ljeub-pometry 3edc709
raphtory-storage done
ljeub-pometry 9127773
without features compiles and works
ljeub-pometry adc7c26
Merge master into split_crates
ljeub-pometry 5b0260d
raphtory compiles
ljeub-pometry dc03383
works except for private storage
ljeub-pometry 5df353b
everything compiles with storage feature
ljeub-pometry 8b72dc3
minor fixes
ljeub-pometry 123e631
tidy
ljeub-pometry 4571ec1
nicer error message
ljeub-pometry 13e0bb0
update python tests
ljeub-pometry c29ce84
tidy up errors
ljeub-pometry 8e49a25
fix missing feature flags
ljeub-pometry a9a4c66
update error message in tests
ljeub-pometry 2c173eb
minor activation script cleanup
ljeub-pometry f7633dc
readthedocs build tweaks to try to use less memory
ljeub-pometry 682a872
tidy up dependencies
ljeub-pometry 142a0f8
actually still used
ljeub-pometry a54433d
fix readthedocs.yaml
ljeub-pometry 4ac0f99
more readthedocs fixes
ljeub-pometry 800f516
Merge master into feature/IsValidFilter
ljeub-pometry 816506e
tidy
ljeub-pometry 07c70b1
fix benchmarks
ljeub-pometry cae434b
fix some tests and add debug output
ljeub-pometry 63675d4
test if sorting weirdness is compiler version specific
ljeub-pometry da3411e
more test output
ljeub-pometry 8d77bfd
Merge master into feature/IsValidFilter
ljeub-pometry 245c6d7
tidy
ljeub-pometry 2c0577a
missing cfg
ljeub-pometry a2215e9
more debug
ljeub-pometry b3de1f9
one more debug test
ljeub-pometry 9ad6511
preserve insertion order in edges iterator
ljeub-pometry d543bcc
fix a lot of clippy warnings
ljeub-pometry 14a0316
fix tests
ljeub-pometry cf92e0c
bring back dtype on PropArray
ljeub-pometry d2d3c0c
only print the output when assert fails
ljeub-pometry 6c6c75d
fix edge case in parquet writer with empty maps
ljeub-pometry 7b266a7
improve lifting of StructArray as PropCol
ljeub-pometry e0ce60b
fix warnings
ljeub-pometry 4c4665a
remove empty file
ljeub-pometry 9d69481
rust version change shouldn't be needed
ljeub-pometry adda5fa
remove some unused code
ljeub-pometry 2c7d02e
move disk edge implementation
ljeub-pometry 979d702
unbox neighbours
ljeub-pometry f4fd6c2
last opened was calling the wrong function
ljeub-pometry 3638d6c
give the profiles better name and disable debug symbols by default
ljeub-pometry b2132a6
Merge master into feature/IsValidFilter
ljeub-pometry 156f747
update error message in tests
ljeub-pometry File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
There are no files selected for viewing
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
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -36,3 +36,6 @@ __pycache__/ | |
|
||
# Python | ||
*.egg-info | ||
|
||
# Profiling | ||
profile.json |
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
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
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
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
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
Submodule pometry-storage-private
updated
from 5e8118 to 72b0f3
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,2 @@ | ||
|
||
#[cfg(feature = "storage")] | ||
compile_error!("The 'storage' feature is private"); |
Oops, something went wrong.
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.