Commit Graph

191 Commits

Author SHA1 Message Date
Teon Banek
283a91cc60 Integrate loading openCypher module procedures
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
2019-11-07 15:23:02 +01:00
Teon Banek
2e1063bbdb Introduce mgp_memory to mg_procedure API
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
2019-10-18 13:37:54 +02:00
Teon Banek
7afa4fd7b3 Add C API for working with graph constructs in procedures
Reviewers: mferencevic, ipaljak, dsantl

Reviewed By: mferencevic

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D2469
2019-10-15 15:06:35 +02:00
Teon Banek
103f51d3ec Add C API for creating a procedure result
Reviewers: mferencevic, ipaljak, dsantl

Reviewed By: mferencevic

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D2464
2019-10-04 10:27:39 +02:00
Teon Banek
d385ebfa15 Add C API for raw memory allocations in procedures
Reviewers: ipaljak, dsantl, mferencevic

Reviewed By: mferencevic

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D2461
2019-10-02 10:28:49 +02:00
Teon Banek
6f25e43b52 Stub out C API for working with mg_value in custom procedures
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
2019-09-25 15:46:25 +02:00
Marko Budiselic
e7f5bd4c21 antlr integration, *.hpp and *.cpp inside src dir, cleanup
Summary: antlr integration, *.hpp and *.cpp inside src dir, cleanup

Test Plan: manual

Reviewers: mislav.bradac, dgleich, florijan

Reviewed By: florijan

Subscribers: pullbot, buda

Differential Revision: https://phabricator.memgraph.io/D49
2017-02-17 16:20:31 +01:00
florijan
a11ebef9c5 Properties system and core storage major refactor. STABLE STATE, unit tests added. 2017-02-16 17:43:39 +01:00
florijan
55f1912910 Properties refactoring: STABLE STATE. Memgraph compiles. Properties are out. Tests are in progress. 2017-02-16 15:47:55 +01:00
florijan
70a8b93b0b Major properties system and database accessor refactor: first stable state (compiles). 2017-02-15 14:10:16 +01:00
florijan
9e09186d30 Properties refactor in progress. Dev merge (query execution landed). UNSTABLE STATE 2017-02-14 10:17:03 +01:00
Marko Budiselic
0fcda94162 Hardcoded query infrastructure - first concrete version - USEFUL FOR: POCs & pilots
Summary: Hardcoded query infrastructure - first concrete version - USEFUL FOR: POCs & pilots

Test Plan: manual + jenkins

Reviewers: sale, florijan

Reviewed By: florijan

Subscribers: pullbot, buda

Differential Revision: https://phabricator.memgraph.io/D45
2017-02-14 09:40:31 +01:00
florijan
c36883003a Merge conficts resolved 2017-02-13 09:23:34 +01:00
Florijan Stamenkovic
9adf5699d9 Major properties and storage refactoring in progress. UNSTABLE STATE 2017-02-13 09:21:35 +01:00
Florijan Stamenkovic
6320784687 Major properties and storage refactoring in progress. UNSTABLE STATE 2017-02-11 07:51:02 +01:00
Florijan Stamenkovic
ee523d5080 Continuing major refactor, UNSTABLE STATE. Merged current dev 2017-02-07 13:22:07 +01:00
Florijan Stamenkovic
6d981c9cd0 Skiplist minor bugfixes
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
2017-02-07 13:15:56 +01:00
Florijan Stamenkovic
b38704391c Typed-value migration in progress. UNSTABLE STATE 2017-02-06 12:40:55 +01:00
Florijan Stamenkovic
b374ae1dbb storage and database major refactor in progress, also switching from properties to typed-value system. a lot of overdesigned functionalities cut down, new implementations just started. VERY UNSTABLE STATE 2017-02-04 09:01:56 +01:00
Florijan Stamenkovic
10c7514c8a storage/model - added typed_value system and tests. Modified utils slightly (backward compatible).
Summary: Added TypedValue system.

Test Plan: ???

Reviewers: sale, buda

Reviewed By: buda

Subscribers: pullbot, florijan, buda, sale

Differential Revision: https://phabricator.memgraph.io/D46
2017-02-02 15:48:16 +01:00
Florijan Stamenkovic
46dbc08d4e Merge branch 'MG_typed_values-new_implementation' into MG_typed_value_migration 2017-02-02 10:37:01 +01:00
Florijan Stamenkovic
261797ea9c storage/model/typed_value - fixes after code review 2017-02-02 10:29:14 +01:00
Florijan Stamenkovic
e508482ab9 Deleted storage/model/properties, started refactoring 2017-02-02 09:03:48 +01:00
Florijan Stamenkovic
b329225322 storage/model - added typed_value system and tests. Modified utils slightly (backward compatible).
Summary: Added TypedValue system.

