Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[STO/QE]Push down the computation #2602

Closed
Sophie-Xie opened this issue Aug 26, 2021 · 4 comments
Closed

[STO/QE]Push down the computation #2602

Sophie-Xie opened this issue Aug 26, 2021 · 4 comments
Assignees
Labels
type/feature req Type: feature request
Milestone

Comments

@Sophie-Xie
Copy link
Contributor

No description provided.

@critical27
Copy link
Contributor

critical27 commented Aug 31, 2021

Some of the most import computation need to push down:

  1. limit
  2. sample
  3. existed bug in filter

Three above should be complete in 2.6.0.

GroupBy/OrderBy/DeDup/Aggregation's detail need to discuss later if necessary.

@bright-starry-sky
Copy link
Contributor

fixed bug #2762 for GO statement when prop value type is fixed_string.

@bright-starry-sky
Copy link
Contributor

bright-starry-sky commented Aug 31, 2021

for scan vertices via GO, filter push down is works well now.
`CREATE SPACE test (partition_num=1,replica_factor=1, vid_type=fixed_string(30));
USE test;
create tag st1(c1 string)
create edge se1(c1 string)
create edge se2(c1 string)

insert edge se1(c1) values "1" -> "2"@0:("row"), "1" -> "3"@0:("row")
insert vertex st1(c1) values "1":("row"), "2":("row"), "3":("row")

(root@nebula) [test]> go from "1" over se2 where $$.st1.c1 == "row"
+----------+
| se2._dst |
+----------+
+----------+
Empty set (time spent 7382/7947 us)

Tue, 31 Aug 2021 13:27:15 CST

(root@nebula) [test]>

(root@nebula) [test]> go from "1" over se1 where $$.st1.c1 == "row"
+----------+
| se1._dst |
+----------+
| "2" |
+----------+
| "3" |
+----------+
Got 2 rows (time spent 12583/13348 us)

Tue, 31 Aug 2021 13:27:35 CST

(root@nebula) [test]> go from "1" over * where $$.st1.c1 == "row"
+----------+----------+
| se1._dst | se2._dst |
+----------+----------+
| "2" | |
+----------+----------+
| "3" | |
+----------+----------+
Got 2 rows (time spent 10977/11707 us)

Tue, 31 Aug 2021 13:27:44 CST

(root@nebula) [test]> `

@bright-starry-sky
Copy link
Contributor

bright-starry-sky commented Sep 27, 2021

This issue is too complicated. Let me split it according to the following features:

  1. sample push down(v2.6) [Feature] Sample #2946
  2. existed bug in filter (done with fixed fixed_string expression eval for go #2762)
  3. group by push down [Feature] group by push down  #2947
  4. order by push down [Feature] order by | top push down #2948
  5. de-dup push down [Feature] de-dup push down  #2949
  6. limit push down (v2.6)[Feature] index scan limit push down #2950
  7. index paging scan [Feature] index paging scan  #2951
  8. aggregation (sum/max/min/count) push down [Feature] aggregation (sum/max/min/count) push down #2952

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type/feature req Type: feature request
Projects
None yet
Development

No branches or pull requests

4 participants