Top Description Fields Constructors Methods
org.hsqldb

public Class ParserDML

extends ParserDQL
Class Inheritance
Known Direct Subclasses
org.hsqldb.ParserTable
Imports
org.hsqldb.HsqlNameManager.HsqlName, .RangeGroup.RangeGroupSimple, org.hsqldb.error.Error, .ErrorCode, org.hsqldb.lib.ArrayUtil, .HsqlArrayList, .List, .LongDeque, .OrderedHashSet, org.hsqldb.map.ValuePool, org.hsqldb.types.TimestampData, .Type

Parser for DML statements
Author
Fred Toussi (fredt@users dot sourceforge.net)
Since
1.9.0
Version
2.7.4

Field Summary

Inherited from org.hsqldb.ParserDQL:
compileContextdatabasesession

Constructor Summary

AccessConstructor and Description
pack-priv
ParserDML(Session session, Scanner scanner)

Method Summary

Modifier and TypeMethod and Description
pack-priv StatementDMQL
compileCallStatement(RangeGroup[] rangeGroups, boolean isStrictlyProcedure)

Retrieves a CALL Statement from this parse context.

pack-priv Statement
compileDeleteStatement(RangeGroup[] rangeGroups)

Creates a DELETE-type Statement from this parse context.

pack-priv StatementDMQL
compileInsertStatement(RangeGroup[] rangeGroups)

Retrieves an INSERT Statement from this parse context.

pack-priv StatementDMQL
compileMergeStatement(RangeGroup[] rangeGroups)

Retrieves a MERGE Statement from this parse context.

pack-priv StatementDMQL
compileProcedureCall(RangeGroup[] rangeGroups, RoutineSchema routineSchema)

pack-priv Statement
pack-priv StatementDMQL
compileUpdateStatement(RangeGroup[] rangeGroups)

Creates an UPDATE-type Statement from this parse context.

pack-priv void
readGetClauseList(RangeVariable[] rangeVars, OrderedHashSet<Expression> targets, LongDeque colIndexList, HsqlArrayList<Expression> expressions)

private int
readMergeWhen(RangeGroup[] rangeGroups, RangeGroup rangeGroup, LongDeque updateColIndexList, OrderedHashSet<String> insertColumnNames, OrderedHashSet<Expression> updateTargetSet, HsqlArrayList<Expression> insertExpressions, HsqlArrayList<Expression> updateExpressions, RangeVariable[] targetRangeVars, RangeVariable sourceRangeVar, Expression[] conditions)

Parses a WHEN clause from a MERGE statement.

pack-priv void
pack-priv void
readSetClauseList(RangeGroup[] rangeGroups, RangeVariable[] rangeVars, OrderedHashSet<Expression> targets, LongDeque colIndexList, HsqlArrayList<Expression> expressions)

pack-priv void
resolveOuterReferencesAndTypes(RangeGroup[] rangeGroups, Expression e)

Used in ROUTINE statements.

pack-priv void
pack-priv void
resolveUpdateExpressions(Table targetTable, RangeGroup rangeGroup, int[] columnMap, Expression[] targets, Expression[] colExpressions, RangeGroup[] rangeGroups, RangeVariable valuesRange)

private static void
setParameterTypes(Expression tableExpression, Table table, int[] columnMap)

pack-priv Expression
Inherited from org.hsqldb.ParserDQL:
checkIsSchemaObjectNamecheckValidCatalogNamecompileCursorSpecificationcompileDeclareCursorOrNullcompileShortCursorSpecificationgetRowExpressionnewSubQueryTablenewSubQueryTablenewSubQueryTablereadCaseExpressionreadCloseBracketsreadCollateClauseOrNullreadCollectionreadColumnListreadColumnNameListreadColumnNameListreadColumnNamesreadColumnNamesreadColumnNamesreadExpressionreadFunctionreadJSONArrayreadJSONArrayAggreadJSONNullClausereadJSONObjectreadJSONObjectAggreadJSONReturningClausereadJSONUniqueClausereadMysEnumreadNamedSubqueryOrNullreadNestedParenthesisedTokensreadNewDependentSchemaObjectNamereadNewSchemaNamereadNewSchemaObjectNamereadNextvalFunctionreadOpenBracketsreadRangeVariableForDataChangereadRowreadSchemaNamereadSchemaObjectNamereadSchemaObjectNamereadSimpleColumnNamereadSimpleColumnNamereadSimpleColumnNamesreadSimpleColumnNamesreadSimpleNamereadSQLFunctionreadTableNamereadTableNamereadTableOrSubqueryreadTargetSpecificationListreadTypeDefinitionreadWhereGroupHavingresetrewindXreadAllTypesCommonValueExpressionXreadAllTypesFactorXreadAllTypesPrimaryXreadAllTypesTermXreadAllTypesValueExpressionPrimaryXreadArrayConstructorXreadArrayElementReferenceXreadBooleanFactorOrNullXreadBooleanPredicandXreadBooleanPrimaryOrNullXreadBooleanTermOrNullXreadBooleanTestOrNullXreadBooleanValueExpressionXreadCharacterPrimaryXreadCharacterValueExpressionXreadCollectionDerivedTableXreadContextuallyTypedTableXreadCurrentCollationSpecXreadDateTimeIntervalTermXreadDatetimeValueExpressionXreadDateTimeValueFunctionOrNullXreadDynamicParameterOrNullXreadExplicitRowValueConstructorOrNullXreadFactorXreadFilterExpressionOrNullXreadFromClauseXreadGroupByExpressionXreadGroupByExpressionPrimaryXreadIntervalValueExpressionXreadInValueListXreadInValueListConstructorXreadJoinedTableAsSubqueryOrNullXreadJoinedTableAsViewXreadLateralDerivedTableXreadModifierXreadNumericPrimaryXreadNumericValueExpressionXreadOrderByExpressionXreadPredicateXreadPredicateRightPartXreadQueryApplicationPeriodSpecOrNullXreadQueryExpressionXreadQueryExpressionBodyXreadQueryPrimaryXreadQuerySpecificationXreadQuerySystemPeriodSpecOrNullXreadQueryTermXreadRecursiveFeaturesXreadRecursiveSubqueryBodyXreadRowElementListXreadRowOrCommonValueExpressionXreadRowValueConstructorXreadRowValueExpressionXreadRowValueExpressionListBodyXreadRowValuePredicandXreadRowValueSpecialCaseXreadSelectXreadSimpleTableXreadSimpleValueExpressionPrimaryXreadSimpleValueSpecificationOrNullXreadStringValueExpressionXreadSubqueryTableBodyXreadSubqueryTableBodyXreadTableExpressionXreadTableFunctionDerivedTableXreadTableNamedSubqueryBodyXreadTableReferenceXreadTableRowValueConstructorXreadTableSubqueryXreadTableSubqueryOrNullXreadTargetSpecificationXreadTermXreadUnionCorrespondingClauseXreadUnionTypeXreadUnsignedValueSpecificationOrNullXreadValueExpressionXreadValueExpressionOnDuplicateXreadValueExpressionPrimaryXreadValueExpressionWithContextXreadValueSpecificationOrNullXreadViewSubqueryTableXreadWithClause

Constructor Detail

ParserDMLback to summary
pack-priv ParserDML(Session session, Scanner scanner)

Method Detail

compileCallStatementback to summary
pack-priv StatementDMQL compileCallStatement(RangeGroup[] rangeGroups, boolean isStrictlyProcedure)

Retrieves a CALL Statement from this parse context.

compileDeleteStatementback to summary
pack-priv Statement compileDeleteStatement(RangeGroup[] rangeGroups)

Creates a DELETE-type Statement from this parse context.

compileInsertStatementback to summary
pack-priv StatementDMQL compileInsertStatement(RangeGroup[] rangeGroups)

Retrieves an INSERT Statement from this parse context.

compileMergeStatementback to summary
pack-priv StatementDMQL compileMergeStatement(RangeGroup[] rangeGroups)

Retrieves a MERGE Statement from this parse context.

compileProcedureCallback to summary
pack-priv StatementDMQL compileProcedureCall(RangeGroup[] rangeGroups, RoutineSchema routineSchema)
compileTruncateStatementback to summary
pack-priv Statement compileTruncateStatement()
compileUpdateStatementback to summary
pack-priv StatementDMQL compileUpdateStatement(RangeGroup[] rangeGroups)

Creates an UPDATE-type Statement from this parse context.

readGetClauseListback to summary
pack-priv void readGetClauseList(RangeVariable[] rangeVars, OrderedHashSet<Expression> targets, LongDeque colIndexList, HsqlArrayList<Expression> expressions)
readMergeWhenback to summary
private int readMergeWhen(RangeGroup[] rangeGroups, RangeGroup rangeGroup, LongDeque updateColIndexList, OrderedHashSet<String> insertColumnNames, OrderedHashSet<Expression> updateTargetSet, HsqlArrayList<Expression> insertExpressions, HsqlArrayList<Expression> updateExpressions, RangeVariable[] targetRangeVars, RangeVariable sourceRangeVar, Expression[] conditions)

Parses a WHEN clause from a MERGE statement. This can be either a WHEN MATCHED or WHEN NOT MATCHED clause, and the appropriate values will be updated.

readOnDuplicateClauseListback to summary
pack-priv void readOnDuplicateClauseList(RangeVariable[] rangeVars, OrderedHashSet<Expression> targets, LongDeque colIndexList, HsqlArrayList<Expression> expressions)
readSetClauseListback to summary
pack-priv void readSetClauseList(RangeGroup[] rangeGroups, RangeVariable[] rangeVars, OrderedHashSet<Expression> targets, LongDeque colIndexList, HsqlArrayList<Expression> expressions)
resolveOuterReferencesAndTypesback to summary
pack-priv void resolveOuterReferencesAndTypes(RangeGroup[] rangeGroups, Expression e)

Used in ROUTINE statements. Accepts NEXT VALUE FOR SEQUENCE as source

resolveReferencesAndTypesback to summary
pack-priv void resolveReferencesAndTypes(RangeGroup rangeGroup, RangeGroup[] rangeGroups, Expression e)
resolveUpdateExpressionsback to summary
pack-priv void resolveUpdateExpressions(Table targetTable, RangeGroup rangeGroup, int[] columnMap, Expression[] targets, Expression[] colExpressions, RangeGroup[] rangeGroups, RangeVariable valuesRange)
setParameterTypesback to summary
private static void setParameterTypes(Expression tableExpression, Table table, int[] columnMap)
XreadAndResolveBooleanValueExpressionback to summary
pack-priv Expression XreadAndResolveBooleanValueExpression(RangeGroup[] rangeGroups, RangeGroup rangeGroup)