Top Description Fields Constructors Methods
org.hsqldb

public Class Scanner

extends Object
Class Inheritance
Imports
java.math.BigDecimal, java.util.Locale, org.hsqldb.error.Error, .ErrorCode, org.hsqldb.lib.ArrayUtil, .CharArrayWriter, .HsqlByteArrayOutputStream, .OrderedIntHashSet, org.hsqldb.map.BitMap, .ValuePool, org.hsqldb.types.BinaryData, .BinaryType, .BitType, .CharacterType, .DTIType, .DateTimeType, .HsqlDateTime, .IntervalMonthData, .IntervalSecondData, .IntervalType, .NumberType, .TimeData, .TimestampData, .Type, .Types

Scans for SQL tokens.
Author
Fred Toussi (fredt@users dot sourceforge.net)
Since
1.9.0
Version
2.7.3

Field Summary

Modifier and TypeField and Description
pack-priv boolean
pack-priv byte[]
pack-priv HsqlByteArrayOutputStream
pack-priv char[]
pack-priv boolean
pack-priv CharArrayWriter
pack-priv int
pack-priv Type
private int
private boolean
pack-priv boolean
private int
private int
private String
pack-priv int
private static final int
pack-priv static final String[]
pack-priv boolean
pack-priv static final char[]
pack-priv String
pack-priv Token
pack-priv int
pack-priv static final char[]
pack-priv static final OrderedIntHashSet

Constructor Summary

AccessConstructor and Description
public
public
Scanner(Session session, String sql)

Method Summary

Modifier and TypeMethod and Description
private int
charAt(int i)

public synchronized BinaryData
convertToBinary(String s, boolean uuid)

public synchronized BinaryData
public synchronized Object
public synchronized Number
pack-priv void
private static int
countEndOfLines(String s, int toPosition)

public Type
pack-priv static int
getHexValue(int c)

returns hex value of a hex character, or -1 if not a hex character

public int
pack-priv String
getPart(int start, int end)

public String
public Token
pack-priv int
public int
public Object
public TimestampData
public Object
public TimeData
public TimestampData
pack-priv void
position(int position)

public void
replaceToken(String newToken)

public void
reset(Session session, String sql)

public void
pack-priv void
pack-priv void
pack-priv void
public void
pack-priv void
pack-priv void
public void
private boolean
pack-priv void
pack-priv boolean
pack-priv void
scanDateParts(int lastPart)

public void
private int
private void
pack-priv int
scanIntervalFraction(int decimalPrecision)

pack-priv boolean
pack-priv void
pack-priv IntervalType
scanIntervalType()

Reads the type part of the INTERVAL

public long
public void
private void
scanNext(int error)

public boolean
pack-priv void
pack-priv boolean
public boolean
scanSpecialIdentifier(String identifier)

Only for identifiers that are part of known token sequences

public void
scanStringPart(char quoteChar)

pack-priv void
scanToken()

token [separator] , nondelimiter {delimiter | separator}

public boolean
private boolean
private void
public void
public boolean
private void
public void
pack-priv boolean
private boolean
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

backtickQuotingback to summary
pack-priv boolean backtickQuoting
byteBufferback to summary
pack-priv byte[] byteBuffer
byteOutputStreamback to summary
pack-priv HsqlByteArrayOutputStream byteOutputStream
charBufferback to summary
pack-priv char[] charBuffer
charLiteralback to summary
pack-priv boolean charLiteral
charWriterback to summary
pack-priv CharArrayWriter charWriter
currentPositionback to summary
pack-priv int currentPosition
dateTimeTypeback to summary
pack-priv Type dateTimeType
fractionPrecisionback to summary
private int fractionPrecision
hasNonSpaceSeparatorback to summary
private boolean hasNonSpaceSeparator
hyphenInBinaryback to summary
pack-priv boolean hyphenInBinary
intervalPositionback to summary
private int intervalPosition
intervalPrecisionback to summary
private int intervalPrecision
intervalStringback to summary
private String intervalString
limitback to summary
pack-priv int limit
maxPooledStringLengthback to summary
private static final int maxPooledStringLength
multiback to summary
pack-priv static final String[] multi
nullAndBooleanAsValueback to summary
pack-priv boolean nullAndBooleanAsValue
specialsback to summary
pack-priv static final char[] specials
sqlStringback to summary
pack-priv String sqlString
tokenback to summary
pack-priv Token token
tokenPositionback to summary
pack-priv int tokenPosition
whitespaceback to summary
pack-priv static final char[] whitespace
whiteSpaceSetback to summary
pack-priv static final OrderedIntHashSet whiteSpaceSet

