base class to produce sql expressions and subqueries for otput table
More...
#include <modelExpressionSql.h>
|
| | ModelBaseExpressionSql (const string &i_accTableName, const vector< string > &i_dimCols, const vector< int > &i_accIds, const vector< string > &i_accNames, const vector< string > &i_accCols) |
| | initialization: store output table definition parts.
|
| |
|
| ~ModelBaseExpressionSql () noexcept |
| | release sql builder resources.
|
| |
|
| const string | translateAllSimpleFnc (const string &i_srcMsg, bool i_isSkipAggr, const string &i_expr) |
| | translate (substitute) all non-aggregation functions
|
| |
|
| static const string | translateSimpleFnc (const string &i_srcMsg, FncCode i_code, const string &i_arg) |
| | translate (substitute) non-aggregation function
|
| |
|
|
const string | accTableName |
| | accumulator database table name
|
| |
|
const vector< string > | dimCols |
| | names of table dimensions
|
| |
|
const vector< int > | accIds |
| | ids of table accumulators
|
| |
|
const vector< string > | accNames |
| | names of table accumulators: Acc0, Acc1
|
| |
|
const vector< string > | accCols |
| | column names of table accumulators: acc0, acc1
|
| |
|
int | accCount |
| | number of accumulators
|
| |
base class to produce sql expressions and subqueries for otput table
◆ ModelBaseExpressionSql()
| openm::ModelBaseExpressionSql::ModelBaseExpressionSql |
( |
const string & |
i_accTableName, |
|
|
const vector< string > & |
i_dimCols, |
|
|
const vector< int > & |
i_accIds, |
|
|
const vector< string > & |
i_accNames, |
|
|
const vector< string > & |
i_accCols |
|
) |
| |
|
inline |
initialization: store output table definition parts.
- Parameters
-
| [in] | i_accTableName | accumulator table name in database |
| [in] | i_dimCols | column names of table dimensions |
| [in] | i_accIds | ids of table accumulators |
| [in] | i_accNames | names of table accumulators |
| [in] | i_accCols | columns names of table accumulators |
◆ translateAllSimpleFnc()
| const string ModelBaseExpressionSql::translateAllSimpleFnc |
( |
const string & |
i_srcMsg, |
|
|
bool |
i_isSkipAggr, |
|
|
const string & |
i_expr |
|
) |
| |
|
protected |
translate (substitute) all non-aggregation functions
- Parameters
-
| i_srcMsg | source table name and expression name to be used in error message |
| i_isSkipAggr | if true then skip aggregation functions else throw an exception |
| i_expr | expression to translate |
◆ translateSimpleFnc()
| const string ModelBaseExpressionSql::translateSimpleFnc |
( |
const string & |
i_srcMsg, |
|
|
FncCode |
i_code, |
|
|
const string & |
i_arg |
|
) |
| |
|
staticprotected |
translate (substitute) non-aggregation function
translate (substitute) non-aggregation function:
OM_DIV_BY(acc1) => CASE WHEN ABS(acc1) > 1.0e-37 THEN acc1 ELSE NULL END
OM_IF(acc1 > 1.5 THEN acc1 ELSE 1.5) => CASE WHEN acc1 > 1.5 THEN acc1 ELSE 1.5 END
The documentation for this class was generated from the following files: