org.eclipse.datatools.sqltools.parsers.sql.query
Class SQLQueryParserFactory

java.lang.Object
  extended by org.eclipse.datatools.sqltools.parsers.sql.query.SQLQueryParserFactory
All Implemented Interfaces:
SQLQueryParserFactoryDataTypes, SQLParserFactory
Direct Known Subclasses:
SQLXMLQueryParserFactory

public class SQLQueryParserFactory
extends java.lang.Object
implements SQLParserFactory, SQLQueryParserFactoryDataTypes

This class provides methods for creating elements of the SQL query model. I wraps the factories: - RDBSchemaFactory


Field Summary
static java.lang.String ALL
          String constant for QuerySelect "ALL"
static int COMBINED_OPERATOR_ADD
          int constant for ValueExpressionCombinedOperator.ADD "+"
static int COMBINED_OPERATOR_AND
          int constant for SearchConditionCombinedOperator.AND
static int COMBINED_OPERATOR_CONCATENATE
          int constant for ValueExpressionCombinedOperator.CONCATENATE "||"
static int COMBINED_OPERATOR_DIVIDE
          int constant for ValueExpressionCombinedOperator.DIVIDE "/"
static int COMBINED_OPERATOR_MULTIPLY
          int constant for ValueExpressionCombinedOperator.MULTIPLY "*"
static int COMBINED_OPERATOR_OR
          int constant for SearchConditionCombinedOperator.OR
static int COMBINED_OPERATOR_SUBTRACT
          int constant for ValueExpressionCombinedOperator.SUBTRACT "-"
static int COMPARISON_OPERATOR_EQ
          int constant for PredicateComparisonOperator.EQUAL "="
static int COMPARISON_OPERATOR_GE
          int constant for PredicateComparisonOperator.GREATER_THAN_OR_EQUAL ">="
static int COMPARISON_OPERATOR_GT
          int constant for PredicateComparisonOperator.GREATER_THAN ">"
static int COMPARISON_OPERATOR_LE
          int constant for PredicateComparisonOperator.LESS_THAN_OR_EQUAL "<="
static int COMPARISON_OPERATOR_LT
          int constant for PredicateComparisonOperator.LESS_THAN "<"
static int COMPARISON_OPERATOR_NE
          int constant for PredicateComparisonOperator.NOT_EQUAL "<>"
static java.lang.String DISTINCT
          String constant for QuerySelect "DISTINCT"
static int DURATION_TYPE_DAYS
          int constant for ValueExpressionLabeledDurationType.DAYS
static int DURATION_TYPE_HOURS
          int constant for ValueExpressionLabeledDurationType.HOURS
static int DURATION_TYPE_MICROSECONDS
          int constant for ValueExpressionLabeledDurationType.MICROSECONDS
static int DURATION_TYPE_MINUTES
          int constant for ValueExpressionLabeledDurationType.MINUTES
static int DURATION_TYPE_MONTHS
          int constant for ValueExpressionLabeledDurationType.MONTHS
static int DURATION_TYPE_SECONDS
          int constant for ValueExpressionLabeledDurationType.SECONDS
static int DURATION_TYPE_YEARS
          int constant for ValueExpressionLabeledDurationType.YEARS
static int JOIN_DEFAULT_INNER
          int constant for TableJoinedOperator.DEFAULT_INNER "JOIN"
static int JOIN_EXPLICIT_INNER
          int constant for TableJoinedOperator.EXPLICIT_INNER "INNER JOIN"
static int JOIN_FULL_OUTER
          int constant for TableJoinedOperator.FULL_OUTER "FULL JOIN"
static int JOIN_LEFT_OUTER
          int constant for TableJoinedOperator.LEFT_OUTER "LEFT JOIN"
static int JOIN_RIGHT_OUTER
          int constant for TableJoinedOperator.RIGHT_OUTER "RIGHT JOIN"
static int NULL_ORDERING_TYPE_NONE
          int constant for NullOrderingType.NONE
static int NULL_ORDERING_TYPE_NULLS_FIRST
          int constant for NullOrderingType.NULLS_FIRST
static int NULL_ORDERING_TYPE_NULLS_LAST
          int constant for NullOrderingType.NULLS_LAST
static java.lang.String ORDER_ASC
          String constant for OrderBySpecification "ASC"
static java.lang.String ORDER_DESC
          String constant for OrderBySpecification "DESC"
static int ORDERING_SPEC_TYPE_ASC
          int constant for OrderingSpecType.ASC
static int ORDERING_SPEC_TYPE_DESC
          int constant for OrderingSpecType.DESC
static int ORDERING_SPEC_TYPE_NONE
          int constant for OrderingSpecType.NONE
static int QUANTIFIER_ALL
          int constant for PredicateQuantifiedType.ALL "ALL"
static int QUANTIFIER_ANY
          int constant for PredicateQuantifiedType.ANY "ANY"
static int QUANTIFIER_SOME
          int constant for PredicateQuantifiedType.SOME "SOME"
static int QUERY_COMBINED_EXCEPT
          int constant for QueryCombinedOperator.EXCEPT "EXCEPT"
static int QUERY_COMBINED_EXCEPT_ALL
          int constant for QueryCombinedOperator.EXCEPT_ALL "EXCEPT ALL"
static int QUERY_COMBINED_INTERSECT
          int constant for QueryCombinedOperator.INTERSECT "INTERSECT"
static int QUERY_COMBINED_INTERSECT_ALL
          int constant for QueryCombinedOperator.INTERSECT_ALL "INTERSECT ALL"
static int QUERY_COMBINED_UNION
          int constant for QueryCombinedOperator.UNION "UNION"
static int QUERY_COMBINED_UNION_ALL
          int constant for QueryCombinedOperator.UNION_ALL "UNION ALL"
static java.lang.String SPECIAL_REGISTER_CURRENT_DATE
          String constant for special register, value "CURRENT_DATE"
static java.lang.String SPECIAL_REGISTER_CURRENT_DEFAULT_TRANSFORM_GROUP
          String constant for special register, value "CURRENT_DEFAULT_TRANSFORM_GROUP"
static java.lang.String SPECIAL_REGISTER_CURRENT_PATH
          String constant for special register, value "CURRENT_PATH"
static java.lang.String SPECIAL_REGISTER_CURRENT_ROLE
          String constant for special register, value "CURRENT_ROLE"
static java.lang.String SPECIAL_REGISTER_CURRENT_TIME
          String constant for special register, value "CURRENT_TIME"
static java.lang.String SPECIAL_REGISTER_CURRENT_TIMESTAMP
          String constant for special register, value "CURRENT_TIMESTAMP"
static java.lang.String SPECIAL_REGISTER_CURRENT_TRANSFORM_GROUP_FOR_TYPE
          String constant for special register, value "CURRENT_TRANSFORM_GROUP_FOR_TYPE"
static java.lang.String SPECIAL_REGISTER_CURRENT_USER
          String constant for special register, value "CURRENT_USER"
static java.lang.String SPECIAL_REGISTER_LOCALTIME
          String constant for special register, value "LOCALTIME"
static java.lang.String SPECIAL_REGISTER_LOCALTIMESTAMP
          String constant for special register, value "LOCALTIMESTAMP"
static java.lang.String SPECIAL_REGISTER_SESSION_USER
          String constant for special register, value "SESSION_USER"
static java.lang.String SPECIAL_REGISTER_SYSTEM_USER
          String constant for special register, value "SYSTEM_USER"
static java.lang.String SPECIAL_REGISTER_USER
          String constant for special register, value "USER"
static java.lang.String SPECIAL_REGISTER_VALUE
          String constant for special register, value "VALUE"
static int SUPERGROUP_TYPE_CUBE
          int constant for SuperGroupType.CUBE
static int SUPERGROUP_TYPE_GRANDTOTAL
          int constant for SuperGroupType.GRANDTOTAL
static int SUPERGROUP_TYPE_ROLLUP
          int constant for SuperGroupType.ROLLUP
static int UNARY_OPERATOR_MINUS
          int constant for ValueExpressionUnaryOperator.MINUS "-"
static int UNARY_OPERATOR_PLUS
          int constant for ValueExpressionUnaryOperator.PLUS "+"
static int UPDATABILITY_TYPE_FOR_READ_ONLY
          int constant for UpdatabilityType.READ_ONLY "FOR READ ONLY"
static int UPDATABILITY_TYPE_FOR_UPDATE
          int constant for UpdatabilityType.UPDATE "FOR UPDATE"
 
Fields inherited from interface org.eclipse.datatools.sqltools.parsers.sql.query.SQLQueryParserFactoryDataTypes
PRIMITIVE_TYPE_BIGINT, PRIMITIVE_TYPE_BINARY, PRIMITIVE_TYPE_BINARY_LARGE_OBJECT, PRIMITIVE_TYPE_BINARY_VARYING, PRIMITIVE_TYPE_BOOLEAN, PRIMITIVE_TYPE_CHARACTER, PRIMITIVE_TYPE_CHARACTER_LARGE_OBJECT, PRIMITIVE_TYPE_CHARACTER_VARYING, PRIMITIVE_TYPE_DATALINK, PRIMITIVE_TYPE_DATE, PRIMITIVE_TYPE_DECIMAL, PRIMITIVE_TYPE_DOUBLE_PRECISION, PRIMITIVE_TYPE_FLOAT, PRIMITIVE_TYPE_INTEGER, PRIMITIVE_TYPE_INTERVAL, PRIMITIVE_TYPE_NATIONAL_CHARACTER, PRIMITIVE_TYPE_NATIONAL_CHARACTER_LARGE_OBJECT, PRIMITIVE_TYPE_NATIONAL_CHARACTER_VARYING, PRIMITIVE_TYPE_NUMERIC, PRIMITIVE_TYPE_REAL, PRIMITIVE_TYPE_SMALLINT, PRIMITIVE_TYPE_TIME, PRIMITIVE_TYPE_TIMESTAMP, UNIT_INDICATOR_G, UNIT_INDICATOR_K, UNIT_INDICATOR_M
 
Constructor Summary
SQLQueryParserFactory()
          Constructs an instance of this class.
SQLQueryParserFactory(SQLQuerySourceFormat aSourceFormat)
          Constructor.
 
Method Summary
 TableExpression addTableCorrelationToTableExpression(TableExpression tableExpr, TableCorrelation tableCorrelation)
          Adds the given tableCorrelation to the given tableExpr.
 CallStatement createCallStatement(ProcedureReference procRef, java.util.List argList)
           
 ValueExpressionCaseElse createCaseElse(QueryValueExpression expr)
           
 ValueExpressionCaseSearchContent createCaseSearchContent(QuerySearchCondition aWhenCond, QueryValueExpression aExpr)
           
 ValueExpressionCaseSearch createCaseSearchExpression(java.util.List aCaseSearchWhenList, ValueExpressionCaseElse aCaseElse)
           
 java.util.List createCaseSearchList(java.util.List aCaseSearchList, ValueExpressionCaseSearchContent aCaseSearchContent)
           
 ValueExpressionCaseSimpleContent createCaseSimpleContent(QueryValueExpression aWhenExpr, QueryValueExpression aResultExpr)
           
 ValueExpressionCaseSimple createCaseSimpleExpression(QueryValueExpression aCaseValue, java.util.List aCaseSimpleWhenList, ValueExpressionCaseElse aCaseElse)
           
 java.util.List createCaseSimpleList(java.util.List aCaseSimpleList, ValueExpressionCaseSimpleContent aCaseSimpleContent)
           
 ValueExpressionCast createCastExpression(QueryValueExpression aExpr, DataType aCastType)
           
 ValueExpressionCast createCastExpression(QueryValueExpression aExpr, java.lang.String aCastType)
           
 ValueExpressionColumn createColumnExpression(java.lang.String aColumnName)
           
 ValueExpressionColumn createColumnExpression(java.lang.String aColumnName, java.lang.String aQualifier)
           
 ValueExpressionColumn createColumnExpression(java.lang.String aColumnName, java.lang.String aTableName, java.lang.String aSchemaName)
          if the same table name and same column name is referenced in two different schemas and the tables in the FROM-clause are not given an alias name e.g.
 java.util.List createColumnList(java.util.List aColumnNameList, ValueExpressionColumn aColumnExpr)
           
 ColumnName createColumnName(java.lang.String aColumnName)
           
 java.util.List createColumnNameList(java.util.List aColumnNameList, ColumnName aColumnName)
           
 SearchConditionCombined createCombinedCondition(QuerySearchCondition aLeftCond, QuerySearchCondition aRightCond, int aCondOper)
           
 ValueExpressionCombined createCombinedExpression(QueryValueExpression aLeftExpr, int aExprOper, QueryValueExpression aRightExpr)
           
 DataType createDataType(java.lang.String aTypeName)
           
 ArrayDataType createDataTypeArray(DataType dataType)
          Factory method to construct a ArrayDataType with the element data type elementDataType.
 ArrayDataType createDataTypeArray(DataType dataType, int maxCardinality)
          Factory method to construct a ArrayDataType with the element data type elementDataType and with maximum cardinality specified by maxCardinality.
 ArrayDataType createDataTypeArray(DataType dataType, int maxCardinality, java.lang.String typeName)
           
 BinaryStringDataType createDataTypeBinaryString(int primitiveType, int length, java.lang.String optionalUnitsIndicator)
          Factory method to construct a BinaryStringDataType with its primitiveType and length.
 BinaryStringDataType createDataTypeBinaryString(int primitiveType, int length, java.lang.String optionalUnitsIndicator, java.lang.String typeName)
           
 BooleanDataType createDataTypeBoolean()
          Factory method to construct a BooleanDataType with primitiveType PrimitiveType.BOOLEAN_LITERAL.
 BooleanDataType createDataTypeBoolean(java.lang.String typeName)
           
 CharacterStringDataType createDataTypeCharacterString(int primitiveType, int length, java.lang.String optionalUnitsIndicator)
          Factory method to construct a CharacterStringDataType with its primitiveType and length.
 CharacterStringDataType createDataTypeCharacterString(int primitiveType, int length, java.lang.String optionalUnitsIndicator, java.lang.String typeName)
           
 DataLinkDataType createDataTypeDataLink(int length)
          TODO: finish method signature and doc properly!
 DataLinkDataType createDataTypeDataLink(int length, java.lang.String typeName)
           
 DateDataType createDataTypeDate()
          Factory method to construct a DateDataType with primitiveType PrimitiveType.DATE_LITERAL.
 DateDataType createDataTypeDate(java.lang.String typeName)
           
 DistinctUserDefinedType createDataTypeDistinctUserDefinedType(java.lang.String aTypeName)
           
 IntervalDataType createDataTypeInterval(IntervalQualifierType leadingQualifier, IntervalQualifierType trailingQualifier, int leadingFieldPrecision, int trailingFieldPrecision, int fractionalSecondsPrecision)
          Factory method to construct a IntervalDataType with primitiveType PrimitiveType.INTERVAL.
 IntervalDataType createDataTypeInterval(IntervalQualifierType leadingQualifier, IntervalQualifierType trailingQualifier, int leadingFieldPrecision, int trailingFieldPrecision, int fractionalSecondsPrecision, java.lang.String typeName)
           
 MultisetDataType createDataTypeMultiset(DataType dataType)
          Factory method to construct a MultisetDataType with the element data type elementDataType.
 MultisetDataType createDataTypeMultiset(DataType dataType, java.lang.String typeName)
           
 ApproximateNumericDataType createDataTypeNumericApproximate(int primitiveType, int precision)
          Factory method to construct a ApproximateNumericDataType with its primitiveType and precision.
 ApproximateNumericDataType createDataTypeNumericApproximate(int primitiveType, int precision, java.lang.String typeName)
           
 FixedPrecisionDataType createDataTypeNumericFixedPrecision(int primitiveType, int precision, int scale)
          Factory method to construct a FixedPrecisionDataType with its primitiveType, precision and scale.
 FixedPrecisionDataType createDataTypeNumericFixedPrecision(int primitiveType, int precision, int scale, java.lang.String typeName)
           
 IntegerDataType createDataTypeNumericInteger(int primitiveType, int precision)
          Factory method to construct a IntegerDataType with its primitiveType.
 IntegerDataType createDataTypeNumericInteger(int primitiveType, int precision, java.lang.String typeName)
           
 PredefinedDataType createDataTypePredefinedDataType(java.lang.String typeName)
           
 TimeDataType createDataTypeTime(int primitiveType, int precision)
          Factory method to construct a TimeDataType with its primitiveType and length.
 TimeDataType createDataTypeTime(int primitiveType, int precision, java.lang.String typeName)
           
 UserDefinedType createDataTypeUserDefinedType(java.lang.String aSchemaName, java.lang.String aTypeName)
           
 ValueExpressionDefaultValue createDefaultExpression()
           
 QueryDeleteStatement createDeleteStatement_deprecated(TableInDatabase aTargetTable, java.lang.String aAsTable, QuerySearchCondition aWhereClause)
          Deprecated. use #createDeleteStatement(SQLTableExpression, SQLTableCorrelation, SQLSearchCondition)
 QueryDeleteStatement createDeleteStatement(TableInDatabase aTargetTable, TableCorrelation aAsTable, QuerySearchCondition aWhereClause)
          [New Model]
 DistinctUserDefinedType createDistinctUserDefinedType(java.lang.String aTypeName)
           
 java.util.List createExpressionList(java.util.List aExprList, QueryValueExpression aValExpr)
           
 java.util.List createFromClause(java.util.List aTableRefList, TableReference aTableRef)
           
 ValueExpressionFunction createFunctionExpression(java.lang.String aFuncName, java.lang.String distinct, java.util.List aFuncParmList, java.lang.String aSchemaName)
           
 GroupingExpression createGroupingExpression(QueryValueExpression aExpr)
           
 GroupingSets createGroupingSets(java.util.List aGroupingSetsElementList)
           
 GroupingSetsElementExpression createGroupingSetsElementExpression(Grouping aGrouping)
           
 java.util.List createGroupingSetsElementExprList(java.util.List aGroupingSetsElementExprList, GroupingSetsElementExpression aGroupingSetsElementExpr)
           
 java.util.List createGroupingSetsElementList(java.util.List aGroupingSetsElementList, GroupingSetsElement aGroupingSetsElement)
           
 GroupingSetsElementSublist createGroupingSetsElementSublist(java.util.List aGroupingSetsElementExprList)
           
 java.util.List createGroupingSpecificationList(java.util.List aGroupingSpecList, GroupingSpecification aGroupingSpec)
           
 java.util.List createInsertRow(java.util.List aInsertExprList, ValuesRow aInsertExpr)
           
 QueryInsertStatement createInsertStatement(TableInDatabase aTargetTable, java.util.List aTargetColumnList, java.util.List aSrcValuesRowList)
          Started to change right here! has either a list of source values aSrcValuesRowList rather than a SrcQuery
 QueryInsertStatement createInsertStatement(TableInDatabase aTargetTable, java.util.List aColumnList, QueryExpressionRoot aSrcQuery)
          has SrcQuery rather than a list of source values aSrcValuesRowList
 ValuesRow createInsertValuesRow(java.util.List aExprList)
           
 ValuesRow createInsertValuesRow(QueryValueExpression aValueExpr)
           
 TableJoined createJoinedTable(TableReference aLeftTable, int aJoinType, TableReference aRightTable, QuerySearchCondition aJoinCond)
           
 ValueExpressionLabeledDuration createLabeledDurationExpression(QueryValueExpression aExpr, int aDurationType)
           
 MergeInsertSpecification createMergeInsertSpecification(java.util.List aTargetColList, ValuesRow aValuesRow)
           
 MergeOnCondition createMergeOnCondition(QuerySearchCondition aSearchCond)
           
 java.util.List createMergeOperatationSpecificationList(java.util.List aMergeSpecList, MergeOperationSpecification aMergeSpec)
          This is for as syntax hack in the parser.
 MergeSourceTable createMergeSourceTable(TableReference aTableRef)
           
 QueryMergeStatement createMergeStatement(MergeTargetTable aTargetTable, MergeSourceTable aSourceTable, MergeOnCondition aOnCondition, java.util.List aOperSpecList)
           
 MergeTargetTable createMergeTargetTable(TableExpression aTableExpr, java.lang.String aTableAliasName)
           
 MergeUpdateSpecification createMergeUpdateSpecification(java.util.List aAssignmentExprList)
           
 SearchConditionNested createNestedCondition(QuerySearchCondition aCondition)
           
 SearchConditionNested createNestedConditionNegated(QuerySearchCondition aCondition)
           
 ValueExpressionNested createNestedExpression(QueryValueExpression aNestedExpr)
           
 TableNested createNestedTable(TableReference aNestedTable)
           
 ValueExpressionNullValue createNullExpression()
           
 java.util.List createOrderByClause(java.util.List aOrderByList, OrderBySpecification aOrderByExpr)
           
 OrderBySpecification createOrderByExpression(QueryValueExpression aOrderByExpr, int orderingSpec, int nullOrdering)
          creates an OrderBySpecification.
 OrderBySpecification createOrderByExpression(QueryValueExpression aOrderByExpr, java.lang.String optAscDesc)
          Deprecated. use createOrderByExpression(QueryValueExpression, int, int)
 PredefinedDataType createPredefinedDataType(java.lang.String aTypeName)
           
 PredicateBasic createPredicateBasic(QueryValueExpression aLeftExpr, int aRelOper, QueryValueExpression aRightExpr)
           
 PredicateBetween createPredicateBetween(QueryValueExpression aLeftExpr, boolean isNotBetween, QueryValueExpression aRightExpr1, QueryValueExpression aRightExpr2)
           
 PredicateExists createPredicateExists(QueryExpressionBody aQueryExpr)
           
 PredicateInValueList createPredicateInValueList(QueryValueExpression aLeftExpr, boolean isNotIn, java.util.List aValuesList)
           
 PredicateInValueRowSelect createPredicateInValueRowSelect(java.util.List aValuesList, boolean isNotIn, QueryExpressionRoot aQueryExpr)
           
 PredicateInValueSelect createPredicateInValueSelect(QueryValueExpression aLeftExpr, boolean isNotIn, QueryExpressionRoot aQueryExpr)
           
 PredicateLike createPredicateLike(QueryValueExpression aMatchingExpr, boolean isNotLike, QueryValueExpression aPatternExpr, QueryValueExpression aEscapeExpr)
           
 PredicateIsNull createPredicateNull(QueryValueExpression aValueExpr, boolean isNotNull)
           
 PredicateQuantifiedRowSelect createPredicateQuantifiedRowSelect(java.util.List aValueExprList, int aQuantType, QueryExpressionRoot aQueryExpr)
           
 PredicateQuantifiedValueSelect createPredicateQuantifiedValueSelect(QueryValueExpression aValueExpr, int aRelOper, int aQuantType, QueryExpressionRoot aQueryExpr)
           
 ProcedureReference createProcedureReference(java.lang.String aSchemaName, java.lang.String aProcName)
           
 QueryCombined createQueryCombined(QueryExpressionBody aLeftQuery, int combinedOperator, QueryExpressionBody aRightQuery)
           
 QueryCombined createQueryCombined(QueryExpressionBody aLeftQuery, int combinedOperator, QueryExpressionBody aRightQuery, java.util.List aSortSpecList, int aRowFetchLimit)
           
 QueryExpressionRoot createQueryExpressionRoot(QueryExpressionBody aQuery, java.util.List aWithTableSpecList)
           
 QueryNested createQueryNested(QueryExpressionBody queryExprBody)
           
 QueryNested createQueryNested(QueryExpressionBody queryExprBody, java.util.List aSortSpecList, int aRowFetchLimit)
           
 QuerySelect createQuerySelect(java.lang.String optAllOrDistinct, java.util.List aResultColList, java.util.List aTableRefList, QuerySearchCondition aWhereClause, java.util.List aGroupByList, QuerySearchCondition aHavingClause)
           
 QuerySelect createQuerySelect(java.lang.String optAllOrDistinct, java.util.List aResultColList, java.util.List aTableRefList, QuerySearchCondition aWhereClaus, java.util.List aGroupByList, QuerySearchCondition aHavingClaus, java.util.List aSortSpecList, int aRowFetchLimit)
           
 QueryValues createQueryValues(java.util.List aValuesRowList)
           
 QueryValues createQueryValues(java.util.List aValuesRowList, java.util.List aSortSpecList, int aRowFetchLimit)
           
 TableExpression createReferenceTable(java.lang.String aSchemaName, java.lang.String aTableName, java.lang.String aCorrName)
          Deprecated. use createReferenceTable(String, String, TableCorrelation)
 TableExpression createReferenceTable(java.lang.String aSchemaName, java.lang.String aTableName, TableCorrelation aTableCorr)
           
 ResultColumn createResultColumn(QueryValueExpression aResultColExpr, java.lang.String aAsName)
           
 ResultTableAllColumns createResultTableAllColumns(java.lang.String aTableName)
           
 ResultTableAllColumns createResultTableAllColumns(java.lang.String aTableName, java.lang.String aSchemaName)
           
 ValueExpressionScalarSelect createScalarSelectExpression(QueryExpressionRoot aQueryExpr)
           
 Schema createSchema(java.lang.String aSchemaName)
           
 java.util.List createSelectClause(java.util.List aResultSpecList, QueryResultSpecification aResultCol)
           
 QuerySelectStatement createSelectStatement(QueryExpressionRoot aQryExpr, java.util.List aOrderByList)
           
 QuerySelectStatement createSelectStatement(QueryExpressionRoot aQryExpr, java.util.List aOrderByList, UpdatabilityExpression aUpdatabilityExpr)
           
 QuerySelectStatement createSelectStatement(QuerySelect aQrySel, java.util.List aOrderByList)
           
 ValueExpressionSimple createSimpleExpression(java.lang.String aExpr)
           
 TableInDatabase createSimpleTable(java.lang.String aSchemaName, java.lang.String aTableName)
           
 ValueExpressionFunction createSpecialRegisterExpression(java.lang.String aSpecialReg)
          Creates a ValueExpressionFunction with name aSpecialReg and field ValueExpressionFunction.isSpecialRegister()==true
 ValueExpressionFunction createSpecialRegisterExpression(java.lang.String aSpecialReg, java.lang.String value)
          Deprecated. use createSpecialRegisterExpression(String, UserDefinedType) instead
 ValueExpressionFunction createSpecialRegisterExpression(java.lang.String aRegName, UserDefinedType aDataType)
          Creates a function expression object for the special register with the name and user-defined data type.
 SuperGroup createSuperGroups(java.util.List aSuperGroupsElementList, int aSuperGroupType)
           
 SuperGroupElementExpression createSuperGroupsElementExpression(GroupingExpression aGroupingExpr)
           
 java.util.List createSuperGroupsElementExprList(java.util.List aSuperGroupsElementExprList, SuperGroupElementExpression aSuperGroupsElementExpr)
           
 java.util.List createSuperGroupsElementList(java.util.List aSuperGroupsElementList, SuperGroupElement aSuperGroupsElement)
           
 SuperGroupElementSublist createSuperGroupsElementSublist(java.util.List aSuperGroupsElementExprList)
           
 TableCorrelation createTableCorrelation(java.lang.String aCorrName)
           
 TableCorrelation createTableCorrelation(java.lang.String aCorrName, java.util.List aColNameList)
           
 TableExpression createTableExpressionQuery(QueryExpressionBody aSubquery, java.lang.String aCorrName)
          Deprecated. use createTableExpressionQuery(QueryExpressionBody, TableCorrelation)
 TableExpression createTableExpressionQuery(QueryExpressionBody aSubquery, TableCorrelation aTableCorr)
           
 TableFunction createTableFunction(java.lang.String aFuncName, java.util.List aFuncParmList, java.lang.String aSchemaName, TableCorrelation aTableCorr)
           
 UpdatabilityExpression createUpdatabilityExpression(int aUpdatabilityType, java.util.List aUpdateOfColList)
           
 java.util.List createUpdateAssignmentClause(java.util.List aExprList, UpdateAssignmentExpression aExpr)
           
 UpdateAssignmentExpression createUpdateAssignmentExpression(java.util.List aTargetColList, java.util.List aExprList)
           
 UpdateAssignmentExpression createUpdateAssignmentExpression(java.util.List aTargetColList, QueryExpressionBody aUpdateQuery)
           
 UpdateAssignmentExpression createUpdateAssignmentExpression(ValueExpressionColumn aTargetCol, QueryValueExpression aExpr)
           
 QueryUpdateStatement createUpdateStatement(TableInDatabase aTargetTable, TableCorrelation aAsTable, java.util.List aAssignmentList, QuerySearchCondition aWhereCond)
           
 DataType createUserDefinedTypeFromDomainName(java.lang.String domainName)
          Deprecated.  
 ValueExpressionRow createValueExpressionRow(java.util.List aExprList)
           
 ValuesRow createValuesRow(java.util.List aValueExprList)
           
 ValuesRow createValuesRow(QueryValueExpression aValueExpr)
           
 java.util.List createValuesRowList(java.util.List aValuesRowList, ValuesRow aValuesRow)
           
 ValueExpressionVariable createVariableExpression(java.lang.String aVarName)
           
 WithTableSpecification createWithTableSpecification(java.lang.String aTableIdentifier, java.util.List aColumnNameList, QueryExpressionBody aWithSource)
           
 java.util.List createWithTableSpecificationList(java.util.List aTableWithSpecList, WithTableSpecification aTableWithSpec)
           
 SQLQuerySourceFormat getSQLSourceFormat()
           
