florijan
0866fdcb0c
Query:: COUNT(*) added to logical planning and execution
...
Reviewers: mislav.bradac, buda, teon.banek
Reviewed By: mislav.bradac, teon.banek
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D353
2017-05-08 11:19:57 +02:00
Mislav Bradac
871b81656b
Implement InListOperator
...
Reviewers: buda
Reviewed By: buda
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D354
2017-05-07 17:52:08 +02:00
Mislav Bradac
5ae55499bc
Convert escaped labels to AST
...
Reviewers: buda
Reviewed By: buda
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D352
2017-05-06 15:34:02 +02:00
Mislav Bradac
3d026b106d
Handle asterisk in AST conversion
...
Summary: TODO: Handle COUNT_ASTERISK aggregation in operator (will do in next diff)
Reviewers: teon.banek, florijan, buda
Reviewed By: buda
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D350
2017-05-05 20:01:56 +02:00
Florijan Stamenkovic
1333bfeb39
Mvcc - unit test infrastructure setup
...
Summary:
Gradicek's Mvcc test have seen the following changes:
- provided a test infrastructure (fixture and macros) to facilitate testing and increase readability
- split tests into multi-transaction update, VersionList::find and general Mvcc testing
- multi-transaction update tests have been refactored (i *think* nothing got deleted, but it was a mess so I don't guarantee)
- changed all multithreaded tests to be single-threaded because multiple threads were not necessary
- changed transaction naming from T5, T8, T10 to T1, T2... for consistency with actual transaction indices
What still needs to be done:
- Gleich and Gradicek need to review the infrastructure (possible improvements)
- multi-transaction update tests need to be addressed by Gradicek (see "TODO gradicek" in code, discuss with Flor)
- the wiki/draw.io documentation needs to be updated. it is not imperative that all the tests be drawn in draw.io, only the general infrastructure explained. perhaps only a few examples drawn. Gradicek discuss with Flor
- Gleich see the "TODO Gleich" lines in the diff and discuss with flor
Suggested workflow:
- review this diff, hopefully land (before resolving all the TODOs)
- discard D169
- Gradicek and Gleich address the TODOs
- Flor reviews the results (in following diffs)
Reviewers: dgleich, matej.gradicek, buda
Reviewed By: matej.gradicek, buda
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D348
2017-05-05 14:46:18 +02:00
Mislav Bradac
cfb987a90c
Evaluate epressions EdgeTypeTest and LabelsTest
...
Reviewers: florijan, teon.banek
Reviewed By: teon.banek
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D345
2017-05-05 13:25:23 +02:00
Mislav Bradac
72d4a67c4a
Convert labels test from antlr to AST
...
Reviewers: florijan, teon.banek
Reviewed By: teon.banek
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D346
2017-05-05 12:13:55 +02:00
Mislav Bradac
2e9c0e4cb9
Implement evaluation of list indexing and slicing
...
Reviewers: florijan, teon.banek
Reviewed By: florijan
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D342
2017-05-04 15:34:33 +02:00
florijan
0968224a3d
Query::Delete - can now delete Null (naturally occuring in optional match)
...
Reviewers: teon.banek
Reviewed By: teon.banek
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D339
2017-05-04 10:35:20 +02:00
Mislav Bradac
cb7310fb6a
Add list indexing and slicing conversion to AST
...
Reviewers: teon.banek
Reviewed By: teon.banek
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D341
2017-05-03 19:40:34 +02:00
Teon Banek
d06f80e3f3
Plan Distinct
...
Summary:
Support WITH/RETURN DISTINCT in test macros.
Test planning Distinct.
Implement OutputSymbols in Distinct operator.
Reviewers: florijan, mislav.bradac
Reviewed By: mislav.bradac
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D340
2017-05-03 16:35:48 +02:00
florijan
0a33a555a6
GraphDdAccessor and KeyIndex API upgrades. Test refactoring
...
Summary:
The GraphDbAccessor and KeyIndex APIs can now also return records for the current transaction+command graph state. This is necessary to correctly implement MERGE. The new logic is has increased the MVCC+Accessor related chaos and should be revised when refactoring MVCC (as planned).
Previous index testing was separated into VertexIndex and EdgeIndex testing. This is inappropriate since most of the logic is exaclty the same. Also it was not clearly defined what gets tested via the GraphDbAccessor API, and what directly through the KeyIndex API. This has also been refactored, but it needs additional work (Gleich).
Reviewers: buda, dgleich
Reviewed By: buda, dgleich
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D306
2017-05-03 15:42:04 +02:00
florijan
355f62ce71
Query::Plan - Distinct added
...
Reviewers: buda, mislav.bradac, teon.banek
Reviewed By: teon.banek
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D336
2017-05-03 15:27:24 +02:00
Matej Ferencevic
b6ff1e1bbc
Removed large bolt encoder test to reduce runtime.
...
Reviewers: teon.banek
Reviewed By: teon.banek
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D338
2017-05-03 14:50:02 +02:00
Matej Ferencevic
18782e67fd
Fixed bolt encoder test.
...
Summary: Fixed encoder off-by-one limit.
Reviewers: teon.banek
Reviewed By: teon.banek
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D335
2017-05-03 14:33:33 +02:00
Teon Banek
cbd3998899
Plan Unwind operator
...
Summary:
Support ListLiteral in test macros.
Test planning Unwind.
Support UNWIND in test macros.
Test SymbolGenerator for UNWIND clause.
Use namespace in QueryPlan Unwind test.
Reviewers: mislav.bradac, buda, florijan
Reviewed By: florijan
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D331
2017-05-03 13:54:33 +02:00
Teon Banek
eef6fb1981
Convert antlr Unwind to AST
...
Reviewers: florijan, mislav.bradac
Reviewed By: mislav.bradac
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D330
2017-05-03 12:32:18 +02:00
florijan
ffc977dbfc
Query::Plan::Unwind added
...
Reviewers: teon.banek, mislav.bradac, buda
Reviewed By: teon.banek
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D328
2017-05-03 08:38:25 +02:00
florijan
2e5eccf197
Query::AST::Literal refactor. Repl and TypedValue mods.
...
Summary:
- Query::AST::Literal refactor (LiteralBase introduced, ListLiteral added)
- Repl now prints out list TypedValues properly
- TypedValue to string conversion refactors
Reviewers: teon.banek, mislav.bradac, buda
Reviewed By: teon.banek
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D327
2017-04-28 14:58:16 +02:00
Teon Banek
9653c703dc
Plan optional matching
...
Summary:
Support OPTIONAL MATCH in test macros.
Test planning Optional.
Reviewers: florijan, mislav.bradac
Reviewed By: florijan
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D322
2017-04-28 14:03:08 +02:00
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