Commit Graph

288 Commits

Author SHA1 Message Date
Marko Budiselic
7b3c4c270e work in progress; TODO: change commit message 2016-12-14 10:27:41 +01:00
sale
58b9c45ff2 Merge branch 'dev' of https://memgraph.phacility.com/diffusion/MG/memgraph into dev 2016-12-12 09:22:32 +00:00
sale
a215e185c6 Merge branch 'T115' into dev 2016-12-12 09:21:41 +00:00
sale
52c5159bc0 Bloom filter code review changes 2016-12-07 13:20:53 +00:00
Marko Budiselic
874d79e678 File System Watcher Implementation
Summary:
Merge branch 'dev' into mgcore_T159_inotify

File System Watcher Implementation (unfinished) just sent for the initial review (the implementation will be updated soon)

Test Plan: manual

Reviewers: sale

Subscribers: sale, buda

Differential Revision: https://memgraph.phacility.com/D16
2016-12-05 13:35:17 +01:00
Marko Budiselic
22ca1128b7 Merge branch 'dev' into mgcore_T159_inotify 2016-12-05 10:59:52 +01:00
Marko Budiselic
2c94d89f9f File System Watcher Implementation 2016-12-05 10:10:12 +01:00
sale
9b03fd1f04 Added Basic BloomFilter and BloomConcurrentMap
Summary: Added Basic BloomFilter and BloomConcurrentMap

Test Plan: manual

Reviewers: buda

Subscribers: buda

Maniphest Tasks: T115

Differential Revision: https://memgraph.phacility.com/D15
2016-12-05 09:03:11 +00:00
Marko Budiselic
ae28cdc424 Merge branch 'mgcore_T157_dsmove' into mgcore_T156_lintfix 2016-12-04 10:20:21 +01:00
Marko Budiselic
0a0e5e93da src/demo was removed, src/examples and src/benchmarks were moved to the top level 2016-12-04 10:20:14 +01:00
Marko Budiselic
f9af76c364 data_structures moved from src/
Summary: data_structures moved from src/

Test Plan: manual

Reviewers: sale

Subscribers: buda, sale

Differential Revision: https://memgraph.phacility.com/D14
2016-12-03 23:28:07 +01:00
Marko Budiselic
0c65a9e97e Merge branch 'T99' into dev 2016-12-01 10:55:22 +01:00
Marko Budiselic
6355dd4f4d PtrInt data structure (Pointer Integer pair inside one pointer location). Part of T150
Summary: PtrInt data structure (Pointer Integer pair inside one pointer location). Part of T150

Test Plan: manual

Reviewers: sale

Subscribers: buda, sale

Differential Revision: https://memgraph.phacility.com/D11
2016-11-30 17:21:22 +01:00
Marko Budiselic
cfd36be2e0 All possible request changes from D9#146 are done 2016-11-30 11:05:48 +01:00
sale
a621370270 Generate Stacktrace fixed 2016-11-29 14:24:27 +00:00
sale
7197433905 Refactored BasicException
Summary: Refactored BasicException

Test Plan: manual

Reviewers: buda

Subscribers: buda

Maniphest Tasks: T129

Differential Revision: https://memgraph.phacility.com/D10
2016-11-29 13:30:31 +00:00
Marko Budiselic
5eb90f9e52 DRESSIPI BUILD #2; some queries are hardcoded + bug fixes (still in progress) 2016-11-29 14:08:29 +01:00
sale
b4fc263be1 Code review D8 changes 2016-11-29 11:46:29 +00:00
Marko Budiselic
21788d003a Dressipi CRUD queries are dummy implemented; Fixes T99 and T131
Summary: Dressipi CRUD queries are dummy implemented; Fixes T99 and T131

Test Plan: manual

Reviewers: sale

Subscribers: buda, sale

Maniphest Tasks: T131, T99

Differential Revision: https://memgraph.phacility.com/D9
2016-11-29 04:08:49 +01:00
sale
228ae4cc72 Added ProgramArguments util and test; Added ProgramArgument parser to concurrent benchmark tests 2016-11-28 15:39:25 +00:00
sale
d8a82b45fc Runned clang-format over concurrent_map benchmark test and random::utils::generator 2016-11-23 13:47:52 +00:00
sale
0a56df3ddf Added benchmark test for ConcurrentMap; Added PairRandomGenerator to utils;
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
2016-11-23 13:36:30 +00:00
sale
8916b77418 Clang-Formated utils/random/generator.h 2016-11-22 17:02:14 +00:00
sale
5a8a7bea65 Added basic random utility 2016-11-22 16:35:11 +00:00
sale
bbd6f91e5f Added benchmark test for QueryStripper; Fixed timer bug
Summary: Added benchmark for QueryStripper; Fixed Timer bug;

Test Plan: manual

Reviewers: buda

Subscribers: buda

Maniphest Tasks: T100

Differential Revision: https://memgraph.phacility.com/D5
2016-11-22 10:35:30 +00:00
Marko Budiselic
afc0a4a176 better architecture for hardcoded test queries (still has to be polished) 2016-11-17 15:46:36 +01:00
Marko Budiselic
8362b64e9f DRESSIPI FIRST PILOT RELEASE (release script update) 2016-11-04 12:05:35 +01:00
Marko Budiselic
dba261036b Dressipi Test Cases No 1 - DONE 2016-11-04 01:49:21 +01:00
Marko Budiselic
d45121a1a2 scenario 000001 pass, dressipi scenario 1 - 3 more queries have to be implemented 2016-11-02 16:05:02 +01:00
Marko Budiselic
7d85bc2bc0 match by label and properties; TODO: fix bug with bolt buffers 2016-10-19 17:07:40 +02:00
Marko Budiselic
c312c2e369 iterators, properties, search by properties in index hardcoded query; TODO: implement in compiler 2016-10-19 02:41:06 +02:00
Marko Budiselic
8ff79c3ace Everything is prepared for code generation for query like MATCH (n:Label {properties}) RETURN n 2016-10-15 20:16:32 +02:00
Marko Budiselic
6cce530b6c barrier ifdefs (TODO: barrier should be removed) 2016-10-13 15:42:19 +02:00
Marko Budiselic
51b17c2402 dressipi sprint 1 work in progress, labels function support, delete all 2016-10-11 02:43:41 +02:00
Marko Budiselic
f5cf9c72d2 skiplist benchmark 2016-10-04 15:09:21 +02:00
Kruno Tomola Fabro
d806d635f9 Added documentation.
Fixed test for index.
2016-09-18 23:22:36 +01:00
Marko Budiselic
ee23b0204d comments refactor 2016-09-17 15:31:35 +01:00
Kruno Tomola Fabro
8fd713d93d Changes for benchmarking on AWS.
Added files missing file to copy in barier.sh.
Updated barrier.
2016-09-16 20:33:30 +01:00
Kruno Tomola Fabro
ed919b615a Merge branch 'tests' into demo 2016-09-16 20:29:57 +01:00
Marko Budiselic
7eff53e10f Merge branch 'demo' of https://phabricator.tomicevic.com/diffusion/MG/memgraph into demo 2016-09-16 12:58:42 +01:00
Marko Budiselic
d19a33f55e comments in command_line/arguments.hpp 2016-09-16 12:58:11 +01:00
Kruno Tomola Fabro
fd202b1ed7 Finished stack allocator. 2016-09-15 20:19:31 +01:00
Kruno Tomola Fabro
c75382cb02 Tmp commit. 2016-09-14 12:19:56 +01:00
Marko Budiselic
c67742e3fa dressipi usecase hardcoded 2016-09-14 12:19:56 +01:00
Kruno Tomola Fabro
e22074ad9f Added test for snapshot with stored index. 2016-09-13 17:02:04 +01:00
Kruno Tomola Fabro
266d8ed055 Transformed dressipi astar into a query. 2016-09-13 14:17:50 +01:00
Kruno Tomola Fabro
6e4096d619 Added flag for optional import of database. 2016-09-13 12:21:07 +01:00
Kruno Tomola Fabro
10e69cd3db Ready to turn astar into query. 2016-09-13 12:14:16 +01:00
Kruno Tomola Fabro
1a136af84a Merge branch 'memory' into snapshot 2016-09-12 20:18:30 +01:00
Kruno Tomola Fabro
2a59ed8906 Minor refactorings:
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.
2016-09-12 20:13:04 +01:00
Kruno Tomola Fabro
efbae39f41 Added logic for cleaning older snapshots. 2016-09-11 22:22:52 +01:00
Kruno Tomola Fabro
cd528b9bd6 Uplifted int32 to int64 and float to double in csv_import. 2016-09-11 21:30:31 +01:00
Kruno Tomola Fabro
443d0e0098 Changed TransactionId to TransactionRead. 2016-09-09 20:56:53 +01:00
Kruno Tomola Fabro
16868afb72 Added 3 tests for snapshot. 2016-09-09 20:44:34 +01:00
Kruno Tomola Fabro
cf497dd522 Extracted from snapshoter => snapshot_engine. 2016-09-09 18:48:15 +01:00
Kruno Tomola Fabro
911eeff1d9 Snapshot store and load works. 2016-09-09 16:14:20 +01:00
Kruno Tomola Fabro
74b9305285 Merge branch 'dev' of https://phabricator.tomicevic.com/diffusion/MG/memgraph into snapshot 2016-09-08 13:30:44 +01:00
Kruno Tomola Fabro
4443cb8b7b Finished creating part of snapshot. 2016-09-08 13:25:52 +01:00
Marko Budiselic
35f882644e config is better now (yaml-cpp) + web::Client + web::Logger
Summary:
init struct size problem fix

