Summary: Added Benchmark Test for ConcurrentMap; Added PairGenerator to utils::random
Test Plan: manual
Reviewers: buda
Subscribers: buda
Differential Revision: https://memgraph.phacility.com/D7
Summary: Created Basic Random Utility; Created folder for benchmark query stripper
Test Plan: manual
Reviewers: buda
Subscribers: buda
Differential Revision: https://memgraph.phacility.com/D6
Importes now use logger.
Refactored order of constrution of objects in Db.
Moved index creation/removing from Db to Indexes.
Completed Garbage class.
Cleaner now calls garbage.clean() for databases.
Renamed List to ConcurrentList which better names it.
tmp commit
tmp commit v2
Finished reimplementation of propertys.
They now can be placed in a holder with different source of type information.
Tmp commit
Squashed messages from 9 commits:
9.
Properties now uses PropertyFamily and contained classes.
Fetching,seting,clearing properties can be done with PropertyFamilyKey or PropertyTypeKey.
Hierarchy of newly added clases is:
Vertices -n-> PropertyFamily {name: String} <-1-n-> PropertyType {type: Property::Flags}
Edges -n-> PropertyFamily {name: String} <-1-n-> PropertyType {type: Property::Flags}
PropertyFamilyKey -> PropertyType
PropertyTypeKey -> PropertyType
PropertyType t0,t1;
let t0!=t1 be true
let t0.family==t1.family be true
then next is true
PropertyTypeKey{&t0}!=PropertyTypeKey{&t1}
PropertyFamilyKey{&t0}==PropertyFamilyKey{&t1}
PropertyFamilyKey{&t0}==PropertyTypeKey{&t1}
PropertyTypeKey{&t0}==PropertyFamilyKey{&t1}
8.
Intermedate commit.
Noticed that integration queries throw SEGFAULT.
7.
Defined interface for indexes.
Fixed three memory leaks.
Fixed integration_queries test which now passes.
6.
Commit which return Xorshift128plus to valid shape.
5.
Tmp commit.
4.
Label Index is compiling.
3.
tmp
2.
Vertex::Accessor now updates Label index.
1.
Applied changes for code review.
DbAccessor:
-Guarantees that access to Vertex and Edge is possible only through
Vertex::Accessor and Edge::Accessor.
-Guarantees that changing Vertex and Edge is possible only using
Vertex::Accessor returned by vertex_insert() method and
Edge::Accessor returned by edge_insert() method.
-Offers CRUD for Vertex and Edge except iterating over all edges.
Squashed commit messages:
First step in database accessor refactoring done.
It's compiling.
All tests with exception of integration_querys pass
Tests now initialize logging facilities.
Refactored accessors.
RecordAccessor now has 3 states.
From,To,Out,In in there respecive Accessors return unfilled RecordAccessor.
Added iterator classes into utils/itearator/.