Commit Graph

1735 Commits

Author SHA1 Message Date
Mislav Bradac
6a547839e1 Where and delete from antlr to highlevel ast
Reviewers: teon.banek

Reviewed By: teon.banek

Differential Revision: https://phabricator.memgraph.io/D181
2017-03-27 10:18:08 +02:00
Mislav Bradac
9c7acf780c Implement expression evaluation
Reviewers: buda

Reviewed By: buda

Differential Revision: https://phabricator.memgraph.io/D179
2017-03-24 17:44:05 +01:00
florijan
3a07a95f61 Query - EdgeFilter - test improvements and bugfix
Summary: EdgeFiltering on type was implemented wrong, requiring ALL the given edge types to be satisfied instead of OR. Added a test and fixed implementation. Also resolved a few TODOs in EdgeFilterTest.

Reviewers: buda, teon.banek, mislav.bradac

Reviewed By: teon.banek

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D170
2017-03-24 14:18:05 +01:00
florijan
f9b91cf680 Query - Logical - CreateNode now accepts an optional input. If provided, CreateNode creates a node for each successful Pull from input. If not provided, CreateNode creates a single node
Reviewers: buda, mislav.bradac, teon.banek

Reviewed By: teon.banek

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D173
2017-03-24 14:17:32 +01:00
florijan
63aae05ec0 GraphDbAccessor - DetachRemove - commands re-ordered for better (assumed) efficiency
Summary: See above

Reviewers: buda, dtomicevic

Reviewed By: buda

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D174
2017-03-24 14:17:04 +01:00
florijan
2215173a58 Utils - random graph generator hacked
Summary: RandomGraphGenerator added

Reviewers: teon.banek, mislav.bradac, buda

Reviewed By: buda

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D165
2017-03-24 13:13:04 +01:00
Teon Banek
35668d5b9f Make GNU Readline dependency optional
Reviewers: florijan, buda

Reviewed By: buda

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D171
2017-03-24 12:42:45 +01:00
Dominik Gleich
087c56315e Fix engine.
Summary:
Test engine update.

https://docs.google.com/document/d/1rnFsCFock-K3ZbuvMiCYWhGS_m7-DZV37JtxWRClD_8/edit

Reviewers: mislav.bradac, dtomicevic, buda

Reviewed By: buda

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D167
2017-03-24 12:37:01 +01:00
Teon Banek
c2c34336c3 Split symbol_generator.hpp to .cpp
Reviewers: florijan, mislav.bradac

Reviewed By: florijan

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D172
2017-03-24 12:07:42 +01:00
florijan
11eb643a5e Query - REPL fixes
Summary: Minor fixes.

Reviewers: teon.banek

Reviewed By: teon.banek

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D168
2017-03-24 09:50:53 +01:00
Teon Banek
99a9bf5901 Abstract reducing a pattern to a function
Reviewers: mislav.bradac, florijan, buda

Reviewed By: mislav.bradac

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D162
2017-03-24 08:34:31 +01:00
Mislav Bradac
f146c458be Implement opencypher to ast expression conversion
Reviewers: buda

Reviewed By: buda

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D164
2017-03-23 16:46:15 +01:00
florijan
f304dfef28 Query Console implemented
Summary: buda, teon.banek, mislav.bradac

Reviewers: mislav.bradac, buda, teon.banek

Reviewed By: buda

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D163
2017-03-23 15:51:25 +01:00
Marko Budiselic
e9357ea13b Bug fix implicit conversion from PropertyValue to TypedValue.
Summary: Bug fix implicit conversion from PropertyValue to TypedValue.

Reviewers: mislav.bradac

Reviewed By: mislav.bradac

Subscribers: buda

Differential Revision: https://phabricator.memgraph.io/D160
2017-03-22 19:40:11 +01:00
Marko Budiselic
3b42cd2579 Everything is merged (communication + query engine) but we have to fix the PULL_ALL issue. 2017-03-22 17:57:06 +01:00
Matej Ferencevic
5a5ffface3 Modified hardcoded queries to use new encoder.
Summary:
Removed old encoder.

Changed namespace from bolt to communication::bolt.

Removed old include from new encoder.

Added an empty message success to encoder.

Changed order in communication::Server.

Changed bolt session to use new encoder.

Merge remote-tracking branch 'origin/dev' into mg_hardcoded_queries

Fixed PrintRecordStream.

Reviewers: buda, dgleich

Reviewed By: buda

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D158
2017-03-22 17:09:22 +01:00
florijan
b236694fd2 Query - entry.hpp renamed to interpreter.hpp, Engine renamed to Interpreter
Summary: Query - interpreter console hack

Reviewers: buda, teon.banek, mislav.bradac

Reviewed By: buda

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D157
2017-03-22 16:39:00 +01:00
Matej Ferencevic
3bf0bd40a7 Initial version of new bolt encoder.
Reviewers: dgleich, buda

Reviewed By: buda

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D104
2017-03-22 16:13:47 +01:00
Teon Banek
8da6ce67c0 Add planning CreateExpand operator
Summary: Add planning CreateExpand operator. This is quite similar to planning Expand, but I wouldn't abstract the duplicated parts yet. Also, raise semantic error if creating bidirectional edges

Reviewers: buda, mislav.bradac, florijan