cast issue bolt::State::init

TCP server bugfix EPOLLET + bolt bug fix

Test Plan: normal

Reviewers: ktf

Subscribers: ktf

Maniphest Tasks: T87

Differential Revision: https://phabricator.tomicevic.com/D2
2016-09-08 12:13:30 +01:00
Kruno Tomola Fabro
3e0534c610 Removed RecordLock from record. It wasn't used. 2016-09-06 13:12:11 +01:00
Kruno Tomola Fabro
e1e7f3759d Decreased footprint of union in StoredProperty. 2016-09-06 12:13:08 +01:00
Kruno Tomola Fabro
cfc807cc03 Merge branch 'T87' of https://phabricator.tomicevic.com/diffusion/MG/memgraph into property 2016-09-05 15:56:57 +01:00
Kruno Tomola Fabro
0ca1436703 Fixed bug where mask for casting Flags to Type was to small. 2016-09-05 15:56:08 +01:00
Marko Budiselic
c14a692493 init struct size problem fix 2016-09-05 15:54:56 +01:00
Kruno Tomola Fabro
5d235b51f3 tmp commit
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
2016-09-05 10:02:48 +01:00
Marko Budiselic
8e5dbd4703 config is better now (yaml-cpp) + web::Client + web::Logger 2016-09-05 01:39:30 +01:00
Marko Budiselic
95dd0a65b7 RELEASE 363 - AVAILABLE ON 30.08.2016. 2016-08-31 15:47:42 +01:00
Marko Budiselic
1a05cc0bf6 xorshift standard 2016-08-30 23:37:41 +01:00
Marko Budiselic
32bdc4fd5e Merge branch 'dev' of https://phabricator.tomicevic.com/diffusion/MG/memgraph into dev 2016-08-30 23:23:20 +01:00
Marko Budiselic
5bba920944 release/barrier 2016-08-30 23:23:12 +01:00
Kruno Tomola Fabro
8fa73eee43 Merge with dev. 2016-08-30 23:09:56 +01:00
Kruno Tomola Fabro
2ab3600117 Added partial test for cleaner. 2016-08-30 23:07:42 +01:00
Marko Budiselic
1f448ef1fd Merge branch 'error_handlig' of https://phabricator.tomicevic.com/diffusion/MG/memgraph into dev 2016-08-30 21:00:12 +01:00
Marko Budiselic
781376a960 First version which will be sent to the pilot users 2016-08-30 20:52:46 +01:00
Kruno Tomola Fabro
ae4e52ff69 Extracted class Composable from BaseIterator.
Added iter::Virtual.
Indexes::for_all now return iter::Virtual
2016-08-30 18:13:23 +01:00
Kruno Tomola Fabro
2eb5d3c3ff Added basic exception handlig.
Changed methods insert in Vertices and Edges to be valid even if exception occurs.
2016-08-30 15:12:30 +01:00
Kruno Tomola Fabro
035e508840 Merge branch 'dev' of https://phabricator.tomicevic.com/diffusion/MG/memgraph into dev 2016-08-30 08:54:48 +01:00
Kruno Tomola Fabro
0f249c4f1f Added support for some queries. 2016-08-30 08:53:02 +01:00
Marko Budiselic
1048ea8849 bolt failure isn't finished 2016-08-30 06:49:47 +01:00
Marko Budiselic
b5db8d8d1e match vertex by id, label and from main vertex store 2016-08-30 06:26:27 +01:00
Marko Budiselic
0f7be340fa Merge branch 'dev' of https://phabricator.tomicevic.com/diffusion/MG/memgraph into dev 2016-08-30 06:16:30 +01:00
Kruno Tomola Fabro
027dce0d9a Commint which extracts iterator_base methods to hpp. 2016-08-30 06:16:04 +01:00
Marko Budiselic
5dcba58d2b Merge branch 'dev' of https://phabricator.tomicevic.com/diffusion/MG/memgraph into dev 2016-08-30 05:34:16 +01:00
Marko Budiselic
32ca896425 merge with dev 2016-08-30 05:34:08 +01:00
Kruno Tomola Fabro
ff07babeba Commmit for buda. 2016-08-30 05:29:30 +01:00
Kruno Tomola Fabro
57a3c053e8 tmp commit 2016-08-30 02:32:53 +01:00
Kruno Tomola Fabro
4542b56c18 tmp commit 2016-08-30 02:32:31 +01:00
Marko Budiselic
be820ce915 tmp commit, work in progress, relationship create 2016-08-30 01:01:03 +01:00
Kruno Tomola Fabro
b2ce3d58a4 Added cleaner.
Added multithreading to dbms.
Skiplist now supports emplace insert.
2016-08-30 00:45:07 +01:00
Kruno Tomola Fabro
2218b0e472 Merged border and testes two querys. 2016-08-29 14:51:31 +01:00
Marko Budiselic
12880ba990 work in progress engine <-> barrier integration 2016-08-29 01:01:42 +01:00
Kruno Tomola Fabro
eaf2025cab Merged with dev. 2016-08-28 21:16:36 +01:00
Kruno Tomola Fabro
6a4e2d8d64 Final barrier commit. 2016-08-28 21:10:13 +01:00
Kruno Tomola Fabro
e908d6588b Tidied up barrier files.
MEMGRAPH has linked/definistion errors during compile.
2016-08-28 20:46:30 +01:00
Kruno Tomola Fabro
8ace2927c9 poc/profile.cpp works over barrier.hpp 2016-08-28 19:36:52 +01:00
Marko Budiselic
9416bc7085 QueryEngine is now templated with Stream, Bolt bugfix (one message can have many chunks) 2016-08-28 18:50:54 +01:00
Kruno Tomola Fabro
fc71e9930b commit before changing profile.cpp 2016-08-28 18:04:00 +01:00
Kruno Tomola Fabro
cdfa0e7106 Works but with ptr instead of unique_ptr. 2016-08-28 16:31:36 +01:00
Kruno Tomola Fabro
77a3298d1e tmp 2016-08-28 15:47:13 +01:00
Kruno Tomola Fabro
9469d09c57 Poc example works. 2016-08-26 12:21:42 +01:00
Kruno Tomola Fabro
9304c2945b Merge branch 'index' into dev 2016-08-25 15:37:53 +01:00
Kruno Tomola Fabro
8a89f6601d EdgeType indexes added.
Implemented untested UniqueOrderedIndex.

