import { QueryExpressionMap } from "https://deno.land/x/typeorm@v0.2.23-rc10/src/query-builder/QueryExpressionMap.ts";
Contains all properties of the QueryBuilder that needs to be build a final query.
Properties
Indicates if property names are prefixed with alias names during property replacement. By default this is enabled, however we need this because aliases are not supported in UPDATE and DELETE queries, but user can use them in WHERE expressions.
Get all ORDER BY queries - if order by is specified by user then it uses them, otherwise it uses default entity order by if it was set.
Time in milliseconds in which cache will expire. If not set then global caching time will be used.
Indicates if listeners and subscribers must be called before and after query execution.
Indicates if alias, table names and column names will be ecaped by driver, or not.
todo: rename to isQuotingDisabled, also think if it should be named "escaping"
Indicates if virtual columns should be included in entity result.
todo: what to do with it? is it properly used? what about persistence?
Extra where condition appended to the end of original where conditions with AND keyword. Original condition will be wrapped into brackets.
Extra returning columns to be added to the returning statement if driver supports it.
Locking mode.
Current version of the entity, used for locking.
Extra parameters. Used in InsertQueryBuilder to avoid default parameters mechanizm and execute high performance insertions.
Optional on update statement used in insertion query in databases.
If QueryBuilder was created in a subquery mode then its parent QueryBuilder (who created subquery) will be stored here.
Represents query type. QueryBuilder is able to build SELECT, UPDATE and DELETE queries.
Gets relation metadata of the relation this query builder works with.
todo: add proper exceptions
Property path of relation to work with. Used in relational query builder.
Optional returning (or output) clause for insert, update or delete queries.
Indicates if entity must be updated after insertion / updation. This may produce extra query or use RETURNING / OUTPUT statement (depend on database).
If update query was used, it needs "update set" - properties which will be updated by this query. If insert query was used, it needs "insert set" - values that needs to be inserted.
Methods
Copies all properties of the current QueryExpressionMap into a new one. Useful when QueryBuilder needs to create a copy of itself.
Creates a new alias and adds it to the current expression map.
Finds alias with the given name. If alias was not found it throw an exception.
Creates a main alias and adds it to the current expression map.