Reviewed By: mislav.bradac

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D155
2017-03-22 15:41:50 +01:00
Dominik Gleich
f505c76189 Fix lock store bug.
Summary: Lock store was not locking properly. It created a lock object which was destructed in the end of function scope which caused bits to be set to UNLOCKED.

Reviewers: matej.gradicek, buda

Reviewed By: matej.gradicek

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D154
2017-03-22 15:40:37 +01:00
florijan
83c20fd47f Query - LogicalOp - visitable bug fix
Summary: Made CreateExpand visitable (I forgot before landing).

Reviewers: teon.banek

Reviewed By: teon.banek

Differential Revision: https://phabricator.memgraph.io/D153
2017-03-22 14:14:01 +01:00
florijan
981f93d575 Query - ExpandCreate, prop tests, MATCH_CREATE
Summary: Query - ExpandCreate op added (with tests). LogicalOp tests have property enabled. MATCH-CREATE test started but disabled due to MVCC.

Reviewers: buda, mislav.bradac, teon.banek

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D150
2017-03-22 13:41:21 +01:00
Mislav Bradac
33eaf80344 Change thrown exception classes in cypher visitor
Reviewers: buda

Reviewed By: buda

Differential Revision: https://phabricator.memgraph.io/D151
2017-03-22 11:19:28 +01:00
Teon Banek
bff671af43 Add planning Expand logical operator
Summary:
Make LogicalOperator visitable.
Add unit tests for logical planner.
Add planning Expand logical operators.
Test planning edge expansion.
Add documentation to planner implementation.

Reviewers: florijan, buda, mislav.bradac

Reviewed By: mislav.bradac

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D147
2017-03-22 10:58:42 +01:00
Teon Banek
b33a654137 Add basic type checking to SymbolGenerator
Summary:
Test for simple type mismatch of node/edge types.
Add basic type checking of variables.
Check for edge type when creating an edge.
Add documentation to private structs and methods.

Reviewers: mislav.bradac, buda, florijan

Reviewed By: mislav.bradac

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D148
2017-03-22 10:49:52 +01:00
Dominik Gleich
6be2399ad1 Fix warnings all over the codebase.
Reviewers: florijan, buda

Reviewed By: buda

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D146
2017-03-22 09:32:06 +01:00
Mislav Bradac
8e7ccf6e83 Extract literals to ast
Summary:
Extract literals to ast Literal node
Fix bugs in TypedValue
Add tests for properties to cypher_main_visitor test

Reviewers: buda, florijan, dgleich, teon.banek

Reviewed By: dgleich, teon.banek

Subscribers: dgleich, pullbot

Differential Revision: https://phabricator.memgraph.io/D149
2017-03-21 15:23:54 +01:00
florijan
a2a4c28168 Query - Add expansion LogicalOp and tests
Summary: Query - AstTreeStorage - TODO for forwarding resolved

Reviewers: teon.banek, mislav.bradac, buda

Reviewed By: buda

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D139
2017-03-21 11:26:05 +01:00
Mislav Bradac
848d022c60 Bug fixes in cypher_main_visitor and add create clause
Reviewers: teon.banek, florijan

Reviewed By: teon.banek

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D143
2017-03-17 16:47:29 +01:00
Teon Banek
5e6aaf231d Add tests for symbol generation in CREATE clause
Summary:
Add tests for symbol generation in CREATE clause and correctly (hopefully)
check symbols in create clause and properties.

Reviewers: florijan, mislav.bradac, buda

Reviewed By: mislav.bradac

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D135
2017-03-17 15:50:19 +01:00
Mislav Bradac
dd56acf375 Add tests for CypherMainVisitor
Summary:
Add tests for CypherMainVisitor
Initialise members to nullptrs in ast.hpp data structures
Preserver users identifier names

Reviewers: teon.banek

Reviewed By: teon.banek

Differential Revision: https://phabricator.memgraph.io/D138
2017-03-17 10:45:13 +01:00
Mislav Bradac
0db7883670 Add AstTreeStorage
Reviewers: teon.banek

Reviewed By: teon.banek

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D134
2017-03-16 15:07:22 +01:00
Teon Banek
baa644e9b7 Support creating NodeFilter and CreateOp logical operators
Reviewers: mislav.bradac, buda, florijan

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D133
2017-03-16 10:06:01 +01:00
florijan
da0c9c03d6 Query - create implementation started
Summary: CreateOp tests

Reviewers: teon.banek, buda, mislav.bradac

Reviewed By: teon.banek

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D132
2017-03-16 09:31:04 +01:00
Teon Banek
ffd399906a Use Symbol to get frame value
Summary:
Since we always use the symbol position to read from frame, it's more
convenient for `Frame::operator[]` to accept `Symbol` instead of `int`.

Reviewers: florijan, mislav.bradac, buda

Reviewed By: florijan, buda

Differential Revision: https://phabricator.memgraph.io/D129
2017-03-15 16:31:13 +01:00
Teon Banek
74991c8289 Document and tweak the generic visitor
Summary:
Document and tweak the generic visitor
Use the generic visitor for AST visiting

Reviewers: buda, mislav.bradac, florijan

Reviewed By: buda

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D128
2017-03-15 16:16:47 +01:00
florijan
6c7372b3c5 Query - AST tests in progress
Summary:
Query compiler AST test in progress
Logical operator testing. NodeFilter LogicalOperator added

