util.go 404 B

1234567891011121314151617181920
  1. package planner
  2. import "github.com/emqx/kuiper/xsql"
  3. func GetRefSources(node xsql.Node) []string {
  4. result := make(map[string]bool)
  5. keys := make([]string, 0, len(result))
  6. if node == nil {
  7. return keys
  8. }
  9. xsql.WalkFunc(node, func(n xsql.Node) {
  10. if f, ok := n.(*xsql.FieldRef); ok {
  11. result[string(f.StreamName)] = true
  12. }
  13. })
  14. for k := range result {
  15. keys = append(keys, k)
  16. }
  17. return keys
  18. }