static boolean isColumnFunction(java.lang.String aFuncName)
          Returns whether or not the given function name is a column (summary) function.
static boolean isDistinctColumnFunction(java.lang.String aFuncName)
          Returns whether or not the given function name is a column (summary) function that allows the DISTINCT keyword in the parameter list.
 java.util.List listConcat(java.util.List p_list, java.lang.Object p_rhs)
          Utility used to append elements to an List at the end.
 java.util.List listConcat(java.lang.Object p_lhs, java.util.List p_list)
          Utility used to append elements to an List in the beginning.
 QuerySearchCondition negateCondition(QuerySearchCondition aSearchCond, boolean negate)
           
 Predicate negatePredicate(Predicate aPredicate, boolean negate)
           
 void setSQLSourceFormat(SQLQuerySourceFormat sourceFormat)
           
 QueryValueExpression setUnaryOperator(QueryValueExpression expr, int op)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

COMPARISON_OPERATOR_EQ

public static final int COMPARISON_OPERATOR_EQ
int constant for PredicateComparisonOperator.EQUAL "="

See Also:
PredicateComparisonOperator.EQUAL, Constant Field Values

COMPARISON_OPERATOR_NE

public static final int COMPARISON_OPERATOR_NE
int constant for PredicateComparisonOperator.NOT_EQUAL "<>"

See Also:
PredicateComparisonOperator.NOT_EQUAL, Constant Field Values

COMPARISON_OPERATOR_LT

public static final int COMPARISON_OPERATOR_LT
int constant for PredicateComparisonOperator.LESS_THAN "<"

See Also:
PredicateComparisonOperator.LESS_THAN, Constant Field Values

COMPARISON_OPERATOR_GT

public static final int COMPARISON_OPERATOR_GT
int constant for PredicateComparisonOperator.GREATER_THAN ">"

See Also:
PredicateComparisonOperator.GREATER_THAN, Constant Field Values

COMPARISON_OPERATOR_LE

public static final int COMPARISON_OPERATOR_LE
int constant for PredicateComparisonOperator.LESS_THAN_OR_EQUAL "<="

See Also:
PredicateComparisonOperator.LESS_THAN_OR_EQUAL, Constant Field Values

COMPARISON_OPERATOR_GE

public static final int COMPARISON_OPERATOR_GE
int constant for PredicateComparisonOperator.GREATER_THAN_OR_EQUAL ">="

See Also:
PredicateComparisonOperator.GREATER_THAN_OR_EQUAL, Constant Field Values