Reviewers: mislav.bradac, buda, teon.banek

Reviewed By: buda, teon.banek

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D126
2017-03-15 16:05:23 +01:00
Teon Banek
42e8d339c5 Add tests for symbol generation
Summary:
Add tests for symbol generator

Also, remove redundant PreVisit method from AST visitor

Reviewers: mislav.bradac, buda, florijan

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D124
2017-03-15 14:27:21 +01:00
Teon Banek
b956d0812b Move all query related exceptions to a single file
Reviewers: mislav.bradac, buda, florijan

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D125
2017-03-15 14:13:14 +01:00
florijan
1a6aaaed58 DBMS now returns a unique pointer to a GraphDbAccessor
Summary: See above.

Reviewers: mislav.bradac

Reviewed By: mislav.bradac

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D120
2017-03-14 13:37:23 +01:00
florijan
09999e877f RecordAccessor uses pointers for storage so it's move/copy assignable
Summary: See above.

Reviewers: buda, teon.banek, mislav.bradac

Reviewed By: mislav.bradac

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D118
2017-03-14 13:04:07 +01:00
florijan
2e0cc13813 Produce logical op can now be streamed out by query/entry.hpp. Streaming, header and output functions removed from LogicalOperator
Summary: See above.

Reviewers: teon.banek, mislav.bradac, buda

Reviewed By: teon.banek, mislav.bradac, buda

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D117
2017-03-14 12:40:46 +01:00
Teon Banek
de9e4991ac Rename folders and API in query/logical directory
Summary:
Rename typecheck folder to semantic

Rename TypecheckVisitor to SymbolGenerator

Rename Apply to MakeLogicalPlan

Reviewers: florijan, mislav.bradac

Reviewed By: mislav.bradac

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D119
2017-03-14 12:01:30 +01:00
florijan
1d2d609896 VertexAccessor::in_out() added
Reviewers: buda, dgleich

Reviewed By: buda

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D100
2017-03-14 07:48:11 +01:00
Mislav Bradac
f626e308c4 Adapt cpyher visitor to changes in AST
Reviewers: teon.banek

Reviewed By: teon.banek

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D116
2017-03-13 17:16:58 +01:00
Mislav Bradac
a5a15673de TypedValue getters return references
Reviewers: buda

Reviewed By: buda

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D113
2017-03-13 17:09:05 +01:00
Teon Banek
e9b8dbd205 Adapt logical operators to changes in AST
Summary: Logical and semantic parts have been adapted to renames and other changes in AST. Evaluation has been extracted to a visitor class.

Reviewers: florijan, mislav.bradac, buda

Reviewed By: mislav.bradac

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D115
2017-03-13 17:08:03 +01:00
Teon Banek
40e842286d Rename identifier_ string to name_ inside Identifier 2017-03-13 15:43:55 +01:00
Teon Banek
915688b0d7 Clean up the ast and split base visitor into file 2017-03-13 15:32:53 +01:00
florijan
12c7cdcf0e Add virtual destructor to TreeVisitorBase 2017-03-13 15:05:16 +01:00
Marko Budiselic
3e0b12f646 Merge branch 'compiler_prototype' into dev 2017-03-13 13:35:23 +01:00
Marko Budiselic
d0abb9f023 Interpreter works! 2017-03-12 03:05:31 +01:00
Marko Budiselic
1f75572d5e it compilesga -A! 2017-03-12 00:04:10 +01:00
Mislav Bradac
026e0e6fbd Implement ast generation by cypher visitor 2017-03-11 23:22:38 +01:00
Teon Banek
cfd2eae9d0 Use make_*_ptr to construct pointers 2017-03-11 23:05:38 +01:00
Teon Banek
bce605851d Handle NamedExpr in TypeCheckVisitor 2017-03-11 21:49:50 +01:00
Marko Budiselic
10062b143c Interpreter merge. 2017-03-11 21:21:09 +01:00
Marko Budiselic
0eeb1fc5b4 Basic interpreter implementation. 2017-03-11 21:09:26 +01:00
Marko Budiselic
9030454132 Add compiler prototype entry point (work in progress). 2017-03-11 21:02:25 +01:00
Teon Banek
34416bc505 Add basic generation of LogicalOperator tree 2017-03-11 20:49:22 +01:00
Teon Banek
fbf70de089 Add type checker which fills symbols for Ident 2017-03-11 18:04:48 +01:00
Mislav Bradac
8d8a1cef6a Add basic ast types 2017-03-11 15:52:08 +01:00
Teon Banek
3adce8313c Add default constructor for Symbol
SymbolTable should probably have different methods for adding a Symbol
to the table, instead of [] operator.
2017-03-11 15:39:02 +01:00
Teon Banek
425e1f8907 Correct iterator usage 2017-03-11 15:38:03 +01:00
Teon Banek
7d883ff008 Remove using uptr and sptr 2017-03-11 14:42:11 +01:00
Teon Banek
ef764e0367 Add ProduceCursor and Evaluate to expression 2017-03-11 14:39:13 +01:00
Marko Budiselic
1428ce0639 Add basic interpreter skeleton. 2017-03-11 13:47:11 +01:00
Dominik Gleich
4a220411e1 Fix warnings.
Reviewers: buda, mferencevic

