Summary:
All mgp_* symbols are exported from Memgraph executable, no other
symbols should be visible.
The primary C API header, mg_procedure.h, is now part of the
installation. Also, added a shippable query module example.
Directory `query_modules` is meant to contain sources of modules we
write and ship as part of the installation. Currently, there's only an
example module, but there may be potentially more. Some modules could
only be installed as part of the enterprise release.
For Memgraph to load custom procedures, it needs to be started with a
flag pointing to a directory with compiled shared libraries implementing
those procedures.
Reviewers: mferencevic, ipaljak, llugovic, dsantl, buda
Reviewed By: mferencevic
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D2538
Summary:
This makes the concrete memory resource an explicit argument in custom
procedures. Unfortunately, the API is a bit uglier but at least we don't
have to worry about threading, global state or similar. This is the
primary reason for this change as we would probably like to allow
procedures to spawn threads to compute stuff in a parallel fashion.
Reviewers: mferencevic, dsantl
Reviewed By: mferencevic
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D2495
Summary:
The `mg_value` is the main data type used in upcoming custom procedures. Each
custom procedure will receive arguments as an array of `mg_value` instances.
The results of custom procedures will also be built as `mg_value` instances.
We should strive to have as simple and straightforward C API for custom
procedures, because we want to limit the possibility of errors and bugs on the
user facing side. Custom procedures will run in Memgraph and as such can cause
crashes and potentially a lot of nasty stuff. The burden is on the writer of
custom procedures not to mess things up, so we should make messing things up
from the C API hard if not impossible to do.
Reviewers: mferencevic, ipaljak, dsantl
Reviewed By: mferencevic
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D2443
Summary: Skiplist - fixed support for insertion of (const T&) objects. Before only (T&&) worked.
Test Plan: Tested already with slightliy modified tests.
Reviewers: buda
Reviewed By: buda
Subscribers: pullbot, florijan, buda
Differential Revision: https://phabricator.memgraph.io/D48
Summary: storage - UnoqueObjectStore documentation improved
Test Plan: no test plan
Reviewers: sale, buda
Reviewed By: sale, buda
Subscribers: pullbot, florijan, sale, buda
Differential Revision: https://phabricator.memgraph.io/D43
Summary: Minor refactor of the union_find data structure. Testing added for union_find.
Test Plan: Manual
Reviewers: sale, buda
Reviewed By: sale, buda
Subscribers: pullbot, florijan, sale, buda
Differential Revision: https://phabricator.memgraph.io/D42
Summary: Much more serious implementation of FSWatcher
Test Plan: ctest -R fswatcher
Reviewers: dtomicevic, sale
Subscribers: buda
Differential Revision: https://phabricator.memgraph.io/D33
Summary: Initial doxygen comments on Db and Graph classes
Test Plan: manual
Reviewers: sale
Subscribers: sale, buda
Differential Revision: https://memgraph.phacility.com/D23
Summary: Stack Allocator Unit Test
Test Plan: manual (unit tests are not passing because malloc and free counters have to be added)
Reviewers: sale
Subscribers: sale, buda
Differential Revision: https://memgraph.phacility.com/D21
Summary: Block Allocator Test - initial implementation
Test Plan: ctest -R memgraph_unit_block_allocator
Reviewers: sale
Subscribers: sale, buda
Differential Revision: https://memgraph.phacility.com/D20