Commit Graph

25 Commits

Author SHA1 Message Date
Marko Budiselic
427a7bbe4b merged interface branch 2016-08-19 11:28:10 +01:00
Kruno Tomola Fabro
5a42e15c4a Alpha version of label indexes.
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.
2016-08-18 15:34:36 +01:00
Kruno Tomola Fabro
df0bf6fa5f Database interface refactor.
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/.
2016-08-15 00:09:58 +01:00
Marko Budiselic
a3a8dc7c28 logger update, stderr stream is added 2016-08-14 12:43:34 +01:00
Kruno Tomola Fabro
02ec6dd401 merge with edges, from and to are moved to the EdgeRecord, they are not copied along with properties inside the MVCC, TODO: graph interface, Accessor and Stores 2016-08-11 15:13:19 +01:00
Kruno Tomola Fabro
635c55cc45 Merge branch 'dev' of https://phabricator.tomicevic.com/diffusion/MG/memgraph into dev 2016-08-11 14:15:48 +01:00
Kruno Tomola Fabro
fdd64dd6ed Refactored 2016-08-11 14:08:11 +01:00
Marko Budiselic
93b174afd7 First integration almost done. BOLT still doesn't work as expected, problem is only serialization order. 2016-08-11 04:47:30 +01:00
Kruno Tomola Fabro
15f7b14704 Finished remove method in RhMultiMap.
Remove passes tests.
Needs refactoring, has lot of duplicate code.
2016-08-10 23:05:24 +01:00
Kruno Tomola Fabro
3fffa17b0d Started adding remove methods.
Discovered bugs in HashMultiMap and after fixing it add method is now little slower but
find method is medium faster. So it turned out good.
2016-08-10 20:02:54 +01:00
Kruno Tomola Fabro
c3c8fb6620 Commit before branching to chane EdgeModel and EdgeRecord. 2016-08-09 16:44:39 +01:00
Kruno Tomola Fabro
3016494669 Added RobinHood HashMap and unit tested. 2016-08-09 11:53:10 +01:00
Marko Budiselic
84e69bb1d3 fmt wrapper + proof of concept folder 2016-08-08 09:32:34 +01:00
Kruno Tomola Fabro
0dfb8d13c3 Merge branch 'dev' of https://phabricator.tomicevic.com/diffusion/MG/memgraph into tests 2016-08-02 15:45:12 +01:00
Dominik Tomičević
da15775afa Merge branch 'bolt-protocol' into dev
* bolt-protocol:
  implemented bolt protocol
2016-08-01 22:21:49 +01:00
Dominik Tomičević
eda9d67bbe implemented bolt protocol 2016-08-01 22:14:09 +01:00
Kruno Tomola Fabro
ac7f6f507f Implemented ConncurentMap and updated it's users.
Added tests for ConcurrentMap.
Implemented ~SkipList.
2016-07-30 21:20:21 +01:00
Marko Budiselic
356e9444ec A lot of work on query_engine. Still in progress! 2016-07-24 03:47:48 +01:00
Marko Budiselic
396f0d9c31 query engine better version 2016-07-17 01:22:43 +01:00
Marko Budiselic
84db4b6657 cypher parser update 2016-07-09 19:05:02 +01:00
Marko Budiselic
2b1fc70695 some header files are splitted (WORK IN PROGRESS) 2016-07-05 13:20:33 +01:00
Marko Budiselic
b94cae12d1 some new header + source files (vertices, vertex_accessor, properties), first version of Index works, skiplist<T> + concurrent_set + concurrent_map (still has to be finished) 2016-07-05 04:01:22 +01:00
Marko Budiselic
5110cde698 query engine code, labels (unfinished), TODO: query engine module system 2016-07-01 22:05:03 +01:00
Marko Budiselic
425be0acad permanent and runtime assert 2016-06-14 23:06:21 +01:00
Marko Budiselic
c79706c249 concurrent and unit tests, concurrently linked list test (not production ready linked list :)) 2016-06-06 23:57:16 +02:00