COMBINED_OPERATOR_AND

public static final int COMBINED_OPERATOR_AND
int constant for SearchConditionCombinedOperator.AND

See Also:
SearchConditionCombinedOperator.AND, Constant Field Values

COMBINED_OPERATOR_OR

public static final int COMBINED_OPERATOR_OR
int constant for SearchConditionCombinedOperator.OR

See Also:
SearchConditionCombinedOperator.OR, Constant Field Values

UNARY_OPERATOR_PLUS

public static final int UNARY_OPERATOR_PLUS
int constant for ValueExpressionUnaryOperator.PLUS "+"

See Also:
ValueExpressionUnaryOperator.PLUS, Constant Field Values

UNARY_OPERATOR_MINUS

public static final int UNARY_OPERATOR_MINUS
int constant for ValueExpressionUnaryOperator.MINUS "-"

See Also:
ValueExpressionUnaryOperator.MINUS, Constant Field Values

COMBINED_OPERATOR_ADD

public static final int COMBINED_OPERATOR_ADD
int constant for ValueExpressionCombinedOperator.ADD "+"

See Also:
ValueExpressionCombinedOperator.ADD, Constant Field Values

COMBINED_OPERATOR_SUBTRACT

public static final int COMBINED_OPERATOR_SUBTRACT
int constant for ValueExpressionCombinedOperator.SUBTRACT "-"

See Also:
ValueExpressionCombinedOperator.SUBTRACT, Constant Field Values

COMBINED_OPERATOR_MULTIPLY

public static final int COMBINED_OPERATOR_MULTIPLY
int constant for ValueExpressionCombinedOperator.MULTIPLY "*"

See Also:
ValueExpressionCombinedOperator.MULTIPLY, Constant Field Values

COMBINED_OPERATOR_DIVIDE

public static final int COMBINED_OPERATOR_DIVIDE
int constant for ValueExpressionCombinedOperator.DIVIDE "/"

See Also:
ValueExpressionCombinedOperator.DIVIDE, Constant Field Values

COMBINED_OPERATOR_CONCATENATE

public static final int COMBINED_OPERATOR_CONCATENATE
int constant for ValueExpressionCombinedOperator.CONCATENATE "||"

See Also:
ValueExpressionCombinedOperator.CONCATENATE, Constant Field Values

DURATION_TYPE_DAYS

public static final int DURATION_TYPE_DAYS
int constant for ValueExpressionLabeledDurationType.DAYS

See Also:
ValueExpressionLabeledDurationType.DAYS, Constant Field Values

DURATION_TYPE_HOURS

public static final int DURATION_TYPE_HOURS
int constant for ValueExpressionLabeledDurationType.HOURS

See Also:
ValueExpressionLabeledDurationType.HOURS, Constant Field Values

DURATION_TYPE_MICROSECONDS

public static final int DURATION_TYPE_MICROSECONDS
int constant for ValueExpressionLabeledDurationType.MICROSECONDS

See Also:
ValueExpressionLabeledDurationType.MICROSECONDS, Constant Field Values

DURATION_TYPE_MINUTES

public static final int DURATION_TYPE_MINUTES
int constant for ValueExpressionLabeledDurationType.MINUTES

See Also:
ValueExpressionLabeledDurationType.MINUTES, Constant Field Values

DURATION_TYPE_MONTHS

public static final int DURATION_TYPE_MONTHS
int constant for ValueExpressionLabeledDurationType.MONTHS

See Also:
ValueExpressionLabeledDurationType.MONTHS, Constant Field Values

DURATION_TYPE_SECONDS

public static final int DURATION_TYPE_SECONDS
int constant for ValueExpressionLabeledDurationType.SECONDS

See Also:
ValueExpressionLabeledDurationType.SECONDS, Constant Field Values

DURATION_TYPE_YEARS

public static final int DURATION_TYPE_YEARS
int constant for ValueExpressionLabeledDurationType.YEARS

See Also:
ValueExpressionLabeledDurationType.YEARS, Constant Field Values

NULL_ORDERING_TYPE_NONE

public static final int NULL_ORDERING_TYPE_NONE
int constant for NullOrderingType.NONE

See Also:
NullOrderingType.NONE, Constant Field Values

NULL_ORDERING_TYPE_NULLS_FIRST

public static final int NULL_ORDERING_TYPE_NULLS_FIRST
int constant for NullOrderingType.NULLS_FIRST

See Also:
NullOrderingType.NULLS_FIRST, Constant Field Values

NULL_ORDERING_TYPE_NULLS_LAST

public static final int NULL_ORDERING_TYPE_NULLS_LAST
int constant for NullOrderingType.NULLS_LAST

See Also:
NullOrderingType.NULLS_LAST, Constant Field Values

ORDERING_SPEC_TYPE_NONE

public static final int ORDERING_SPEC_TYPE_NONE
int constant for OrderingSpecType.NONE

See Also:
OrderingSpecType.NONE, Constant Field Values

ORDERING_SPEC_TYPE_ASC

public static final int ORDERING_SPEC_TYPE_ASC
int constant for OrderingSpecType.ASC

See Also:
OrderingSpecType.ASC, Constant Field Values

ORDERING_SPEC_TYPE_DESC

public static final int ORDERING_SPEC_TYPE_DESC
int constant for OrderingSpecType.DESC

See Also:
OrderingSpecType.DESC, Constant Field Values

SUPERGROUP_TYPE_CUBE

public static final int SUPERGROUP_TYPE_CUBE
int constant for SuperGroupType.CUBE

See Also:
SuperGroupType.CUBE, Constant Field Values

SUPERGROUP_TYPE_ROLLUP

public static final int SUPERGROUP_TYPE_ROLLUP
int constant for SuperGroupType.ROLLUP

See Also:
SuperGroupType.ROLLUP, Constant Field Values

SUPERGROUP_TYPE_GRANDTOTAL

public static final int SUPERGROUP_TYPE_GRANDTOTAL
int constant for SuperGroupType.GRANDTOTAL

See Also:
SuperGroupType.GRANDTOTAL, Constant Field Values

QUANTIFIER_ALL

public static final int QUANTIFIER_ALL
int constant for PredicateQuantifiedType.ALL "ALL"

See Also:
PredicateQuantifiedType.ALL, Constant Field Values

QUANTIFIER_ANY

public static final int QUANTIFIER_ANY
int constant for PredicateQuantifiedType.ANY "ANY"

See Also:
PredicateQuantifiedType.ANY, Constant Field Values

QUANTIFIER_SOME

public static final int QUANTIFIER_SOME
int constant for PredicateQuantifiedType.SOME "SOME"

See Also:
PredicateQuantifiedType.SOME, Constant Field Values

JOIN_DEFAULT_INNER

public static final int JOIN_DEFAULT_INNER
int constant for TableJoinedOperator.DEFAULT_INNER "JOIN"

See Also:
TableJoinedOperator.DEFAULT_INNER, Constant Field Values

JOIN_EXPLICIT_INNER

public static final int JOIN_EXPLICIT_INNER
int constant for TableJoinedOperator.EXPLICIT_INNER "INNER JOIN"

See Also:
TableJoinedOperator.EXPLICIT_INNER, Constant Field Values

JOIN_LEFT_OUTER

public static final int JOIN_LEFT_OUTER
int constant for TableJoinedOperator.LEFT_OUTER "LEFT JOIN"

See Also:
TableJoinedOperator.LEFT_OUTER, Constant Field Values

JOIN_RIGHT_OUTER

public static final int JOIN_RIGHT_OUTER
int constant for TableJoinedOperator.RIGHT_OUTER "RIGHT JOIN"

See Also:
TableJoinedOperator.RIGHT_OUTER, Constant Field Values

JOIN_FULL_OUTER

public static final int JOIN_FULL_OUTER
int constant for TableJoinedOperator.FULL_OUTER "FULL JOIN"

See Also:
TableJoinedOperator.FULL_OUTER, Constant Field Values

QUERY_COMBINED_UNION

public static final int QUERY_COMBINED_UNION
int constant for QueryCombinedOperator.UNION "UNION"

See Also:
QueryCombinedOperator.UNION, Constant Field Values

QUERY_COMBINED_UNION_ALL

public static final int QUERY_COMBINED_UNION_ALL
int constant for QueryCombinedOperator.UNION_ALL "UNION ALL"

See Also:
QueryCombinedOperator.UNION_ALL, Constant Field Values

QUERY_COMBINED_INTERSECT

public static final int QUERY_COMBINED_INTERSECT
int constant for QueryCombinedOperator.INTERSECT "INTERSECT"

See Also:
QueryCombinedOperator.INTERSECT, Constant Field Values

QUERY_COMBINED_INTERSECT_ALL

public static final int QUERY_COMBINED_INTERSECT_ALL
int constant for QueryCombinedOperator.INTERSECT_ALL "INTERSECT ALL"

See Also:
QueryCombinedOperator.INTERSECT_ALL, Constant Field Values

QUERY_COMBINED_EXCEPT

public static final int QUERY_COMBINED_EXCEPT
int constant for QueryCombinedOperator.EXCEPT "EXCEPT"

See Also:
QueryCombinedOperator.EXCEPT, Constant Field Values

QUERY_COMBINED_EXCEPT_ALL

public static final int QUERY_COMBINED_EXCEPT_ALL
int constant for QueryCombinedOperator.EXCEPT_ALL "EXCEPT ALL"

See Also:
QueryCombinedOperator.EXCEPT_ALL, Constant Field Values

UPDATABILITY_TYPE_FOR_READ_ONLY

public static final int UPDATABILITY_TYPE_FOR_READ_ONLY
int constant for UpdatabilityType.READ_ONLY "FOR READ ONLY"

See Also:
UpdatabilityType.READ_ONLY, Constant Field Values

UPDATABILITY_TYPE_FOR_UPDATE

public static final int UPDATABILITY_TYPE_FOR_UPDATE
int constant for UpdatabilityType.UPDATE "FOR UPDATE"

See Also:
UpdatabilityType.UPDATE, Constant Field Values

SPECIAL_REGISTER_CURRENT_DATE

public static final java.lang.String SPECIAL_REGISTER_CURRENT_DATE
String constant for special register, value "CURRENT_DATE"

See Also:
Constant Field Values

SPECIAL_REGISTER_CURRENT_TIME

public static final java.lang.String SPECIAL_REGISTER_CURRENT_TIME
String constant for special register, value "CURRENT_TIME"

See Also:
Constant Field Values

SPECIAL_REGISTER_CURRENT_TIMESTAMP

public static final java.lang.String SPECIAL_REGISTER_CURRENT_TIMESTAMP
String constant for special register, value "CURRENT_TIMESTAMP"

See Also:
Constant Field Values

SPECIAL_REGISTER_LOCALTIME

