[ 
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)

Reply via email to