Constructor Detail

Scannerback to summary
public Scanner()
Scannerback to summary
public Scanner(Session session, String sql)

Method Detail

charAtback to summary
private int charAt(int i)
convertToBinaryback to summary
public synchronized BinaryData convertToBinary(String s, boolean uuid)
convertToBitback to summary
public synchronized BinaryData convertToBit(String s)
convertToDatetimeIntervalback to summary
public synchronized Object convertToDatetimeInterval(SessionInterface session, String s, DTIType type)
convertToNumberback to summary
public synchronized Number convertToNumber(String s, NumberType numberType)
convertUnicodeStringback to summary
pack-priv void convertUnicodeString(int escape)
countEndOfLinesback to summary
private static int countEndOfLines(String s, int toPosition)
getDataTypeback to summary
public Type getDataType()
getHexValueback to summary
pack-priv static int getHexValue(int c)

returns hex value of a hex character, or -1 if not a hex character

getLineNumberback to summary
public int getLineNumber()
getPartback to summary
pack-priv String getPart(int start, int end)
getStringback to summary
public String getString()
getTokenback to summary
public Token getToken()
getTokenPositionback to summary
pack-priv int getTokenPosition()
getTokenTypeback to summary
public int getTokenType()
getValueback to summary
public Object getValue()
newDateback to summary
public TimestampData newDate(String s)
newIntervalback to summary
public Object newInterval(String s, IntervalType type)
newTimeback to summary
public TimeData newTime(String s)
newTimestampback to summary
public TimestampData newTimestamp(String s)
positionback to summary
pack-priv void position(int position)
replaceTokenback to summary
public void replaceToken(String newToken)
resetback to summary
public void reset(Session session, String sql)
resetback to summary
public void reset(String sql)
resetStateback to summary
pack-priv void resetState()
scanBinaryStringback to summary
pack-priv void scanBinaryString()
scanBinaryStringPartback to summary
pack-priv void scanBinaryStringPart()
scanBinaryStringWithQuoteback to summary
public void scanBinaryStringWithQuote()
scanBitStringback to summary
pack-priv void scanBitString()
scanBitStringPartback to summary
pack-priv void scanBitStringPart(BitMap map)
scanBitStringWithQuoteback to summary
public void scanBitStringWithQuote()
scanBracketedCommentback to summary
private boolean scanBracketedComment()
scanCharacterStringback to summary
pack-priv void scanCharacterString()
scanCommentAsInlineSeparatorback to summary
pack-priv boolean scanCommentAsInlineSeparator()
scanDatePartsback to summary
pack-priv void scanDateParts(int lastPart)
scanEndback to summary
public void scanEnd()
scanEscapeDefinitionback to summary
private int scanEscapeDefinition()
scanIdentifierChainback to summary
private void scanIdentifierChain()
scanIntervalFractionback to summary
pack-priv int scanIntervalFraction(int decimalPrecision)
scanIntervalSignback to summary
pack-priv boolean scanIntervalSign()
scanIntervalSpacesback to summary
pack-priv void scanIntervalSpaces()
scanIntervalTypeback to summary
pack-priv IntervalType scanIntervalType()

Reads the type part of the INTERVAL

scanIntervalValueback to summary
public long scanIntervalValue(IntervalType type)
scanNextback to summary
public void scanNext()
scanNextback to summary
private void scanNext(int error)
scanNullback to summary
public boolean scanNull()
scanNumberback to summary
pack-priv void scanNumber()
scanSeparatorback to summary
pack-priv boolean scanSeparator()
scanSpecialIdentifierback to summary
public boolean scanSpecialIdentifier(String identifier)

Only for identifiers that are part of known token sequences

scanStringPartback to summary
public void scanStringPart(char quoteChar)
scanTokenback to summary
pack-priv void scanToken()

token [separator] , nondelimiter {delimiter | separator}

scanUndelimitedIdentifierback to summary
public boolean scanUndelimitedIdentifier()
scanUnicodeIdentifierback to summary
private boolean scanUnicodeIdentifier()
scanUnicodeStringback to summary
private void scanUnicodeString()
scanUUIDStringWithQuoteback to summary
public void scanUUIDStringWithQuote()
scanWhitespaceback to summary
public boolean scanWhitespace()
setIdentifierPropertiesback to summary
private void setIdentifierProperties()
setNullAndBooleanAsValueback to summary
public void setNullAndBooleanAsValue()
shiftPrefixesback to summary
pack-priv boolean shiftPrefixes()
skipBracketedCommentback to summary
private boolean skipBracketedComment()