public static final java.lang.String SPECIAL_REGISTER_LOCALTIME
String constant for special register, value "LOCALTIME"

See Also:
Constant Field Values

SPECIAL_REGISTER_LOCALTIMESTAMP

public static final java.lang.String SPECIAL_REGISTER_LOCALTIMESTAMP
String constant for special register, value "LOCALTIMESTAMP"

See Also:
Constant Field Values

SPECIAL_REGISTER_CURRENT_DEFAULT_TRANSFORM_GROUP

public static final java.lang.String SPECIAL_REGISTER_CURRENT_DEFAULT_TRANSFORM_GROUP
String constant for special register, value "CURRENT_DEFAULT_TRANSFORM_GROUP"

See Also:
Constant Field Values

SPECIAL_REGISTER_CURRENT_TRANSFORM_GROUP_FOR_TYPE

public static final java.lang.String SPECIAL_REGISTER_CURRENT_TRANSFORM_GROUP_FOR_TYPE
String constant for special register, value "CURRENT_TRANSFORM_GROUP_FOR_TYPE"

See Also:
Constant Field Values

SPECIAL_REGISTER_CURRENT_PATH

public static final java.lang.String SPECIAL_REGISTER_CURRENT_PATH
String constant for special register, value "CURRENT_PATH"

See Also:
Constant Field Values

SPECIAL_REGISTER_CURRENT_ROLE

public static final java.lang.String SPECIAL_REGISTER_CURRENT_ROLE
String constant for special register, value "CURRENT_ROLE"

See Also:
Constant Field Values

SPECIAL_REGISTER_CURRENT_USER

public static final java.lang.String SPECIAL_REGISTER_CURRENT_USER
String constant for special register, value "CURRENT_USER"

See Also:
Constant Field Values

SPECIAL_REGISTER_SESSION_USER

public static final java.lang.String SPECIAL_REGISTER_SESSION_USER
String constant for special register, value "SESSION_USER"

See Also:
Constant Field Values

SPECIAL_REGISTER_SYSTEM_USER

public static final java.lang.String SPECIAL_REGISTER_SYSTEM_USER
String constant for special register, value "SYSTEM_USER"

See Also:
Constant Field Values

SPECIAL_REGISTER_USER

public static final java.lang.String SPECIAL_REGISTER_USER
String constant for special register, value "USER"

See Also:
Constant Field Values

SPECIAL_REGISTER_VALUE

public static final java.lang.String SPECIAL_REGISTER_VALUE
String constant for special register, value "VALUE"

See Also:
Constant Field Values

ORDER_ASC

public static final java.lang.String ORDER_ASC
String constant for OrderBySpecification "ASC"

See Also:
OrderBySpecification.isDescending(), Constant Field Values

ORDER_DESC

public static final java.lang.String ORDER_DESC
String constant for OrderBySpecification "DESC"

See Also:
OrderBySpecification.isDescending(), Constant Field Values

ALL

public static final java.lang.String ALL
String constant for QuerySelect "ALL"

See Also:
QuerySelect.isDistinct(), Constant Field Values

DISTINCT

public static final java.lang.String DISTINCT
String constant for QuerySelect "DISTINCT"

See Also:
QuerySelect.isDistinct(), Constant Field Values
Constructor Detail

SQLQueryParserFactory

public SQLQueryParserFactory()
Constructs an instance of this class. This is the default constructor. Resulting SQLQueryParserFactory is equal to the resulting SQLQueryParserFactory of SQLQueryParserFactory(SQLQuerySourceFormat) with SQLQuerySourceFormat = SQLQuerySourceFormat.SQL_SOURCE_FORMAT_DEFAULT

See Also:
SQLQuerySourceFormat.SQL_SOURCE_FORMAT_DEFAULT

SQLQueryParserFactory

public SQLQueryParserFactory(SQLQuerySourceFormat aSourceFormat)
Constructor.

Parameters:
aSourceFormat -
Method Detail

getSQLSourceFormat

public SQLQuerySourceFormat getSQLSourceFormat()
Specified by:
getSQLSourceFormat in interface SQLParserFactory

setSQLSourceFormat

public void setSQLSourceFormat(SQLQuerySourceFormat sourceFormat)
Specified by:
setSQLSourceFormat in interface SQLParserFactory

listConcat

public java.util.List listConcat(java.util.List p_list,
                                 java.lang.Object p_rhs)
Utility used to append elements to an List at the end.


listConcat

public java.util.List listConcat(java.lang.Object p_lhs,
                                 java.util.List p_list)
Utility used to append elements to an List in the beginning.


addTableCorrelationToTableExpression

public TableExpression addTableCorrelationToTableExpression(TableExpression tableExpr,
                                                            TableCorrelation tableCorrelation)
Adds the given tableCorrelation to the given tableExpr.

Parameters:
tableExpr -
tableCorrelation -
Returns:
the given tableExpr

createCaseElse

public ValueExpressionCaseElse createCaseElse(QueryValueExpression expr)

createCaseSearchContent

public ValueExpressionCaseSearchContent createCaseSearchContent(QuerySearchCondition aWhenCond,
                                                                QueryValueExpression aExpr)

createCaseSearchExpression

public ValueExpressionCaseSearch createCaseSearchExpression(java.util.List aCaseSearchWhenList,
                                                            ValueExpressionCaseElse aCaseElse)

createCaseSearchList

public java.util.List createCaseSearchList(java.util.List aCaseSearchList,
                                           ValueExpressionCaseSearchContent aCaseSearchContent)

createCaseSimpleContent

public ValueExpressionCaseSimpleContent createCaseSimpleContent(QueryValueExpression aWhenExpr,
                                                                QueryValueExpression aResultExpr)

createCaseSimpleExpression

public ValueExpressionCaseSimple createCaseSimpleExpression(QueryValueExpression aCaseValue,
                                                            java.util.List aCaseSimpleWhenList,
                                                            ValueExpressionCaseElse aCaseElse)

createCaseSimpleList

public java.util.List createCaseSimpleList(java.util.List aCaseSimpleList,
                                           ValueExpressionCaseSimpleContent aCaseSimpleContent)

createCastExpression

public ValueExpressionCast createCastExpression(QueryValueExpression aExpr,
                                                java.lang.String aCastType)

createCastExpression

public ValueExpressionCast createCastExpression(QueryValueExpression aExpr,
                                                DataType aCastType)

createColumnExpression

public ValueExpressionColumn createColumnExpression(java.lang.String aColumnName,
                                                    java.lang.String aTableName,
                                                    java.lang.String aSchemaName)
if the same table name and same column name is referenced in two different schemas and the tables in the FROM-clause are not given an alias name e.g. select s1.t1.col1, s2.t1.col1 from s1.t1, s2.t1;


createColumnExpression

public ValueExpressionColumn createColumnExpression(java.lang.String aColumnName,
                                                    java.lang.String aQualifier)

createColumnExpression

public ValueExpressionColumn createColumnExpression(java.lang.String aColumnName)

createColumnList

public java.util.List createColumnList(java.util.List aColumnNameList,
                                       ValueExpressionColumn aColumnExpr)

createColumnNameList

public java.util.List createColumnNameList(java.util.List aColumnNameList,
                                           ColumnName aColumnName)

createColumnName

public ColumnName createColumnName(java.lang.String aColumnName)

createCombinedCondition

public SearchConditionCombined createCombinedCondition(QuerySearchCondition aLeftCond,
                                                       QuerySearchCondition aRightCond,
                                                       int aCondOper)

createCombinedExpression

public ValueExpressionCombined createCombinedExpression(QueryValueExpression aLeftExpr,
                                                        int aExprOper,
                                                        QueryValueExpression aRightExpr)

createDataType

public DataType createDataType(java.lang.String aTypeName)

createDataTypeArray

public ArrayDataType createDataTypeArray(DataType dataType)
Description copied from interface: SQLQueryParserFactoryDataTypes
Factory method to construct a ArrayDataType with the element data type elementDataType.

Specified by:
createDataTypeArray in interface SQLQueryParserFactoryDataTypes
Returns:
the newly constructed ArrayDataType
See Also:
SQLQueryParserFactoryDataTypes.createDataTypeArray(DataType)

createDataTypeArray

public ArrayDataType createDataTypeArray(DataType dataType,
                                         int maxCardinality)
Description copied from interface: SQLQueryParserFactoryDataTypes
Factory method to construct a ArrayDataType with the element data type elementDataType and with maximum cardinality specified by maxCardinality.

Specified by:
createDataTypeArray in interface SQLQueryParserFactoryDataTypes
Returns:
the newly constructed ArrayDataType
See Also:
SQLQueryParserFactoryDataTypes.createDataTypeArray(DataType, int)

createDataTypeArray

public ArrayDataType createDataTypeArray(DataType dataType,
                                         int maxCardinality,
                                         java.lang.String typeName)
See Also:
SQLQueryParserFactoryDataTypes.createDataTypeArray(DataType, int)

createDataTypeBinaryString

public BinaryStringDataType createDataTypeBinaryString(int primitiveType,
                                                       int length,
                                                       java.lang.String optionalUnitsIndicator)
Description copied from interface: SQLQueryParserFactoryDataTypes
Factory method to construct a BinaryStringDataType with its primitiveType and length.

Note: The optional parameter optionalUnitsIndicator may only be specified with the given primitiveType SQLQueryParserFactoryDataTypes.PRIMITIVE_TYPE_BINARY_LARGE_OBJECT, where SQLQueryParserFactoryDataTypes.UNIT_INDICATOR_K measures the given length in Kilobyte (for the given length <= 2097152), SQLQueryParserFactoryDataTypes.UNIT_INDICATOR_M measures the given length in Megabyte (for the given length <= 2048), SQLQueryParserFactoryDataTypes.UNIT_INDICATOR_G measures the given length in Gigabyte (for the given length <= 2).

Note: The given primitiveType must be one of the constants for the primitve types in this interface/class correlated to the BinaryStringDataType.

Specified by:
createDataTypeBinaryString in interface SQLQueryParserFactoryDataTypes
Parameters:
primitiveType - one of the correlated the primitive types for the BinaryStringDataType
length - the length of this BinaryStringDataType
optionalUnitsIndicator - optional parameter indicating the given length is measured in Kilobyte (use SQLQueryParserFactoryDataTypes.UNIT_INDICATOR_K), Megabyte (use SQLQueryParserFactoryDataTypes.UNIT_INDICATOR_M) or Gigabyte (use SQLQueryParserFactoryDataTypes.UNIT_INDICATOR_G)
Returns:
the newly constructed BinaryStringDataType
See Also:
SQLQueryParserFactoryDataTypes.PRIMITIVE_TYPE_BINARY, SQLQueryParserFactoryDataTypes.PRIMITIVE_TYPE_BINARY_VARYING, SQLQueryParserFactoryDataTypes.PRIMITIVE_TYPE_BINARY_LARGE_OBJECT