Reviewed By: buda

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D110
2017-03-10 21:36:55 +01:00
Teon Banek
333861e7e9 Generate flags for PlanCompiler via cmake
Summary:
Add join function to functions.cmake

This is a convenience function which will join a list of values by
replacing ';' with the given separator.

cmake: Add fetching compile flags in gcc format

This is a utility function which takes all target compilation flags that
can be passed to gcc or clang.

Generate flags for PlanCompiler via cmake

Cmake will now collect all compiler options and definitions which are
then stored in a generated `query/plan_compiler.hpp`. The generated file
is not tracked by git and is stored inside cmake's build directory. The
file is fast to generate and may change often depending on the build
type.

Additionally, link and include directories are also generated as
absolute paths. In the future, we may want to support relative paths so
that copying/installing the build dir creates runnable binaries.

Add -Wall flag for all build types

Lowercase #pragma once in tests for network_common

It seems 'once' may be case sensitive, since clang outputs a warning for
it that the pragma is unknown.

Reviewers: buda

Reviewed By: buda

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D107
2017-03-10 18:21:31 +01:00
Mislav Bradac
725ebd1a0e int -> int64_t in in Typed and PropertyValue
Reviewers: buda, mferencevic

Reviewed By: buda, mferencevic

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D106
2017-03-09 11:44:10 +01:00
Dominik Gleich
b4d88ddcde Dynamic lib seems to be unloading normally now.
Turning it on again so if something breaks in the future because of it I'll investigate.

Summary:
Merge branch 'dev' into dynamic_lib_add

Merge branch 'dev' into dynamic_lib_add

Reviewers: buda

Reviewed By: buda

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D99
2017-03-08 18:47:16 +01:00
Dominik Gleich
97aa4b92e1 Static bitset with tests created.
Summary:
After manual merge of dev.

Merge branch 'dev' into separate_bitset

Include bitset in template.

Merge branch 'dev' into separate_bitset

Reviewers: florijan, buda

Reviewed By: buda

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D97
2017-03-08 17:13:20 +01:00
florijan
971e006d13 Query stripping now uses a parse tree and differentiates between int literals in a range expression (not stripped) and outside of a range (stripped).
Summary: See above

Reviewers: buda, mislav.bradac

Reviewed By: mislav.bradac

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D98
2017-03-08 14:19:55 +01:00
Mislav Bradac
00d818c762 Implement expression code generator
Summary: Work in progress, this is not usable yet

Reviewers: florijan

Reviewed By: florijan

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D84
2017-03-08 14:10:16 +01:00
Dominik Gleich
8e1a897b7a Fix query integration test because of config. Fix hardcoded queries not working because of include bug.
Summary:
#1 Hardcoded query integration test was failling because the .so files couldn't be linked, because of wrong compiled directory path (missing config flag).
#2 Hardcoded query not working in production because typed_value changed so some includes didn't work.

Reviewers: florijan, buda

Reviewed By: buda

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D90
2017-03-07 12:37:30 +01:00
Dominik Gleich
57f1b40d8d Refactor transaction inside db_accessor. Also introduce advance_command.
Summary:
Modification to MVCC - CHECK!

Refactor transaction_read

Add automatic commit/abort functionality to graph_db_accessor.

Fix failing test in graph_db_accessor.

Reviewers: buda, dtomicevic, florijan

Reviewed By: buda, florijan

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D87
2017-03-07 09:42:04 +01:00
Dominik Gleich
91bd7ccfb6 Fix comments in assert.
Reviewers: buda

Reviewed By: buda

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D93
2017-03-06 18:19:46 +01:00
Matej Ferencevic
813a3b9eed Started network refactorization.
Summary:
Moved server and worker from bolt to communication. Started
templatization.

Started removal of Bolt class.

Removed unnecessary files from network.

Converted states to template functions.

Bolt::Session is now a template.

Merge remote-tracking branch 'origin/dev' into mg_refactor_network

Merged bolt_serializer.cpp into hpp.

Removed obsolete include.

Initial version of bolt session unit test.

Uncommented leftover log commands.

Reimplemented io::Socket.

Added client-stress.sh script.

Reviewers: dgleich, buda

Reviewed By: dgleich, buda

Subscribers: pullbot, mferencevic, buda

Differential Revision: https://phabricator.memgraph.io/D64
2017-03-06 13:52:34 +01:00
florijan
38c3c513fa Serialization, record stream refactor in progress. UNSTABLE STATE.
Summary: Bolt record stream refactoring. BOLT STACK IN UNSTABLE STATE. RecordStreamMocker also refactored

Reviewers: buda, dgleich, mferencevic

Reviewed By: buda

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D88
2017-03-03 14:06:40 +01:00
florijan
2aeef25881 Traversal namespace specialization added for real DB primitives
Summary: database/GraphDbAccessor and storage/...Accessor now returns iterators over lazily created Accessors (filtered on visibility). Dependecies and forward declarations reorganized to support new code

Reviewers: buda, teon.banek

Reviewed By: buda

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D83
2017-03-03 14:01:01 +01:00
florijan
92aa235a26 traversal/test.hpp contents moved to tests/unit/traversal.cpp
Summary: See above.

Reviewers: buda

Reviewed By: buda