Introduced TypeGroupEdge/Vertex into database.

Added Index capabilityes to PropertyFamily.
Added method for adding index.
Added method for removing index.
2016-08-25 15:29:45 +01:00
Marko Budiselic
e2212d57a5 src/import moved to include cmake conf update 2016-08-23 17:41:19 +01:00
Kruno Tomola Fabro
0f7d8a68dc Tmp commit. 2016-08-23 14:16:54 +01:00
Kruno Tomola Fabro
fbd9ca8420 First version of CSVImport tool.
Query and import works.

Properties now use unordered_map.
Reduced memory footprint of properties by more than half.
2016-08-22 19:03:45 +01:00
Kruno Tomola Fabro
79015177b2 Fixed tests. 2016-08-19 19:09:24 +01:00
Kruno Tomola Fabro
a1fc3244ef Merge branch 'tests' into dev 2016-08-19 18:48:48 +01:00
Kruno Tomola Fabro
eba7fd8be4 Fixed Query compiler to use new interface. 2016-08-19 18:40:04 +01:00
Marko Budiselic
e5f161974f merged T70 2016-08-19 11:29:15 +01:00
Marko Budiselic
427a7bbe4b merged interface branch 2016-08-19 11:28:10 +01:00
Marko Budiselic
e22cb3aee4 review fixes + T70 2016-08-19 01:28:37 +01:00
Marko Budiselic
9bb0b8983d LOG error fixed + BOLT queries + Fixes T70 2016-08-18 17:48:13 +01:00
Kruno Tomola Fabro
cdd7188747 Changes for audit of previous commit. 2016-08-18 17:43:06 +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
Marko Budiselic
e1cca548ba alpha release script + bolt serialization works (nodes and edges) 2016-08-15 15:10:30 +01:00
Kruno Tomola Fabro
530be96b36 .FIX T68
.FIX T67
.FIX T65

