Skip to content

Instantly share code, notes, and snippets.

@rintcius
Created December 18, 2017 08:45
Show Gist options
  • Select an option

  • Save rintcius/b6c8292fc1d83d09abc69a482e9a04e2 to your computer and use it in GitHub Desktop.

Select an option

Save rintcius/b6c8292fc1d83d09abc69a482e9a04e2 to your computer and use it in GitHub Desktop.
(v27.6.2) πŸ’ͺ $ select * from user_comments where (comments[*].id LIKE "%Dr%" OR comments[*].replyTo[*] LIKE "%Dr%")
(v27.6.2) πŸ’ͺ $ select * from user_comments where (comments[*].id LIKE "%Dr%" OR comments[*].replyTo[*] LIKE "%Dr%")
SQL AST:
Select
β”œβ”€ Proj
β”‚ ╰─ Splice
β”œβ”€ TableRelation(user_comments)
╰─ Binop(or)
β”œβ”€ InvokeFunction(like)
β”‚ β”œβ”€ Binop({})
β”‚ β”‚ β”œβ”€ Unop(flatten_array)
β”‚ β”‚ β”‚ ╰─ Ident(comments)
β”‚ β”‚ ╰─ LiteralExpr("id")
β”‚ β”œβ”€ LiteralExpr("%Dr%")
β”‚ ╰─ LiteralExpr("\")
╰─ InvokeFunction(like)
β”œβ”€ Unop(flatten_array)
β”‚ ╰─ Binop({})
β”‚ β”œβ”€ Unop(flatten_array)
β”‚ β”‚ ╰─ Ident(comments)
β”‚ ╰─ LiteralExpr("replyTo")
β”œβ”€ LiteralExpr("%Dr%")
╰─ LiteralExpr("\")
Variables Substituted:
Select
β”œβ”€ Proj
β”‚ ╰─ Splice
β”œβ”€ TableRelation(user_comments)
╰─ Binop(or)
β”œβ”€ InvokeFunction(like)
β”‚ β”œβ”€ Binop({})
β”‚ β”‚ β”œβ”€ Unop(flatten_array)
β”‚ β”‚ β”‚ ╰─ Ident(comments)
β”‚ β”‚ ╰─ LiteralExpr("id")
β”‚ β”œβ”€ LiteralExpr("%Dr%")
β”‚ ╰─ LiteralExpr("\")
╰─ InvokeFunction(like)
β”œβ”€ Unop(flatten_array)
β”‚ ╰─ Binop({})
β”‚ β”œβ”€ Unop(flatten_array)
β”‚ β”‚ ╰─ Ident(comments)
β”‚ ╰─ LiteralExpr("replyTo")
β”œβ”€ LiteralExpr("%Dr%")
╰─ LiteralExpr("\")
Absolutized:
Select
β”œβ”€ Proj
β”‚ ╰─ Splice
β”œβ”€ TableRelation(/m34/test/user_comments)
╰─ Binop(or)
β”œβ”€ InvokeFunction(like)
β”‚ β”œβ”€ Binop({})
β”‚ β”‚ β”œβ”€ Unop(flatten_array)
β”‚ β”‚ β”‚ ╰─ Ident(comments)
β”‚ β”‚ ╰─ LiteralExpr("id")
β”‚ β”œβ”€ LiteralExpr("%Dr%")
β”‚ ╰─ LiteralExpr("\")
╰─ InvokeFunction(like)
β”œβ”€ Unop(flatten_array)
β”‚ ╰─ Binop({})
β”‚ β”œβ”€ Unop(flatten_array)
β”‚ β”‚ ╰─ Ident(comments)
β”‚ ╰─ LiteralExpr("replyTo")
β”œβ”€ LiteralExpr("%Dr%")
╰─ LiteralExpr("\")
Normalized Projections:
Select
β”œβ”€ Proj
β”‚ ╰─ Splice
β”œβ”€ TableRelation(/m34/test/user_comments)
╰─ Binop(or)
β”œβ”€ InvokeFunction(like)
β”‚ β”œβ”€ Binop({})
β”‚ β”‚ β”œβ”€ Unop(flatten_array)
β”‚ β”‚ β”‚ ╰─ Ident(comments)
β”‚ β”‚ ╰─ LiteralExpr("id")
β”‚ β”œβ”€ LiteralExpr("%Dr%")
β”‚ ╰─ LiteralExpr("\")
╰─ InvokeFunction(like)
β”œβ”€ Unop(flatten_array)
β”‚ ╰─ Binop({})
β”‚ β”œβ”€ Unop(flatten_array)
β”‚ β”‚ ╰─ Ident(comments)
β”‚ ╰─ LiteralExpr("replyTo")
β”œβ”€ LiteralExpr("%Dr%")
╰─ LiteralExpr("\")
Sort Keys Projected:
Select
β”œβ”€ Proj
β”‚ ╰─ Splice
β”œβ”€ TableRelation(/m34/test/user_comments)
╰─ Binop(or)
β”œβ”€ InvokeFunction(like)
β”‚ β”œβ”€ Binop({})
β”‚ β”‚ β”œβ”€ Unop(flatten_array)
β”‚ β”‚ β”‚ ╰─ Ident(comments)
β”‚ β”‚ ╰─ LiteralExpr("id")
β”‚ β”œβ”€ LiteralExpr("%Dr%")
β”‚ ╰─ LiteralExpr("\")
╰─ InvokeFunction(like)
β”œβ”€ Unop(flatten_array)
β”‚ ╰─ Binop({})
β”‚ β”œβ”€ Unop(flatten_array)
β”‚ β”‚ ╰─ Ident(comments)
β”‚ ╰─ LiteralExpr("replyTo")
β”œβ”€ LiteralExpr("%Dr%")
╰─ LiteralExpr("\")
Annotated Tree:
Cofree
β”œβ”€ tuple
β”‚ β”œβ”€ List
β”‚ β”‚ ╰─ None
β”‚ ╰─ Provenance(Empty)
╰─ Select
β”œβ”€ Proj
β”‚ ╰─ Cofree
β”‚ β”œβ”€ tuple
β”‚ β”‚ β”œβ”€ List
β”‚ β”‚ ╰─ Provenance(Empty)
β”‚ ╰─ Splice
β”œβ”€ TableRelation(/m34/test/user_comments)
╰─ Cofree
β”œβ”€ tuple
β”‚ β”œβ”€ List
β”‚ ╰─ Provenance(((((/m34/test/user_comments & Value) & Value) & Value) & (((/m34/test/user_comments & Value) & Value) & Value)))
╰─ Binop(or)
β”œβ”€ Cofree
β”‚ β”œβ”€ tuple
β”‚ β”‚ β”œβ”€ List
β”‚ β”‚ ╰─ Provenance((((/m34/test/user_comments & Value) & Value) & Value))
β”‚ ╰─ InvokeFunction(like)
β”‚ β”œβ”€ Cofree
β”‚ β”‚ β”œβ”€ tuple
β”‚ β”‚ β”‚ β”œβ”€ List
β”‚ β”‚ β”‚ ╰─ Provenance((/m34/test/user_comments & Value))
β”‚ β”‚ ╰─ Binop({})
β”‚ β”‚ β”œβ”€ Cofree
β”‚ β”‚ β”‚ β”œβ”€ tuple
β”‚ β”‚ β”‚ β”‚ β”œβ”€ List
β”‚ β”‚ β”‚ β”‚ ╰─ Provenance(/m34/test/user_comments)
β”‚ β”‚ β”‚ ╰─ Unop(flatten_array)
β”‚ β”‚ β”‚ ╰─ Cofree
β”‚ β”‚ β”‚ β”œβ”€ tuple
β”‚ β”‚ β”‚ β”‚ β”œβ”€ List
β”‚ β”‚ β”‚ β”‚ ╰─ Provenance(/m34/test/user_comments)
β”‚ β”‚ β”‚ ╰─ Ident(comments)
β”‚ β”‚ ╰─ Cofree
β”‚ β”‚ β”œβ”€ tuple
β”‚ β”‚ β”‚ β”œβ”€ List
β”‚ β”‚ β”‚ ╰─ Provenance(Value)
β”‚ β”‚ ╰─ LiteralExpr("id")
β”‚ β”œβ”€ Cofree
β”‚ β”‚ β”œβ”€ tuple
β”‚ β”‚ β”‚ β”œβ”€ List
β”‚ β”‚ β”‚ ╰─ Provenance(Value)
β”‚ β”‚ ╰─ LiteralExpr("%Dr%")
β”‚ ╰─ Cofree
β”‚ β”œβ”€ tuple
β”‚ β”‚ β”œβ”€ List
β”‚ β”‚ ╰─ Provenance(Value)
β”‚ ╰─ LiteralExpr("\")
╰─ Cofree
β”œβ”€ tuple
β”‚ β”œβ”€ List
β”‚ ╰─ Provenance((((/m34/test/user_comments & Value) & Value) & Value))
╰─ InvokeFunction(like)
β”œβ”€ Cofree
β”‚ β”œβ”€ tuple
β”‚ β”‚ β”œβ”€ List
β”‚ β”‚ ╰─ Provenance((/m34/test/user_comments & Value))
β”‚ ╰─ Unop(flatten_array)
β”‚ ╰─ Cofree
β”‚ β”œβ”€ tuple
β”‚ β”‚ β”œβ”€ List
β”‚ β”‚ ╰─ Provenance((/m34/test/user_comments & Value))
β”‚ ╰─ Binop({})
β”‚ β”œβ”€ Cofree
β”‚ β”‚ β”œβ”€ tuple
β”‚ β”‚ β”‚ β”œβ”€ List
β”‚ β”‚ β”‚ ╰─ Provenance(/m34/test/user_comments)
β”‚ β”‚ ╰─ Unop(flatten_array)
β”‚ β”‚ ╰─ Cofree
β”‚ β”‚ β”œβ”€ tuple
β”‚ β”‚ β”‚ β”œβ”€ List
β”‚ β”‚ β”‚ ╰─ Provenance(/m34/test/user_comments)
β”‚ β”‚ ╰─ Ident(comments)
β”‚ ╰─ Cofree
β”‚ β”œβ”€ tuple
β”‚ β”‚ β”œβ”€ List
β”‚ β”‚ ╰─ Provenance(Value)
β”‚ ╰─ LiteralExpr("replyTo")
β”œβ”€ Cofree
β”‚ β”œβ”€ tuple
β”‚ β”‚ β”œβ”€ List
β”‚ β”‚ ╰─ Provenance(Value)
β”‚ ╰─ LiteralExpr("%Dr%")
╰─ Cofree
β”œβ”€ tuple
β”‚ β”œβ”€ List
β”‚ ╰─ Provenance(Value)
╰─ LiteralExpr("\")
Logical Plan:
Let('tmp0)
β”œβ”€ Read(/m34/test/user_comments)
╰─ Let('tmp1)
β”œβ”€ Invoke(Filter)
β”‚ β”œβ”€ Free('tmp0)
β”‚ ╰─ Invoke(Or)
β”‚ β”œβ”€ Invoke(Like)
β”‚ β”‚ β”œβ”€ Invoke(MapProject)
β”‚ β”‚ β”‚ β”œβ”€ Invoke(FlattenArray)
β”‚ β”‚ β”‚ β”‚ ╰─ MapProject(Free('tmp0){"comments"})
β”‚ β”‚ β”‚ ╰─ Str("id")
β”‚ β”‚ β”œβ”€ Str("%Dr%")
β”‚ β”‚ ╰─ Str("\")
β”‚ ╰─ Invoke(Like)
β”‚ β”œβ”€ Invoke(FlattenArray)
β”‚ β”‚ ╰─ Invoke(MapProject)
β”‚ β”‚ β”œβ”€ Invoke(FlattenArray)
β”‚ β”‚ β”‚ ╰─ MapProject(Free('tmp0){"comments"})
β”‚ β”‚ ╰─ Str("replyTo")
β”‚ β”œβ”€ Str("%Dr%")
β”‚ ╰─ Str("\")
╰─ Let('tmp2)
β”œβ”€ Invoke(Squash)
β”‚ ╰─ Free('tmp1)
╰─ Free('tmp2)
Optimized:
Let('__tmp0)
β”œβ”€ Read(/m34/test/user_comments)
╰─ Invoke(Squash)
╰─ Invoke(Filter)
β”œβ”€ Free('__tmp0)
╰─ Invoke(Or)
β”œβ”€ Invoke(Search)
β”‚ β”œβ”€ Invoke(MapProject)
β”‚ β”‚ β”œβ”€ Invoke(FlattenArray)
β”‚ β”‚ β”‚ ╰─ MapProject(Free('__tmp0){"comments"})
β”‚ β”‚ ╰─ Str("id")
β”‚ β”œβ”€ Str("^.*Dr.*$")
β”‚ ╰─ Constant(Bool(false))
╰─ Invoke(Search)
β”œβ”€ Invoke(FlattenArray)
β”‚ ╰─ Invoke(MapProject)
β”‚ β”œβ”€ Invoke(FlattenArray)
β”‚ β”‚ ╰─ MapProject(Free('__tmp0){"comments"})
β”‚ ╰─ Str("replyTo")
β”œβ”€ Str("^.*Dr.*$")
╰─ Constant(Bool(false))
Typechecked:
Let('__tmp0)
β”œβ”€ Let('__checku0)
β”‚ β”œβ”€ Read(/m34/test/user_comments)
β”‚ ╰─ Typecheck(Obj(Map[], Some(Top)))
β”‚ β”œβ”€ Free('__checku0)
β”‚ β”œβ”€ Free('__checku0)
β”‚ ╰─ Constant(NA)
╰─ Invoke(Squash)
╰─ Invoke(Filter)
β”œβ”€ Free('__tmp0)
╰─ Invoke(Or)
β”œβ”€ Let('__checku2)
β”‚ β”œβ”€ Invoke(MapProject)
β”‚ β”‚ β”œβ”€ Invoke(FlattenArray)
β”‚ β”‚ β”‚ ╰─ Let('__checku1)
β”‚ β”‚ β”‚ β”œβ”€ MapProject(Free('__tmp0){"comments"})
β”‚ β”‚ β”‚ ╰─ Typecheck(FlexArr(0, None, Obj(Map[], Some(Top))))
β”‚ β”‚ β”‚ β”œβ”€ Free('__checku1)
β”‚ β”‚ β”‚ β”œβ”€ Free('__checku1)
β”‚ β”‚ β”‚ ╰─ Constant(Arr(List(NA)))
β”‚ β”‚ ╰─ Str("id")
β”‚ ╰─ Typecheck(Str)
β”‚ β”œβ”€ Free('__checku2)
β”‚ β”œβ”€ Invoke(Search)
β”‚ β”‚ β”œβ”€ Free('__checku2)
β”‚ β”‚ β”œβ”€ Str("^.*Dr.*$")
β”‚ β”‚ ╰─ Constant(Bool(false))
β”‚ ╰─ Constant(NA)
╰─ Invoke(Search)
β”œβ”€ Invoke(FlattenArray)
β”‚ ╰─ Let('__checku4)
β”‚ β”œβ”€ Invoke(MapProject)
β”‚ β”‚ β”œβ”€ Invoke(FlattenArray)
β”‚ β”‚ β”‚ ╰─ Let('__checku3)
β”‚ β”‚ β”‚ β”œβ”€ MapProject(Free('__tmp0){"comments"})
β”‚ β”‚ β”‚ ╰─ Typecheck(FlexArr(0, None, Obj(Map[], Some(Top))))
β”‚ β”‚ β”‚ β”œβ”€ Free('__checku3)
β”‚ β”‚ β”‚ β”œβ”€ Free('__checku3)
β”‚ β”‚ β”‚ ╰─ Constant(Arr(List(NA)))
β”‚ β”‚ ╰─ Str("replyTo")
β”‚ ╰─ Typecheck(FlexArr(0, None, Str))
β”‚ β”œβ”€ Free('__checku4)
β”‚ β”œβ”€ Free('__checku4)
β”‚ ╰─ Constant(Arr(List(NA)))
β”œβ”€ Str("^.*Dr.*$")
╰─ Constant(Bool(false))
Rewritten Joins:
Let('__tmp0)
β”œβ”€ Let('__tmp1)
β”‚ β”œβ”€ Read(/m34/test/user_comments)
β”‚ ╰─ Typecheck(Obj(Map[], Some(Top)))
β”‚ β”œβ”€ Free('__tmp1)
β”‚ β”œβ”€ Free('__tmp1)
β”‚ ╰─ Constant(NA)
╰─ Invoke(Squash)
╰─ Invoke(Filter)
β”œβ”€ Free('__tmp0)
╰─ Invoke(Or)
β”œβ”€ Let('__tmp2)
β”‚ β”œβ”€ Invoke(MapProject)
β”‚ β”‚ β”œβ”€ Invoke(FlattenArray)
β”‚ β”‚ β”‚ ╰─ Let('__tmp3)
β”‚ β”‚ β”‚ β”œβ”€ MapProject(Free('__tmp0){"comments"})
β”‚ β”‚ β”‚ ╰─ Typecheck(FlexArr(0, None, Obj(Map[], Some(Top))))
β”‚ β”‚ β”‚ β”œβ”€ Free('__tmp3)
β”‚ β”‚ β”‚ β”œβ”€ Free('__tmp3)
β”‚ β”‚ β”‚ ╰─ Constant(Arr(List(NA)))
β”‚ β”‚ ╰─ Str("id")
β”‚ ╰─ Typecheck(Str)
β”‚ β”œβ”€ Free('__tmp2)
β”‚ β”œβ”€ Invoke(Search)
β”‚ β”‚ β”œβ”€ Free('__tmp2)
β”‚ β”‚ β”œβ”€ Str("^.*Dr.*$")
β”‚ β”‚ ╰─ Constant(Bool(false))
β”‚ ╰─ Constant(NA)
╰─ Invoke(Search)
β”œβ”€ Invoke(FlattenArray)
β”‚ ╰─ Let('__tmp4)
β”‚ β”œβ”€ Invoke(MapProject)
β”‚ β”‚ β”œβ”€ Invoke(FlattenArray)
β”‚ β”‚ β”‚ ╰─ Let('__tmp5)
β”‚ β”‚ β”‚ β”œβ”€ MapProject(Free('__tmp0){"comments"})
β”‚ β”‚ β”‚ ╰─ Typecheck(FlexArr(0, None, Obj(Map[], Some(Top))))
β”‚ β”‚ β”‚ β”œβ”€ Free('__tmp5)
β”‚ β”‚ β”‚ β”œβ”€ Free('__tmp5)
β”‚ β”‚ β”‚ ╰─ Constant(Arr(List(NA)))
β”‚ β”‚ ╰─ Str("replyTo")
β”‚ ╰─ Typecheck(FlexArr(0, None, Str))
β”‚ β”œβ”€ Free('__tmp4)
β”‚ β”œβ”€ Free('__tmp4)
β”‚ ╰─ Constant(Arr(List(NA)))
β”œβ”€ Str("^.*Dr.*$")
╰─ Constant(Bool(false))
QScript (Educated):
Map
β”œβ”€ Map
β”‚ β”œβ”€ Filter
β”‚ β”‚ β”œβ”€ Map
β”‚ β”‚ β”‚ β”œβ”€ LeftShift
β”‚ β”‚ β”‚ β”‚ β”œβ”€ LeftShift
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ LeftShift
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ LeftShift
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Read(/test/user_comments)
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Struct
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ β—‹
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ IdStatus
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ IdStatus(ExcludeId)
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Repair
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ RightSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Struct
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Guard
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Guard
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ β—‹
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Type(Obj(Map[], Some(Top)))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ β—‹
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(comments))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Undefined
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Type(FlexArr(0, None, Obj(Map[], Some(Top))))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Guard
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ β—‹
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Type(Obj(Map[], Some(Top)))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ β—‹
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(comments))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Undefined
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Undefined
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ IdStatus
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ IdStatus(ExcludeId)
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Repair
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ ConcatMaps
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ MakeMap
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(original))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ LeftSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ MakeMap
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(results))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ ConcatMaps
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ MakeMap
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(0))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Guard
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Guard
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ LeftSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Type(Obj(Map[], Some(Top)))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ LeftSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Undefined
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(comments))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Type(FlexArr(0, None, Obj(Map[], Some(Top))))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Guard
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ LeftSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Type(Obj(Map[], Some(Top)))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ LeftSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Undefined
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(comments))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Undefined
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ MakeMap
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(1))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Guard
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ RightSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(replyTo))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Type(FlexArr(0, None, Str))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ RightSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(replyTo))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Undefined
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Struct
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ β—‹
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(results))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(0))
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ IdStatus
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ IdStatus(IncludeId)
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Repair
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ ConcatMaps
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ MakeMap
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(identities))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ MakeMap
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(qsu39))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ ProjectIndex
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ RightSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Int(0))
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ MakeMap
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(value))
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ ConcatMaps
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ MakeMap
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(original))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ LeftSide
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ MakeMap
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(0))
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ ProjectIndex
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ RightSide
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Int(1))
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Struct
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ β—‹
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(value))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(original))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(results))
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(1))
β”‚ β”‚ β”‚ β”‚ β”œβ”€ IdStatus
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ IdStatus(IncludeId)
β”‚ β”‚ β”‚ β”‚ ╰─ Repair
β”‚ β”‚ β”‚ β”‚ ╰─ ConcatMaps
β”‚ β”‚ β”‚ β”‚ β”œβ”€ MakeMap
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(identities))
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ LeftSide
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(identities))
β”‚ β”‚ β”‚ β”‚ ╰─ MakeMap
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(value))
β”‚ β”‚ β”‚ β”‚ ╰─ Cond
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Eq
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ LeftSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(identities))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(qsu39))
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ ProjectIndex
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ RightSide
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Int(0))
β”‚ β”‚ β”‚ β”‚ β”œβ”€ ConcatMaps
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ LeftSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(value))
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ MakeMap
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(1))
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ ProjectIndex
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ RightSide
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Int(1))
β”‚ β”‚ β”‚ β”‚ ╰─ Undefined
β”‚ β”‚ β”‚ ╰─ ConcatMaps
β”‚ β”‚ β”‚ β”œβ”€ MakeMap
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(identities))
β”‚ β”‚ β”‚ β”‚ ╰─ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”œβ”€ β—‹
β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(identities))
β”‚ β”‚ β”‚ ╰─ MakeMap
β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(value))
β”‚ β”‚ β”‚ ╰─ Or
β”‚ β”‚ β”‚ β”œβ”€ Guard
β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ β—‹
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(value))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(0))
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(id))
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Type(Str)
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Search
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ β—‹
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(value))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(0))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(id))
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(^.*Dr.*$))
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Bool(false))
β”‚ β”‚ β”‚ β”‚ ╰─ Undefined
β”‚ β”‚ β”‚ ╰─ Search
β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ β—‹
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(value))
β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(1))
β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(^.*Dr.*$))
β”‚ β”‚ β”‚ ╰─ Constant(Bool(false))
β”‚ β”‚ ╰─ ProjectKey
β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”œβ”€ β—‹
β”‚ β”‚ β”‚ ╰─ Constant(Str(value))
β”‚ β”‚ ╰─ Constant(Str(filter_predicate))
β”‚ ╰─ ConcatMaps
β”‚ β”œβ”€ MakeMap
β”‚ β”‚ β”œβ”€ Constant(Str(identities))
β”‚ β”‚ ╰─ ProjectKey
β”‚ β”‚ β”œβ”€ β—‹
β”‚ β”‚ ╰─ Constant(Str(identities))
β”‚ ╰─ MakeMap
β”‚ β”œβ”€ Constant(Str(value))
β”‚ ╰─ ProjectKey
β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”œβ”€ β—‹
β”‚ β”‚ ╰─ Constant(Str(value))
β”‚ ╰─ Constant(Str(filter_source))
╰─ ProjectKey
β”œβ”€ β—‹
╰─ Constant(Str(value))
QScript (ShiftRead):
Map
β”œβ”€ Filter
β”‚ β”œβ”€ LeftShift
β”‚ β”‚ β”œβ”€ LeftShift
β”‚ β”‚ β”‚ β”œβ”€ LeftShift
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Map
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ShiftedRead(/test/user_comments, ExcludeId)
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ β—‹
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Struct
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Guard
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Guard
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ β—‹
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Type(Obj(Map[], Some(Top)))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ β—‹
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(comments))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Undefined
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Type(FlexArr(0, None, Obj(Map[], Some(Top))))
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Guard
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ β—‹
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Type(Obj(Map[], Some(Top)))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ β—‹
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(comments))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Undefined
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Undefined
β”‚ β”‚ β”‚ β”‚ β”œβ”€ IdStatus
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ IdStatus(ExcludeId)
β”‚ β”‚ β”‚ β”‚ ╰─ Repair
β”‚ β”‚ β”‚ β”‚ ╰─ ConcatMaps
β”‚ β”‚ β”‚ β”‚ β”œβ”€ MakeMap
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(original))
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ LeftSide
β”‚ β”‚ β”‚ β”‚ ╰─ MakeMap
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(results))
β”‚ β”‚ β”‚ β”‚ ╰─ ConcatMaps
β”‚ β”‚ β”‚ β”‚ β”œβ”€ MakeMap
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(0))
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Guard
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Guard
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ LeftSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Type(Obj(Map[], Some(Top)))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ LeftSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(comments))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Undefined
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Type(FlexArr(0, None, Obj(Map[], Some(Top))))
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Guard
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ LeftSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Type(Obj(Map[], Some(Top)))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ LeftSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(comments))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Undefined
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Undefined
β”‚ β”‚ β”‚ β”‚ ╰─ MakeMap
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(1))
β”‚ β”‚ β”‚ β”‚ ╰─ Guard
β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ RightSide
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(replyTo))
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Type(FlexArr(0, None, Str))
β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ RightSide
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(replyTo))
β”‚ β”‚ β”‚ β”‚ ╰─ Undefined
β”‚ β”‚ β”‚ β”œβ”€ Struct
β”‚ β”‚ β”‚ β”‚ ╰─ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ β—‹
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(results))
β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(0))
β”‚ β”‚ β”‚ β”œβ”€ IdStatus
β”‚ β”‚ β”‚ β”‚ ╰─ IdStatus(IncludeId)
β”‚ β”‚ β”‚ ╰─ Repair
β”‚ β”‚ β”‚ ╰─ ConcatMaps
β”‚ β”‚ β”‚ β”œβ”€ MakeMap
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(identities))
β”‚ β”‚ β”‚ β”‚ ╰─ MakeMap
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(qsu39))
β”‚ β”‚ β”‚ β”‚ ╰─ ProjectIndex
β”‚ β”‚ β”‚ β”‚ β”œβ”€ RightSide
β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Int(0))
β”‚ β”‚ β”‚ ╰─ MakeMap
β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(value))
β”‚ β”‚ β”‚ ╰─ ConcatMaps
β”‚ β”‚ β”‚ β”œβ”€ MakeMap
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(original))
β”‚ β”‚ β”‚ β”‚ ╰─ LeftSide
β”‚ β”‚ β”‚ ╰─ MakeMap
β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(0))
β”‚ β”‚ β”‚ ╰─ ProjectIndex
β”‚ β”‚ β”‚ β”œβ”€ RightSide
β”‚ β”‚ β”‚ ╰─ Constant(Int(1))
β”‚ β”‚ β”œβ”€ Struct
β”‚ β”‚ β”‚ ╰─ ProjectKey
β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ β—‹
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(value))
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(original))
β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(results))
β”‚ β”‚ β”‚ ╰─ Constant(Str(1))
β”‚ β”‚ β”œβ”€ IdStatus
β”‚ β”‚ β”‚ ╰─ IdStatus(IncludeId)
β”‚ β”‚ ╰─ Repair
β”‚ β”‚ ╰─ ConcatMaps
β”‚ β”‚ β”œβ”€ MakeMap
β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(identities))
β”‚ β”‚ β”‚ ╰─ ProjectKey
β”‚ β”‚ β”‚ β”œβ”€ LeftSide
β”‚ β”‚ β”‚ ╰─ Constant(Str(identities))
β”‚ β”‚ ╰─ MakeMap
β”‚ β”‚ β”œβ”€ Constant(Str(value))
β”‚ β”‚ ╰─ Or
β”‚ β”‚ β”œβ”€ Guard
β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Cond
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Eq
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ LeftSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(identities))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(qsu39))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ ProjectIndex
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ RightSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Int(0))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ConcatMaps
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ LeftSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(value))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ MakeMap
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(1))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ ProjectIndex
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ RightSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Int(1))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Undefined
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(0))
β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(id))
β”‚ β”‚ β”‚ β”œβ”€ Type(Str)
β”‚ β”‚ β”‚ β”œβ”€ Search
β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Cond
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Eq
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ LeftSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(identities))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(qsu39))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ ProjectIndex
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ RightSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Int(0))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ConcatMaps
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ LeftSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(value))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ MakeMap
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(1))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ ProjectIndex
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ RightSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Int(1))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Undefined
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(0))
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(id))
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(^.*Dr.*$))
β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Bool(false))
β”‚ β”‚ β”‚ ╰─ Undefined
β”‚ β”‚ ╰─ Search
β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”œβ”€ Cond
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Eq
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ LeftSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(identities))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(qsu39))
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ ProjectIndex
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ RightSide
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Int(0))
β”‚ β”‚ β”‚ β”‚ β”œβ”€ ConcatMaps
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ LeftSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(value))
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ MakeMap
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(1))
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ ProjectIndex
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ RightSide
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Int(1))
β”‚ β”‚ β”‚ β”‚ ╰─ Undefined
β”‚ β”‚ β”‚ ╰─ Constant(Str(1))
β”‚ β”‚ β”œβ”€ Constant(Str(^.*Dr.*$))
β”‚ β”‚ ╰─ Constant(Bool(false))
β”‚ ╰─ ProjectKey
β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”œβ”€ β—‹
β”‚ β”‚ ╰─ Constant(Str(value))
β”‚ ╰─ Constant(Str(filter_predicate))
╰─ ProjectKey
β”œβ”€ ProjectKey
β”‚ β”œβ”€ β—‹
β”‚ ╰─ Constant(Str(value))
╰─ Constant(Str(filter_source))
QScript (Optimized):
Map
β”œβ”€ Filter
β”‚ β”œβ”€ LeftShift
β”‚ β”‚ β”œβ”€ LeftShift
β”‚ β”‚ β”‚ β”œβ”€ LeftShift
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Map
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ShiftedRead(/test/user_comments, ExcludeId)
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ β—‹
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Struct
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Guard
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Guard
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ β—‹
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Type(Obj(Map[], Some(Top)))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ β—‹
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(comments))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Undefined
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Type(FlexArr(0, None, Obj(Map[], Some(Top))))
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Guard
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ β—‹
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Type(Obj(Map[], Some(Top)))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ β—‹
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(comments))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Undefined
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Undefined
β”‚ β”‚ β”‚ β”‚ β”œβ”€ IdStatus
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ IdStatus(ExcludeId)
β”‚ β”‚ β”‚ β”‚ ╰─ Repair
β”‚ β”‚ β”‚ β”‚ ╰─ ConcatMaps
β”‚ β”‚ β”‚ β”‚ β”œβ”€ MakeMap
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(original))
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ LeftSide
β”‚ β”‚ β”‚ β”‚ ╰─ MakeMap
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(results))
β”‚ β”‚ β”‚ β”‚ ╰─ ConcatMaps
β”‚ β”‚ β”‚ β”‚ β”œβ”€ MakeMap
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(0))
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Guard
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Guard
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ LeftSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Type(Obj(Map[], Some(Top)))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ LeftSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(comments))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Undefined
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Type(FlexArr(0, None, Obj(Map[], Some(Top))))
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Guard
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ LeftSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Type(Obj(Map[], Some(Top)))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ LeftSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(comments))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Undefined
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Undefined
β”‚ β”‚ β”‚ β”‚ ╰─ MakeMap
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(1))
β”‚ β”‚ β”‚ β”‚ ╰─ Guard
β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ RightSide
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(replyTo))
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Type(FlexArr(0, None, Str))
β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ RightSide
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(replyTo))
β”‚ β”‚ β”‚ β”‚ ╰─ Undefined
β”‚ β”‚ β”‚ β”œβ”€ Struct
β”‚ β”‚ β”‚ β”‚ ╰─ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ β—‹
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(results))
β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(0))
β”‚ β”‚ β”‚ β”œβ”€ IdStatus
β”‚ β”‚ β”‚ β”‚ ╰─ IdStatus(IncludeId)
β”‚ β”‚ β”‚ ╰─ Repair
β”‚ β”‚ β”‚ ╰─ ConcatMaps
β”‚ β”‚ β”‚ β”œβ”€ MakeMap
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(identities))
β”‚ β”‚ β”‚ β”‚ ╰─ MakeMap
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(qsu39))
β”‚ β”‚ β”‚ β”‚ ╰─ ProjectIndex
β”‚ β”‚ β”‚ β”‚ β”œβ”€ RightSide
β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Int(0))
β”‚ β”‚ β”‚ ╰─ MakeMap
β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(value))
β”‚ β”‚ β”‚ ╰─ ConcatMaps
β”‚ β”‚ β”‚ β”œβ”€ MakeMap
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(original))
β”‚ β”‚ β”‚ β”‚ ╰─ LeftSide
β”‚ β”‚ β”‚ ╰─ MakeMap
β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(0))
β”‚ β”‚ β”‚ ╰─ ProjectIndex
β”‚ β”‚ β”‚ β”œβ”€ RightSide
β”‚ β”‚ β”‚ ╰─ Constant(Int(1))
β”‚ β”‚ β”œβ”€ Struct
β”‚ β”‚ β”‚ ╰─ ProjectKey
β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ β—‹
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(value))
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(original))
β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(results))
β”‚ β”‚ β”‚ ╰─ Constant(Str(1))
β”‚ β”‚ β”œβ”€ IdStatus
β”‚ β”‚ β”‚ ╰─ IdStatus(IncludeId)
β”‚ β”‚ ╰─ Repair
β”‚ β”‚ ╰─ ConcatMaps
β”‚ β”‚ β”œβ”€ MakeMap
β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(identities))
β”‚ β”‚ β”‚ ╰─ ProjectKey
β”‚ β”‚ β”‚ β”œβ”€ LeftSide
β”‚ β”‚ β”‚ ╰─ Constant(Str(identities))
β”‚ β”‚ ╰─ MakeMap
β”‚ β”‚ β”œβ”€ Constant(Str(value))
β”‚ β”‚ ╰─ Or
β”‚ β”‚ β”œβ”€ Guard
β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Cond
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Eq
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ LeftSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(identities))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(qsu39))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ ProjectIndex
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ RightSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Int(0))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ConcatMaps
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ LeftSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(value))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ MakeMap
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(1))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ ProjectIndex
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ RightSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Int(1))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Undefined
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(0))
β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(id))
β”‚ β”‚ β”‚ β”œβ”€ Type(Str)
β”‚ β”‚ β”‚ β”œβ”€ Search
β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Cond
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Eq
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ LeftSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(identities))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(qsu39))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ ProjectIndex
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ RightSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Int(0))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ConcatMaps
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ LeftSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(value))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ MakeMap
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(1))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ ProjectIndex
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ RightSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Int(1))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Undefined
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(0))
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(id))
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(^.*Dr.*$))
β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Bool(false))
β”‚ β”‚ β”‚ ╰─ Undefined
β”‚ β”‚ ╰─ Search
β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”œβ”€ Cond
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Eq
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ LeftSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(identities))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(qsu39))
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ ProjectIndex
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ RightSide
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Int(0))
β”‚ β”‚ β”‚ β”‚ β”œβ”€ ConcatMaps
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ LeftSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(value))
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ MakeMap
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(1))
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ ProjectIndex
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ RightSide
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Int(1))
β”‚ β”‚ β”‚ β”‚ ╰─ Undefined
β”‚ β”‚ β”‚ ╰─ Constant(Str(1))
β”‚ β”‚ β”œβ”€ Constant(Str(^.*Dr.*$))
β”‚ β”‚ ╰─ Constant(Bool(false))
β”‚ ╰─ ProjectKey
β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”œβ”€ β—‹
β”‚ β”‚ ╰─ Constant(Str(value))
β”‚ ╰─ Constant(Str(filter_predicate))
╰─ ProjectKey
β”œβ”€ ProjectKey
β”‚ β”œβ”€ β—‹
β”‚ ╰─ Constant(Str(value))
╰─ Constant(Str(filter_source))
QScript Mongo:
Map
β”œβ”€ Filter
β”‚ β”œβ”€ LeftShift
β”‚ β”‚ β”œβ”€ LeftShift
β”‚ β”‚ β”‚ β”œβ”€ LeftShift
β”‚ β”‚ β”‚ β”‚ β”œβ”€ ShiftedRead(/test/user_comments, ExcludeId)
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Struct
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Guard
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ β—‹
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(comments))
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Type(FlexArr(0, None, Obj(Map[], Some(Top))))
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ β—‹
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(comments))
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Undefined
β”‚ β”‚ β”‚ β”‚ β”œβ”€ IdStatus
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ IdStatus(ExcludeId)
β”‚ β”‚ β”‚ β”‚ ╰─ Repair
β”‚ β”‚ β”‚ β”‚ ╰─ ConcatMaps
β”‚ β”‚ β”‚ β”‚ β”œβ”€ MakeMap
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(original))
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ LeftSide
β”‚ β”‚ β”‚ β”‚ ╰─ MakeMap
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(results))
β”‚ β”‚ β”‚ β”‚ ╰─ ConcatMaps
β”‚ β”‚ β”‚ β”‚ β”œβ”€ MakeMap
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(0))
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Guard
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Guard
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ LeftSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Type(Obj(Map[], Some(Top)))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ LeftSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(comments))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Undefined
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Type(FlexArr(0, None, Obj(Map[], Some(Top))))
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Guard
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ LeftSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Type(Obj(Map[], Some(Top)))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ LeftSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(comments))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Undefined
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Undefined
β”‚ β”‚ β”‚ β”‚ ╰─ MakeMap
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(1))
β”‚ β”‚ β”‚ β”‚ ╰─ Guard
β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ RightSide
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(replyTo))
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Type(FlexArr(0, None, Str))
β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ RightSide
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(replyTo))
β”‚ β”‚ β”‚ β”‚ ╰─ Undefined
β”‚ β”‚ β”‚ β”œβ”€ Struct
β”‚ β”‚ β”‚ β”‚ ╰─ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ β—‹
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(results))
β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(0))
β”‚ β”‚ β”‚ β”œβ”€ IdStatus
β”‚ β”‚ β”‚ β”‚ ╰─ IdStatus(IncludeId)
β”‚ β”‚ β”‚ ╰─ Repair
β”‚ β”‚ β”‚ ╰─ ConcatMaps
β”‚ β”‚ β”‚ β”œβ”€ MakeMap
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(identities))
β”‚ β”‚ β”‚ β”‚ ╰─ MakeMap
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(qsu39))
β”‚ β”‚ β”‚ β”‚ ╰─ ProjectIndex
β”‚ β”‚ β”‚ β”‚ β”œβ”€ RightSide
β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Int(0))
β”‚ β”‚ β”‚ ╰─ MakeMap
β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(value))
β”‚ β”‚ β”‚ ╰─ ConcatMaps
β”‚ β”‚ β”‚ β”œβ”€ MakeMap
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(original))
β”‚ β”‚ β”‚ β”‚ ╰─ LeftSide
β”‚ β”‚ β”‚ ╰─ MakeMap
β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(0))
β”‚ β”‚ β”‚ ╰─ ProjectIndex
β”‚ β”‚ β”‚ β”œβ”€ RightSide
β”‚ β”‚ β”‚ ╰─ Constant(Int(1))
β”‚ β”‚ β”œβ”€ Struct
β”‚ β”‚ β”‚ ╰─ ProjectKey
β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ β—‹
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(value))
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(original))
β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(results))
β”‚ β”‚ β”‚ ╰─ Constant(Str(1))
β”‚ β”‚ β”œβ”€ IdStatus
β”‚ β”‚ β”‚ ╰─ IdStatus(IncludeId)
β”‚ β”‚ ╰─ Repair
β”‚ β”‚ ╰─ ConcatMaps
β”‚ β”‚ β”œβ”€ MakeMap
β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(identities))
β”‚ β”‚ β”‚ ╰─ ProjectKey
β”‚ β”‚ β”‚ β”œβ”€ LeftSide
β”‚ β”‚ β”‚ ╰─ Constant(Str(identities))
β”‚ β”‚ ╰─ MakeMap
β”‚ β”‚ β”œβ”€ Constant(Str(value))
β”‚ β”‚ ╰─ Or
β”‚ β”‚ β”œβ”€ Guard
β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Cond
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Eq
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ LeftSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(identities))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(qsu39))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ ProjectIndex
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ RightSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Int(0))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ConcatMaps
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ LeftSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(value))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ MakeMap
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(1))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ ProjectIndex
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ RightSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Int(1))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Undefined
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(0))
β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(id))
β”‚ β”‚ β”‚ β”œβ”€ Type(Str)
β”‚ β”‚ β”‚ β”œβ”€ Search
β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Cond
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Eq
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ LeftSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(identities))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(qsu39))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ ProjectIndex
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ RightSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Int(0))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ConcatMaps
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ LeftSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(value))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ MakeMap
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(1))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ ProjectIndex
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ RightSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Int(1))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Undefined
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(0))
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(id))
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(^.*Dr.*$))
β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Bool(false))
β”‚ β”‚ β”‚ ╰─ Undefined
β”‚ β”‚ ╰─ Search
β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”œβ”€ Cond
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Eq
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ LeftSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(identities))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(qsu39))
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ ProjectIndex
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ RightSide
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Int(0))
β”‚ β”‚ β”‚ β”‚ β”œβ”€ ConcatMaps
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ LeftSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(value))
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ MakeMap
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(1))
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ ProjectIndex
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ RightSide
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Int(1))
β”‚ β”‚ β”‚ β”‚ ╰─ Undefined
β”‚ β”‚ β”‚ ╰─ Constant(Str(1))
β”‚ β”‚ β”œβ”€ Constant(Str(^.*Dr.*$))
β”‚ β”‚ ╰─ Constant(Bool(false))
β”‚ ╰─ ProjectKey
β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”œβ”€ β—‹
β”‚ β”‚ ╰─ Constant(Str(value))
β”‚ ╰─ Constant(Str(filter_predicate))
╰─ ProjectKey
β”œβ”€ ProjectKey
β”‚ β”œβ”€ β—‹
β”‚ ╰─ Constant(Str(value))
╰─ Constant(Str(filter_source))
QScript Mongo (Subset Before Map):
Map
β”œβ”€ Filter
β”‚ β”œβ”€ LeftShift
β”‚ β”‚ β”œβ”€ LeftShift
β”‚ β”‚ β”‚ β”œβ”€ LeftShift
β”‚ β”‚ β”‚ β”‚ β”œβ”€ ShiftedRead(/test/user_comments, ExcludeId)
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Struct
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Guard
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ β—‹
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(comments))
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Type(FlexArr(0, None, Obj(Map[], Some(Top))))
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ β—‹
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(comments))
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Undefined
β”‚ β”‚ β”‚ β”‚ β”œβ”€ IdStatus
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ IdStatus(ExcludeId)
β”‚ β”‚ β”‚ β”‚ ╰─ Repair
β”‚ β”‚ β”‚ β”‚ ╰─ ConcatMaps
β”‚ β”‚ β”‚ β”‚ β”œβ”€ MakeMap
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(original))
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ LeftSide
β”‚ β”‚ β”‚ β”‚ ╰─ MakeMap
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(results))
β”‚ β”‚ β”‚ β”‚ ╰─ ConcatMaps
β”‚ β”‚ β”‚ β”‚ β”œβ”€ MakeMap
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(0))
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Guard
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Guard
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ LeftSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Type(Obj(Map[], Some(Top)))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ LeftSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(comments))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Undefined
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Type(FlexArr(0, None, Obj(Map[], Some(Top))))
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Guard
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ LeftSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Type(Obj(Map[], Some(Top)))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ LeftSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(comments))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Undefined
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Undefined
β”‚ β”‚ β”‚ β”‚ ╰─ MakeMap
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(1))
β”‚ β”‚ β”‚ β”‚ ╰─ Guard
β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ RightSide
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(replyTo))
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Type(FlexArr(0, None, Str))
β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ RightSide
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(replyTo))
β”‚ β”‚ β”‚ β”‚ ╰─ Undefined
β”‚ β”‚ β”‚ β”œβ”€ Struct
β”‚ β”‚ β”‚ β”‚ ╰─ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ β—‹
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(results))
β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(0))
β”‚ β”‚ β”‚ β”œβ”€ IdStatus
β”‚ β”‚ β”‚ β”‚ ╰─ IdStatus(IncludeId)
β”‚ β”‚ β”‚ ╰─ Repair
β”‚ β”‚ β”‚ ╰─ ConcatMaps
β”‚ β”‚ β”‚ β”œβ”€ MakeMap
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(identities))
β”‚ β”‚ β”‚ β”‚ ╰─ MakeMap
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(qsu39))
β”‚ β”‚ β”‚ β”‚ ╰─ ProjectIndex
β”‚ β”‚ β”‚ β”‚ β”œβ”€ RightSide
β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Int(0))
β”‚ β”‚ β”‚ ╰─ MakeMap
β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(value))
β”‚ β”‚ β”‚ ╰─ ConcatMaps
β”‚ β”‚ β”‚ β”œβ”€ MakeMap
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(original))
β”‚ β”‚ β”‚ β”‚ ╰─ LeftSide
β”‚ β”‚ β”‚ ╰─ MakeMap
β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(0))
β”‚ β”‚ β”‚ ╰─ ProjectIndex
β”‚ β”‚ β”‚ β”œβ”€ RightSide
β”‚ β”‚ β”‚ ╰─ Constant(Int(1))
β”‚ β”‚ β”œβ”€ Struct
β”‚ β”‚ β”‚ ╰─ ProjectKey
β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ β—‹
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(value))
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(original))
β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(results))
β”‚ β”‚ β”‚ ╰─ Constant(Str(1))
β”‚ β”‚ β”œβ”€ IdStatus
β”‚ β”‚ β”‚ ╰─ IdStatus(IncludeId)
β”‚ β”‚ ╰─ Repair
β”‚ β”‚ ╰─ ConcatMaps
β”‚ β”‚ β”œβ”€ MakeMap
β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(identities))
β”‚ β”‚ β”‚ ╰─ ProjectKey
β”‚ β”‚ β”‚ β”œβ”€ LeftSide
β”‚ β”‚ β”‚ ╰─ Constant(Str(identities))
β”‚ β”‚ ╰─ MakeMap
β”‚ β”‚ β”œβ”€ Constant(Str(value))
β”‚ β”‚ ╰─ Or
β”‚ β”‚ β”œβ”€ Guard
β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Cond
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Eq
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ LeftSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(identities))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(qsu39))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ ProjectIndex
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ RightSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Int(0))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ConcatMaps
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ LeftSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(value))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ MakeMap
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(1))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ ProjectIndex
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ RightSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Int(1))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Undefined
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(0))
β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(id))
β”‚ β”‚ β”‚ β”œβ”€ Type(Str)
β”‚ β”‚ β”‚ β”œβ”€ Search
β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Cond
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Eq
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ LeftSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(identities))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(qsu39))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ ProjectIndex
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ RightSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Int(0))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ConcatMaps
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ LeftSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(value))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ MakeMap
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(1))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ ProjectIndex
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ RightSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Int(1))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Undefined
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(0))
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(id))
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(^.*Dr.*$))
β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Bool(false))
β”‚ β”‚ β”‚ ╰─ Undefined
β”‚ β”‚ ╰─ Search
β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”œβ”€ Cond
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Eq
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ LeftSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(identities))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(qsu39))
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ ProjectIndex
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ RightSide
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Int(0))
β”‚ β”‚ β”‚ β”‚ β”œβ”€ ConcatMaps
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ LeftSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(value))
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ MakeMap
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(1))
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ ProjectIndex
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ RightSide
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Int(1))
β”‚ β”‚ β”‚ β”‚ ╰─ Undefined
β”‚ β”‚ β”‚ ╰─ Constant(Str(1))
β”‚ β”‚ β”œβ”€ Constant(Str(^.*Dr.*$))
β”‚ β”‚ ╰─ Constant(Bool(false))
β”‚ ╰─ ProjectKey
β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”œβ”€ β—‹
β”‚ β”‚ ╰─ Constant(Str(value))
β”‚ ╰─ Constant(Str(filter_predicate))
╰─ ProjectKey
β”œβ”€ ProjectKey
β”‚ β”œβ”€ β—‹
β”‚ ╰─ Constant(Str(value))
╰─ Constant(Str(filter_source))
QScript Mongo (Prefer Projection):
Map
β”œβ”€ Filter
β”‚ β”œβ”€ LeftShift
β”‚ β”‚ β”œβ”€ LeftShift
β”‚ β”‚ β”‚ β”œβ”€ LeftShift
β”‚ β”‚ β”‚ β”‚ β”œβ”€ ShiftedRead(/test/user_comments, ExcludeId)
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Struct
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Guard
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ β—‹
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(comments))
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Type(FlexArr(0, None, Obj(Map[], Some(Top))))
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ β—‹
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(comments))
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Undefined
β”‚ β”‚ β”‚ β”‚ β”œβ”€ IdStatus
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ IdStatus(ExcludeId)
β”‚ β”‚ β”‚ β”‚ ╰─ Repair
β”‚ β”‚ β”‚ β”‚ ╰─ ConcatMaps
β”‚ β”‚ β”‚ β”‚ β”œβ”€ MakeMap
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(original))
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ LeftSide
β”‚ β”‚ β”‚ β”‚ ╰─ MakeMap
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(results))
β”‚ β”‚ β”‚ β”‚ ╰─ ConcatMaps
β”‚ β”‚ β”‚ β”‚ β”œβ”€ MakeMap
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(0))
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Guard
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Guard
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ LeftSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Type(Obj(Map[], Some(Top)))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ LeftSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(comments))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Undefined
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Type(FlexArr(0, None, Obj(Map[], Some(Top))))
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Guard
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ LeftSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Type(Obj(Map[], Some(Top)))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ LeftSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(comments))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Undefined
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Undefined
β”‚ β”‚ β”‚ β”‚ ╰─ MakeMap
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(1))
β”‚ β”‚ β”‚ β”‚ ╰─ Guard
β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ RightSide
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(replyTo))
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Type(FlexArr(0, None, Str))
β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ RightSide
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(replyTo))
β”‚ β”‚ β”‚ β”‚ ╰─ Undefined
β”‚ β”‚ β”‚ β”œβ”€ Struct
β”‚ β”‚ β”‚ β”‚ ╰─ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ β—‹
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(results))
β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(0))
β”‚ β”‚ β”‚ β”œβ”€ IdStatus
β”‚ β”‚ β”‚ β”‚ ╰─ IdStatus(IncludeId)
β”‚ β”‚ β”‚ ╰─ Repair
β”‚ β”‚ β”‚ ╰─ ConcatMaps
β”‚ β”‚ β”‚ β”œβ”€ MakeMap
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(identities))
β”‚ β”‚ β”‚ β”‚ ╰─ MakeMap
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(qsu39))
β”‚ β”‚ β”‚ β”‚ ╰─ ProjectIndex
β”‚ β”‚ β”‚ β”‚ β”œβ”€ RightSide
β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Int(0))
β”‚ β”‚ β”‚ ╰─ MakeMap
β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(value))
β”‚ β”‚ β”‚ ╰─ ConcatMaps
β”‚ β”‚ β”‚ β”œβ”€ MakeMap
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(original))
β”‚ β”‚ β”‚ β”‚ ╰─ LeftSide
β”‚ β”‚ β”‚ ╰─ MakeMap
β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(0))
β”‚ β”‚ β”‚ ╰─ ProjectIndex
β”‚ β”‚ β”‚ β”œβ”€ RightSide
β”‚ β”‚ β”‚ ╰─ Constant(Int(1))
β”‚ β”‚ β”œβ”€ Struct
β”‚ β”‚ β”‚ ╰─ ProjectKey
β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ β—‹
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(value))
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(original))
β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(results))
β”‚ β”‚ β”‚ ╰─ Constant(Str(1))
β”‚ β”‚ β”œβ”€ IdStatus
β”‚ β”‚ β”‚ ╰─ IdStatus(IncludeId)
β”‚ β”‚ ╰─ Repair
β”‚ β”‚ ╰─ ConcatMaps
β”‚ β”‚ β”œβ”€ MakeMap
β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(identities))
β”‚ β”‚ β”‚ ╰─ ProjectKey
β”‚ β”‚ β”‚ β”œβ”€ LeftSide
β”‚ β”‚ β”‚ ╰─ Constant(Str(identities))
β”‚ β”‚ ╰─ MakeMap
β”‚ β”‚ β”œβ”€ Constant(Str(value))
β”‚ β”‚ ╰─ Or
β”‚ β”‚ β”œβ”€ Guard
β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Cond
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Eq
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ LeftSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(identities))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(qsu39))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ ProjectIndex
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ RightSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Int(0))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ConcatMaps
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ LeftSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(value))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ MakeMap
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(1))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ ProjectIndex
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ RightSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Int(1))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Undefined
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(0))
β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(id))
β”‚ β”‚ β”‚ β”œβ”€ Type(Str)
β”‚ β”‚ β”‚ β”œβ”€ Search
β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Cond
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Eq
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ LeftSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(identities))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(qsu39))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ ProjectIndex
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ RightSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Int(0))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ConcatMaps
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ LeftSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(value))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ MakeMap
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(1))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ ProjectIndex
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ RightSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Int(1))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Undefined
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(0))
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(id))
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(^.*Dr.*$))
β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Bool(false))
β”‚ β”‚ β”‚ ╰─ Undefined
β”‚ β”‚ ╰─ Search
β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”œβ”€ Cond
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Eq
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ LeftSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(identities))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(qsu39))
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ ProjectIndex
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ RightSide
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Int(0))
β”‚ β”‚ β”‚ β”‚ β”œβ”€ ConcatMaps
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ LeftSide
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Str(value))
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ MakeMap
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Constant(Str(1))
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ ProjectIndex
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ RightSide
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Constant(Int(1))
β”‚ β”‚ β”‚ β”‚ ╰─ Undefined
β”‚ β”‚ β”‚ ╰─ Constant(Str(1))
β”‚ β”‚ β”œβ”€ Constant(Str(^.*Dr.*$))
β”‚ β”‚ ╰─ Constant(Bool(false))
β”‚ ╰─ ProjectKey
β”‚ β”œβ”€ ProjectKey
β”‚ β”‚ β”œβ”€ β—‹
β”‚ β”‚ ╰─ Constant(Str(value))
β”‚ ╰─ Constant(Str(filter_predicate))
╰─ ProjectKey
β”œβ”€ ProjectKey
β”‚ β”œβ”€ β—‹
β”‚ ╰─ Constant(Str(value))
╰─ Constant(Str(filter_source))
Workflow Builder:
ExprBuilder
β”œβ”€ ShapePreservingBuilder
β”‚ β”œβ”€ ExprBuilder
β”‚ β”‚ β”œβ”€ FlatteningBuilder
β”‚ β”‚ β”‚ β”œβ”€ DocBuilder
β”‚ β”‚ β”‚ β”‚ β”œβ”€ FlatteningBuilder
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ DocBuilder
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ FlatteningBuilder
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ DocBuilder
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ CollectionBuilder(Root())
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ $ReadF(test; user_comments)
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Schema
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Shape
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Name(s)
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ \&/(Both)
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Ident(_)
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ ExprOp("$$ROOT")
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Name(f)
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ \&/(Both)
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ JsCore(Array.isArray(_.comments) ? _.comments : [undefined])
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ ExprOp({
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ "$cond": [
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ {
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ "$and": [
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ { "$lte": [{ "$literal": [] }, "$comments"] },
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ { "$lt": ["$comments", { "$literal": BinData(0, "") }] }]
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ },
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ "$comments",
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ [{ "$literal": undefined }]]
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ })
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Object(DocField(BsonField.Name("f")))
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ IdStatus(ExcludeId)
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Shape
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Name(s)
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ \&/(This)
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Obj
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Key(original: _.s)
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Key(results)
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Obj
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Key(0: (Array.isArray(
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ (isObject(_.s) && (! Array.isArray(_.s))) ? _.s.comments : undefined) && (isObject(_.s) && (! Array.isArray(_.s)))) ? _.s.comments : undefined)
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Key(1: Array.isArray(_.f.replyTo) ? _.f.replyTo : undefined)
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Name(f)
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ \&/(This)
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Access
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Access
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Obj
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Key(original: _.s)
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Key(results)
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Obj
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Key(0: (Array.isArray(
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ (isObject(_.s) && (! Array.isArray(_.s))) ? _.s.comments : undefined) && (isObject(_.s) && (! Array.isArray(_.s)))) ? _.s.comments : undefined)
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Key(1: Array.isArray(_.f.replyTo) ? _.f.replyTo : undefined)
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Literal("results")
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Literal("0")
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Object(DocField(BsonField.Name("f")))
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ IdStatus(IncludeId)
β”‚ β”‚ β”‚ β”‚ ╰─ Shape
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Name(s)
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ \&/(This)
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Obj
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Key(identities)
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Obj
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Key(qsu39: _.f[0])
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Key(value)
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Obj
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Key(original: _.s)
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Key(0: _.f[1])
β”‚ β”‚ β”‚ β”‚ ╰─ Name(f)
β”‚ β”‚ β”‚ β”‚ ╰─ \&/(This)
β”‚ β”‚ β”‚ β”‚ ╰─ Access
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Access
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Access
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Access
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Obj
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Key(identities)
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Obj
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Key(qsu39: _.f[0])
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Key(value)
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Obj
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Key(original: _.s)
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Key(0: _.f[1])
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Literal("value")
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Literal("original")
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Literal("results")
β”‚ β”‚ β”‚ β”‚ ╰─ Literal("1")
β”‚ β”‚ β”‚ ╰─ Object(DocField(BsonField.Name("f")))
β”‚ β”‚ β”‚ ╰─ IdStatus(IncludeId)
β”‚ β”‚ ╰─ \&/(This)
β”‚ β”‚ ╰─ Obj
β”‚ β”‚ β”œβ”€ Key(identities: _.s.identities)
β”‚ β”‚ ╰─ Key(value)
β”‚ β”‚ ╰─ BinOp(||)
β”‚ β”‚ β”œβ”€ If
β”‚ β”‚ β”‚ β”œβ”€ Call
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Ident(isString)
β”‚ β”‚ β”‚ β”‚ ╰─ Access
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Access
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ If
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ JsCore(_.s.identities.qsu39 === _.f[0])
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ SpliceObjects
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ JsCore(_.s.value)
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Obj
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Key(1: _.f[1])
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Ident(undefined)
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Literal("0")
β”‚ β”‚ β”‚ β”‚ ╰─ Literal("id")
β”‚ β”‚ β”‚ β”œβ”€ Call
β”‚ β”‚ β”‚ β”‚ β”œβ”€ JsCore((new RegExp("^.*Dr.*$", "m")).test)
β”‚ β”‚ β”‚ β”‚ ╰─ Access
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Access
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ If
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ JsCore(_.s.identities.qsu39 === _.f[0])
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ SpliceObjects
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ JsCore(_.s.value)
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Obj
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Key(1: _.f[1])
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Ident(undefined)
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Literal("0")
β”‚ β”‚ β”‚ β”‚ ╰─ Literal("id")
β”‚ β”‚ β”‚ ╰─ Ident(undefined)
β”‚ β”‚ ╰─ Call
β”‚ β”‚ β”œβ”€ JsCore((new RegExp("^.*Dr.*$", "m")).test)
β”‚ β”‚ ╰─ Access
β”‚ β”‚ β”œβ”€ If
β”‚ β”‚ β”‚ β”œβ”€ JsCore(_.s.identities.qsu39 === _.f[0])
β”‚ β”‚ β”‚ β”œβ”€ SpliceObjects
β”‚ β”‚ β”‚ β”‚ β”œβ”€ JsCore(_.s.value)
β”‚ β”‚ β”‚ β”‚ ╰─ Obj
β”‚ β”‚ β”‚ β”‚ ╰─ Key(1: _.f[1])
β”‚ β”‚ β”‚ ╰─ Ident(undefined)
β”‚ β”‚ ╰─ Literal("1")
β”‚ β”œβ”€ \&/(Both)
β”‚ β”‚ β”œβ”€ JsCore(_.value.filter_predicate)
β”‚ β”‚ ╰─ ExprOp("$value.filter_predicate")
β”‚ ╰─ Chain
β”‚ β”œβ”€ $ReadF(; )
β”‚ ╰─ $MatchF
β”‚ ╰─ Doc
β”‚ ╰─ Expr($_0 -> Eq(Bool(true)))
╰─ \&/(Both)
β”œβ”€ JsCore(_.value.filter_source)
╰─ ExprOp("$value.filter_source")
Workflow (raw):
Chain
β”œβ”€ $ReadF(test; user_comments)
β”œβ”€ $ProjectF
β”‚ β”œβ”€ Name("s" -> "$$ROOT")
β”‚ β”œβ”€ Name("f" -> {
β”‚ β”‚ "$cond": [
β”‚ β”‚ {
β”‚ β”‚ "$and": [
β”‚ β”‚ { "$lte": [{ "$literal": [] }, "$comments"] },
β”‚ β”‚ { "$lt": ["$comments", { "$literal": BinData(0, "") }] }]
β”‚ β”‚ },
β”‚ β”‚ "$comments",
β”‚ β”‚ [{ "$literal": undefined }]]
β”‚ β”‚ })
β”‚ ╰─ ExcludeId
β”œβ”€ $SimpleMapF
β”‚ β”œβ”€ Flatten
β”‚ β”‚ ╰─ JsCore(_.f)
β”‚ β”œβ”€ Map
β”‚ β”‚ ╰─ Obj
β”‚ β”‚ β”œβ”€ Key(s)
β”‚ β”‚ β”‚ ╰─ Obj
β”‚ β”‚ β”‚ β”œβ”€ Key(original: _.s)
β”‚ β”‚ β”‚ ╰─ Key(results)
β”‚ β”‚ β”‚ ╰─ Obj
β”‚ β”‚ β”‚ β”œβ”€ Key(0: (Array.isArray(
β”‚ β”‚ β”‚ β”‚ (isObject(_.s) && (! Array.isArray(_.s))) ? _.s.comments : undefined) && (isObject(_.s) && (! Array.isArray(_.s)))) ? _.s.comments : undefined)
β”‚ β”‚ β”‚ ╰─ Key(1: Array.isArray(_.f.replyTo) ? _.f.replyTo : undefined)
β”‚ β”‚ ╰─ Key(f)
β”‚ β”‚ ╰─ Access
β”‚ β”‚ β”œβ”€ Access
β”‚ β”‚ β”‚ β”œβ”€ Obj
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Key(original: _.s)
β”‚ β”‚ β”‚ β”‚ ╰─ Key(results)
β”‚ β”‚ β”‚ β”‚ ╰─ Obj
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Key(0: (Array.isArray(
β”‚ β”‚ β”‚ β”‚ β”‚ (isObject(_.s) && (! Array.isArray(_.s))) ? _.s.comments : undefined) && (isObject(_.s) && (! Array.isArray(_.s)))) ? _.s.comments : undefined)
β”‚ β”‚ β”‚ β”‚ ╰─ Key(1: Array.isArray(_.f.replyTo) ? _.f.replyTo : undefined)
β”‚ β”‚ β”‚ ╰─ Literal("results")
β”‚ β”‚ ╰─ Literal("0")
β”‚ β”œβ”€ SubMap
β”‚ β”‚ β”œβ”€ JsCore(_.f)
β”‚ β”‚ ╰─ Let(m)
β”‚ β”‚ β”œβ”€ JsCore(_.f)
β”‚ β”‚ ╰─ Call
β”‚ β”‚ β”œβ”€ JsCore(Object.keys(m).map)
β”‚ β”‚ ╰─ Fun(Name(k))
β”‚ β”‚ ╰─ JsCore([k, m[k]])
β”‚ β”œβ”€ Flatten
β”‚ β”‚ ╰─ JsCore(_.f)
β”‚ β”œβ”€ Map
β”‚ β”‚ ╰─ Obj
β”‚ β”‚ β”œβ”€ Key(s)
β”‚ β”‚ β”‚ ╰─ Obj
β”‚ β”‚ β”‚ β”œβ”€ Key(identities)
β”‚ β”‚ β”‚ β”‚ ╰─ Obj
β”‚ β”‚ β”‚ β”‚ ╰─ Key(qsu39: _.f[0])
β”‚ β”‚ β”‚ ╰─ Key(value)
β”‚ β”‚ β”‚ ╰─ Obj
β”‚ β”‚ β”‚ β”œβ”€ Key(original: _.s)
β”‚ β”‚ β”‚ ╰─ Key(0: _.f[1])
β”‚ β”‚ ╰─ Key(f)
β”‚ β”‚ ╰─ Access
β”‚ β”‚ β”œβ”€ Access
β”‚ β”‚ β”‚ β”œβ”€ Access
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Access
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Obj
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Key(identities)
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Obj
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Key(qsu39: _.f[0])
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Key(value)
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Obj
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Key(original: _.s)
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Key(0: _.f[1])
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Literal("value")
β”‚ β”‚ β”‚ β”‚ ╰─ Literal("original")
β”‚ β”‚ β”‚ ╰─ Literal("results")
β”‚ β”‚ ╰─ Literal("1")
β”‚ β”œβ”€ SubMap
β”‚ β”‚ β”œβ”€ JsCore(_.f)
β”‚ β”‚ ╰─ Let(m)
β”‚ β”‚ β”œβ”€ JsCore(_.f)
β”‚ β”‚ ╰─ Call
β”‚ β”‚ β”œβ”€ JsCore(Object.keys(m).map)
β”‚ β”‚ ╰─ Fun(Name(k))
β”‚ β”‚ ╰─ JsCore([k, m[k]])
β”‚ β”œβ”€ Flatten
β”‚ β”‚ ╰─ JsCore(_.f)
β”‚ β”œβ”€ Map
β”‚ β”‚ ╰─ Obj
β”‚ β”‚ β”œβ”€ Key(identities: _.s.identities)
β”‚ β”‚ ╰─ Key(value)
β”‚ β”‚ ╰─ BinOp(||)
β”‚ β”‚ β”œβ”€ If
β”‚ β”‚ β”‚ β”œβ”€ Call
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Ident(isString)
β”‚ β”‚ β”‚ β”‚ ╰─ Access
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Access
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ If
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ JsCore(_.s.identities.qsu39 === _.f[0])
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ SpliceObjects
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ JsCore(_.s.value)
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Obj
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Key(1: _.f[1])
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Ident(undefined)
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Literal("0")
β”‚ β”‚ β”‚ β”‚ ╰─ Literal("id")
β”‚ β”‚ β”‚ β”œβ”€ Call
β”‚ β”‚ β”‚ β”‚ β”œβ”€ JsCore((new RegExp("^.*Dr.*$", "m")).test)
β”‚ β”‚ β”‚ β”‚ ╰─ Access
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Access
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ If
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ JsCore(_.s.identities.qsu39 === _.f[0])
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ SpliceObjects
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ JsCore(_.s.value)
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Obj
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Key(1: _.f[1])
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Ident(undefined)
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Literal("0")
β”‚ β”‚ β”‚ β”‚ ╰─ Literal("id")
β”‚ β”‚ β”‚ ╰─ Ident(undefined)
β”‚ β”‚ ╰─ Call
β”‚ β”‚ β”œβ”€ JsCore((new RegExp("^.*Dr.*$", "m")).test)
β”‚ β”‚ ╰─ Access
β”‚ β”‚ β”œβ”€ If
β”‚ β”‚ β”‚ β”œβ”€ JsCore(_.s.identities.qsu39 === _.f[0])
β”‚ β”‚ β”‚ β”œβ”€ SpliceObjects
β”‚ β”‚ β”‚ β”‚ β”œβ”€ JsCore(_.s.value)
β”‚ β”‚ β”‚ β”‚ ╰─ Obj
β”‚ β”‚ β”‚ β”‚ ╰─ Key(1: _.f[1])
β”‚ β”‚ β”‚ ╰─ Ident(undefined)
β”‚ β”‚ ╰─ Literal("1")
β”‚ ╰─ Scope(Map())
β”œβ”€ $MatchF
β”‚ ╰─ Doc
β”‚ ╰─ Expr($value.filter_predicate -> Eq(Bool(true)))
╰─ $ProjectF
β”œβ”€ Name("__quasar_mongodb_sigil" -> "$value.filter_source")
╰─ ExcludeId
Workflow (crystallized):
Chain
β”œβ”€ $ReadF(test; user_comments)
β”œβ”€ $ProjectF
β”‚ β”œβ”€ Name("s" -> "$$ROOT")
β”‚ β”œβ”€ Name("f" -> {
β”‚ β”‚ "$cond": [
β”‚ β”‚ {
β”‚ β”‚ "$and": [
β”‚ β”‚ { "$lte": [{ "$literal": [] }, "$comments"] },
β”‚ β”‚ { "$lt": ["$comments", { "$literal": BinData(0, "") }] }]
β”‚ β”‚ },
β”‚ β”‚ "$comments",
β”‚ β”‚ [{ "$literal": undefined }]]
β”‚ β”‚ })
β”‚ ╰─ ExcludeId
β”œβ”€ $SimpleMapF
β”‚ β”œβ”€ Flatten
β”‚ β”‚ ╰─ JsCore(_.f)
β”‚ β”œβ”€ Map
β”‚ β”‚ ╰─ Obj
β”‚ β”‚ β”œβ”€ Key(s)
β”‚ β”‚ β”‚ ╰─ Obj
β”‚ β”‚ β”‚ β”œβ”€ Key(original: _.s)
β”‚ β”‚ β”‚ ╰─ Key(results)
β”‚ β”‚ β”‚ ╰─ Obj
β”‚ β”‚ β”‚ β”œβ”€ Key(0: (Array.isArray(
β”‚ β”‚ β”‚ β”‚ (isObject(_.s) && (! Array.isArray(_.s))) ? _.s.comments : undefined) && (isObject(_.s) && (! Array.isArray(_.s)))) ? _.s.comments : undefined)
β”‚ β”‚ β”‚ ╰─ Key(1: Array.isArray(_.f.replyTo) ? _.f.replyTo : undefined)
β”‚ β”‚ ╰─ Key(f)
β”‚ β”‚ ╰─ Access
β”‚ β”‚ β”œβ”€ Access
β”‚ β”‚ β”‚ β”œβ”€ Obj
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Key(original: _.s)
β”‚ β”‚ β”‚ β”‚ ╰─ Key(results)
β”‚ β”‚ β”‚ β”‚ ╰─ Obj
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Key(0: (Array.isArray(
β”‚ β”‚ β”‚ β”‚ β”‚ (isObject(_.s) && (! Array.isArray(_.s))) ? _.s.comments : undefined) && (isObject(_.s) && (! Array.isArray(_.s)))) ? _.s.comments : undefined)
β”‚ β”‚ β”‚ β”‚ ╰─ Key(1: Array.isArray(_.f.replyTo) ? _.f.replyTo : undefined)
β”‚ β”‚ β”‚ ╰─ Literal("results")
β”‚ β”‚ ╰─ Literal("0")
β”‚ β”œβ”€ SubMap
β”‚ β”‚ β”œβ”€ JsCore(_.f)
β”‚ β”‚ ╰─ Let(m)
β”‚ β”‚ β”œβ”€ JsCore(_.f)
β”‚ β”‚ ╰─ Call
β”‚ β”‚ β”œβ”€ JsCore(Object.keys(m).map)
β”‚ β”‚ ╰─ Fun(Name(k))
β”‚ β”‚ ╰─ JsCore([k, m[k]])
β”‚ β”œβ”€ Flatten
β”‚ β”‚ ╰─ JsCore(_.f)
β”‚ β”œβ”€ Map
β”‚ β”‚ ╰─ Obj
β”‚ β”‚ β”œβ”€ Key(s)
β”‚ β”‚ β”‚ ╰─ Obj
β”‚ β”‚ β”‚ β”œβ”€ Key(identities)
β”‚ β”‚ β”‚ β”‚ ╰─ Obj
β”‚ β”‚ β”‚ β”‚ ╰─ Key(qsu39: _.f[0])
β”‚ β”‚ β”‚ ╰─ Key(value)
β”‚ β”‚ β”‚ ╰─ Obj
β”‚ β”‚ β”‚ β”œβ”€ Key(original: _.s)
β”‚ β”‚ β”‚ ╰─ Key(0: _.f[1])
β”‚ β”‚ ╰─ Key(f)
β”‚ β”‚ ╰─ Access
β”‚ β”‚ β”œβ”€ Access
β”‚ β”‚ β”‚ β”œβ”€ Access
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Access
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Obj
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Key(identities)
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Obj
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Key(qsu39: _.f[0])
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Key(value)
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Obj
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ Key(original: _.s)
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Key(0: _.f[1])
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Literal("value")
β”‚ β”‚ β”‚ β”‚ ╰─ Literal("original")
β”‚ β”‚ β”‚ ╰─ Literal("results")
β”‚ β”‚ ╰─ Literal("1")
β”‚ β”œβ”€ SubMap
β”‚ β”‚ β”œβ”€ JsCore(_.f)
β”‚ β”‚ ╰─ Let(m)
β”‚ β”‚ β”œβ”€ JsCore(_.f)
β”‚ β”‚ ╰─ Call
β”‚ β”‚ β”œβ”€ JsCore(Object.keys(m).map)
β”‚ β”‚ ╰─ Fun(Name(k))
β”‚ β”‚ ╰─ JsCore([k, m[k]])
β”‚ β”œβ”€ Flatten
β”‚ β”‚ ╰─ JsCore(_.f)
β”‚ β”œβ”€ Map
β”‚ β”‚ ╰─ Obj
β”‚ β”‚ β”œβ”€ Key(identities: _.s.identities)
β”‚ β”‚ ╰─ Key(value)
β”‚ β”‚ ╰─ BinOp(||)
β”‚ β”‚ β”œβ”€ If
β”‚ β”‚ β”‚ β”œβ”€ Call
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Ident(isString)
β”‚ β”‚ β”‚ β”‚ ╰─ Access
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Access
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ If
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ JsCore(_.s.identities.qsu39 === _.f[0])
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ SpliceObjects
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ JsCore(_.s.value)
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Obj
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Key(1: _.f[1])
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Ident(undefined)
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Literal("0")
β”‚ β”‚ β”‚ β”‚ ╰─ Literal("id")
β”‚ β”‚ β”‚ β”œβ”€ Call
β”‚ β”‚ β”‚ β”‚ β”œβ”€ JsCore((new RegExp("^.*Dr.*$", "m")).test)
β”‚ β”‚ β”‚ β”‚ ╰─ Access
β”‚ β”‚ β”‚ β”‚ β”œβ”€ Access
β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ If
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ JsCore(_.s.identities.qsu39 === _.f[0])
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ SpliceObjects
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ JsCore(_.s.value)
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Obj
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Key(1: _.f[1])
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Ident(undefined)
β”‚ β”‚ β”‚ β”‚ β”‚ ╰─ Literal("0")
β”‚ β”‚ β”‚ β”‚ ╰─ Literal("id")
β”‚ β”‚ β”‚ ╰─ Ident(undefined)
β”‚ β”‚ ╰─ Call
β”‚ β”‚ β”œβ”€ JsCore((new RegExp("^.*Dr.*$", "m")).test)
β”‚ β”‚ ╰─ Access
β”‚ β”‚ β”œβ”€ If
β”‚ β”‚ β”‚ β”œβ”€ JsCore(_.s.identities.qsu39 === _.f[0])
β”‚ β”‚ β”‚ β”œβ”€ SpliceObjects
β”‚ β”‚ β”‚ β”‚ β”œβ”€ JsCore(_.s.value)
β”‚ β”‚ β”‚ β”‚ ╰─ Obj
β”‚ β”‚ β”‚ β”‚ ╰─ Key(1: _.f[1])
β”‚ β”‚ β”‚ ╰─ Ident(undefined)
β”‚ β”‚ ╰─ Literal("1")
β”‚ ╰─ Scope(Map())
β”œβ”€ $MatchF
β”‚ ╰─ Doc
β”‚ ╰─ Expr($value.filter_predicate -> Eq(Bool(true)))
╰─ $ProjectF
β”œβ”€ Name("__quasar_mongodb_sigil" -> "$value.filter_source")
╰─ ExcludeId
MongoDB:
db.user_comments.aggregate(
[
{
"$project": {
"s": "$$ROOT",
"f": {
"$cond": [
{
"$and": [
{ "$lte": [{ "$literal": [] }, "$comments"] },
{ "$lt": ["$comments", { "$literal": BinData(0, "") }] }]
},
"$comments",
[{ "$literal": undefined }]]
},
"_id": false
}
},
{ "$out": "tmp.gen_ae6950c8_1" }],
{ "allowDiskUse": true });
db.tmp.gen_ae6950c8_1.mapReduce(
function () {
(function (key, value) {
var rez = [];
for (var elem in (value.f)) {
var each0 = clone(value);
each0.f = value.f[elem];
{
var each1 = {
"s": {
"original": each0.s,
"results": {
"0": (Array.isArray(
(isObject(each0.s) && (! Array.isArray(each0.s))) ? each0.s.comments : undefined) && (isObject(each0.s) && (! Array.isArray(each0.s)))) ? each0.s.comments : undefined,
"1": Array.isArray(each0.f.replyTo) ? each0.f.replyTo : undefined
}
},
"f": (Array.isArray(
(isObject(each0.s) && (! Array.isArray(each0.s))) ? each0.s.comments : undefined) && (isObject(each0.s) && (! Array.isArray(each0.s)))) ? each0.s.comments : undefined
};
{
var each2 = each1;
each2.f = Object.keys(each1.f).map(function (k) { return [k, each1.f[k]] });
for (var elem in (each2.f)) {
var each3 = clone(each2);
each3.f = each2.f[elem];
{
var each4 = {
"s": {
"identities": { "qsu39": each3.f[0] },
"value": { "original": each3.s, "0": each3.f[1] }
},
"f": each3.s.results["1"]
};
{
var each5 = each4;
each5.f = Object.keys(each4.f).map(
function (k) { return [k, each4.f[k]] });
for (var elem in (each5.f)) {
var each6 = clone(each5);
each6.f = each5.f[elem];
{
var each7 = {
"identities": each6.s.identities,
"value": (isString(
((each6.s.identities.qsu39 === each6.f[0]) ? (function (__rez) {
for (var __attr in (each6.s.value)) if (each6.s.value.hasOwnProperty(__attr)) __rez[__attr] = each6.s.value[__attr];
__rez["1"] = each6.f[1];
return __rez
})(
{ }) : undefined)["0"].id) ? (new RegExp("^.*Dr.*$", "m")).test(
((each6.s.identities.qsu39 === each6.f[0]) ? (function (__rez) {
for (var __attr in (each6.s.value)) if (each6.s.value.hasOwnProperty(__attr)) __rez[__attr] = each6.s.value[__attr];
__rez["1"] = each6.f[1];
return __rez
})(
{ }) : undefined)["0"].id) : undefined) || (new RegExp("^.*Dr.*$", "m")).test(
((each6.s.identities.qsu39 === each6.f[0]) ? (function (__rez) {
for (var __attr in (each6.s.value)) if (each6.s.value.hasOwnProperty(__attr)) __rez[__attr] = each6.s.value[__attr];
__rez["1"] = each6.f[1];
return __rez
})(
{ }) : undefined)["1"])
};
rez.push([ObjectId(), each7])
}
}
}
}
}
}
}
};
return rez
})(
this._id,
this).map(
function (__rez) { emit.apply(null, __rez) })
},
function (key, values) { return values[0] },
{
"out": { "replace": "tmp.gen_ae6950c8_0", "db": "test" },
"scope": {
"clone": function (src) {
if (((typeof src) != "object") || (src == null)) return src;
var dest = (src instanceof Date) ? new Date(src) : new src.constructor;
for (var i in (src)) dest[i] = clone(src[i]);
return dest
}
}
});
db.tmp.gen_ae6950c8_1.drop();
db.tmp.gen_ae6950c8_0.aggregate(
[
{ "$match": { "value.value.filter_predicate": true } },
{
"$project": { "__quasar_mongodb_sigil": "$value.value.filter_source", "_id": false }
}],
{ "allowDiskUse": true });
Quasar error: Plan execution failed: MongoDB Error: Command failed with error 139: 'TypeError: undefined has no properties :
_funcs1/<@:50:1
_funcs1@:2:4
' on server 192.168.99.100:27022. The full response is { "ok" : 0.0, "errmsg" : "TypeError: undefined has no properties :\n_funcs1/<@:50:1\n_funcs1@:2:4\n", "code" : 139, "codeName" : "JSInterpreterFailure" }, cause=Some(Command failed with error 139: 'TypeError: undefined has no properties :
_funcs1/<@:50:1
_funcs1@:2:4
' on server 192.168.99.100:27022. The full response is { "ok" : 0.0, "errmsg" : "TypeError: undefined has no properties :\n_funcs1/<@:50:1\n_funcs1@:2:4\n", "code" : 139, "codeName" : "JSInterpreterFailure" })
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment