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