Test Plan: ???

Reviewers: sale, buda

Subscribers: florijan, buda, sale

Differential Revision: https://phabricator.memgraph.io/D46
2017-02-01 14:05:08 +01:00
sale
99b8a4f234 Added Skiplist ReverseIterator, Distance Approximation Prototype and documented some stuff
Summary: Skiplist ReverseIterator and Distance Approximation

Test Plan: manual

Reviewers: florijan, buda

Reviewed By: buda

Subscribers: pullbot, florijan, buda

Differential Revision: https://phabricator.memgraph.io/D44
2017-01-31 15:16:38 +01:00
Florijan Stamenkovic
4f649c9821 storage - UniqueObjectStore class added (with unit tests)
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
2017-01-24 14:46:11 +01:00
Florijan Stamenkovic
dee15acd1e data_structures/union_find - minor refactors and tests added
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
2017-01-23 15:20:09 +01:00
sale
45c31b08e7 Bug fix arcconfig
Summary: Merge branch 'dev' of https://phabricator.memgraph.io/diffusion/MG/memgraph into dev

Test Plan: manual

Reviewers: buda

Reviewed By: buda

Subscribers: pullbot, buda

Differential Revision: https://phabricator.memgraph.io/D40
2017-01-23 12:27:50 +01:00
Marko Budiselic
d7de5cfe08 merge + conflict resolution 2017-01-13 11:31:56 +01:00
Marko Budiselic
b1c293ef72 Review updates (documentation, namespace naming) 2017-01-12 19:42:52 +01:00
sale
d475b79a58 Merge 2017-01-11 09:18:10 +00:00
Marko Budiselic
057af7ac14 Much more serious implementation of FSWatcher
Summary: Much more serious implementation of FSWatcher

Test Plan: ctest -R fswatcher

Reviewers: dtomicevic, sale

Subscribers: buda

Differential Revision: https://phabricator.memgraph.io/D33
2017-01-08 01:07:12 +01:00
Marko Budiselic
782fc05f93 Merge branch 'dev' into mgcore_T159_inotify 2017-01-03 16:01:53 +01:00
Marko Budiselic
5c2258b203 Auto scope doxygen fix
Summary: Auto scope doxygen fix

Test Plan: manual

Reviewers: dtomicevic

Subscribers: buda

Differential Revision: https://memgraph.phacility.com/D26
2017-01-02 18:52:10 +01:00
sale
1c1cf1ad88 Review changes fixed 2016-12-28 11:56:53 +00:00
Marko Budiselic
422f6a9957 mistake, I forgot to add some changes 2016-12-22 19:28:21 +01:00
Marko Budiselic
f91dcda97b unit test normalization 2016-12-22 19:22:45 +01:00
Marko Budiselic
55a62f9640 Bugs from concurrent tests aren't solved. TODO: we have to introduce memory tracker for tests 2016-12-21 21:33:58 +01:00
sale
02f332c34f Update on Configuration and CppCheck refactor 2016-12-21 17:48:38 +00:00
Marko Budiselic
1ae474d15c code documantation work in progress 2016-12-21 11:35:04 +01:00
Marko Budiselic
4b957f8dd3 Merge branch 'dev' into mg_core_code_documentation 2016-12-21 11:03:51 +01:00
Marko Budiselic
fd804f5e58 Merge branch 'MG_test_T196-Stack_Allocator_Test' into dev 2016-12-21 10:34:57 +01:00
sale
013f69b1ca removed unused and obsolete macro 2016-12-20 22:29:33 +00:00
sale
08c8bd4aee Initial configuration memgraph which needs review
Summary: MG configuration commit for review

Test Plan: manual

Reviewers: buda

Subscribers: buda

Differential Revision: https://memgraph.phacility.com/D24
2016-12-20 22:26:03 +00:00
Marko Budiselic
ecbb0f0595 Initial doxygen comments on Db and Graph classes
Summary: Initial doxygen comments on Db and Graph classes

Test Plan: manual

Reviewers: sale

Subscribers: sale, buda

Differential Revision: https://memgraph.phacility.com/D23
2016-12-20 19:38:16 +01:00
Marko Budiselic
362bc3ba48 Bug fixes: RELEASE MODE - asserts 2016-12-19 18:32:44 +01:00
sale
021da26ac9 Merge branch 'dev' of https://memgraph.phacility.com/diffusion/MG/memgraph into dev 2016-12-19 10:05:38 +00:00
sale
18612a3063 Added dump methods to stacktrace 2016-12-19 10:02:24 +00:00
Marko Budiselic
dc3433aa8a Stack Allocator Unit Test
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
2016-12-18 20:32:41 +01:00
Marko Budiselic
4d6c315c1e Block Allocator Test - initial implementation
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
2016-12-18 19:23:58 +01:00