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
Matej Gradiček
54f14ef788
First memgraph tests
...
Summary: First memgraph tests
Reviewers: buda
Reviewed By: buda
Subscribers: matej.gradicek
Differential Revision: https://phabricator.memgraph.io/D123
2017-03-14 14:40:43 +00:00
Marko Budiselic
b87c420dbf
Add python requirements
...
Summary: Add python requirements
Reviewers: matej.gradicek
Reviewed By: matej.gradicek
Subscribers: buda
Differential Revision: https://phabricator.memgraph.io/D121
2017-03-14 13:57:20 +01:00
Matej Gradiček
81289d0663
Refactoring qa repo, moved tests from tck_engine/openCypher to tck_engine/tests/openCypher, created some test folders, added KPI Service documentation.
...
Reviewers: buda
Reviewed By: buda
Subscribers: matej.gradicek
Differential Revision: https://phabricator.memgraph.io/D122
2017-03-14 12:52:32 +00: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
Matej Gradiček
ea615a13b4
tck engine first implementation
...
Summary: tck engine first implementation
Reviewers: dgleich, teon.banek, buda, mferencevic
Reviewed By: buda, mferencevic
Subscribers: buda
Differential Revision: https://phabricator.memgraph.io/D95
2017-03-14 09:20:08 +00: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
c638955758
Remove ast.cpp from CMakeLists.txt
2017-03-13 16:06:37 +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
Teon Banek
9dada557a3
Add coverage option to cmake
...
Summary:
Coverage is by default set to OFF, but the new option can be used for convenient
toggle when building.
Reviewers: buda
Reviewed By: buda
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D109
2017-03-10 18:05:15 +01:00
Mislav Bradac
4bcee620bc
Change clique to use in64_t
...
Summary: Fix int -> int64_t in query_stripper
Reviewers: teon.banek, buda
Reviewed By: buda
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D108
2017-03-10 13:58:02 +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
09dbe2e722
Include stderr so logger output can be surpressed during tests.
...
Reviewers: buda
Reviewed By: buda
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D102
2017-03-09 10:09:58 +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
ca4ab42973
Supress intentional unused variable warning in for loop.
...
Reviewers: florijan, buda
Reviewed By: buda
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D101
2017-03-08 17:13:48 +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
Teon Banek
47ed127086
Generate openCypher parser sources if missing
...
Summary:
Makes cmake aware that parser source files are generated, so that it can
know how to set the dependencies for the underlying build tool. When the
files do not exist, invoking e.g. `make` will also run antlr to generate
them. Files will be regenerated only if their dependency changed
(Cypher.g4 file in this case).
Reviewers: buda, florijan
Reviewed By: buda
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D94
2017-03-08 09:31:21 +01:00
Marko Budiselic
b834cdc94a
memgraph coverage (lcov setup in progress...)
...
Summary: first version of coverage (will be polished)
Reviewers: dgleich, mferencevic, florijan, teon.banek
Reviewed By: dgleich
Subscribers: pullbot, buda
Differential Revision: https://phabricator.memgraph.io/D76
2017-03-07 18:27:03 +01:00
Dominik Gleich
57740bcf95
Fix bug -db_accessor passed along as &
...
Summary: Db_accessor is tied to one transaction, and as such each query should work on seperate db_accessor.
Reviewers: florijan, buda
Reviewed By: buda
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D96
2017-03-07 15:55:56 +01:00
Marko Budiselic
6f87588214
First version of external integration test.
...
Summary: First version of external integration test.
Reviewers: matej.gradicek, dgleich, teon.banek, mferencevic
Reviewed By: mferencevic
Subscribers: buda
Differential Revision: https://phabricator.memgraph.io/D81
2017-03-07 12:44:58 +01:00