Subscribers: pullbot, florijan, buda

Differential Revision: https://phabricator.memgraph.io/D82
2017-03-02 09:22:54 +01:00
Mislav Bradac
1125331649 Add edge and vertex to TypedValue
Summary:
Merge branch 'dev' into mg_full_typed_value

Add Path and Map to TypedValue

Reviewers: buda

Reviewed By: buda

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D80
2017-03-01 18:26:56 +01:00
florijan
80c266ce21 Traversal added. Only the core, tests and template specialization is on the way
Summary: See above.

Reviewers: buda, dgleich, mislav.bradac

Reviewed By: buda, dgleich, mislav.bradac

Subscribers: pullbot, mislav.bradac, buda, florijan

Differential Revision: https://phabricator.memgraph.io/D67
2017-03-01 16:45:00 +01:00
Mislav Bradac
ccdffa1d7e Refactor TypedValue to PropertyValue
Summary:
Rename TypedValue to PropertyValue.
Move original TypedValue to query/backend/cpp.
Fix undefined behaviours and memory leaks in PropertyValue.
Add list type to PropertyValue.
Operators and appropriate tests will be revised in following commits.

Fix bugs in TypedValue

Fix bugs in typed value

Reviewers: buda, florijan

Reviewed By: buda

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D77
2017-03-01 12:31:47 +01:00
Marko Budiselic
082465ff15 For each hardcoded query plan there is a build target -> that will improve Memgraph's testability + update of release script (release/alpha.sh)
Summary: For each hardcoded query plan there is a build target -> that will improve Memgraph's testability + update of release script (release/alpha.sh)

Reviewers: florijan, mislav.bradac, mferencevic, dgleich

Reviewed By: dgleich

Subscribers: pullbot, buda

Differential Revision: https://phabricator.memgraph.io/D75
2017-02-28 19:00:59 +01:00
Dominik Gleich
f6529cd4c3 Clique #1 and #2 works.
Summary:
Merge branch 'dev' into clique_1

Started implementing clique.

Merge branch 'dev' into clique_1

Add multilne query reload.

Clique 1# implementation.

Merge branch 'dev' into clique_1

Clique #1 and #2 implemented.

Add delete all query. Remove unique from clique.

Reviewers: florijan, mislav.bradac, buda

Reviewed By: florijan, mislav.bradac, buda

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D73
2017-02-28 12:51:40 +01:00
Marko Budiselic
a32b2831e5 copy hardcoded queries
Summary: copy hardcoded queries

Reviewers: dgleich, mislav.bradac, florijan, mferencevic

Reviewed By: dgleich

Subscribers: buda

Differential Revision: https://phabricator.memgraph.io/D74
2017-02-27 18:26:51 +01:00
Dominik Gleich
82414b9111 Fix naming of asserts.runtime_assert & assert -> debug_assert
Summary:
Merge branch 'dev' into rename_assert

Fix new files.

Remove cassert.

Reviewers: buda

Reviewed By: buda

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D66
2017-02-24 11:41:55 +01:00
Dominik Gleich
af23253e7e Implement less than operator.
Summary:
Add test.

Vertex accessor test checks for sortability.

Reviewers: buda, florijan, mislav.bradac

Reviewed By: buda

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D62
2017-02-24 10:10:24 +01:00
Mislav Bradac
ca90f813ad Start implementing compiler structures
Summary:
Merge remote-tracking branch 'origin/dev' into mg_compiler_structs

Merge remote-tracking branch 'origin/dev' into mg_compiler_structs

Implement compiler structures and tests

Reviewers: florijan, buda

Reviewed By: buda

Subscribers: pullbot, florijan, buda

Differential Revision: https://phabricator.memgraph.io/D61
2017-02-23 18:12:24 +01:00
Marko Budiselic
d1842571d6 Cpp17 support has been added
Summary: Cpp17 support has been added

Reviewers: mferencevic, dgleich, mislav.bradac, florijan

Reviewed By: mislav.bradac

Subscribers: pullbot, buda

Differential Revision: https://phabricator.memgraph.io/D57
2017-02-22 14:28:37 +01:00
Mislav Bradac
7a647dffca Add overloads for Code and cast enums explicitly
Summary:
Cast pack::Code enum to byte and size_t where neccessary. g++ is
confused by some of implicit casts when function has different
valid overloads. There is still problem in states/init.cpp but that file
will disappear after bolt is refactored. Next step towards safe code is
to make Code and Rule enum class.

Reviewers: buda, mferencevic

Reviewed By: buda

Subscribers: pullbot, mferencevic, buda

Differential Revision: https://phabricator.memgraph.io/D58
2017-02-22 12:42:22 +01:00
Dominik Gleich
d72383c0af Implement record stream mocker.
Summary:
Begin record stream mocker implementation.

Record stream mocker alongside tests created.

Test Plan: Run record_stream_mocker in tests.

Reviewers: mislav.bradac, florijan, buda

Reviewed By: buda

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D54
2017-02-21 15:50:10 +01:00
Dominik Gleich
40aa500a88 Improve complexity of union_find, better explain complexity.
Summary:
Old union find implementation was not true about it's complexity.
Take a look at http://www.brpreiss.com/books/opus4/html/page411.html#theoremsetsi.

Test Plan: Run union_find in tests.

