Teon Banek
3b9d13f1e1
Fix errors introduced in D298
...
Reviewers: florijan, mislav.bradac, mferencevic, buda
Reviewed By: florijan
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D326
2017-04-28 11:11:32 +02:00
Mislav Bradac
78af8c8339
Add variable with all memgraph dependent libraries
...
Reviewers: teon.banek, buda
Reviewed By: buda
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D324
2017-04-27 18:40:34 +02:00
Teon Banek
35a35f0d5f
Split semantic tests into test cases
...
Reviewers: florijan, mislav.bradac
Reviewed By: mislav.bradac
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D323
2017-04-27 14:18:38 +02:00
Mislav Bradac
1c51ce77ef
Even more awesome functions
...
Reviewers: florijan, teon.banek
Reviewed By: teon.banek
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D319
2017-04-27 14:11:12 +02:00
florijan
2710485742
Query::Plan::Optional added, MergeCursor slight mod
...
Reviewers: teon.banek, buda, mislav.bradac
Reviewed By: teon.banek
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D321
2017-04-27 12:06:02 +02:00
Teon Banek
8b8aee9b38
Add optional flag to Match clause
...
Reviewers: florijan, mislav.bradac
Reviewed By: florijan
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D320
2017-04-27 11:16:30 +02:00
Teon Banek
f0aaca4a1a
Plan Skip and Limit after OrderBy
...
Summary:
Revive the OutputSymbols method.
Use OutputSymbols to stream results in Interpret.
Reviewers: mislav.bradac, buda, florijan
Reviewed By: florijan
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D318
2017-04-26 16:27:41 +02:00
Teon Banek
8fa574026e
Plan Merge operator
...
Summary:
Check symbols in Merge.
Support MERGE macro in query tests.
Test SymbolGenerator with MERGE.
Test planning Merge.
Reviewers: florijan, mislav.bradac
Reviewed By: florijan
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D317
2017-04-26 14:47:10 +02:00
Mislav Bradac
0fa4555cad
Implement opencypher functions
...
Summary: Implement opencypher functions
Reviewers: florijan, buda, teon.banek
Reviewed By: buda, teon.banek
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D299
2017-04-26 13:27:42 +02:00
florijan
ecca97ef72
Query::Plan::Merge added
...
Reviewers: teon.banek, mislav.bradac, buda
Reviewed By: teon.banek
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D316
2017-04-25 16:24:24 +02:00
Teon Banek
788d4a37d0
Convert antlr merge to AST
...
Summary: Convert antlr merge to AST and add Merge node to AST
Reviewers: florijan, mislav.bradac
Reviewed By: florijan
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D315
2017-04-25 16:04:05 +02:00
florijan
cc00101cbd
Query::StateSwitch added
...
Summary:
- an enum in query/common.hpp for flagging what kind of switching should be done
- changes in expression evaluator
- changes in logical operators
- modification in RecordAccessor::SwitchOld to support operator functionality
- tests
Reviewers: teon.banek, mislav.bradac, buda
Reviewed By: teon.banek
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D314
2017-04-25 15:54:30 +02:00
Teon Banek
e53e232e49
Plan OrderBy
...
Summary:
Support OrderBy in test macros.
Test planning OrderBy.
Handle symbol visibility for ORDER BY and WHERE.
Add Hash struct to Symbol.
Collect used symbols in ORDER BY and WHERE.
Reviewers: mislav.bradac, florijan
Reviewed By: florijan
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D307
2017-04-24 15:18:01 +02:00
Mislav Bradac
fe36835519
Add db_accessor to ExpressionEvaluator
...
Summary: Add db_accessor to ExpressionEvaluator
Reviewers: florijan, teon.banek
Reviewed By: teon.banek
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D310
2017-04-24 14:38:38 +02:00
Mislav Bradac
f86c96e62c
Forbid nonaliased expressions in WITH
...
Reviewers: teon.banek, florijan
Reviewed By: teon.banek
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D309
2017-04-24 12:58:41 +02:00
Mislav Bradac
e79f091a69
Convert bag and distinct from antlr to AST
...
Reviewers: teon.banek, florijan
Reviewed By: teon.banek
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D308
2017-04-21 16:48:13 +02:00
florijan
6e50a7605a
Query::Plan::Aggregate - removed advance_command
...
Reviewers: teon.banek
Reviewed By: teon.banek
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D304
2017-04-21 15:46:13 +02:00
Teon Banek
55dc08fc30
Plan Skip and Limit operators
...
Summary:
Support SKIP and LIMIT macros in tests.
Test planning Skip and Limit.
Prevent variables in SKIP and LIMIT.
Reviewers: mislav.bradac, florijan
Reviewed By: florijan
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D296
2017-04-21 13:28:04 +02:00
Teon Banek
893df584f6
Merge utils/exceptions
into single file
...
Summary: Update documentation of `utils/exceptions.hpp`
Reviewers: mislav.bradac, florijan, buda
Reviewed By: buda
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D300
2017-04-20 16:53:21 +02:00
florijan
e5cc3f1561
Query::Plan::OrderBy
...
Reviewers: mislav.bradac, teon.banek
Reviewed By: teon.banek
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D302
2017-04-20 15:04:48 +02:00
Teon Banek
4ec363c272
Move common members of Return and With to ReturnBody
...
Reviewers: florijan, mislav.bradac
Reviewed By: florijan
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D303
2017-04-20 13:18:56 +02:00
florijan
2b6baeae93
Query::TypedValue - logical ops bugfixes
...
Reviewers: teon.banek, mislav.bradac
Reviewed By: mislav.bradac
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D295
2017-04-20 09:54:03 +02:00
Teon Banek
b778c54d74
Reset bound symbols after planning WITH
...
Reviewers: florijan, mislav.bradac
Reviewed By: florijan
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D290
2017-04-19 12:30:04 +02:00
Mislav Bradac
5434e79ea6
Merge string utils to one file
...
Reviewers: buda
Reviewed By: buda
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D281
2017-04-18 17:39:58 +02:00
florijan
541c3f0af7
Query::Plan - Skip and Limit added
...
Reviewers: mislav.bradac, teon.banek
Reviewed By: teon.banek
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D292
2017-04-18 16:39:31 +02:00
florijan
157327de48
Storage::TypedValue - big int equality bug fix
...
Reviewers: teon.banek
Reviewed By: teon.banek
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D293
2017-04-18 16:34:56 +02:00
Teon Banek
c429923b31
Prevent same names in named expressions
...
Reviewers: florijan, mislav.bradac
Reviewed By: florijan
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D291
2017-04-18 15:57:18 +02:00
Teon Banek
c1d0090fe1
During type check Any
type should always match
...
Reviewers: florijan, mislav.bradac
Reviewed By: florijan
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D286
2017-04-18 13:45:31 +02:00
Teon Banek
dbe5ffc4ea
Raise if Abs
function got a boolean
...
Reviewers: florijan, mislav.bradac
Reviewed By: mislav.bradac
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D289
2017-04-18 13:28:34 +02:00
florijan
231b84e834
Query::Plan - Reconstruct fails after delete
...
Reviewers: teon.banek
Reviewed By: teon.banek
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D287
2017-04-18 12:25:41 +02:00
florijan
21770e2aca
Query::Plan::Aggregate - first value type check bugfix
...
Reviewers: teon.banek
Reviewed By: teon.banek
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D285
2017-04-18 09:46:43 +02:00
Matej Ferencevic
f05fcd91c3
Refactored bolt session to use new decoder.
...
Summary:
Bolt buffer is now a template.
Communication worker now has a new interface.
Fixed network tests to use new interface.
Fixed bolt tests to use new interface.
Added more functions to bolt decoder.
Reviewers: dgleich, buda
Reviewed By: buda
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D256
2017-04-15 16:35:09 +02:00
Dominik Gleich
461ea65ad4
Deferred deleter added.
...
Summary:
Add tests.
Merge branch 'dev' into remove_locks
Everything works. Refactor complete.
Documentation:
https://phabricator.memgraph.io/w/memgraph_implementation/indexing/
Reviewers: buda, mislav.bradac, florijan
Reviewed By: florijan
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D258
2017-04-14 17:46:16 +02:00
florijan
0a09a6ac64
Storage, Query - deletion bugfix and improvements
...
Summary:
Multiple attempts to delete a record dont crash anymore.
Deleting a vertex and its blocking edge in the same delete op now supported.
Utils::Assert - permanent_fail bug fix
Reviewers: teon.banek
Reviewed By: teon.banek
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D282
2017-04-14 16:34:38 +02:00
florijan
3d0181b28b
Query::Plan::Aggregation - optional input bugfix
...
Reviewers: teon.banek, mislav.bradac
Reviewed By: teon.banek
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D280
2017-04-14 15:06:24 +02:00
Teon Banek
67b7428e5e
Reset in_create_node flag during symbol generation
...
Reviewers: florijan, mislav.bradac
Reviewed By: florijan
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D279
2017-04-13 16:44:51 +02:00
Teon Banek
15d5328957
Check if aggregation is used in right clause
...
Reviewers: florijan, mislav.bradac
Reviewed By: mislav.bradac
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D274
2017-04-13 13:31:52 +02:00
florijan
d9e02d624d
Query::TypedValue - equality, functionality
...
Summary:
Changed the equality to always return Null or Bool TypedValue and never throw.
Changed BoolEquality to use the new raw equality.
Added equality, BoolEquality and hash support for Type::Map.
Added tests for new stuff.
Reviewers: teon.banek, mislav.bradac
Reviewed By: teon.banek
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D273
2017-04-13 11:50:47 +02:00
Teon Banek
3b27b20992
Reorganize query directory tree
...
Summary:
Move query/frontend/interpret to query/interpret.
Split interpret.hpp to frame.hpp and eval.hpp.
Move query/frontend/logical to query/plan.
Nest namespace frontend::opencypher inside query.
Reviewers: florijan, mislav.bradac, buda
Reviewed By: florijan
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D272
2017-04-13 11:28:11 +02:00
florijan
c89c65a748
Query::Plan::Aggregate - count edge-case fix
...
Reviewers: teon.banek
Reviewed By: teon.banek
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D270
2017-04-13 08:30:34 +02:00
Dominik Gleich
afbec0a26e
Test GarbageCollector in skiplist.
...
Summary: Tests the skiplist GC.
Reviewers: florijan, mferencevic, buda
Reviewed By: buda
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D145
2017-04-12 17:02:29 +02:00
Teon Banek
596b015e99
Correctly check variables inside property maps
...
Reviewers: florijan, mislav.bradac
Reviewed By: mislav.bradac
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D271
2017-04-12 16:44:16 +02:00
florijan
ea202dc52a
Query::Plan::EdgeFilter bugfix
...
Summary:
Resolved the bug where edge filters with no edge-types dont accept any edge.
Illustrated with the following queries:
CREATE ()-[]->()
MATCH ()-[]->()
(produces 0 results, expected 1)
Reviewers: mislav.bradac
Reviewed By: mislav.bradac
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D265
2017-04-12 13:47:27 +02:00
Teon Banek
355b9a9b9a
Plan aggregation in WITH and RETURN clauses
...
Summary:
Generate symbols for aggregation results.
Plan aggregation in WITH clause.
Plan aggregation in RETURN clause.
Extract handling write clauses to a function.
Reviewers: mislav.bradac, florijan
Reviewed By: mislav.bradac, florijan
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D236
2017-04-12 13:22:23 +02:00
Teon Banek
6cb1cdc607
Raise if setting label/property in CREATE on declared node
...
Reviewers: florijan, mislav.bradac
Reviewed By: mislav.bradac
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D266
2017-04-12 11:11:27 +02:00
Mislav Bradac
36129cdcae
Implement simple function conversion
...
Reviewers: buda
Reviewed By: buda
Subscribers: florijan, teon.banek
Differential Revision: https://phabricator.memgraph.io/D264
2017-04-11 19:14:08 +02:00
florijan
1273cea870
EdgeAccessor::is_cycle added. Query::Plan::Expand fixed
...
Reviewers: mislav.bradac
Reviewed By: mislav.bradac
Differential Revision: https://phabricator.memgraph.io/D262
2017-04-11 15:52:01 +02:00
florijan
593e4e72b9
Query::Plan::Aggregate
...
Summary:
- Aggregation LogicalOperation added, with tests.
- Added capabilities to TypedValue (hash, bool-equality)
to support std::unordered_map<TypedValue>.
- Removed some bad code from utils/hashing/fnv and added
a hashing function for collections.
Reviewers: buda, mislav.bradac, teon.banek
Reviewed By: teon.banek
Subscribers: lion, pullbot
Differential Revision: https://phabricator.memgraph.io/D252
2017-04-11 15:12:06 +02:00
Mislav Bradac
dfa6800edd
Add aggregation conversion from antlr to ast
...
Reviewers: teon.banek
Reviewed By: teon.banek
Differential Revision: https://phabricator.memgraph.io/D260
2017-04-11 14:55:26 +02:00
florijan
7981bd19e0
Query::Plan - const correctness
...
Summary:
Made all LogicalOperators const correct.
Fixed one LogicalOperator test.
Added explicit return values to Frame and SymbolTable at and [] methods.
Reviewers: teon.banek
Reviewed By: teon.banek
Differential Revision: https://phabricator.memgraph.io/D259
2017-04-11 14:27:56 +02:00
Mislav Bradac
d92caf1163
Check clauses ordering
...
Reviewers: buda, florijan, teon.banek
Reviewed By: buda, teon.banek
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D257
2017-04-11 12:30:17 +02:00
Teon Banek
804d0b09b9
Move typed_value to query top level and namespace it
...
Summary:
Upgraded old uses of TypedValue.
Also, implemented operator<< for EdgeAccessor and VertexAccessor.
Reviewers: buda, florijan, mislav.bradac, mferencevic
Reviewed By: florijan
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D251
2017-04-11 08:50:46 +02:00
Mislav Bradac
b7ee09785b
Implement IS NULL and IS NOT NULL
...
Reviewers: teon.banek, florijan
Reviewed By: florijan
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D254
2017-04-10 16:55:58 +02:00
Dominik Gleich
fd2780155a
Refactor GC to use scheduler.
...
Reviewers: buda, matej.gradicek
Reviewed By: matej.gradicek
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D247
2017-04-10 15:57:45 +02:00
Teon Banek
9855621c9e
Fix planning CREATE with expanding a created node
...
Reviewers: florijan, mislav.bradac
Reviewed By: mislav.bradac
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D253
2017-04-10 15:11:23 +02:00
Dominik Gleich
e8fd479bbc
Fix memory leak. Refactor mvcc. Revert commit function to old and introduce new one.
...
Summary:
Update tests.
Documentation:
https://phabricator.memgraph.io/w/memgraph_implementation/mvcc/
Reviewers: mislav.bradac, florijan, buda
Reviewed By: buda
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D227
2017-04-10 12:16:03 +02:00
Dominik Gleich
aca6b8f38b
Fix dead code - and accompanying warnings.
...
Reviewers: mferencevic, matej.gradicek, mislav.bradac
Reviewed By: mferencevic
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D248
2017-04-10 09:11:30 +02:00
Mislav Bradac
7a58ec5afb
Fix bug in parenthesized expression
...
Reviewers: buda
Reviewed By: buda
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D249
2017-04-07 18:33:07 +02:00
Dominik Gleich
2032466e2a
New version of scheduler.
...
Summary: New scheduler declaration.
Reviewers: matej.gradicek, buda
Reviewed By: matej.gradicek
Differential Revision: https://phabricator.memgraph.io/D246
2017-04-07 11:55:10 +02:00
Matej Ferencevic
72f7b64c8f
Logger in this test somehow breaks code coverage. Argh...
...
Reviewers: buda, dgleich
Reviewed By: dgleich
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D240
2017-04-07 09:44:12 +02:00
Matej Ferencevic
e5c814e022
First version of new bolt decoder and tests.
...
Summary:
Extracted constants to codes.hpp.
Extracted bolt constants.
Extracted StreamBuffer and fixed data type.
Extracted bolt testdata.
Added bolt buffer and tests.
Added bolt decoder buffer and tests.
Renamed bolt testdata.
Reviewers: dgleich, buda, matej.gradicek
Reviewed By: buda
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D220
2017-04-06 14:30:19 +02:00
Teon Banek
aa6cae0b16
Plan WITH clause without aggregation
...
Summary: Generate symbols for WITH clause.
Reviewers: florijan, mislav.bradac, buda
Reviewed By: mislav.bradac
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D231
2017-04-06 14:10:28 +02:00
Dominik Gleich
8c7ed8c186
Add edge_types indexes.
...
Summary: Refactor label_index. Also add edge_type indexes.
Reviewers: mislav.bradac, florijan
Reviewed By: florijan
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D217
2017-04-05 17:23:12 +02:00
Mislav Bradac
a0049c9691
Convert With clause from antlr to high level ast
...
Reviewers: teon.banek
Reviewed By: teon.banek
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D230
2017-04-05 16:22:46 +02:00
florijan
4c73a0a71c
Query::Plan::Accumulate[Advance] implementation and test
...
Summary: see above
Reviewers: teon.banek, buda, mislav.bradac
Reviewed By: teon.banek
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D226
2017-04-05 15:04:58 +02:00
matej.gradicek
5243ab00c2
Scheduler and tests.
...
Reviewers: dgleich, buda
Reviewed By: dgleich, buda
Subscribers: pullbot, matej.gradicek
Differential Revision: https://phabricator.memgraph.io/D213
2017-04-05 08:43:43 +00:00
Teon Banek
b33b671505
Plan multiple MATCH clauses and multiple patterns
...
Reviewers: mislav.bradac, florijan
Reviewed By: mislav.bradac
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D218
2017-04-05 09:23:03 +02:00
Mislav Bradac
6112454b08
Throw exception on trailing text in query
...
Reviewers: buda
Reviewed By: buda
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D222
2017-04-04 18:48:55 +02:00
florijan
e2949a88ce
Storage::EdgeAccessor::set_edge_type removed
...
Reviewers: buda
Reviewed By: buda
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D221
2017-04-04 16:58:30 +02:00
florijan
9eb4428023
Query::Plan::ScanAll accepts optional input (for cartesian)
...
Reviewers: buda, mislav.bradac, teon.banek
Reviewed By: teon.banek
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D219
2017-04-04 16:58:05 +02:00
florijan
bffc406662
Query::Plan - ExpansionUniquenessFilter
...
Reviewers: buda, mislav.bradac, teon.banek
Reviewed By: teon.banek
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D214
2017-04-04 12:20:01 +02:00
Teon Banek
05d19f6218
Use new/old on Accessor in logical operators
...
Summary:
Replace includes in operator.hpp with forward declarations.
Provide basic documentation for remaining operators.
Use SwitchOld on accessors used in Expand and Filter operations.
Add SwitchOld and SwitchNew to ExpressionEvaluator.
Evaluate new or old state in operators.
Test operators use correct accessors.
Add some basic tests for cases where switching accessors to old and new
matters.
Reviewers: mislav.bradac, buda, florijan
Reviewed By: florijan
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D208
2017-04-03 15:37:06 +02:00
florijan
9ce2081103
Storage::RecordAccessor - added multiple pointers to RecordAcessors and switching capabilities. Rewired GraphDbAccessor and VersionList accordingly. Added tests for new RecordAccessor functions.
...
Reviewers: teon.banek, dtomicevic, mislav.bradac, dgleich, buda
Reviewed By: buda
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D207
2017-04-03 12:29:56 +02:00
Dominik Gleich
863f55dc2f
Labels implementation.
...
Summary: Labels implementation
Reviewers: buda, teon.banek
Reviewed By: buda, teon.banek
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D201
2017-04-03 11:50:22 +02:00
Teon Banek
a3da7cd5a8
Plan Remove operators
...
Reviewers: florijan, mislav.bradac
Reviewed By: mislav.bradac
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D203
2017-03-30 13:56:25 +02:00
florijan
d3692d439c
Query::Plan::Operator - split into hpp and cpp
...
Reviewers: teon.banek
Reviewed By: teon.banek
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D204
2017-03-30 13:48:16 +02:00
florijan
5134a94f1c
Query::Plan - RemoveLabels added and tested
...
Summary:
Query::Plan::RemoveProperty op added and tested
Query::AST:: Remove added to cypher main visitor. Tested. Grammar corrected on missing whitespace in removeItem production
Reviewers: buda, mislav.bradac, teon.banek
Reviewed By: mislav.bradac
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D202
2017-03-30 08:53:18 +02:00
Dominik Gleich
bd0b81526e
Initial version of mvcc_gc.
...
Summary:
Tested MVCC garbage collector.
Also refactors graph_db forward declarations of vertex and edge which were causing issues.
Reviewers: mislav.bradac, dtomicevic, florijan, teon.banek, buda
Reviewed By: teon.banek, buda
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D177
2017-03-29 12:38:24 +02:00
Dominik Gleich
45999d04be
Fix mvcc bug.
...
Summary: Changing mvcc again. This should be double-checked since it's quite a substantial change. The test here tests for the new behaviour - which should be correct.
Reviewers: matej.gradicek, dtomicevic, buda
Reviewed By: matej.gradicek, buda
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D156
2017-03-29 10:50:52 +02:00
florijan
1303097cdd
Query::Plan - removed tuples from test for clarity
...
Reviewers: teon.banek
Reviewed By: teon.banek
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D196
2017-03-29 09:18:02 +02:00
Teon Banek
9d3b4aab4b
Make Where and NamedExpression macros easier to use
...
Summary:
`Where` can now be constructed in a `QUERY`, instead of requiring manual
addition to `Match`. For example:
auto query = QUERY(MATCH(pattern), WHERE(expr), ...);
compared to:
auto match = MATCH(pattern);
match->where_ = WHERE(expr);
auto query = QUERY(match, ...);
Similarly, `AS` can be used instead of `NEXPR` to create
`NamedExpressions` only with a name. This is meant to be used with
`RETURN` which will look at the previous `Expression` and store it
inside `NamedExpression`. For example:
auto ret = RETURN(IDENT("n"), AS("n"),
PROPERTY_LOOKUP("n", prop), AS("prop_val"));
compared to:
auto ret = RETURN(NEXPR("n", IDENT("n")),
NEXPR("prop_val", PROPERTY_LOOKUP("n", prop)));
Reviewers: florijan, mislav.bradac
Reviewed By: florijan
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D195
2017-03-29 09:09:54 +02:00
florijan
af8df9e282
Query::Plan - Set logical ops implementation and testing. PropertyValueStore set() overriden to handle Null values as a removal instead of setting them. PropertyValueStore.clear() function added.
...
Reviewers: buda, teon.banek, mislav.bradac
Reviewed By: teon.banek
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D194
2017-03-29 08:51:12 +02:00
Marko Budiselic
d00c08bf15
Bolt PullAll works.
...
Summary: Bolt PullAll works. ChunkedBuffer is implemented by the specification (the tests can be found in the tests/unit/bolt_chunked_buffer.cpp). Bolt session states method are refactored (all run methods have only one argument - active Session). Modifications related to the style guide.
Reviewers: mferencevic
Reviewed By: mferencevic
Subscribers: pullbot, buda
Differential Revision: https://phabricator.memgraph.io/D180
2017-03-28 12:43:04 +02:00
Teon Banek
68e94e64e4
Plan set operations
...
Summary:
Inline and remove GenProduce.
It doesn't do anything useful, so instantiating `Produce` can be done
inline.
Add dummy MakeCursor overrides for set operators so that the build passes.
Reviewers: florijan, mislav.bradac
Reviewed By: mislav.bradac
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D193
2017-03-28 12:23:52 +02:00
Mislav Bradac
e40bd83636
Add SET conversion from low to highlevel ast
...
Reviewers: teon.banek
Reviewed By: teon.banek
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D192
2017-03-28 10:56:20 +02:00
Teon Banek
7c36529aec
Move Variable::Type to Symbol
...
Reviewers: florijan, mislav.bradac
Reviewed By: mislav.bradac
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D191
2017-03-28 10:43:53 +02:00
Teon Banek
d9500337f2
Add planning Delete operation
...
Reviewers: florijan, mislav.bradac
Reviewed By: florijan
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D188
2017-03-27 16:30:35 +02:00
Teon Banek
4bfae46150
Add basic planning of WHERE
...
Summary:
Add testing unbound variable in WHERE
Remove some duplication in planner tests
Reviewers: florijan, mislav.bradac
Reviewed By: florijan
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D186
2017-03-27 16:02:24 +02:00
florijan
d387651205
Query::Plan::Produce - added support for Produce without input
...
Reviewers: teon.banek, buda
Reviewed By: teon.banek
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D189
2017-03-27 15:55:25 +02:00
florijan
34cdbc2f39
Query::Plan::CreateExpand frame bugfix
...
Summary: CreateExpand now puts both node and edge on the frame. This is not unit-tested because it would require an infrastructure change, and the code is quite simple.
Reviewers: teon.banek, buda, mislav.bradac
Reviewed By: buda
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D187
2017-03-27 15:32:50 +02:00
florijan
1280e77fd3
Query - Logical - Delete op added and tested. Minor refactors.
...
Reviewers: buda, teon.banek, mislav.bradac
Reviewed By: teon.banek
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D184
2017-03-27 14:57:44 +02:00
florijan
eca90c43b3
Query - LogicalOp - Filter op added
...
Reviewers: buda, teon.banek, mislav.bradac
Reviewed By: teon.banek
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D176
2017-03-27 13:16:58 +02:00
Teon Banek
71c2813f39
Update and refactor query unit tests
...
Summary:
Test multiple create
Add utility macros for easier creation of AST
Use test query macros when testing semantic analysis
Document the query test macros
Use query test macros in interpreter tests
Reviewers: florijan, mislav.bradac, buda
Reviewed By: mislav.bradac
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D178
2017-03-27 10:18:15 +02:00
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
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
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
Marko Budiselic
08c43e7c87
Coverage for test binaries is excluded.
...
Summary: Coverage for test binaries is excluded.
Reviewers: teon.banek
Reviewed By: teon.banek
Subscribers: pullbot, buda
Differential Revision: https://phabricator.memgraph.io/D161
2017-03-23 16:07:25 +01:00