createDataTypeBinaryString

public BinaryStringDataType createDataTypeBinaryString(int primitiveType,
                                                       int length,
                                                       java.lang.String optionalUnitsIndicator,
                                                       java.lang.String typeName)

createDataTypeBoolean

public BooleanDataType createDataTypeBoolean()
Description copied from interface: SQLQueryParserFactoryDataTypes
Factory method to construct a BooleanDataType with primitiveType PrimitiveType.BOOLEAN_LITERAL.

Specified by:
createDataTypeBoolean in interface SQLQueryParserFactoryDataTypes
Returns:
the newly constructed BooleanDataType

createDataTypeBoolean

public BooleanDataType createDataTypeBoolean(java.lang.String typeName)

createDataTypeCharacterString

public CharacterStringDataType createDataTypeCharacterString(int primitiveType,
                                                             int length,
                                                             java.lang.String optionalUnitsIndicator)
Description copied from interface: SQLQueryParserFactoryDataTypes
Factory method to construct a CharacterStringDataType with its primitiveType and length.

Note: The optional parameter optionalUnitsIndicator may only be specified with the given primitiveType SQLQueryParserFactoryDataTypes.PRIMITIVE_TYPE_CHARACTER_LARGE_OBJECTor SQLQueryParserFactoryDataTypes.PRIMITIVE_TYPE_NATIONAL_CHARACTER_LARGE_OBJECT, where SQLQueryParserFactoryDataTypes.UNIT_INDICATOR_Kmeasures the given length in Kilobyte (for the given length<= 2097152), SQLQueryParserFactoryDataTypes.UNIT_INDICATOR_Mmeasures the given length in Megabyte (for the given length<= 2048), SQLQueryParserFactoryDataTypes.UNIT_INDICATOR_Gmeasures the given length in Gigabyte (for the given length<= 2).

Note: The given primitiveType must be one of the constants for the primitve types in this interface/class correlated to the CharacterStringDataType.

Specified by:
createDataTypeCharacterString in interface SQLQueryParserFactoryDataTypes
Parameters:
primitiveType - one of the correlated the primitive types for the CharacterStringDataType
length - the length of this CharacterStringDataType
optionalUnitsIndicator - optional parameter indicating the given length is measured in Kilobyte (use SQLQueryParserFactoryDataTypes.UNIT_INDICATOR_K), Megabyte (use SQLQueryParserFactoryDataTypes.UNIT_INDICATOR_M) or Gigabyte (use SQLQueryParserFactoryDataTypes.UNIT_INDICATOR_G)
Returns:
the newly constructed CharacterStringDataType
See Also:
SQLQueryParserFactoryDataTypes.PRIMITIVE_TYPE_CHARACTER, SQLQueryParserFactoryDataTypes.PRIMITIVE_TYPE_CHARACTER_VARYING, SQLQueryParserFactoryDataTypes.PRIMITIVE_TYPE_CHARACTER_LARGE_OBJECT, SQLQueryParserFactoryDataTypes.PRIMITIVE_TYPE_NATIONAL_CHARACTER, SQLQueryParserFactoryDataTypes.PRIMITIVE_TYPE_NATIONAL_CHARACTER_VARYING, SQLQueryParserFactoryDataTypes.PRIMITIVE_TYPE_NATIONAL_CHARACTER_LARGE_OBJECT

createDataTypeCharacterString

public CharacterStringDataType createDataTypeCharacterString(int primitiveType,
                                                             int length,
                                                             java.lang.String optionalUnitsIndicator,
                                                             java.lang.String typeName)

createDataTypeDataLink

public DataLinkDataType createDataTypeDataLink(int length)
Description copied from interface: SQLQueryParserFactoryDataTypes
TODO: finish method signature and doc properly!

Specified by:
createDataTypeDataLink in interface SQLQueryParserFactoryDataTypes
Returns:

createDataTypeDataLink

public DataLinkDataType createDataTypeDataLink(int length,
                                               java.lang.String typeName)

createDataTypeDate

public DateDataType createDataTypeDate()
Description copied from interface: SQLQueryParserFactoryDataTypes
Factory method to construct a DateDataType with primitiveType PrimitiveType.DATE_LITERAL.

Specified by:
createDataTypeDate in interface SQLQueryParserFactoryDataTypes
Returns:
the newly constructed DateDataType
See Also:
SQLDataTypesFactory.createDateDataType()

createDataTypeDate

public DateDataType createDataTypeDate(java.lang.String typeName)
See Also:
SQLDataTypesFactory.createDateDataType()

createDataTypeDistinctUserDefinedType

public DistinctUserDefinedType createDataTypeDistinctUserDefinedType(java.lang.String aTypeName)

createDataTypeInterval

public IntervalDataType createDataTypeInterval(IntervalQualifierType leadingQualifier,
                                               IntervalQualifierType trailingQualifier,
                                               int leadingFieldPrecision,
                                               int trailingFieldPrecision,
                                               int fractionalSecondsPrecision)
Description copied from interface: SQLQueryParserFactoryDataTypes
Factory method to construct a IntervalDataType with primitiveType PrimitiveType.INTERVAL.

Specified by:
createDataTypeInterval in interface SQLQueryParserFactoryDataTypes
Returns:

createDataTypeInterval

public IntervalDataType createDataTypeInterval(IntervalQualifierType leadingQualifier,
                                               IntervalQualifierType trailingQualifier,
                                               int leadingFieldPrecision,
                                               int trailingFieldPrecision,
                                               int fractionalSecondsPrecision,
                                               java.lang.String typeName)

createDataTypeMultiset

public MultisetDataType createDataTypeMultiset(DataType dataType)
Description copied from interface: SQLQueryParserFactoryDataTypes
Factory method to construct a MultisetDataType with the element data type elementDataType.

Specified by:
createDataTypeMultiset in interface SQLQueryParserFactoryDataTypes
Returns:
the newly constructed MultisetDataType
See Also:
SQLQueryParserFactoryDataTypes.createDataTypeMultiset(DataType)

createDataTypeMultiset

public MultisetDataType createDataTypeMultiset(DataType dataType,
                                               java.lang.String typeName)
See Also:
SQLQueryParserFactoryDataTypes.createDataTypeMultiset(DataType)

createDataTypeNumericApproximate

public ApproximateNumericDataType createDataTypeNumericApproximate(int primitiveType,
                                                                   int precision)
Description copied from interface: SQLQueryParserFactoryDataTypes
Factory method to construct a ApproximateNumericDataType with its primitiveType and precision. Note: The given primitiveType must be one of the constants for the primitve types in this interface/class correlated to the ApproximateNumericDataType.

Specified by:
createDataTypeNumericApproximate in interface SQLQueryParserFactoryDataTypes
Parameters:
primitiveType - one of the correlated the primitive types for the FixedPrecisionDataType SQLQueryParserFactoryDataTypes.PRIMITIVE_TYPE_FLOAT, SQLQueryParserFactoryDataTypes.PRIMITIVE_TYPE_REAL, SQLQueryParserFactoryDataTypes.PRIMITIVE_TYPE_DOUBLE_PRECISION
precision - the total number of digits org.eclipse.wst.rdb.internal.models.sql.datatypes.NumericalDataType#setPrecision(int) ranges between 1 and 31
Returns:
the newly constructed ApproximateNumericDataType
See Also:
SQLQueryParserFactoryDataTypes.PRIMITIVE_TYPE_FLOAT, SQLQueryParserFactoryDataTypes.PRIMITIVE_TYPE_REAL, SQLQueryParserFactoryDataTypes.PRIMITIVE_TYPE_DOUBLE_PRECISION

createDataTypeNumericApproximate

public ApproximateNumericDataType createDataTypeNumericApproximate(int primitiveType,
                                                                   int precision,
                                                                   java.lang.String typeName)

createDataTypeNumericFixedPrecision

public FixedPrecisionDataType createDataTypeNumericFixedPrecision(int primitiveType,
                                                                  int precision,
                                                                  int scale)
Description copied from interface: SQLQueryParserFactoryDataTypes
Factory method to construct a FixedPrecisionDataType with its primitiveType, precision and scale. Note: The given primitiveType must be one of the constants for the primitve types in this interface/class correlated to the FixedPrecisionDataType.

Specified by:
createDataTypeNumericFixedPrecision in interface SQLQueryParserFactoryDataTypes
Parameters:
primitiveType - one of the correlated the primitive types for the FixedPrecisionDataType SQLQueryParserFactoryDataTypes.PRIMITIVE_TYPE_NUMERIC, SQLQueryParserFactoryDataTypes.PRIMITIVE_TYPE_DECIMAL
precision - the total number of digits org.eclipse.wst.rdb.internal.models.sql.datatypes.NumericalDataType#setPrecision(int) ranges between 1 and 31
scale - the number of digits to the right of the decimal point, ranges between 0 and precision org.eclipse.wst.rdb.internal.models.sql.datatypes.ExactNumericDataType#setScale(int)
Returns:
the newly constructed FixedPrecisionDataType
See Also:
SQLQueryParserFactoryDataTypes.PRIMITIVE_TYPE_NUMERIC, SQLQueryParserFactoryDataTypes.PRIMITIVE_TYPE_DECIMAL

createDataTypeNumericFixedPrecision

public FixedPrecisionDataType createDataTypeNumericFixedPrecision(int primitiveType,
                                                                  int precision,
                                                                  int scale,
                                                                  java.lang.String typeName)

createDataTypeNumericInteger

public IntegerDataType createDataTypeNumericInteger(int primitiveType,
                                                    int precision)
Description copied from interface: SQLQueryParserFactoryDataTypes
Factory method to construct a IntegerDataType with its primitiveType. The precision is implicitly given for the primitiveTypes SQLQueryParserFactoryDataTypes.PRIMITIVE_TYPE_SMALLINT (5) and SQLQueryParserFactoryDataTypes.PRIMITIVE_TYPE_INTEGER (10). The precision has to be explicitely specified for the primitiveType SQLQueryParserFactoryDataTypes.PRIMITIVE_TYPE_BIGINT or will be set to 10 by default. Note: The given primitiveType must be one of the constants for the primitve types in this interface/class correlated to the intDataType.