Reviewers: mislav.bradac, buda

Reviewed By: mislav.bradac

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D51
2017-02-20 18:57:37 +01:00
Marko Budiselic
4583d8bde3 antlropencypher + youcompleteme update
Summary: antlropencypher + youcompleteme update

Test Plan: manual

Reviewers: mislav.bradac

Reviewed By: mislav.bradac

Subscribers: pullbot, mislav.bradac, buda

Differential Revision: https://phabricator.memgraph.io/D52
2017-02-20 14:06:25 +01:00
florijan
68f57fa47d CMakeLists cleanup w.r.t. Antlr linking. Removed the unused typed_value_store.cpp
Summary: See above.

Test Plan: Building tested.

Reviewers: buda

Reviewed By: buda

Subscribers: pullbot, buda

Differential Revision: https://phabricator.memgraph.io/D50
2017-02-20 09:43:58 +01:00
Marko Budiselic
3642fb1312 examples folder has been removed; src/test folder has been removed; the existing tests were moved to tests folder; StacktraceException has been introduced; query_plan_templated has been moved to query folder; hazard pointers have been deleted because they are not used any more 2017-02-18 18:03:48 +01:00
Marko Budiselic
0198b37f21 benchmark folder has been removed from the root dir, README update, measure_time.hpp comments 2017-02-18 14:36:50 +01:00
Marko Budiselic
d4e3c4cd10 clang format has been run on all hpp and cpp files under src and tests 2017-02-18 11:54:37 +01:00
Marko Budiselic
e7f5bd4c21 antlr integration, *.hpp and *.cpp inside src dir, cleanup
Summary: antlr integration, *.hpp and *.cpp inside src dir, cleanup

Test Plan: manual

Reviewers: mislav.bradac, dgleich, florijan

Reviewed By: florijan

Subscribers: pullbot, buda

Differential Revision: https://phabricator.memgraph.io/D49
2017-02-17 16:20:31 +01:00
florijan
a11ebef9c5 Properties system and core storage major refactor. STABLE STATE, unit tests added. 2017-02-16 17:43:39 +01:00
florijan
55f1912910 Properties refactoring: STABLE STATE. Memgraph compiles. Properties are out. Tests are in progress. 2017-02-16 15:47:55 +01:00
florijan
70a8b93b0b Major properties system and database accessor refactor: first stable state (compiles). 2017-02-15 14:10:16 +01:00
florijan
9e09186d30 Properties refactor in progress. Dev merge (query execution landed). UNSTABLE STATE 2017-02-14 10:17:03 +01:00
Marko Budiselic
0fcda94162 Hardcoded query infrastructure - first concrete version - USEFUL FOR: POCs & pilots
Summary: Hardcoded query infrastructure - first concrete version - USEFUL FOR: POCs & pilots

Test Plan: manual + jenkins

Reviewers: sale, florijan

Reviewed By: florijan

Subscribers: pullbot, buda

Differential Revision: https://phabricator.memgraph.io/D45
2017-02-14 09:40:31 +01:00
Florijan Stamenkovic
9adf5699d9 Major properties and storage refactoring in progress. UNSTABLE STATE 2017-02-13 09:21:35 +01:00
Florijan Stamenkovic
ee523d5080 Continuing major refactor, UNSTABLE STATE. Merged current dev 2017-02-07 13:22:07 +01:00
Florijan Stamenkovic
b38704391c Typed-value migration in progress. UNSTABLE STATE 2017-02-06 12:40:55 +01:00
Florijan Stamenkovic
b374ae1dbb storage and database major refactor in progress, also switching from properties to typed-value system. a lot of overdesigned functionalities cut down, new implementations just started. VERY UNSTABLE STATE 2017-02-04 09:01:56 +01:00
Florijan Stamenkovic
029a3ff09b Deleted src/api - this is the old HTTP 2017-02-02 15:53:34 +01:00
Florijan Stamenkovic
10c7514c8a storage/model - added typed_value system and tests. Modified utils slightly (backward compatible).
Summary: Added TypedValue system.

Test Plan: ???

Reviewers: sale, buda

Reviewed By: buda

Subscribers: pullbot, florijan, buda, sale

Differential Revision: https://phabricator.memgraph.io/D46
2017-02-02 15:48:16 +01:00
Florijan Stamenkovic
46dbc08d4e Merge branch 'MG_typed_values-new_implementation' into MG_typed_value_migration 2017-02-02 10:37:01 +01:00
Florijan Stamenkovic
261797ea9c storage/model/typed_value - fixes after code review 2017-02-02 10:29:14 +01:00
Florijan Stamenkovic
e508482ab9 Deleted storage/model/properties, started refactoring 2017-02-02 09:03:48 +01:00
Florijan Stamenkovic
b329225322 storage/model - added typed_value system and tests. Modified utils slightly (backward compatible).
Summary: Added TypedValue system.

Test Plan: ???

Reviewers: sale, buda

Subscribers: florijan, buda, sale

Differential Revision: https://phabricator.memgraph.io/D46
2017-02-01 14:05:08 +01:00
Marko Budiselic
28ad69b536 use of Google Style (clang-format)
Summary: use of Google Style (clang-format)

Test Plan: manual

Reviewers: sale

Reviewed By: sale

Subscribers: buda

