Top Description Inners Fields Constructors Methods
org.hsqldb

public Class ParserDQL

extends ParserBase
Class Inheritance
Known Direct Subclasses
org.hsqldb.ParserDML
Imports
org.hsqldb.HsqlNameManager.HsqlName, .HsqlNameManager.SimpleName, .QueryExpression.RecursiveQuerySettings, org.hsqldb.error.Error, .ErrorCode, org.hsqldb.lib.ArrayUtil, .HsqlArrayList, .Iterator, .List, .LongDeque, .OrderedHashMap, .OrderedHashSet, .OrderedIntKeyHashMap, org.hsqldb.map.BitMap, .ValuePool, org.hsqldb.result.ResultConstants, .ResultProperties, org.hsqldb.types.ArrayType, .BinaryType, .BlobType, .CharacterType, .Charset, .ClobType, .Collation, .DTIType, .IntervalType, .NumberType, .Type, .Types, .UserTypeModifier

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

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static class

Field Summary

Modifier and TypeField and Description
protected final ParserDQL.CompileContext
protected Database
protected Session
Inherited from org.hsqldb.ParserBase:
isRecordingisSchemaDefinitionisViewDefinitionlastErrorlastSynonymLONG_MAX_VALUE_INCREMENTpartPositionrecordedStatementscannertoken

Constructor Summary

AccessConstructor and Description
pack-priv
ParserDQL(Session
the connected context
session
,
Scanner
the token source from which to parse commands
scanner
,
ParserDQL.CompileContext baseContext)

Constructs a new Parser object with the given context.

Method Summary

Modifier and TypeMethod and Description
private void
pack-priv void
pack-priv void
pack-priv StatementQuery
compileCursorSpecification(RangeGroup[] rangeGroups, int props, boolean isRoutine)

Retrieves a SELECT or other query expression Statement from this parse context.

pack-priv StatementQuery
compileDeclareCursorOrNull(RangeGroup[] rangeGroups, boolean isRoutine)

pack-priv StatementDMQL
pack-priv Expression
pack-priv TableDerived
pack-priv TableDerived
pack-priv TableDerived
private TableDerived
private Expression
readAggregateExpression(int tokenType)

private Expression
pack-priv Expression
private Expression
readCaseWhen(final Expression l)

Reads part of a CASE ...

private Expression
readCaseWhenExpressionOrNull()

reads a CASEWHEN expression

private Expression
readCastExpression()

Reads a CAST expression

pack-priv int
readCloseBrackets(int limit)

private Expression
readCoalesceExpression()

Reads a COALESE expression

pack-priv Collation
pack-priv Expression
readCollection(int type)

pack-priv int[]

Returns:

array of column indexes
readColumnList
(Table
table that contains the columns
table
,
boolean
boolean
ascOrDesc
)

Process a bracketed column list as used in the declaration of SQL CONSTRAINTS and return an array containing the indexes of the columns within the table.

pack-priv void
readColumnNameList(OrderedHashSet<String> set, BitMap quotedFlags, boolean readAscDesc)

pack-priv HsqlNameManager.SimpleName[]
pack-priv HsqlNameManager.HsqlName[]
pack-priv OrderedHashSet<String>
readColumnNames(boolean readAscDesc)

pack-priv OrderedHashSet<String>
readColumnNames(BitMap quotedFlags, boolean readAscDesc)

private Expression
readColumnOrFunctionExpression()

reads a Column or Function expression

private Expression
private Expression
private Expression
private Expression
pack-priv void
readExpression(HsqlArrayList<Expression> exprList, short[] parseList, int start, int count, boolean isOption)

private void
pack-priv Expression
private Expression
private Expression
readIfNull2ExpressionOrNull()

Reads a NVL2 expression

private Expression
readIfNullExpressionOrNull()

Reads a ISNULL or ISNULL of NVL expression

pack-priv Expression
pack-priv Expression
pack-priv boolean
readJSONNullClause(boolean defaultValue)

pack-priv Expression
pack-priv Expression
pack-priv Type
pack-priv boolean
readJSONUniqueClause(boolean defaultValue)

private Expression
private Expression
pack-priv Type
protected Table
pack-priv void
pack-priv HsqlNameManager.HsqlName
pack-priv HsqlNameManager.HsqlName
pack-priv HsqlNameManager.HsqlName
readNewSchemaObjectName(int type, boolean checkSchema)

pack-priv Expression
private Expression
readNullIfExpression()

Reads a NULLIF expression

pack-priv int
protected RangeVariable
pack-priv Expression
pack-priv HsqlNameManager.HsqlName
pack-priv SchemaObject
pack-priv SchemaObject
private Expression
pack-priv ColumnSchema
readSimpleColumnName(RangeVariable rangeVar, boolean withPrefix)

pack-priv ColumnSchema
readSimpleColumnName(Table table, boolean withPrefix)

pack-priv void
readSimpleColumnNames(OrderedHashSet<String> columns, RangeVariable rangeVar, boolean withPrefix)

