-
Notifications
You must be signed in to change notification settings - Fork 7
EQL Internals
Refer to the javadoc of package ua.com.fielden.platform.eql
in platform-dao
.
EQL expression (fluent interface)
|
| tokenisation
|
v
Abstract Model (tokens)
|
| stage 0
|
v
Abstract Query 1 (AST level 1)
|
| stage 1
|
v
Abstract Query 2 (AST level 2)
|
| stage 2
|
v
Abstract Query 3 (AST level 3)
|
| stage 3
|
v
Transformation result (SQL + information to interpret results)
A fluent interface (EQL progressive interfaces) is currently used to write EQL expressions. The tokenisation stage has the disadvantage of losing some context-sensitive information in the process (TODO need examples). Also, the logic encoding the rules of the language (i.e., its grammar) needs to be synchronised between "tokenisation" and "stage 0" processes. This could be improved by merging these processes into a single one, which would be performed by the implementation of the fluent interface.
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.
Per aspera ad astra
- Web UI Design and Web API
- Safe Communication and User Authentication
- Gitworkflow
- JavaScript: Testing with Maven
- Java Application Profiling
-
TG Development Guidelines
- TLS and HAProxy for development
- TG Development Checklist
- Entities and their validation
- Entity Properties
- Entity Type Enhancement
- EQL
- Tooltip How To
- All about Matchers
- Streaming data
- Synthetic entities
- Activatable entities
- Jasper Reports
- Opening Compound Master from another Compound Master
- Window management test plan
- Multi Time Zone Environment
- GraphQL Web API
- Guice
- Maven
- Full Text Search
- Deployment recipes
- Application Configuration
- JRebel Installation and Integration
- Compile-time mechanisms