EQL Internals - fieldenms/tg GitHub Wiki

Modifying / Extending EQL

Refer to the javadoc of package ua.com.fielden.platform.eql in platform-dao.

Transformation of EQL expressions

EQL expression (fluent API)
        |
        | Collect tokens
        |
        v
      Tokens
        |
        | Stage 0: Parsing
        |
        v
  AST level 1
        |
        | Stage 1
        |
        v
  AST level 2
        |
        | Stage 2
        |
        v
  AST level 3
        |
        | Stage 3
        |
        v
       SQL

Yielding in entity queries

An entity query with a single yield which is either unaliased or targets property id is equivalent to an entity query that selects all entities of that type whose id is contained[^1] in the yielded value.

[^1]: if the yielded value is a scalar, equality is used; in case of a set, membership test is used.

Discussion

  • Parameterised entities
  • Built-in conditioning
  • Entity specific user-data-filtering
  • Yielding of value type properties