Summary:
Don't include `${CMAKE_BINARY_DIR}/include` since it is not needed and
would only slow down compilation.
Also removed `include_directories` for `fmt`, since it is built using
`add_subdirectory`. (The `add_subdirectory` also does the include.)
Use `add_custom_target` for calling `recursive_include` instead of
`custom command`. This allows specifying that `recursive_include`
depends on `plan_template_cpp`.
Reviewers: mislav.bradac, buda
Reviewed By: mislav.bradac, buda
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D511
Summary:
To use the library in code, do the following.
* Include glog, `include "glog/logging.h"`
* Initialize logging from a main entry point,
`google::InitGoogleLogging(argv[0]);`
* Log anywhere from your code, `LOG(INFO) << "Hello world from glog";`
For advanced use, refer to glog's documentation.
Reviewers: mislav.bradac, florijan, dgleich, buda
Reviewed By: mislav.bradac, buda
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D492
Summary:
- GC changed to evaluate old records w.r.t. the oldest transaction's id AND snapshot, as opposed to only id
- MVCC hints exp+aborted race condition prevented
- minor MVCC refactors and cleanups
- minor Transaction refactors and cleanups
Reviewers: buda, dgleich
Reviewed By: buda, dgleich
Subscribers: dtomicevic, pullbot
Differential Revision: https://phabricator.memgraph.io/D434
Summary:
CMake is smart enough to transitively detect dependencies and link them
appropriately. Therefore, it is enough that we put all libraries that
memgraph uses to the dependency list of memgraph_lib and memgraph_pic
targets.
Patch the fmt library for C++14 and higher
fmt library would detect that C++11 is supported and then put the
compiler flag. This flag was set so it overrides parent project compiler
flags. This override from fmt would prevent us from using C++14
features. New version (3.1) of fmt resolves this issue, but it hasn't
been released yet. Therefore, this commit updates the script which
clones fmt to use the released 3.0.1 version and apply the fix on that.
Reviewers: dgleich, buda
Reviewed By: buda
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D441
Summary:
A new variable has been added to CMakeLists -- `PREFERRED_DEBUGGER`.
Here, you can specify which debugger you are using, so that the compiler
produces tuned debug builds for that debugger. Currently only 'gdb' and
'lldb' are supported, since we use 'gcc' and 'clang' compilers.
Unsupported combination of `PREFERRED_DEBUGGER` and used compiler is
displayed as a warning, and the build uses default debug flags.
Reviewers: florijan, mislav.bradac, dgleich, buda
Reviewed By: buda
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D426
Summary:
Permute query parts.
Permute matching only by selecting the starting node.
Flip the expansion when expanding from the other node.
Split planner into rule_based_planner and variable_start_planner
Use symbol hash when collecting expansion nodes
Multiple node atoms may point to the same symbol, and we could generate
multiple starting positions per atom which are the same. Using symbol
hash and equality prevents generating those redundant plans.
Correctly permute optional and merge matchings
Test VariableStartPlanner
Reviewers: florijan, mislav.bradac, buda, lion
Reviewed By: florijan, buda
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D417
Summary:
File buffer added
Implemented little more of snapshoter.
Resolved conflicts
More stuff implemented of snapshot durability.
More things in snapshoter.
Refactored, added comments
Merge branch 'dev' into durability_snapshot
Merge branch 'dev' into durability_snapshot
Resolved bug in scheduler, snapshoter is running in grpah_db.
Reviewers: mferencevic, buda, dgleich, mislav.bradac
Reviewed By: mferencevic, buda, dgleich, mislav.bradac
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D232
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
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
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
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