pack-priv void
readSimpleColumnNames(OrderedHashSet<String> columns, Table table, boolean withPrefix)

pack-priv HsqlNameManager.SimpleName
pack-priv Expression
private Expression
pack-priv Table
pack-priv Table
readTableName(boolean orSynonym)

protected RangeVariable
readTableOrSubquery()

Creates a RangeVariable from the parse context.

pack-priv void
pack-priv Type
readTypeDefinition(boolean allowCollation, boolean includeUserTypes)

private Expression
readValue(Expression e, int opType)

pack-priv void
pack-priv void
reset(Session session, String
a new SQL character sequence to replace the current one
sql
)

Overrides org.hsqldb.ParserBase.reset.

Resets this parse context with the given SQL character sequence.

pack-priv void
rewind(int position)

Overrides org.hsqldb.ParserBase.rewind.

pack-priv Expression
pack-priv Expression
XreadAllTypesFactor(boolean boole)

pack-priv Expression
XreadAllTypesPrimary(boolean boole)

pack-priv Expression
XreadAllTypesTerm(boolean boole)

pack-priv Expression
pack-priv Expression
pack-priv Expression
private ExpressionLogical
pack-priv Expression
pack-priv Expression
pack-priv Expression
pack-priv Expression
pack-priv Expression
pack-priv Expression
pack-priv Expression
pack-priv Expression
pack-priv Expression
pack-priv Expression
pack-priv Expression
pack-priv Expression
pack-priv Expression
pack-priv Expression
pack-priv Expression
pack-priv Expression
pack-priv Expression
pack-priv Expression
pack-priv void
pack-priv Expression
pack-priv Expression
private ExpressionLogical
pack-priv Expression
pack-priv Expression
XreadInValueList(int degree)

pack-priv Expression
pack-priv TableDerived
pack-priv QuerySpecification
pack-priv Expression
private ExpressionLogical
private void
XreadLimit(SortAndSlice sortAndSlice)

private ExpressionLogical
pack-priv Expression
pack-priv Expression
pack-priv Expression
private SortAndSlice
pack-priv SortAndSlice
private ExpressionLogical
XreadPeriodPredicateRightPart(int opType, Expression left)

OVERLAPS does not require PERIOD, others do.

pack-priv Expression
pack-priv Expression
private ExpressionLogical
pack-priv ExpressionPeriodOp
pack-priv QueryExpression
pack-priv QueryExpression
pack-priv QueryExpression
pack-priv QuerySpecification
pack-priv ExpressionPeriodOp
XreadQuerySystemPeriodSpecOrNull(Table table)

Returns a period condition (including a default) for all tables with a system period, otherwise null;

pack-priv QueryExpression
pack-priv void
pack-priv TableDerived
pack-priv Expression
XreadRowElementList(boolean multiple)

pack-priv Expression
pack-priv Expression
pack-priv Expression
private TableDerived
pack-priv Expression
pack-priv Expression
pack-priv Expression
pack-priv QuerySpecification
private QueryExpression
pack-priv QuerySpecification
pack-priv Expression
pack-priv Expression
pack-priv Expression
pack-priv TableDerived
pack-priv TableDerived
pack-priv void
pack-priv Expression
pack-priv TableDerived
pack-priv void
pack-priv Expression
pack-priv Expression
pack-priv Table
XreadTableSubqueryOrNull(boolean parens)

pack-priv Expression
pack-priv Expression
private SortAndSlice
pack-priv void
pack-priv int
pack-priv Expression
pack-priv Expression
XreadValueExpression()

value expression ::= common value expression | boolean value expression | row value expression

pack-priv Expression
pack-priv Expression
pack-priv Expression
pack-priv Expression
pack-priv TableDerived
XreadViewSubqueryTable(View view, boolean resolve)

pack-priv void
private SortAndSlice
Inherited from org.hsqldb.ParserBase:
checkIsAnycheckIsDelimitedIdentifiercheckIsIdentifiercheckIsIntegralcheckIsIrregularCharInIdentifiercheckIsNonCoreReservedIdentifiercheckIsNonReservedIdentifiercheckIsQuotedStringcheckIsSimpleNamecheckIsThischeckIsUndelimitedIdentifiercheckIsValueconvertToNumbergetExpressionTypegetLastPartgetLastPartgetPartPositiongetPositiongetRecordedTokengetScannergetStatementgetStatementForRoutineisCoreReservedKeyisDelimitedIdentifierisDelimitedSimpleNameisIdentifierisIntegralisNonCoreReservedIdentifierisNonReservedIdentifierisQuotedStringisReservedKeyisSimpleNameisUndelimitedSimpleNamereadreadAnyreadBigintreadDateTimeIntervalLiteralreadIfThisreadIfThisreadIntegerreadIntegerObjectreadIntervalTypereadPropertyValuePairsreadQuotedStringreadThisreadThisreadUnquotedIdentifierreplaceTokenreplaceTokensetPartPositionstartRecordingtooManyIdentifiersunexpectedTokenunexpectedTokenunexpectedTokenunexpectedTokenRequireunsupportedFeatureunsupportedFeature