Differential Revision: https://phabricator.memgraph.io/D39
2017-01-23 12:04:54 +01:00
Florijan Stamenkovic
f097b91430 DownloadProject,idea ignored
Summary: as above

Test Plan: manual

Reviewers: buda

Reviewed By: buda

Subscribers: buda

Differential Revision: https://phabricator.memgraph.io/D36
2017-01-17 16:54:31 +01:00
Marko Budiselic
d7de5cfe08 merge + conflict resolution 2017-01-13 11:31:56 +01:00
sale
d475b79a58 Merge 2017-01-11 09:18:10 +00:00
sale
1c1cf1ad88 Review changes fixed 2016-12-28 11:56:53 +00:00
Marko Budiselic
55a62f9640 Bugs from concurrent tests aren't solved. TODO: we have to introduce memory tracker for tests 2016-12-21 21:33:58 +01:00
sale
02f332c34f Update on Configuration and CppCheck refactor 2016-12-21 17:48:38 +00:00
Marko Budiselic
1ae474d15c code documantation work in progress 2016-12-21 11:35:04 +01:00
sale
08c8bd4aee Initial configuration memgraph which needs review
Summary: MG configuration commit for review

Test Plan: manual

Reviewers: buda

Subscribers: buda

Differential Revision: https://memgraph.phacility.com/D24
2016-12-20 22:26:03 +00:00
Marko Budiselic
362bc3ba48 Bug fixes: RELEASE MODE - asserts 2016-12-19 18:32:44 +01:00
sale
18612a3063 Added dump methods to stacktrace 2016-12-19 10:02:24 +00:00
sale
b4c65d9680 Stacktrace dump method added
Summary: Stacktrace dump method added

Test Plan: manual

Reviewers: buda

Subscribers: buda

Differential Revision: https://memgraph.phacility.com/D19
2016-12-16 14:50:19 +00:00
sale
9154f9b719 Added signal handler and refactored exception handler
Summary: Added signal handler and refactored exception handler

Test Plan: manual

Reviewers: buda

Subscribers: buda

Differential Revision: https://memgraph.phacility.com/D17
2016-12-16 12:58:49 +00:00
Marko Budiselic
a2d9ab7231 bolt_decoder bug fix based on warning from clang-tidy (steps to run clang-tidy: 1. cmake ... 2. make clang-tidy). TODO: fix remaining issues 2016-12-04 11:06:22 +01: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
cfd36be2e0 All possible request changes from D9#146 are done 2016-11-30 11:05:48 +01:00
Marko Budiselic
5eb90f9e52 DRESSIPI BUILD #2; some queries are hardcoded + bug fixes (still in progress) 2016-11-29 14:08:29 +01: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
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
d45121a1a2 scenario 000001 pass, dressipi scenario 1 - 3 more queries have to be implemented 2016-11-02 16:05:02 +01: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
51b17c2402 dressipi sprint 1 work in progress, labels function support, delete all 2016-10-11 02:43:41 +02:00
Kruno Tomola Fabro
d806d635f9 Added documentation.
Fixed test for index.
2016-09-18 23:22:36 +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
c67742e3fa dressipi usecase hardcoded 2016-09-14 12:19:56 +01:00
Kruno Tomola Fabro
a6f72dc3fd Added stress test for ConncurentList. 2016-09-13 17:53:40 +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
be1a936944 Fixed logging of index creation. 2016-09-12 20:38:03 +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
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
e1e7f3759d Decreased footprint of union in StoredProperty. 2016-09-06 12:13:08 +01:00
Kruno Tomola Fabro
537730ed94 Merge branch 'T87' of https://phabricator.tomicevic.com/diffusion/MG/memgraph into property 2016-09-05 16:05:58 +01:00
Marko Budiselic
b0951a3f76 cast issue bolt::State::init 2016-09-05 16:05:35 +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
f3af0effda Merge branch 'dev' of https://phabricator.tomicevic.com/diffusion/MG/memgraph into dev 2016-08-30 23:37:45 +01:00
Kruno Tomola Fabro
6a937fa334 Added template instatnce. 2016-08-30 23:37:10 +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
7f4206e25c Added more logging to cleaner. 2016-08-30 15:25:11 +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
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
85dbf1bd86 Extracted import tool for csv to file with CSVImporter.
Astar now uses csv import tool.
2016-08-23 10:58:55 +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
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
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
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
Kruno Tomola Fabro
3016494669 Added RobinHood HashMap and unit tested. 2016-08-09 11:53:10 +01:00
Marko Budiselic
95aa385e31 bolt binary was removed (src/examples/bolt) 2016-08-08 09:34:28 +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
b5f884d428 Merge branch 'dev' of https://phabricator.tomicevic.com/diffusion/MG/memgraph into dev 2016-08-02 17:05:15 +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
Marko Budiselic
3b8746573d Merge branch 'dev' of https://phabricator.tomicevic.com/diffusion/MG/memgraph into dev 2016-08-02 15:42:38 +01:00
Marko Budiselic
f05c1f6dab CRU operations are fully supported, D (delete) is missing 2016-08-02 15:41:53 +01:00
Kruno Tomola Fabro
e16b576a6e Added support for multiset.
Minor fixes to tests.

MultiIterator & MultiMap work.
There are some unfinished optimizations in the code commented.

