Package de.businesscode.bcdui.wrs.load
package de.businesscode.bcdui.wrs.load
-
ClassDescriptionAn abstract writer-implementation - contains helper getters for all writer parametersThis class is container of a wrq:A of binding item in a query.This class represents a BindingItem in a concrete statement It adds for example alias, aggregation and the column numberThis algorithms
reads input from input options,
uses generator to interpret the options (generate SQL),
executes sql and
writes the resultSet out into the writer.The class writes the full result of a load operation outThe generator parses the request document, builds select statement and extracts other information from the input-optionsthe interface for condition generator in SQL clause.Takes the parent node of SELECTs with SET operators (formally a "full-select") in Wrq format and generates SQL from it together with the bound variables, ready to be executedTakes a single wrq:Select (formally a "sub-select") and turns it into a SQLStatementWithParamsRepresents part of an SQL string and the values for bound variablesReturns a where clause based on the SubjectFilters of the BindingSet and the current Subject's permissions Initially taken from WrsSqlGenerator.Constructs a virtual BindingItem, behaves like a standard BindingItem but derives its sql expression and type-name from a wrq:Calc elementTakes a Wrq and generates SQL from itRepresents a BindingItem in a Wrq, it is it has knowledge of the underlying BindingItem and the current query There can be multiple WrqBindingItem for a BindingItem(FromRel), to reflect different behaviora like aggr for example in select and in grouping clauseA BindingSet used during the execution of a StatementRepresents a virtual BindingSet resulting from a sub-select during the execution of a WrqRepresents a virtual BindingSet resulting from the children of wrq:From, i.e. a table reference A table reference can be a plain table name or joined tables factors, i.e. table names, derived table expressions or references to CTE Mostly it deals with the handling of wrq:Join, but for consistency we also take care for cases withoutWrapper for BindingSets that can be referenced more than one in a query, mainly adds the sql table alias for the current occurrence This can be a StandardBindingSet and a CTE Implements WrqBindingSetRepresents a virtual BindingSet derived on runtime from parts of a WrsParses a Wrq and outputs SQLParses a f:Filter expression and returns the SQL Where expression For older change history, see WrsSqlGeneratorParses a wrq:WrsRequest//wrq:Grouping element and returns a sql GROUP BY [GROUPING SET] expression Initially taken from WrsSqlGenerator.Collects knowledge about the Wrq.Takes a full Wrq query, formally a "select-statement" and generates SQL from it [WITH]* SELECT [UNION SELECT]* [ORDER BY] Children can be recursive full-selects or a sub-selects or it is an empty (no select at all) or a meta-data request (endRow==0 ) One instance of this class only handles one Wrq NOTE: We do not check the rights, use assurePermittedOnAllResolvedBindingSets() for verifying thisRepresents a BindingItem in a concrete Wrq, includes information like overwritten attributes See analogy SimpleBindingItem and its subclasses representing the input side, i.e.The default implementation of the IDataWriter - write wrs-xml-format using xml-stream
Write an empty document if the resultSet is null.