* added test for recursive edge deletion, still missing c++ implementation
* test
* added deletion of connected edges when removing an edge or a vertex
* Added a helper function to iterate over all graphs.
* applied requested test changes
* edge definition helper function
* moved removeVertex and removeEdge inside a helper function
* more optimizations
* compile error
* typo
* requested changes
* const func
* Built a C++ skeleton REST handler for gharial, with fallback to the JS handler
* Moved aql::Graph to graph::Graph
* Added complete edge definitions to Graph
Also:
- some cleanup
- used forward-declarations in headers
- use Graph in graph rest handler
* Handle graph lookup failures according to the test suite
* Added GET vertex
* Bugfixes in ResultT
- Added missing #include
- Fixed move semantics
* Move central code of readVertex to GraphOperations
* ResultT fixes and complements
* Implemented a graph cache
* Added and used graph cache to the rest handler
* Added GET edge
* Added DELETE edge
* Extracted some code
* Added PATCH and PUT for both edge and vertex
* Moved update/replace transaction code to GraphOperations
* Added stub routes for POST and a TODO note
* Added a test checking that deleting a vertex removes all incident edges as well
* Added a test checking that deleting a vertex does not remove edges in non-graph collections
* fixed compiler warnings and errors
* Began work on DELETE vertex
For this, added a V8Context to allow for AQL queries to use subtransactions
* Continued work on DELETE vertex (still WIP)
* prep for graph post routes
* fixed removeVertex operation (aql)
* added post vertex and post edge gharial routes
* wasSynchronoues flag changed
* gharial post c++ handler, naming conventions
* added gharial tests
* temporary disabled cache (because not completed), added graph property read functions
* added c++ gharial list vertex collections
* added c++ gharial graph config
* added c++ gharial list graphs
* added graph manager class
* first implementation of create graph in c++, WIP
* changed error messages
* added etag to create graph api, still multiple edge definition check missing
* finished POST /_api/gharial/<graph>
* WIP - DELETE /_api/gharial/<graphName>
* added DELETE /_api/gharial/<graphName> validation, still missing correct response
* gharial delete
* fixed delete gharial lock
* finished DELETE /_api/gharial/<graphName>
* added routes for graph based vertices and edge definitions
* improved delete route
* added add new edge definition to existing graph
* patch edge definition in a graph, still <WIP>
* finished edit edge definition route
* code changes due to devel code changes
* added remove edge definition route
* added vertex delete function
* added todo note regarding one drop collection issue
* add oprhan collection to graph route implemented
* Added a test
* Updated a comment
* Several minor changes
* Minor changes during review
* Changes during review
* Changes during review
* Bugfix: orphans may be null or omitted
* Bugfix: resolve externals
* minor code changes
* seperated graph class to independent component classes
* seperated graph class to independent component classes
* removed log output
* fixed create collection behaviour in a cluster environment
* fixed enterprise graphs behaviour in c++ gharial api
* removed log output
* formatting
* improved error handling, fixed a linux compile bug
* more result refactoring
* more result type cleanup
* fixed wrongly defined test
* result handling
* error handling
* more refactoring
* Bugfix: avoid race condition in cluster when creating collections
* updated graph documentation
* added graph related static strings
* static strings, new method to create options for gharial created collections
* Some minor cleanup
* more use of static strings
* minor code changes, review
* added missing parseint
* removed gharial foxx, added js common module, added v8 general graph module
* correct use of virtual method
* more v8, js general graph, broken state
* more v8 graph functions
* fixed editEdgeDefinition, added drop function
* fixed drop behaviour
* added _list, _exists
* added c++ rename graph collections, added v8 + graph module function
* Added a regression test
* added graph._deleteEdgeDefinition, v8, server
* more v8g
* added _removeVertexCollection
* added _extendEditDefinitions
* todo, need to add a helper sort method for a local defined relation
* fixed test
* fixed lots of tests, added more client functions, _addVertexCollection on client module is still broken
* added more client graph functions, all tests green
* more client functions
* add del edge def route
* Fix use after move
* Minor changes in client general-graph.js module
* Make a copy before sorting (don't touch the argument)
* Minor changes and some additional asserts in graph tests
* Consistently set parameter defaults
* Renamed static strings
* Remove superfluous function
* Made comment more verbose
* Minor changes in general-graph-common.js
* Added missing template arguments
* Fixed community build
* Cleanup in editEdgeDefinition
* Regression test & bugfix: comparison of edge definitions didn' order from and to
* Fixed errors introduced by merge
* Minor changes in v8-general-graph.cpp
* Fixed test failure due to wrong error code in CE
* added missing id field
* Added permission checks for graph._create
* Removed assertion that is no longer valid
* Moved removeGraph from GraphOperations to GraphManager
* Allow C++ implementation of graph._drop to handle smart graphs
* Flush js client db cache after creating/dropping collections via the general graph module
* Added _deleteEdgeDefinition to the general graph client module
* WIP: Added permission checks for drop graph
* Fixed permission checks for drop graph
* Added permission checks for other graph operations
* Bugfix: assert edge definitions are returned in order
* Some cleanup
* Removed unused method
* Minor improvements in GraphManager
* Fixed a type in general-graph common module
* Most useful fix of all times ever: Do not auto cast from bool to int and alternate error/noerror by this
* Added the initial keyword to StaticStrings
* Added a new error code, used whenever a user tries to inject a documentcollection as a relation into the graph, which is invalid
* Some GraphManager/Ops/Graph cleanup. Less Slice parsing, more usage of GraphObjects
* Test edgeDefinitions in graphs with a defined ordering
* GraphClass Layout cleanup
* Do not test error messages, use codes instead
* Recreated backwards compatibility of Graph Creation Permission errors
* Changed error-code if edgedefinition is used twice
* Added a StaticString for the GraphName
* Renamed graphToVpack => graphForClient
* Partly fixed graph-api test to work with better error messages. Still red: The edgeDefinitions are now sorted, the test is supposed to sort his own list, but appearently does not do so. Under investigation
* Added a new error code that rejects injection of differently sharded smart collection into smartgraph. Should be more helpful to our users
* graph createCollectionOptions now require an open object to be cross-called from enterprise. Made enterprise switch for creation of graph more elegant.
* Updated graphs.cpp
* Massive refactoring. Made Factories for graphs to make SmartGraph much more transparent. Also reduced amount of multiple implementations of the same stuff. Killed vocbase/graphs use GraphManager instead. Removed usage of GraphCache, was not completely implemented anyway and only partially used, which is bad at the moment. Option for later improvement never the less
* Adapted JS code to now really use c++ variants. ALso included 3 Classes: Graph, SmartGraph and GraphModule.
* Fixed undefined behaviour in Remove Vertex. Fixed smartgraph sharding if one collection already exists.
* Removed DEBUG output
* Removed DEBUG logs
* Removed dead code
* Fixed Graph EdgeDefinition test, they now have a different ordering.
* Added a test when adding a vertexCollection that it is actually valid in the graph
* Client Graph API now correctly sends `orphanCollections` and not `orphans`
* Let GraphOperations modify the graph in-place. It should now properly handle edgeDefinitions.
* Added initial cid StaticString
* Included the vocbase in fromPersistence creation of Graphs. Only required to enhance 3.3 SmartGraphs on the fly.
* Fixed internal error message
* Fixed compiler isses originiated from merging
* Removed unused imports
* Regenerated generated file