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
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
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
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
Dominik Gleich
8e1a897b7a
Fix query integration test because of config. Fix hardcoded queries not working because of include bug.
...
Summary:
#1 Hardcoded query integration test was failling because the .so files couldn't be linked, because of wrong compiled directory path (missing config flag).
#2 Hardcoded query not working in production because typed_value changed so some includes didn't work.
Reviewers: florijan, buda
Reviewed By: buda
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D90
2017-03-07 12:37:30 +01:00
Dominik Gleich
57f1b40d8d
Refactor transaction inside db_accessor. Also introduce advance_command.
...
Summary:
Modification to MVCC - CHECK!
Refactor transaction_read
Add automatic commit/abort functionality to graph_db_accessor.
Fix failing test in graph_db_accessor.
Reviewers: buda, dtomicevic, florijan
Reviewed By: buda, florijan
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D87
2017-03-07 09:42:04 +01:00
Dominik Gleich
91bd7ccfb6
Fix comments in assert.
...
Reviewers: buda
Reviewed By: buda
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D93
2017-03-06 18:19:46 +01:00
Matej Ferencevic
813a3b9eed
Started network refactorization.
...
Summary:
Moved server and worker from bolt to communication. Started
templatization.
Started removal of Bolt class.
Removed unnecessary files from network.
Converted states to template functions.
Bolt::Session is now a template.
Merge remote-tracking branch 'origin/dev' into mg_refactor_network
Merged bolt_serializer.cpp into hpp.
Removed obsolete include.
Initial version of bolt session unit test.
Uncommented leftover log commands.
Reimplemented io::Socket.
Added client-stress.sh script.
Reviewers: dgleich, buda
Reviewed By: dgleich, buda
Subscribers: pullbot, mferencevic, buda
Differential Revision: https://phabricator.memgraph.io/D64
2017-03-06 13:52:34 +01:00
florijan
38c3c513fa
Serialization, record stream refactor in progress. UNSTABLE STATE.
...
Summary: Bolt record stream refactoring. BOLT STACK IN UNSTABLE STATE. RecordStreamMocker also refactored
Reviewers: buda, dgleich, mferencevic
Reviewed By: buda
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D88
2017-03-03 14:06:40 +01:00
florijan
2aeef25881
Traversal namespace specialization added for real DB primitives
...
Summary: database/GraphDbAccessor and storage/...Accessor now returns iterators over lazily created Accessors (filtered on visibility). Dependecies and forward declarations reorganized to support new code
Reviewers: buda, teon.banek
Reviewed By: buda
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D83
2017-03-03 14:01:01 +01:00
florijan
92aa235a26
traversal/test.hpp contents moved to tests/unit/traversal.cpp
...
Summary: See above.
Reviewers: buda
Reviewed By: buda
Subscribers: pullbot, florijan, buda
Differential Revision: https://phabricator.memgraph.io/D82
2017-03-02 09:22:54 +01:00
Mislav Bradac
1125331649
Add edge and vertex to TypedValue
...
Summary:
Merge branch 'dev' into mg_full_typed_value
Add Path and Map to TypedValue
Reviewers: buda
Reviewed By: buda
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D80
2017-03-01 18:26:56 +01:00
florijan
80c266ce21
Traversal added. Only the core, tests and template specialization is on the way
...
Summary: See above.
Reviewers: buda, dgleich, mislav.bradac
Reviewed By: buda, dgleich, mislav.bradac
Subscribers: pullbot, mislav.bradac, buda, florijan
Differential Revision: https://phabricator.memgraph.io/D67
2017-03-01 16:45:00 +01:00
Mislav Bradac
ccdffa1d7e
Refactor TypedValue to PropertyValue
...
Summary:
Rename TypedValue to PropertyValue.
Move original TypedValue to query/backend/cpp.
Fix undefined behaviours and memory leaks in PropertyValue.
Add list type to PropertyValue.
Operators and appropriate tests will be revised in following commits.
Fix bugs in TypedValue
Fix bugs in typed value
Reviewers: buda, florijan
Reviewed By: buda
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D77
2017-03-01 12:31:47 +01:00
Marko Budiselic
082465ff15
For each hardcoded query plan there is a build target -> that will improve Memgraph's testability + update of release script (release/alpha.sh)
...
Summary: For each hardcoded query plan there is a build target -> that will improve Memgraph's testability + update of release script (release/alpha.sh)
Reviewers: florijan, mislav.bradac, mferencevic, dgleich
Reviewed By: dgleich
Subscribers: pullbot, buda
Differential Revision: https://phabricator.memgraph.io/D75
2017-02-28 19:00:59 +01:00
Dominik Gleich
f6529cd4c3
Clique #1 and #2 works.
...
Summary:
Merge branch 'dev' into clique_1
Started implementing clique.
Merge branch 'dev' into clique_1
Add multilne query reload.
Clique 1# implementation.
Merge branch 'dev' into clique_1
Clique #1 and #2 implemented.
Add delete all query. Remove unique from clique.
Reviewers: florijan, mislav.bradac, buda
Reviewed By: florijan, mislav.bradac, buda
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D73
2017-02-28 12:51:40 +01:00
Marko Budiselic
a32b2831e5
copy hardcoded queries
...
Summary: copy hardcoded queries
Reviewers: dgleich, mislav.bradac, florijan, mferencevic
Reviewed By: dgleich
Subscribers: buda
Differential Revision: https://phabricator.memgraph.io/D74
2017-02-27 18:26:51 +01:00
Dominik Gleich
82414b9111
Fix naming of asserts.runtime_assert & assert -> debug_assert
...
Summary:
Merge branch 'dev' into rename_assert
Fix new files.
Remove cassert.
Reviewers: buda
Reviewed By: buda
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D66
2017-02-24 11:41:55 +01:00
Dominik Gleich
af23253e7e
Implement less than operator.
...
Summary:
Add test.
Vertex accessor test checks for sortability.
Reviewers: buda, florijan, mislav.bradac
Reviewed By: buda
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D62
2017-02-24 10:10:24 +01:00
Mislav Bradac
ca90f813ad
Start implementing compiler structures
...
Summary:
Merge remote-tracking branch 'origin/dev' into mg_compiler_structs
Merge remote-tracking branch 'origin/dev' into mg_compiler_structs
Implement compiler structures and tests
Reviewers: florijan, buda
Reviewed By: buda
Subscribers: pullbot, florijan, buda
Differential Revision: https://phabricator.memgraph.io/D61
2017-02-23 18:12:24 +01:00
Marko Budiselic
d1842571d6
Cpp17 support has been added
...
Summary: Cpp17 support has been added
Reviewers: mferencevic, dgleich, mislav.bradac, florijan
Reviewed By: mislav.bradac
Subscribers: pullbot, buda
Differential Revision: https://phabricator.memgraph.io/D57
2017-02-22 14:28:37 +01:00
Mislav Bradac
7a647dffca
Add overloads for Code and cast enums explicitly
...
Summary:
Cast pack::Code enum to byte and size_t where neccessary. g++ is
confused by some of implicit casts when function has different
valid overloads. There is still problem in states/init.cpp but that file
will disappear after bolt is refactored. Next step towards safe code is
to make Code and Rule enum class.
Reviewers: buda, mferencevic
Reviewed By: buda
Subscribers: pullbot, mferencevic, buda
Differential Revision: https://phabricator.memgraph.io/D58
2017-02-22 12:42:22 +01:00
Dominik Gleich
d72383c0af
Implement record stream mocker.
...
Summary:
Begin record stream mocker implementation.
Record stream mocker alongside tests created.
Test Plan: Run record_stream_mocker in tests.
Reviewers: mislav.bradac, florijan, buda
Reviewed By: buda
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D54
2017-02-21 15:50:10 +01:00
Dominik Gleich
40aa500a88
Improve complexity of union_find, better explain complexity.
...
Summary:
Old union find implementation was not true about it's complexity.
Take a look at http://www.brpreiss.com/books/opus4/html/page411.html#theoremsetsi .
Test Plan: Run union_find in tests.
Reviewers: mislav.bradac, buda
Reviewed By: mislav.bradac
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D51
2017-02-20 18:57:37 +01:00
Marko Budiselic
4583d8bde3
antlropencypher + youcompleteme update
...
Summary: antlropencypher + youcompleteme update
Test Plan: manual
Reviewers: mislav.bradac
Reviewed By: mislav.bradac
Subscribers: pullbot, mislav.bradac, buda
Differential Revision: https://phabricator.memgraph.io/D52
2017-02-20 14:06:25 +01:00
florijan
68f57fa47d
CMakeLists cleanup w.r.t. Antlr linking. Removed the unused typed_value_store.cpp
...
Summary: See above.
Test Plan: Building tested.
Reviewers: buda
Reviewed By: buda
Subscribers: pullbot, buda
Differential Revision: https://phabricator.memgraph.io/D50
2017-02-20 09:43:58 +01:00
Marko Budiselic
3642fb1312
examples folder has been removed; src/test folder has been removed; the existing tests were moved to tests folder; StacktraceException has been introduced; query_plan_templated has been moved to query folder; hazard pointers have been deleted because they are not used any more
2017-02-18 18:03:48 +01:00
Marko Budiselic
0198b37f21
benchmark folder has been removed from the root dir, README update, measure_time.hpp comments
2017-02-18 14:36:50 +01:00
Marko Budiselic
d4e3c4cd10
clang format has been run on all hpp and cpp files under src and tests
2017-02-18 11:54:37 +01: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 Stamenkovic
9adf5699d9
Major properties and storage refactoring in progress. UNSTABLE STATE
2017-02-13 09:21:35 +01:00
Florijan Stamenkovic
ee523d5080
Continuing major refactor, UNSTABLE STATE. Merged current dev
2017-02-07 13:22:07 +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
029a3ff09b
Deleted src/api - this is the old HTTP
2017-02-02 15:53:34 +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
Marko Budiselic
28ad69b536
use of Google Style (clang-format)
...
Summary: use of Google Style (clang-format)
Test Plan: manual
Reviewers: sale
Reviewed By: sale
Subscribers: buda
Differential Revision: https://phabricator.memgraph.io/D39
2017-01-23 12:04:54 +01:00
Florijan Stamenkovic
f097b91430
DownloadProject,idea ignored
...
Summary: as above
Test Plan: manual
Reviewers: buda
Reviewed By: buda
Subscribers: buda
Differential Revision: https://phabricator.memgraph.io/D36
2017-01-17 16:54:31 +01:00
Marko Budiselic
d7de5cfe08
merge + conflict resolution
2017-01-13 11:31:56 +01:00
sale
d475b79a58
Merge
2017-01-11 09:18:10 +00:00
sale
1c1cf1ad88
Review changes fixed
2016-12-28 11:56:53 +00: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
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
362bc3ba48
Bug fixes: RELEASE MODE - asserts
2016-12-19 18:32:44 +01:00
sale
18612a3063
Added dump methods to stacktrace
2016-12-19 10:02:24 +00:00
sale
b4c65d9680
Stacktrace dump method added
...
Summary: Stacktrace dump method added
Test Plan: manual
Reviewers: buda
Subscribers: buda
Differential Revision: https://memgraph.phacility.com/D19
2016-12-16 14:50:19 +00:00
sale
9154f9b719
Added signal handler and refactored exception handler
...
Summary: Added signal handler and refactored exception handler
Test Plan: manual
Reviewers: buda
Subscribers: buda
Differential Revision: https://memgraph.phacility.com/D17
2016-12-16 12:58:49 +00:00
Marko Budiselic
a2d9ab7231
bolt_decoder bug fix based on warning from clang-tidy (steps to run clang-tidy: 1. cmake ... 2. make clang-tidy). TODO: fix remaining issues
2016-12-04 11:06:22 +01:00
Marko Budiselic
ae28cdc424
Merge branch 'mgcore_T157_dsmove' into mgcore_T156_lintfix
2016-12-04 10:20:21 +01:00
Marko Budiselic
0a0e5e93da
src/demo was removed, src/examples and src/benchmarks were moved to the top level
2016-12-04 10:20:14 +01:00
Marko Budiselic
f9af76c364
data_structures moved from src/
...
Summary: data_structures moved from src/
Test Plan: manual
Reviewers: sale
Subscribers: buda, sale
Differential Revision: https://memgraph.phacility.com/D14
2016-12-03 23:28:07 +01:00
Marko Budiselic
cfd36be2e0
All possible request changes from D9#146 are done
2016-11-30 11:05:48 +01:00
Marko Budiselic
5eb90f9e52
DRESSIPI BUILD #2 ; some queries are hardcoded + bug fixes (still in progress)
2016-11-29 14:08:29 +01:00
Marko Budiselic
21788d003a
Dressipi CRUD queries are dummy implemented; Fixes T99 and T131
...
Summary: Dressipi CRUD queries are dummy implemented; Fixes T99 and T131
Test Plan: manual
Reviewers: sale
Subscribers: buda, sale
Maniphest Tasks: T131, T99
Differential Revision: https://memgraph.phacility.com/D9
2016-11-29 04:08:49 +01:00
Marko Budiselic
afc0a4a176
better architecture for hardcoded test queries (still has to be polished)
2016-11-17 15:46:36 +01:00
Marko Budiselic
8362b64e9f
DRESSIPI FIRST PILOT RELEASE (release script update)
2016-11-04 12:05:35 +01:00
Marko Budiselic
d45121a1a2
scenario 000001 pass, dressipi scenario 1 - 3 more queries have to be implemented
2016-11-02 16:05:02 +01:00
Marko Budiselic
c312c2e369
iterators, properties, search by properties in index hardcoded query; TODO: implement in compiler
2016-10-19 02:41:06 +02:00
Marko Budiselic
51b17c2402
dressipi sprint 1 work in progress, labels function support, delete all
2016-10-11 02:43:41 +02:00
Kruno Tomola Fabro
d806d635f9
Added documentation.
...
Fixed test for index.
2016-09-18 23:22:36 +01:00
Kruno Tomola Fabro
8fd713d93d
Changes for benchmarking on AWS.
...
Added files missing file to copy in barier.sh.
Updated barrier.
2016-09-16 20:33:30 +01:00
Kruno Tomola Fabro
ed919b615a
Merge branch 'tests' into demo
2016-09-16 20:29:57 +01:00
Marko Budiselic
c67742e3fa
dressipi usecase hardcoded
2016-09-14 12:19:56 +01:00
Kruno Tomola Fabro
a6f72dc3fd
Added stress test for ConncurentList.
2016-09-13 17:53:40 +01:00
Kruno Tomola Fabro
e22074ad9f
Added test for snapshot with stored index.
2016-09-13 17:02:04 +01:00
Kruno Tomola Fabro
266d8ed055
Transformed dressipi astar into a query.
2016-09-13 14:17:50 +01:00
Kruno Tomola Fabro
6e4096d619
Added flag for optional import of database.
2016-09-13 12:21:07 +01:00
Kruno Tomola Fabro
be1a936944
Fixed logging of index creation.
2016-09-12 20:38:03 +01:00
Kruno Tomola Fabro
2a59ed8906
Minor refactorings:
...
Importes now use logger.
Refactored order of constrution of objects in Db.
Moved index creation/removing from Db to Indexes.
Completed Garbage class.
Cleaner now calls garbage.clean() for databases.
Renamed List to ConcurrentList which better names it.
2016-09-12 20:13:04 +01:00
Kruno Tomola Fabro
efbae39f41
Added logic for cleaning older snapshots.
2016-09-11 22:22:52 +01:00
Kruno Tomola Fabro
cd528b9bd6
Uplifted int32 to int64 and float to double in csv_import.
2016-09-11 21:30:31 +01:00
Kruno Tomola Fabro
443d0e0098
Changed TransactionId to TransactionRead.
2016-09-09 20:56:53 +01:00
Kruno Tomola Fabro
cf497dd522
Extracted from snapshoter => snapshot_engine.
2016-09-09 18:48:15 +01:00
Kruno Tomola Fabro
911eeff1d9
Snapshot store and load works.
2016-09-09 16:14:20 +01:00
Kruno Tomola Fabro
74b9305285
Merge branch 'dev' of https://phabricator.tomicevic.com/diffusion/MG/memgraph into snapshot
2016-09-08 13:30:44 +01:00
Kruno Tomola Fabro
4443cb8b7b
Finished creating part of snapshot.
2016-09-08 13:25:52 +01:00
Marko Budiselic
35f882644e
config is better now (yaml-cpp) + web::Client + web::Logger
...
Summary:
init struct size problem fix
cast issue bolt::State::init
TCP server bugfix EPOLLET + bolt bug fix
Test Plan: normal
Reviewers: ktf
Subscribers: ktf
Maniphest Tasks: T87
Differential Revision: https://phabricator.tomicevic.com/D2
2016-09-08 12:13:30 +01:00
Kruno Tomola Fabro
e1e7f3759d
Decreased footprint of union in StoredProperty.
2016-09-06 12:13:08 +01:00
Kruno Tomola Fabro
537730ed94
Merge branch 'T87' of https://phabricator.tomicevic.com/diffusion/MG/memgraph into property
2016-09-05 16:05:58 +01:00
Marko Budiselic
b0951a3f76
cast issue bolt::State::init
2016-09-05 16:05:35 +01:00
Kruno Tomola Fabro
cfc807cc03
Merge branch 'T87' of https://phabricator.tomicevic.com/diffusion/MG/memgraph into property
2016-09-05 15:56:57 +01:00
Kruno Tomola Fabro
0ca1436703
Fixed bug where mask for casting Flags to Type was to small.
2016-09-05 15:56:08 +01:00
Marko Budiselic
c14a692493
init struct size problem fix
2016-09-05 15:54:56 +01:00
Kruno Tomola Fabro
5d235b51f3
tmp commit
...
tmp commit
tmp commit v2
Finished reimplementation of propertys.
They now can be placed in a holder with different source of type information.
Tmp commit
2016-09-05 10:02:48 +01:00
Marko Budiselic
8e5dbd4703
config is better now (yaml-cpp) + web::Client + web::Logger
2016-09-05 01:39:30 +01:00
Marko Budiselic
f3af0effda
Merge branch 'dev' of https://phabricator.tomicevic.com/diffusion/MG/memgraph into dev
2016-08-30 23:37:45 +01:00
Kruno Tomola Fabro
6a937fa334
Added template instatnce.
2016-08-30 23:37:10 +01:00
Marko Budiselic
32bdc4fd5e
Merge branch 'dev' of https://phabricator.tomicevic.com/diffusion/MG/memgraph into dev
2016-08-30 23:23:20 +01:00
Marko Budiselic
5bba920944
release/barrier
2016-08-30 23:23:12 +01:00
Kruno Tomola Fabro
8fa73eee43
Merge with dev.
2016-08-30 23:09:56 +01:00
Kruno Tomola Fabro
2ab3600117
Added partial test for cleaner.
2016-08-30 23:07:42 +01:00
Marko Budiselic
1f448ef1fd
Merge branch 'error_handlig' of https://phabricator.tomicevic.com/diffusion/MG/memgraph into dev
2016-08-30 21:00:12 +01:00
Marko Budiselic
781376a960
First version which will be sent to the pilot users
2016-08-30 20:52:46 +01:00
Kruno Tomola Fabro
ae4e52ff69
Extracted class Composable from BaseIterator.
...
Added iter::Virtual.
Indexes::for_all now return iter::Virtual
2016-08-30 18:13:23 +01:00
Kruno Tomola Fabro
7f4206e25c
Added more logging to cleaner.
2016-08-30 15:25:11 +01:00
Kruno Tomola Fabro
2eb5d3c3ff
Added basic exception handlig.
...
Changed methods insert in Vertices and Edges to be valid even if exception occurs.
2016-08-30 15:12:30 +01:00
Kruno Tomola Fabro
035e508840
Merge branch 'dev' of https://phabricator.tomicevic.com/diffusion/MG/memgraph into dev
2016-08-30 08:54:48 +01:00
Kruno Tomola Fabro
0f249c4f1f
Added support for some queries.
2016-08-30 08:53:02 +01:00
Marko Budiselic
1048ea8849
bolt failure isn't finished
2016-08-30 06:49:47 +01:00
Marko Budiselic
b5db8d8d1e
match vertex by id, label and from main vertex store
2016-08-30 06:26:27 +01:00
Marko Budiselic
0f7be340fa
Merge branch 'dev' of https://phabricator.tomicevic.com/diffusion/MG/memgraph into dev
2016-08-30 06:16:30 +01:00
Kruno Tomola Fabro
027dce0d9a
Commint which extracts iterator_base methods to hpp.
2016-08-30 06:16:04 +01:00
Marko Budiselic
5dcba58d2b
Merge branch 'dev' of https://phabricator.tomicevic.com/diffusion/MG/memgraph into dev
2016-08-30 05:34:16 +01:00
Marko Budiselic
32ca896425
merge with dev
2016-08-30 05:34:08 +01:00
Kruno Tomola Fabro
ff07babeba
Commmit for buda.
2016-08-30 05:29:30 +01:00
Kruno Tomola Fabro
4542b56c18
tmp commit
2016-08-30 02:32:31 +01:00
Marko Budiselic
be820ce915
tmp commit, work in progress, relationship create
2016-08-30 01:01:03 +01:00
Kruno Tomola Fabro
b2ce3d58a4
Added cleaner.
...
Added multithreading to dbms.
Skiplist now supports emplace insert.
2016-08-30 00:45:07 +01:00
Kruno Tomola Fabro
2218b0e472
Merged border and testes two querys.
2016-08-29 14:51:31 +01:00
Marko Budiselic
12880ba990
work in progress engine <-> barrier integration
2016-08-29 01:01:42 +01:00
Kruno Tomola Fabro
eaf2025cab
Merged with dev.
2016-08-28 21:16:36 +01:00
Kruno Tomola Fabro
6a4e2d8d64
Final barrier commit.
2016-08-28 21:10:13 +01:00
Kruno Tomola Fabro
e908d6588b
Tidied up barrier files.
...
MEMGRAPH has linked/definistion errors during compile.
2016-08-28 20:46:30 +01:00
Kruno Tomola Fabro
8ace2927c9
poc/profile.cpp works over barrier.hpp
2016-08-28 19:36:52 +01:00
Marko Budiselic
9416bc7085
QueryEngine is now templated with Stream, Bolt bugfix (one message can have many chunks)
2016-08-28 18:50:54 +01:00
Kruno Tomola Fabro
fc71e9930b
commit before changing profile.cpp
2016-08-28 18:04:00 +01:00
Kruno Tomola Fabro
cdfa0e7106
Works but with ptr instead of unique_ptr.
2016-08-28 16:31:36 +01:00
Kruno Tomola Fabro
77a3298d1e
tmp
2016-08-28 15:47:13 +01:00
Kruno Tomola Fabro
9469d09c57
Poc example works.
2016-08-26 12:21:42 +01:00
Kruno Tomola Fabro
9304c2945b
Merge branch 'index' into dev
2016-08-25 15:37:53 +01:00
Kruno Tomola Fabro
8a89f6601d
EdgeType indexes added.
...
Implemented untested UniqueOrderedIndex.
Introduced TypeGroupEdge/Vertex into database.
Added Index capabilityes to PropertyFamily.
Added method for adding index.
Added method for removing index.
2016-08-25 15:29:45 +01:00
Marko Budiselic
e2212d57a5
src/import moved to include cmake conf update
2016-08-23 17:41:19 +01:00
Kruno Tomola Fabro
85dbf1bd86
Extracted import tool for csv to file with CSVImporter.
...
Astar now uses csv import tool.
2016-08-23 10:58:55 +01:00
Kruno Tomola Fabro
fbd9ca8420
First version of CSVImport tool.
...
Query and import works.
Properties now use unordered_map.
Reduced memory footprint of properties by more than half.
2016-08-22 19:03:45 +01:00
Kruno Tomola Fabro
eba7fd8be4
Fixed Query compiler to use new interface.
2016-08-19 18:40:04 +01:00
Marko Budiselic
e5f161974f
merged T70
2016-08-19 11:29:15 +01:00
Marko Budiselic
427a7bbe4b
merged interface branch
2016-08-19 11:28:10 +01:00
Marko Budiselic
e22cb3aee4
review fixes + T70
2016-08-19 01:28:37 +01:00
Marko Budiselic
9bb0b8983d
LOG error fixed + BOLT queries + Fixes T70
2016-08-18 17:48:13 +01:00
Kruno Tomola Fabro
cdd7188747
Changes for audit of previous commit.
2016-08-18 17:43:06 +01:00
Kruno Tomola Fabro
5a42e15c4a
Alpha version of label indexes.
...
Squashed messages from 9 commits:
9.
Properties now uses PropertyFamily and contained classes.
Fetching,seting,clearing properties can be done with PropertyFamilyKey or PropertyTypeKey.
Hierarchy of newly added clases is:
Vertices -n-> PropertyFamily {name: String} <-1-n-> PropertyType {type: Property::Flags}
Edges -n-> PropertyFamily {name: String} <-1-n-> PropertyType {type: Property::Flags}
PropertyFamilyKey -> PropertyType
PropertyTypeKey -> PropertyType
PropertyType t0,t1;
let t0!=t1 be true
let t0.family==t1.family be true
then next is true
PropertyTypeKey{&t0}!=PropertyTypeKey{&t1}
PropertyFamilyKey{&t0}==PropertyFamilyKey{&t1}
PropertyFamilyKey{&t0}==PropertyTypeKey{&t1}
PropertyTypeKey{&t0}==PropertyFamilyKey{&t1}
8.
Intermedate commit.
Noticed that integration queries throw SEGFAULT.
7.
Defined interface for indexes.
Fixed three memory leaks.
Fixed integration_queries test which now passes.
6.
Commit which return Xorshift128plus to valid shape.
5.
Tmp commit.
4.
Label Index is compiling.
3.
tmp
2.
Vertex::Accessor now updates Label index.
1.
Applied changes for code review.
2016-08-18 15:34:36 +01:00
Marko Budiselic
e1cca548ba
alpha release script + bolt serialization works (nodes and edges)
2016-08-15 15:10:30 +01:00
Kruno Tomola Fabro
530be96b36
.FIX T68
...
.FIX T67
.FIX T65
Modifed astar main for benchmark.
Experimented with map of best visited and confirmed:
-it is faster by 25%
-observed that it founds best resoult
-loses some non best resoults
Added convinent method at() to get property from RecordAccessor.
Method requires value_ref() method on property object.
2016-08-15 13:21:38 +01:00
Kruno Tomola Fabro
df0bf6fa5f
Database interface refactor.
...
DbAccessor:
-Guarantees that access to Vertex and Edge is possible only through
Vertex::Accessor and Edge::Accessor.
-Guarantees that changing Vertex and Edge is possible only using
Vertex::Accessor returned by vertex_insert() method and
Edge::Accessor returned by edge_insert() method.
-Offers CRUD for Vertex and Edge except iterating over all edges.
Squashed commit messages:
First step in database accessor refactoring done.
It's compiling.
All tests with exception of integration_querys pass
Tests now initialize logging facilities.
Refactored accessors.
RecordAccessor now has 3 states.
From,To,Out,In in there respecive Accessors return unfilled RecordAccessor.
Added iterator classes into utils/itearator/.
2016-08-15 00:09:58 +01:00
Marko Budiselic
a9419b559d
Small fixes not done yet, first the whole DB interface has to be finished
2016-08-14 13:45:47 +01:00
Marko Budiselic
6d8fccde8f
Merge branch 'dev' of https://phabricator.tomicevic.com/diffusion/MG/memgraph into dev
2016-08-14 12:44:02 +01:00
Marko Budiselic
a3a8dc7c28
logger update, stderr stream is added
2016-08-14 12:43:34 +01:00
Kruno Tomola Fabro
1849514159
First step in database accessor refactoring done.
...
It's compiling.
All tests with exception of integration_querys pass
2016-08-12 23:01:39 +01:00
Kruno Tomola Fabro
2113546b9c
build fixes
2016-08-11 15:32:58 +01:00
Kruno Tomola Fabro
02ec6dd401
merge with edges, from and to are moved to the EdgeRecord, they are not copied along with properties inside the MVCC, TODO: graph interface, Accessor and Stores
2016-08-11 15:13:19 +01:00
Kruno Tomola Fabro
635c55cc45
Merge branch 'dev' of https://phabricator.tomicevic.com/diffusion/MG/memgraph into dev
2016-08-11 14:15:48 +01:00
Kruno Tomola Fabro
fdd64dd6ed
Refactored
2016-08-11 14:08:11 +01:00
Marko Budiselic
93b174afd7
First integration almost done. BOLT still doesn't work as expected, problem is only serialization order.
2016-08-11 04:47:30 +01:00
Kruno Tomola Fabro
15f7b14704
Finished remove method in RhMultiMap.
...
Remove passes tests.
Needs refactoring, has lot of duplicate code.
2016-08-10 23:05:24 +01:00
Kruno Tomola Fabro
3fffa17b0d
Started adding remove methods.
...
Discovered bugs in HashMultiMap and after fixing it add method is now little slower but
find method is medium faster. So it turned out good.
2016-08-10 20:02:54 +01:00
Marko Budiselic
35d8f6d7ab
Bolt integration: RecordStream -> BoltSerializer -> BoltEncoder -> ChunkedEncoder -> ChunkedBuffer -> SockerStream
2016-08-10 19:17:38 +01:00
Marko Budiselic
869da8dcda
All files for the Release are now isolated
2016-08-10 09:39:02 +01:00
Kruno Tomola Fabro
61eccc28ce
Created EdgeRecord as class and changed in edge vector for map.
...
EdgeRecord now contains from,to fields as immutables.
Vertex in place of in vector of edges has in RbHashMultimap of edges.
Astar exepriment now uses real filters based on before mentioned map.
2016-08-09 20:29:03 +01:00
Kruno Tomola Fabro
c3c8fb6620
Commit before branching to chane EdgeModel and EdgeRecord.
2016-08-09 16:44:39 +01:00
Kruno Tomola Fabro
3016494669
Added RobinHood HashMap and unit tested.
2016-08-09 11:53:10 +01:00
Marko Budiselic
95aa385e31
bolt binary was removed (src/examples/bolt)
2016-08-08 09:34:28 +01:00
Marko Budiselic
e4d9258df9
Merge branch 'dev' of https://phabricator.tomicevic.com/diffusion/MG/memgraph into dev
2016-08-08 09:32:45 +01:00
Marko Budiselic
84e69bb1d3
fmt wrapper + proof of concept folder
2016-08-08 09:32:34 +01:00
Dominik Tomičević
2a12335246
added features to bolt
2016-08-07 21:19:04 +01:00
Marko Budiselic
b5f884d428
Merge branch 'dev' of https://phabricator.tomicevic.com/diffusion/MG/memgraph into dev
2016-08-02 17:05:15 +01:00
Kruno Tomola Fabro
0dfb8d13c3
Merge branch 'dev' of https://phabricator.tomicevic.com/diffusion/MG/memgraph into tests
2016-08-02 15:45:12 +01:00
Marko Budiselic
3b8746573d
Merge branch 'dev' of https://phabricator.tomicevic.com/diffusion/MG/memgraph into dev
2016-08-02 15:42:38 +01:00
Marko Budiselic
f05c1f6dab
CRU operations are fully supported, D (delete) is missing
2016-08-02 15:41:53 +01:00
Kruno Tomola Fabro
e16b576a6e
Added support for multiset.
...
Minor fixes to tests.
MultiIterator & MultiMap work.
There are some unfinished optimizations in the code commented.
All tests pass. Some common parts from tests have been moved.
2016-08-02 13:23:39 +01:00
Dominik Tomičević
da15775afa
Merge branch 'bolt-protocol' into dev
...
* bolt-protocol:
implemented bolt protocol
2016-08-01 22:21:49 +01:00
Dominik Tomičević
eda9d67bbe
implemented bolt protocol
2016-08-01 22:14:09 +01:00
Marko Budiselic
d04cf101b4
Cypher CRUD support is becomes bigger and bigger. Implemented: create relationship, match relationship and update relationship
2016-07-31 18:58:12 +01:00
Kruno Tomola Fabro
bf174644de
Reformated code acording to format rules in .clang-format.
2016-07-31 13:56:13 +01:00
Kruno Tomola Fabro
b32a727b75
Removed old SkipListMap and skiplist directory.
2016-07-30 23:06:51 +01:00
Kruno Tomola Fabro
ac7f6f507f
Implemented ConncurentMap and updated it's users.
...
Added tests for ConcurrentMap.
Implemented ~SkipList.
2016-07-30 21:20:21 +01:00
Marko Budiselic
6970170f69
Query engine work in progress: code_generator handlers, update clause generator, delete clause generator, return clause generator, SemanticError
2016-07-25 02:09:40 +01:00
Marko Budiselic
356e9444ec
A lot of work on query_engine. Still in progress!
2016-07-24 03:47:48 +01:00
Marko Budiselic
b1459a891b
work in progress query_engine
2016-07-17 18:32:35 +01:00
Marko Budiselic
396f0d9c31
query engine better version
2016-07-17 01:22:43 +01:00
Marko Budiselic
8a3aee1ba6
cypher parser is extended again (find by internal_id ID(n)=internal_id)
2016-07-11 20:10:53 +01:00
Marko Budiselic
c8440b4671
tests/manual/query_engine.cpp work in compiler in progress
2016-07-11 02:39:33 +01:00
Marko Budiselic
84db4b6657
cypher parser update
2016-07-09 19:05:02 +01:00
Marko Budiselic
b538fb041c
first integration test (basic set of queries is tested)
2016-07-07 01:58:26 +01:00
Marko Budiselic
a8a1ce9f0a
edge type store
2016-07-06 17:37:05 +01:00
Marko Budiselic
2b1fc70695
some header files are splitted (WORK IN PROGRESS)
2016-07-05 13:20:33 +01:00
Marko Budiselic
b94cae12d1
some new header + source files (vertices, vertex_accessor, properties), first version of Index works, skiplist<T> + concurrent_set + concurrent_map (still has to be finished)
2016-07-05 04:01:22 +01:00
Marko Budiselic
18e7394d9e
basic queries are manually implemented inside src/query_engine/main_queries
2016-07-03 01:02:42 +01:00
Marko Budiselic
5110cde698
query engine code, labels (unfinished), TODO: query engine module system
2016-07-01 22:05:03 +01:00
Marko Budiselic
1d1242af50
query_engine executable file
2016-06-26 23:43:28 +01:00
Marko Budiselic
04319c09e3
expression can be eather pattern expression or value expression
2016-06-26 12:27:26 +01:00
Marko Budiselic
b5536d70fa
delete accessor from version list + build flow update + memgraph docker file + TODO: debug cypher grammar
2016-06-25 17:26:26 +01:00
Marko Budiselic
62a58f05b5
First part of T56 (crash server)
2016-06-16 20:38:05 +01:00
Marko Budiselic
83f094a15f
utils/assert code, static array, skiplist tests and bug fix
2016-06-16 19:07:49 +01:00
Marko Budiselic
425be0acad
permanent and runtime assert
2016-06-14 23:06:21 +01:00
Marko Budiselic
65b9af05d4
cache benchmark and utils/time/timer improvement
2016-06-08 23:39:24 +02:00
Marko Budiselic
c79706c249
concurrent and unit tests, concurrently linked list test (not production ready linked list :))
2016-06-06 23:57:16 +02:00
Marko Budiselic
894ef67bc0
clang format was applied on src/memgraph and on some files at the src/query_engine folder
2016-06-06 11:29:52 +02:00
Marko Budiselic
4d03dcd545
Number of tests is now 6
2016-06-05 14:30:40 +02:00
Marko Budiselic
a4cadedffe
more appropriate test for storage/indexes/index.hpp (very beginning of indexes work); utils/type_discovery.hpp is created
2016-06-05 12:12:25 +02:00
Marko Budiselic
18ee30f69e
db_index test -> the index creation is tested for now
2016-06-05 09:48:34 +02:00
Marko Budiselic
38b6040529
Merge branch 'master' into dev
2016-06-05 09:29:16 +02:00
Dominik Tomičević
1ffcd28053
fixed skiplist issue with keys and values that have no default constructors
2016-06-04 22:00:20 +02:00
Dominik Tomičević
287f667ef8
fixed whitespace inside r3.hpp
2016-06-04 21:58:12 +02:00
Marko Budiselic
83880f8244
Return list is expanded, this commit is related to T45
2016-06-03 16:48:23 +02:00
Marko Budiselic
c4e0e68e0b
lemon and lexertl are removed from src folder, cmake custom target is created to better automate process of testing, cypher return list is now list of expressions
2016-05-28 21:24:48 +02:00
Marko Budiselic
14e38ff358
Test infrastructure (ctest)
2016-05-25 00:37:14 +02:00
Marko Budiselic
18838f5318
cypher_quries are moved to the tests folder and another part of CMakeLists file is written
2016-05-23 07:51:36 +02:00
Marko Budiselic
8aed81de38
Resolves T46; CMake + CTest setup
2016-05-15 22:43:42 +02:00
Marko Budiselic
84e40c9061
r3 submodule bug fix
2016-05-14 20:18:49 +02:00
Dominik Tomičević
39d952b629
conformed code to the new directory structure
2016-05-11 12:06:24 +02:00
Dominik Tomičević
83769d7daf
Merge branch 'master' of https://phabricator.tomicevic.com/diffusion/MG/memgraph into logging
...
* 'master' of https://phabricator.tomicevic.com/diffusion/MG/memgraph :
old r3 commit was checked out
added speedy to include path (root Makefile)
test docker file update
submodule reinitialization
.gitmodules path updates
The folder structure was changed, all source code is now within the src dir.
Basic timer implementation; TODO: implement timer wheel
2016-05-11 07:33:20 +02:00
Marko Budiselic
f40240ae13
old r3 commit was checked out
2016-05-08 13:05:54 +02:00
Marko Budiselic
5a95e15201
submodule reinitialization
2016-05-08 12:01:16 +02:00
Marko Budiselic
52625e39a3
The folder structure was changed, all source code is now within the src dir.
2016-05-08 11:33:07 +02:00