All tests pass. Some common parts from tests have been moved.
2016-08-02 13:23:39 +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
Marko Budiselic
d04cf101b4 Cypher CRUD support is becomes bigger and bigger. Implemented: create relationship, match relationship and update relationship 2016-07-31 18:58:12 +01:00
Kruno Tomola Fabro
bf174644de Reformated code acording to format rules in .clang-format. 2016-07-31 13:56:13 +01:00
Kruno Tomola Fabro
b32a727b75 Removed old SkipListMap and skiplist directory. 2016-07-30 23:06:51 +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
6970170f69 Query engine work in progress: code_generator handlers, update clause generator, delete clause generator, return clause generator, SemanticError 2016-07-25 02:09:40 +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
b1459a891b work in progress query_engine 2016-07-17 18:32:35 +01:00
Marko Budiselic
396f0d9c31 query engine better version 2016-07-17 01:22:43 +01:00
Marko Budiselic
8a3aee1ba6 cypher parser is extended again (find by internal_id ID(n)=internal_id) 2016-07-11 20:10:53 +01:00
Marko Budiselic
c8440b4671 tests/manual/query_engine.cpp work in compiler in progress 2016-07-11 02:39:33 +01:00
Marko Budiselic
84db4b6657 cypher parser update 2016-07-09 19:05:02 +01:00
Marko Budiselic
b538fb041c first integration test (basic set of queries is tested) 2016-07-07 01:58:26 +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
Marko Budiselic
18e7394d9e basic queries are manually implemented inside src/query_engine/main_queries 2016-07-03 01:02:42 +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
1d1242af50 query_engine executable file 2016-06-26 23:43:28 +01:00
Marko Budiselic
04319c09e3 expression can be eather pattern expression or value expression 2016-06-26 12:27:26 +01:00
Marko Budiselic
b5536d70fa delete accessor from version list + build flow update + memgraph docker file + TODO: debug cypher grammar 2016-06-25 17:26:26 +01:00
Marko Budiselic
62a58f05b5 First part of T56 (crash server) 2016-06-16 20:38:05 +01:00
Marko Budiselic
83f094a15f utils/assert code, static array, skiplist tests and bug fix 2016-06-16 19:07:49 +01:00
Marko Budiselic
425be0acad permanent and runtime assert 2016-06-14 23:06:21 +01:00
Marko Budiselic
65b9af05d4 cache benchmark and utils/time/timer improvement 2016-06-08 23:39:24 +02: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
Marko Budiselic
894ef67bc0 clang format was applied on src/memgraph and on some files at the src/query_engine folder 2016-06-06 11:29:52 +02:00
Marko Budiselic
4d03dcd545 Number of tests is now 6 2016-06-05 14:30:40 +02:00
Marko Budiselic
a4cadedffe more appropriate test for storage/indexes/index.hpp (very beginning of indexes work); utils/type_discovery.hpp is created 2016-06-05 12:12:25 +02:00
Marko Budiselic
18ee30f69e db_index test -> the index creation is tested for now 2016-06-05 09:48:34 +02:00
Marko Budiselic
38b6040529 Merge branch 'master' into dev 2016-06-05 09:29:16 +02:00
Dominik Tomičević
1ffcd28053 fixed skiplist issue with keys and values that have no default constructors 2016-06-04 22:00:20 +02:00
Dominik Tomičević
287f667ef8 fixed whitespace inside r3.hpp 2016-06-04 21:58:12 +02:00
Marko Budiselic
83880f8244 Return list is expanded, this commit is related to T45 2016-06-03 16:48:23 +02:00
Marko Budiselic
c4e0e68e0b lemon and lexertl are removed from src folder, cmake custom target is created to better automate process of testing, cypher return list is now list of expressions 2016-05-28 21:24:48 +02:00
Marko Budiselic
14e38ff358 Test infrastructure (ctest) 2016-05-25 00:37:14 +02:00
Marko Budiselic
18838f5318 cypher_quries are moved to the tests folder and another part of CMakeLists file is written 2016-05-23 07:51:36 +02:00
Marko Budiselic
8aed81de38 Resolves T46; CMake + CTest setup 2016-05-15 22:43:42 +02:00
Marko Budiselic
84e40c9061 r3 submodule bug fix 2016-05-14 20:18:49 +02:00
Dominik Tomičević
39d952b629 conformed code to the new directory structure 2016-05-11 12:06:24 +02:00
Dominik Tomičević
83769d7daf Merge branch 'master' of https://phabricator.tomicevic.com/diffusion/MG/memgraph into logging
* 'master' of https://phabricator.tomicevic.com/diffusion/MG/memgraph:
  old r3 commit was checked out
  added speedy to include path (root Makefile)
  test docker file update
  submodule reinitialization
  .gitmodules path updates
  The folder structure was changed, all source code is now within the src dir.
  Basic timer implementation; TODO: implement timer wheel
2016-05-11 07:33:20 +02:00
Marko Budiselic
f40240ae13 old r3 commit was checked out 2016-05-08 13:05:54 +02:00
Marko Budiselic
5a95e15201 submodule reinitialization 2016-05-08 12:01:16 +02:00
Marko Budiselic
52625e39a3 The folder structure was changed, all source code is now within the src dir. 2016-05-08 11:33:07 +02:00