[ https://issues.apache.org/jira/browse/S2GRAPH-17?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15171397#comment-15171397 ]
ASF GitHub Bot commented on S2GRAPH-17: --------------------------------------- Github user SteamShon commented on a diff in the pull request: https://github.com/apache/incubator-s2graph/pull/34#discussion_r54368836 --- Diff: s2core/src/main/scala/com/kakao/s2graph/core/QueryResult.scala --- @@ -7,18 +7,22 @@ import scala.collection.Seq object QueryResult { def fromVertices(query: Query): Seq[QueryRequestWithResult] = { - val queryParam = query.steps.head.queryParams.head - val label = queryParam.label - val currentTs = System.currentTimeMillis() - val propsWithTs = Map(LabelMeta.timeStampSeq -> - InnerValLikeWithTs(InnerVal.withLong(currentTs, label.schemaVersion), currentTs)) - for { - vertex <- query.vertices - } yield { - val edge = Edge(vertex, vertex, queryParam.labelWithDir, propsWithTs = propsWithTs) - val edgeWithScore = EdgeWithScore(edge, Graph.DefaultScore) - QueryRequestWithResult(QueryRequest(query, -1, vertex, queryParam), - QueryResult(edgeWithScoreLs = Seq(edgeWithScore))) + if (query.steps.isEmpty || query.steps.head.queryParams.isEmpty) { --- End diff -- add short circuit to return empty result when query steps is empty. > Remove unnecessary abstraction layer, Storage. > ---------------------------------------------- > > Key: S2GRAPH-17 > URL: https://issues.apache.org/jira/browse/S2GRAPH-17 > Project: S2Graph > Issue Type: Task > Reporter: DOYUNG YOON > Assignee: DOYUNG YOON > Labels: client, refactoring > Original Estimate: 168h > Remaining Estimate: 168h > > Currently Graph contains following components. > Graph has storage and each storage have followings. > # SerDe: serialize and deserialize IndexEdge/SnapshotEdge/Vertex into bytes. > # MutationBuilder: convert IndexEdge/SnapshotEdge into RPC which is dependent > on storage backend. > # QueryBuilder: issue RPC for fetch on storage backend > With these components, storage know how to actually store/fetch > IndexEdge/SnapshotEdge/Vertex to, from storage backend. > In my opinion, storage layer is unnecessary since all graph instance does is > delegating into storage. I am suggesting to remove storage layer and use > different Graph class for different storage backend. > So for example, change AsynchbaseStorage into AsynchbaseGraph. > I want to discuss how our Graph Client should be on this issue and change it > according to discussion. -- This message was sent by Atlassian JIRA (v6.3.4#6332)