-
Simon Liu authored
* Issue#192 Support multiple edge types in GO statement Summary: Implemented over multiple edge types(include over "*" ) for Support all edge type in Go statement. 1. Modification of the storage interface: 1.1 Modify the GetNeighborsRequest structure, pass a list of edge_type to the storage layer. 1.2 And add an over_all_edges tag to mark "over *". Modify the PropDef structure to represent both tag_id and edge_type 1.3 Added the EdgeData structure to represent the edge data returned to the client. 2. When the yield statement does not exist, rename the "_dst" attribute of edge to edge_name+"_id" 3. Delete the getOutBound and getInBound interfaces, because the edges passed to the storage may have both in and out. 4 Added a map of edge type to edge name for metaclien (toEdgeName) PS: There are still two issues that need to be implemented. 1 Since we are not implementing a null type, we cannot represent some non-existing attributes. 2 Due to the existence of 1, there is currently no judgment on the attributes of the edges and the vetex. So when returning multiple types of vetex/edge, the same result will be returned if the attribute names are the same("MULTI_EDGES" test in GoTest.cpp). * 1. add more test. 2. Solved the problem of display when some properties are not present(return the default value to the user). for example: type default int 0 bool false double/float 0.0 * format the code style. * 1. When yield does not exist, don't implicitly rename _dst prop. 2. format some code style. * Fixed an problem where the results might be incorrect when using multiple edges with filter. * Modify the storage interface to move the schema from tagdata/edgedata to QueryResponse. * Address dangleptr's and wadeliuyi's comments. * Address dangleptr's and laura's comments. * Address laura's comments. * Address dangleptr's comments. * Address dangleptr's comments. * Address dangleptr's comments. * fixed the unit test failed(go_test and orderbytest).
f1384d44