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
14b6c739bb
Catch NotYetImplemented in Repl
...
Reviewers: florijan, mislav.bradac
Reviewed By: florijan
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D297
2017-04-19 15:58:14 +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
d42d519956
Delete import and serialisation
...
Reviewers: buda
Reviewed By: buda
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D294
2017-04-19 12:00:11 +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
Teon Banek
ffade52fca
Remove unused query exceptions
...
Reviewers: florijan, mislav.bradac, buda
Reviewed By: buda
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D283
2017-04-18 09:20:01 +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
db30e72069
Change back to seq_cst memory ordering.
...
Summary: This probably made the sl_simulation test hang. We'll update it to this for now and see how it will behave in the future.
Reviewers: buda
Reviewed By: buda
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D284
2017-04-14 17:50:08 +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
Mislav Bradac
bba20cf89c
Remove unneccessary files from utils
...
Reviewers: buda
Reviewed By: buda
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D276
2017-04-13 17:55:33 +02:00
florijan
59a9aaea16
Query::Context - removed some junk
...
Reviewers: teon.banek, mislav.bradac
Reviewed By: mislav.bradac
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D278
2017-04-13 16:49:18 +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
Marko Budiselic
38c40096c5
Interpreter build script + dockerfile.
...
Summary: Interpreter build script + dockerfile.
Reviewers: teon.banek
Reviewed By: teon.banek
Subscribers: pullbot, buda
Differential Revision: https://phabricator.memgraph.io/D275
2017-04-13 14:58:14 +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
Mislav Bradac
55ef48c78e
Add antlr error description to SyntaxException
...
Reviewers: teon.banek
Reviewed By: teon.banek
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D269
2017-04-12 15:51:21 +02:00
Teon Banek
b69c162c9f
Add base QueryException class
...
Summary:
Also, inherit `TypedValueException` from `BasicException` instead of
`StacktraceException`.
This is meant as a basic API change, so that catching query exceptions becomes
simpler. The error message can be obtained from `what` method, inherited from
`BasicException`. In the future, we may extend the `QueryException`. It could
take column/row position in query source, as well as other information. Then
provide (or override `what`) a method to format the error message nicely for
the user.
Reviewers: florijan, buda, mislav.bradac
Reviewed By: mislav.bradac
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D267
2017-04-12 15:35:51 +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
Teon Banek
6ed297e1d9
Remove src/query/util.hpp
...
Summary:
`query/util.hpp` isn't used anywhere, but in `copy_hardcoded_queries.cpp`. That
file may be removed in the future, but for now it is needed.
Reviewers: mislav.bradac, florijan, buda
Reviewed By: buda
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D261
2017-04-12 10:20:59 +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
Teon Banek
7d0958b1a4
Add PreVisit method to utils::Visitor
...
Reviewers: florijan, mislav.bradac
Reviewed By: mislav.bradac
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D242
2017-04-10 15:03:02 +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
Teon Banek
64d0163aad
Handle QueryRuntimeException in AM-REPL
...
Reviewers: florijan
Reviewed By: florijan
Differential Revision: https://phabricator.memgraph.io/D250
2017-04-10 09:13:14 +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
Matej Ferencevic
db740fb9fc
Started working on network hang fix.
...
Reviewers: buda
Reviewed By: buda
Subscribers: pullbot, mislav.bradac
Differential Revision: https://phabricator.memgraph.io/D228
2017-04-07 17:09:58 +02:00