In TQL, a query is any operations on the data, which includes filtering, joining, viewing and manipulation of data. (definition data, instance data). Definition data is
Instance data always return the latest version. Known value is also returned if asked "All".
Is the data in store or data in memory? (stored) Agnostic to the database technology, stored as key value pairs
How is the data saved?
How is the data structured? No relational structure.
How is the data retrieved? When a query is executed, the TQLEngine will identify the model definition, and use it to construct the database query to retrieve the requested data or perform necessary CRUD operations.
in the mqp file, you define query end points. Query end points are channels to communicate through the TQLFacet instance with the TQLEngine.
Usually studio automatically generate the mqp file, which define two query end points:
http:// - for all queries except subscription. Sync (timeout?)
ws:// - subscription is always sent and received from the ws. Async
Describe the common structure of a query end point.
When a project is deployed onto a TQL Engine, it always creates two end points
Queries are sent to end points as payload of a message.
What about the Query End Points?
When to use queries, what are the different ways
(1) from the app (client to TQLEngine) - external (needs query end point), - return will be sent as message back to client.
(2) from model facet, invoke - internal (the return will be the output of the invoke). - query itself become part of the model action.
What can go inside a query
Save, update, delete, deleteAll, Find. Create, SetResponseData, For
Find can have constraints
FacetScript, JavaScript
Macro
Does query only change value, not known value (true)
What is the common structure of a query
What are the most commonly used types of queries
Instantiation query (create), or save
Subscription query (save)
Find query, joint query
Update (update, save)
Macro
Show query