Modifed astar main for benchmark.
Experimented with map of best visited and confirmed:
-it is faster by 25%
-observed that it founds best resoult
-loses some non best resoults

Added convinent method at() to get property from RecordAccessor.
Method requires  value_ref() method on property object.
2016-08-15 13:21:38 +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
a9419b559d Small fixes not done yet, first the whole DB interface has to be finished 2016-08-14 13:45:47 +01:00
Marko Budiselic
6d8fccde8f Merge branch 'dev' of https://phabricator.tomicevic.com/diffusion/MG/memgraph into dev 2016-08-14 12:44:02 +01:00
Marko Budiselic
a3a8dc7c28 logger update, stderr stream is added 2016-08-14 12:43:34 +01:00
Kruno Tomola Fabro
1849514159 First step in database accessor refactoring done.
It's compiling.
All tests with exception of integration_querys pass
2016-08-12 23:01:39 +01:00
Kruno Tomola Fabro
2113546b9c build fixes 2016-08-11 15:32:58 +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
514cdf401b Updated remove. 2016-08-11 11:43:19 +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
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
Marko Budiselic
35d8f6d7ab Bolt integration: RecordStream -> BoltSerializer -> BoltEncoder -> ChunkedEncoder -> ChunkedBuffer -> SockerStream 2016-08-10 19:17:38 +01:00
Marko Budiselic
869da8dcda All files for the Release are now isolated 2016-08-10 09:39:02 +01:00
Kruno Tomola Fabro
61eccc28ce Created EdgeRecord as class and changed in edge vector for map.
EdgeRecord now contains from,to fields as immutables.
Vertex in place of in vector of edges has in RbHashMultimap of edges.
Astar exepriment now uses real filters based on before mentioned map.
2016-08-09 20:29:03 +01:00
Kruno Tomola Fabro
c3c8fb6620 Commit before branching to chane EdgeModel and EdgeRecord. 2016-08-09 16:44:39 +01:00
Marko Budiselic
e4d9258df9 Merge branch 'dev' of https://phabricator.tomicevic.com/diffusion/MG/memgraph into dev 2016-08-08 09:32:45 +01:00
Marko Budiselic
84e69bb1d3 fmt wrapper + proof of concept folder 2016-08-08 09:32:34 +01:00
Dominik Tomičević
2a12335246 added features to bolt 2016-08-07 21:19:04 +01:00
Marko Budiselic
f05c1f6dab CRU operations are fully supported, D (delete) is missing 2016-08-02 15:41:53 +01:00
Marko Budiselic
a8a1ce9f0a edge type store 2016-07-06 17:37:05 +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