Specified by:
createDataTypeNumericInteger in interface SQLQueryParserFactoryDataTypes
Parameters:
primitiveType - one of the correlated the primitive types for the intDataType SQLQueryParserFactoryDataTypes.PRIMITIVE_TYPE_SMALLINT precision is 5, SQLQueryParserFactoryDataTypes.PRIMITIVE_TYPE_INTEGER precision is 10, SQLQueryParserFactoryDataTypes.PRIMITIVE_TYPE_BIGINT precision has to be given, default is 10
precision - the total number of digits for given primitiveType SQLQueryParserFactoryDataTypes.PRIMITIVE_TYPE_BIGINT, default is 10 org.eclipse.wst.rdb.internal.models.sql.datatypes.NumericalDataType#setPrecision(int) ranges between 1 and 31
Returns:
the newly constructed intDataType
See Also:
SQLQueryParserFactoryDataTypes.PRIMITIVE_TYPE_SMALLINT, SQLQueryParserFactoryDataTypes.PRIMITIVE_TYPE_INTEGER, SQLQueryParserFactoryDataTypes.PRIMITIVE_TYPE_BIGINT

createDataTypeNumericInteger

public IntegerDataType createDataTypeNumericInteger(int primitiveType,
                                                    int precision,
                                                    java.lang.String typeName)

createDataTypePredefinedDataType

public PredefinedDataType createDataTypePredefinedDataType(java.lang.String typeName)

createDataTypeTime

public TimeDataType createDataTypeTime(int primitiveType,
                                       int precision)
Description copied from interface: SQLQueryParserFactoryDataTypes
Factory method to construct a TimeDataType with its primitiveType and length.

Note: The given primitiveType must be one of the constants for the primitve types in this interface/class correlated to the TimeDataType.

Specified by:
createDataTypeTime in interface SQLQueryParserFactoryDataTypes
Parameters:
primitiveType - one of the correlated the primitive types for the TimeDataType SQLQueryParserFactoryDataTypes.PRIMITIVE_TYPE_TIME, SQLQueryParserFactoryDataTypes.PRIMITIVE_TYPE_TIMESTAMP
precision - optional precision in fractional seconds of this TimeDataType (TimeDataType.setFractionalSecondsPrecision(int)), if not specified default value for given primitiveType SQLQueryParserFactoryDataTypes.PRIMITIVE_TYPE_TIME is 0 and for SQLQueryParserFactoryDataTypes.PRIMITIVE_TYPE_TIMESTAMP is 6
Returns:
the newly constructed TimeDataType
See Also:
SQLQueryParserFactoryDataTypes.PRIMITIVE_TYPE_TIME,

Note: If the optional parameter fractionalSecondsPrecision is not specified, the default value for the given primitiveType {@link #PRIMITIVE_TYPE_TIME} is 0 and for primitiveType {@link #PRIMITIVE_TYPE_TIMESTAMP} is 6.


createDataTypeTime

public TimeDataType createDataTypeTime(int primitiveType,
                                       int precision,
                                       java.lang.String typeName)

createDataTypeUserDefinedType

public UserDefinedType createDataTypeUserDefinedType(java.lang.String aSchemaName,
                                                     java.lang.String aTypeName)

createDefaultExpression

public ValueExpressionDefaultValue createDefaultExpression()

createDeleteStatement_deprecated

public QueryDeleteStatement createDeleteStatement_deprecated(TableInDatabase aTargetTable,
                                                             java.lang.String aAsTable,
                                                             QuerySearchCondition aWhereClause)
Deprecated. use #createDeleteStatement(SQLTableExpression, SQLTableCorrelation, SQLSearchCondition)


createDeleteStatement

public QueryDeleteStatement createDeleteStatement(TableInDatabase aTargetTable,
                                                  TableCorrelation aAsTable,
                                                  QuerySearchCondition aWhereClause)
[New Model]


createDistinctUserDefinedType

public DistinctUserDefinedType createDistinctUserDefinedType(java.lang.String aTypeName)

createExpressionList

public java.util.List createExpressionList(java.util.List aExprList,
                                           QueryValueExpression aValExpr)

createFromClause

public java.util.List createFromClause(java.util.List aTableRefList,
                                       TableReference aTableRef)

createFunctionExpression

public ValueExpressionFunction createFunctionExpression(java.lang.String aFuncName,
                                                        java.lang.String distinct,
                                                        java.util.List aFuncParmList,
                                                        java.lang.String aSchemaName)

createGroupingExpression

public GroupingExpression createGroupingExpression(QueryValueExpression aExpr)

createGroupingSets

public GroupingSets createGroupingSets(java.util.List aGroupingSetsElementList)

createGroupingSetsElementList

public java.util.List createGroupingSetsElementList(java.util.List aGroupingSetsElementList,
                                                    GroupingSetsElement aGroupingSetsElement)

createGroupingSetsElementExpression

public GroupingSetsElementExpression createGroupingSetsElementExpression(Grouping aGrouping)

createGroupingSetsElementExprList

public java.util.List createGroupingSetsElementExprList(java.util.List aGroupingSetsElementExprList,
                                                        GroupingSetsElementExpression aGroupingSetsElementExpr)

createGroupingSetsElementSublist

public GroupingSetsElementSublist createGroupingSetsElementSublist(java.util.List aGroupingSetsElementExprList)

createGroupingSpecificationList

public java.util.List createGroupingSpecificationList(java.util.List aGroupingSpecList,
                                                      GroupingSpecification aGroupingSpec)

createInsertRow

public java.util.List createInsertRow(java.util.List aInsertExprList,
                                      ValuesRow aInsertExpr)

createInsertStatement

public QueryInsertStatement createInsertStatement(TableInDatabase aTargetTable,
                                                  java.util.List aTargetColumnList,
                                                  java.util.List aSrcValuesRowList)
Started to change right here! has either a list of source values aSrcValuesRowList rather than a SrcQuery

Parameters:
aTargetTable -
aTargetColumnList -
aSrcValuesRowList -
Returns:

createInsertStatement

public QueryInsertStatement createInsertStatement(TableInDatabase aTargetTable,
                                                  java.util.List aColumnList,
                                                  QueryExpressionRoot aSrcQuery)
has SrcQuery rather than a list of source values aSrcValuesRowList

Parameters:
aTargetTable -
aColumnList -
aSrcQuery -
Returns:

createInsertValuesRow

public ValuesRow createInsertValuesRow(java.util.List aExprList)

createInsertValuesRow

public ValuesRow createInsertValuesRow(QueryValueExpression aValueExpr)

createJoinedTable

public TableJoined createJoinedTable(TableReference aLeftTable,
                                     int aJoinType,
                                     TableReference aRightTable,
                                     QuerySearchCondition aJoinCond)

createLabeledDurationExpression

public ValueExpressionLabeledDuration createLabeledDurationExpression(QueryValueExpression aExpr,
                                                                      int aDurationType)

createMergeStatement

public QueryMergeStatement createMergeStatement(MergeTargetTable aTargetTable,
                                                MergeSourceTable aSourceTable,
                                                MergeOnCondition aOnCondition,
                                                java.util.List aOperSpecList)

createMergeTargetTable

public MergeTargetTable createMergeTargetTable(TableExpression aTableExpr,
                                               java.lang.String aTableAliasName)

createMergeSourceTable

public MergeSourceTable createMergeSourceTable(TableReference aTableRef)

createMergeOnCondition

public MergeOnCondition createMergeOnCondition(QuerySearchCondition aSearchCond)

createMergeInsertSpecification

public MergeInsertSpecification createMergeInsertSpecification(java.util.List aTargetColList,
                                                               ValuesRow aValuesRow)

createMergeUpdateSpecification

public MergeUpdateSpecification createMergeUpdateSpecification(java.util.List aAssignmentExprList)

createMergeOperatationSpecificationList

public java.util.List createMergeOperatationSpecificationList(java.util.List aMergeSpecList,
                                                              MergeOperationSpecification aMergeSpec)
This is for as syntax hack in the parser. The Merge statement can have an update operation spec, or an insert operation spec or both, in either order. The simple way to handle this in the grammar is to treat them as a list of merge operation specs.


createNullExpression

public ValueExpressionNullValue createNullExpression()

createNestedCondition

public SearchConditionNested createNestedCondition(QuerySearchCondition aCondition)

createNestedConditionNegated

public SearchConditionNested createNestedConditionNegated(QuerySearchCondition aCondition)

createNestedExpression

public ValueExpressionNested createNestedExpression(QueryValueExpression aNestedExpr)

createNestedTable

public TableNested createNestedTable(TableReference aNestedTable)

createOrderByClause

public java.util.List createOrderByClause(java.util.List aOrderByList,
                                          OrderBySpecification aOrderByExpr)

createOrderByExpression

public OrderBySpecification createOrderByExpression(QueryValueExpression aOrderByExpr,
                                                    int orderingSpec,
                                                    int nullOrdering)
creates an OrderBySpecification.

Parameters:
aOrderByExpr - QueryValueExpression to order by
orderingSpec - one of the constants ORDERING_SPEC_TYPE_ASC, ORDERING_SPEC_TYPE_DESC or ORDERING_SPEC_TYPE_NONE
nullOrdering - one of the constants NULL_ORDERING_TYPE_NULLS_FIRST, NULL_ORDERING_TYPE_NULLS_LAST or NULL_ORDERING_TYPE_NONE
Returns:
OrderBySpecification

createOrderByExpression

public OrderBySpecification createOrderByExpression(QueryValueExpression aOrderByExpr,
                                                    java.lang.String optAscDesc)
Deprecated. use createOrderByExpression(QueryValueExpression, int, int)

creates an OrderBySpecification

Parameters:
aOrderByExpr - QueryValueExpression to order by
optAscDesc - one of the following constants ORDER_ASC or ORDER_DESC

createPredefinedDataType

public PredefinedDataType createPredefinedDataType(java.lang.String aTypeName)

createPredicateBasic

public PredicateBasic createPredicateBasic(QueryValueExpression aLeftExpr,
                                           int aRelOper,
                                           QueryValueExpression aRightExpr)

createPredicateBetween

public PredicateBetween createPredicateBetween(QueryValueExpression aLeftExpr,
                                               boolean isNotBetween,
                                               QueryValueExpression aRightExpr1,
                                               QueryValueExpression aRightExpr2)

createPredicateExists

public PredicateExists createPredicateExists(QueryExpressionBody aQueryExpr)

createPredicateInValueList

public PredicateInValueList createPredicateInValueList(QueryValueExpression aLeftExpr,
                                                       boolean isNotIn,
                                                       java.util.List aValuesList)

createPredicateInValueRowSelect

public PredicateInValueRowSelect createPredicateInValueRowSelect(java.util.List aValuesList,
                                                                 boolean isNotIn,
                                                                 QueryExpressionRoot aQueryExpr)

createPredicateInValueSelect

public PredicateInValueSelect createPredicateInValueSelect(QueryValueExpression aLeftExpr,
                                                           boolean isNotIn,
                                                           QueryExpressionRoot aQueryExpr)

createPredicateLike

public PredicateLike createPredicateLike(QueryValueExpression aMatchingExpr,
                                         boolean isNotLike,
                                         QueryValueExpression aPatternExpr,
                                         QueryValueExpression aEscapeExpr)

createPredicateNull

public PredicateIsNull createPredicateNull(QueryValueExpression aValueExpr,
                                           boolean isNotNull)

createPredicateQuantifiedValueSelect

public PredicateQuantifiedValueSelect createPredicateQuantifiedValueSelect(QueryValueExpression aValueExpr,
                                                                           int aRelOper,
                                                                           int aQuantType,
                                                                           QueryExpressionRoot aQueryExpr)

createPredicateQuantifiedRowSelect

public PredicateQuantifiedRowSelect createPredicateQuantifiedRowSelect(java.util.List aValueExprList,
                                                                       int aQuantType,
                                                                       QueryExpressionRoot aQueryExpr)

createProcedureReference

public ProcedureReference createProcedureReference(java.lang.String aSchemaName,
                                                   java.lang.String aProcName)

createQueryCombined

public QueryCombined createQueryCombined(QueryExpressionBody aLeftQuery,
                                         int combinedOperator,
                                         QueryExpressionBody aRightQuery)

createQueryCombined

public QueryCombined createQueryCombined(QueryExpressionBody aLeftQuery,
                                         int combinedOperator,
                                         QueryExpressionBody aRightQuery,
                                         java.util.List aSortSpecList,
                                         int aRowFetchLimit)

createQueryNested

public QueryNested createQueryNested(QueryExpressionBody queryExprBody)

createQueryNested

public QueryNested createQueryNested(QueryExpressionBody queryExprBody,
                                     java.util.List aSortSpecList,
                                     int aRowFetchLimit)

createQuerySelect

public QuerySelect createQuerySelect(java.lang.String optAllOrDistinct,
                                     java.util.List aResultColList,
                                     java.util.List aTableRefList,
                                     QuerySearchCondition aWhereClause,
                                     java.util.List aGroupByList,
                                     QuerySearchCondition aHavingClause)

createQuerySelect

public QuerySelect createQuerySelect(java.lang.String optAllOrDistinct,
                                     java.util.List aResultColList,
                                     java.util.List aTableRefList,
                                     QuerySearchCondition aWhereClaus,
                                     java.util.List aGroupByList,
                                     QuerySearchCondition aHavingClaus,
                                     java.util.List aSortSpecList,
                                     int aRowFetchLimit)

createQueryValues

public QueryValues createQueryValues(java.util.List aValuesRowList)

createQueryValues

public QueryValues createQueryValues(java.util.List aValuesRowList,
                                     java.util.List aSortSpecList,
                                     int aRowFetchLimit)

createQueryExpressionRoot

public QueryExpressionRoot createQueryExpressionRoot(QueryExpressionBody aQuery,
                                                     java.util.List aWithTableSpecList)

createReferenceTable

public TableExpression createReferenceTable(java.lang.String aSchemaName,
                                            java.lang.String aTableName,
                                            java.lang.String aCorrName)
Deprecated. use createReferenceTable(String, String, TableCorrelation)

use createReferenceTable(aSchemaName, aTableName, createTableCorrelation(aCorrName))


createReferenceTable

public TableExpression createReferenceTable(java.lang.String aSchemaName,
                                            java.lang.String aTableName,
                                            TableCorrelation aTableCorr)

createResultColumn

public ResultColumn createResultColumn(QueryValueExpression aResultColExpr,
                                       java.lang.String aAsName)

createResultTableAllColumns

public ResultTableAllColumns createResultTableAllColumns(java.lang.String aTableName)

createResultTableAllColumns

public ResultTableAllColumns createResultTableAllColumns(java.lang.String aTableName,
                                                         java.lang.String aSchemaName)

createScalarSelectExpression

public ValueExpressionScalarSelect createScalarSelectExpression(QueryExpressionRoot aQueryExpr)

createSchema

public Schema createSchema(java.lang.String aSchemaName)

createSelectClause

public java.util.List createSelectClause(java.util.List aResultSpecList,
                                         QueryResultSpecification aResultCol)

createSelectStatement

public QuerySelectStatement createSelectStatement(QuerySelect aQrySel,
                                                  java.util.List aOrderByList)

createSelectStatement

public QuerySelectStatement createSelectStatement(QueryExpressionRoot aQryExpr,
                                                  java.util.List aOrderByList)

createSelectStatement

public QuerySelectStatement createSelectStatement(QueryExpressionRoot aQryExpr,
                                                  java.util.List aOrderByList,
                                                  UpdatabilityExpression aUpdatabilityExpr)

createSimpleExpression

public ValueExpressionSimple createSimpleExpression(java.lang.String aExpr)

createSimpleTable

public TableInDatabase createSimpleTable(java.lang.String aSchemaName,
                                         java.lang.String aTableName)

createSpecialRegisterExpression

public ValueExpressionFunction createSpecialRegisterExpression(java.lang.String aSpecialReg)
Creates a ValueExpressionFunction with name aSpecialReg and field ValueExpressionFunction.isSpecialRegister()==true

Parameters:
aSpecialReg - the register name, e.g. SPECIAL_REGISTER_CURRENT_DATE.
Returns:
a ValueExpressionFunction

createSpecialRegisterExpression

public ValueExpressionFunction createSpecialRegisterExpression(java.lang.String aRegName,
                                                               UserDefinedType aDataType)
Creates a function expression object for the special register with the name and user-defined data type. This is for the special register CURRENT_TRANSFORM_GROUP_FOR_TYPE.


createSpecialRegisterExpression

public ValueExpressionFunction createSpecialRegisterExpression(java.lang.String aSpecialReg,
                                                               java.lang.String value)
Deprecated. use createSpecialRegisterExpression(String, UserDefinedType) instead

Creates a function expression object for the special register with the name and user-defined type name. This is for the special register CURRENT_TRANSFORM_GROUP_FOR_TYPE.

Returns:
a ValueExpressionFunction

createSuperGroups

public SuperGroup createSuperGroups(java.util.List aSuperGroupsElementList,
                                    int aSuperGroupType)

createSuperGroupsElementList

public java.util.List createSuperGroupsElementList(java.util.List aSuperGroupsElementList,
                                                   SuperGroupElement aSuperGroupsElement)

createSuperGroupsElementExpression

public SuperGroupElementExpression createSuperGroupsElementExpression(GroupingExpression aGroupingExpr)

createSuperGroupsElementExprList

public java.util.List createSuperGroupsElementExprList(java.util.List aSuperGroupsElementExprList,
                                                       SuperGroupElementExpression aSuperGroupsElementExpr)

createSuperGroupsElementSublist

public SuperGroupElementSublist createSuperGroupsElementSublist(java.util.List aSuperGroupsElementExprList)

createTableCorrelation

public TableCorrelation createTableCorrelation(java.lang.String aCorrName)
Parameters:
aCorrName - correlation name
Returns:
SQLTableCorrelation or null if given correlation name is null

createTableCorrelation

public TableCorrelation createTableCorrelation(java.lang.String aCorrName,
                                               java.util.List aColNameList)

createTableExpressionQuery

public TableExpression createTableExpressionQuery(QueryExpressionBody aSubquery,
                                                  java.lang.String aCorrName)
Deprecated. use createTableExpressionQuery(QueryExpressionBody, TableCorrelation)

use createTableExpressionQuery(aSubquery, createTableCorrelation(aCorrName))

Parameters:
aSubquery -
aCorrName -
Returns:

createTableExpressionQuery

public TableExpression createTableExpressionQuery(QueryExpressionBody aSubquery,
                                                  TableCorrelation aTableCorr)

createTableFunction

public TableFunction createTableFunction(java.lang.String aFuncName,
                                         java.util.List aFuncParmList,
                                         java.lang.String aSchemaName,
                                         TableCorrelation aTableCorr)

createUpdatabilityExpression

public UpdatabilityExpression createUpdatabilityExpression(int aUpdatabilityType,
                                                           java.util.List aUpdateOfColList)

createUpdateAssignmentClause

public java.util.List createUpdateAssignmentClause(java.util.List aExprList,
                                                   UpdateAssignmentExpression aExpr)

createUpdateAssignmentExpression

public UpdateAssignmentExpression createUpdateAssignmentExpression(ValueExpressionColumn aTargetCol,
                                                                   QueryValueExpression aExpr)

createUpdateAssignmentExpression

public UpdateAssignmentExpression createUpdateAssignmentExpression(java.util.List aTargetColList,
                                                                   java.util.List aExprList)

createUpdateAssignmentExpression

public UpdateAssignmentExpression createUpdateAssignmentExpression(java.util.List aTargetColList,
                                                                   QueryExpressionBody aUpdateQuery)

createUpdateStatement

public QueryUpdateStatement createUpdateStatement(TableInDatabase aTargetTable,
                                                  TableCorrelation aAsTable,
                                                  java.util.List aAssignmentList,
                                                  QuerySearchCondition aWhereCond)

createCallStatement

public CallStatement createCallStatement(ProcedureReference procRef,
                                         java.util.List argList)

createUserDefinedTypeFromDomainName

public DataType createUserDefinedTypeFromDomainName(java.lang.String domainName)
Deprecated. 


createVariableExpression

public ValueExpressionVariable createVariableExpression(java.lang.String aVarName)

createValueExpressionRow

public ValueExpressionRow createValueExpressionRow(java.util.List aExprList)

createValuesRow

public ValuesRow createValuesRow(java.util.List aValueExprList)

createValuesRow

public ValuesRow createValuesRow(QueryValueExpression aValueExpr)

createValuesRowList

public java.util.List createValuesRowList(java.util.List aValuesRowList,
                                          ValuesRow aValuesRow)

createWithTableSpecification

public WithTableSpecification createWithTableSpecification(java.lang.String aTableIdentifier,
                                                           java.util.List aColumnNameList,
                                                           QueryExpressionBody aWithSource)

createWithTableSpecificationList

public java.util.List createWithTableSpecificationList(java.util.List aTableWithSpecList,
                                                       WithTableSpecification aTableWithSpec)

isColumnFunction

public static boolean isColumnFunction(java.lang.String aFuncName)
Returns whether or not the given function name is a column (summary) function.

Parameters:
name - the function name to check
Returns:
true when the given function is a column function, otherwise false

isDistinctColumnFunction

public static boolean isDistinctColumnFunction(java.lang.String aFuncName)
Returns whether or not the given function name is a column (summary) function that allows the DISTINCT keyword in the parameter list.

Parameters:
name - the function name to check
Returns:
true when the given function is a column function with distinct, otherwise false

negateCondition

public QuerySearchCondition negateCondition(QuerySearchCondition aSearchCond,
                                            boolean negate)

negatePredicate

public Predicate negatePredicate(Predicate aPredicate,
                                 boolean negate)

setUnaryOperator

public QueryValueExpression setUnaryOperator(QueryValueExpression expr,
                                             int op)