Top Description Fields Constructors Methods
org.h2.command

public final Class Tokenizer

extends Object
Class Inheritance
Static Imports
org.h2.command.Token.ASTERISK, .Token.AT, .Token.BIGGER, .Token.BIGGER_EQUAL, .Token.CLOSE_BRACE, .Token.CLOSE_BRACKET, .Token.CLOSE_PAREN, .Token.COLON, .Token.COLON_COLON, .Token.COLON_EQ, .Token.COMMA, .Token.CONCATENATION, .Token.DOT, .Token.EQUAL, .Token.MINUS_SIGN, .Token.NOT_EQUAL, .Token.NOT_TILDE, .Token.OPEN_BRACE, .Token.OPEN_BRACKET, .Token.OPEN_PAREN, .Token.PERCENT, .Token.PLUS_SIGN, .Token.SEMICOLON, .Token.SLASH, .Token.SMALLER, .Token.SMALLER_EQUAL, .Token.SPATIAL_INTERSECTS, .Token.TILDE, org.h2.util.ParserUtil.ALL, .ParserUtil.AND, .ParserUtil.ANY, .ParserUtil.ARRAY, .ParserUtil.AS, .ParserUtil.ASYMMETRIC, .ParserUtil.AUTHORIZATION, .ParserUtil.BETWEEN, .ParserUtil.CASE, .ParserUtil.CAST, .ParserUtil.CHECK, .ParserUtil.CONSTRAINT, .ParserUtil.CROSS, .ParserUtil.CURRENT_CATALOG, .ParserUtil.CURRENT_DATE, .ParserUtil.CURRENT_PATH, .ParserUtil.CURRENT_ROLE, .ParserUtil.CURRENT_SCHEMA, .ParserUtil.CURRENT_TIME, .ParserUtil.CURRENT_TIMESTAMP, .ParserUtil.CURRENT_USER, .ParserUtil.DAY, .ParserUtil.DEFAULT, .ParserUtil.DISTINCT, .ParserUtil.ELSE, .ParserUtil.END, .ParserUtil.EXCEPT, .ParserUtil.EXISTS, .ParserUtil.FALSE, .ParserUtil.FETCH, .ParserUtil.FOR, .ParserUtil.FOREIGN, .ParserUtil.FROM, .ParserUtil.FULL, .ParserUtil.GROUP, .ParserUtil.HAVING, .ParserUtil.HOUR, .ParserUtil.IDENTIFIER, .ParserUtil.IF, .ParserUtil.IN, .ParserUtil.INNER, .ParserUtil.INTERSECT, .ParserUtil.INTERVAL, .ParserUtil.IS, .ParserUtil.JOIN, .ParserUtil.KEY, .ParserUtil.LEFT, .ParserUtil.LIKE, .ParserUtil.LIMIT, .ParserUtil.LOCALTIME, .ParserUtil.LOCALTIMESTAMP, .ParserUtil.MINUS, .ParserUtil.MINUTE, .ParserUtil.MONTH, .ParserUtil.NATURAL, .ParserUtil.NOT, .ParserUtil.NULL, .ParserUtil.OFFSET, .ParserUtil.ON, .ParserUtil.OR, .ParserUtil.ORDER, .ParserUtil.PRIMARY, .ParserUtil.QUALIFY, .ParserUtil.RIGHT, .ParserUtil.ROW, .ParserUtil.ROWNUM, .ParserUtil.SECOND, .ParserUtil.SELECT, .ParserUtil.SESSION_USER, .ParserUtil.SET, .ParserUtil.SOME, .ParserUtil.SYMMETRIC, .ParserUtil.SYSTEM_USER, .ParserUtil.TABLE, .ParserUtil.TO, .ParserUtil.TRUE, .ParserUtil.UESCAPE, .ParserUtil.UNION, .ParserUtil.UNIQUE, .ParserUtil.UNKNOWN, .ParserUtil.USER, .ParserUtil.USING, .ParserUtil.VALUE, .ParserUtil.VALUES, .ParserUtil.WHEN, .ParserUtil.WHERE, .ParserUtil.WINDOW, .ParserUtil.WITH, .ParserUtil.YEAR, .ParserUtil._ROWID_

Tokenizer.

Field Summary

Modifier and TypeField and Description
private final boolean
private final boolean
private final BitSet
private final CastDataProvider

Constructor Summary

AccessConstructor and Description
pack-priv
Tokenizer(CastDataProvider provider, boolean identifiersToUpper, boolean identifiersToLower, BitSet nonKeywords)

Method Summary

Modifier and TypeMethod and Description
private static int
assignParameterIndex(ArrayList<Token> tokens, int lastParameter, BitSet parameters)

private String
private static boolean
eq(String expected, String s, int start, int length)

private static boolean
eqCurrent(String expected, String s, int start, int length)

private String
extractIdentifier(String sql, int beginIndex, int endIndex)

private int
findIdentifierEnd(String sql, int end, int i)

private static int
finishBigInteger(String sql, int tokenStart, int end, int i, int start, boolean asBigint, boolean withUnderscore, int radix, ArrayList<Token> tokens)

private static int
getTokenTypeCurrent(String s, int tokenStart, int length)

private static int
parseParameterIndex(String sql, int end, int i, ArrayList<Token> tokens)

private static void
private static int
read0xBinaryString(String sql, int end, int i, ArrayList<Token> tokens)

private int
read_(String sql, int end, int tokenStart, ArrayList<Token> tokens)

private int
readA(String sql, int end, int tokenStart, ArrayList<Token> tokens)

private static String
readAndRemoveUnderscores(String sql, int start, int endIndex, boolean withUnderscore)

private static int
readApproximateNumeric(String sql, int tokenStart, int end, int i, boolean withUnderscore, ArrayList<Token> tokens)

private int
readB(String sql, int end, int tokenStart, ArrayList<Token> tokens)

private static BigDecimal
readBigDecimal(String sql, int tokenStart, int i, boolean withUnderscore)

private static int
readBinaryString(String sql, int tokenStart, int end, int i, ArrayList<Token> tokens)

private int
readC(String sql, int end, int tokenStart, ArrayList<Token> tokens)

private static int
readCharacterString(String sql, int tokenStart, int end, int i, boolean unicode, ArrayList<Token> tokens)

private int
readD(String sql, int end, int tokenStart, ArrayList<Token> tokens)

private int
readE(String sql, int end, int tokenStart, ArrayList<Token> tokens)

private int
readF(String sql, int end, int tokenStart, ArrayList<Token> tokens)

private static int
readFloat(String sql, int tokenStart, int end, int i, boolean withUnderscore, ArrayList<Token> tokens)

private int
readG(String sql, int end, int tokenStart, ArrayList<Token> tokens)

private int
readH(String sql, int end, int tokenStart, ArrayList<Token> tokens)

private int
readI(String sql, int end, int tokenStart, ArrayList<Token> tokens)

private int
readIdentifier(String sql, int end, int tokenStart, int i, ArrayList<Token> tokens)

private int
readIdentifierOrKeyword(String sql, int tokenStart, ArrayList<Token> tokens, int endIndex, int type)

private static int
readIntegerNumber(String sql, int tokenStart, int end, int i, ArrayList<Token> tokens, String name, int radix)

private int
readJ(String sql, int end, int tokenStart, ArrayList<Token> tokens)

private int
readK(String sql, int end, int tokenStart, ArrayList<Token> tokens)

private int
readL(String sql, int end, int tokenStart, ArrayList<Token> tokens)

private int
readM(String sql, int end, int tokenStart, ArrayList<Token> tokens)

private int
readN(String sql, int end, int tokenStart, ArrayList<Token> tokens)

private static int
readNumeric(String sql, int tokenStart, int end, int i, char c, ArrayList<Token> tokens)

private int
readO(String sql, int end, int tokenStart, ArrayList<Token> tokens)

private int
readP(String sql, int end, int tokenStart, ArrayList<Token> tokens)

private int
readQ(String sql, int end, int tokenStart, ArrayList<Token> tokens)

private int
readQuotedIdentifier(String sql, int end, int tokenStart, int i, char c, boolean unicode, ArrayList<Token> tokens)

private int
readR(String sql, int end, int tokenStart, ArrayList<Token> tokens)

private int
readS(String sql, int end, int tokenStart, ArrayList<Token> tokens)

private int
readT(String sql, int end, int tokenStart, ArrayList<Token> tokens)

private int
readU(String sql, int end, int tokenStart, ArrayList<Token> tokens)

private int
readV(String sql, int end, int tokenStart, ArrayList<Token> tokens)

private int
readW(String sql, int end, int tokenStart, ArrayList<Token> tokens)

private int
readY(String sql, int end, int tokenStart, ArrayList<Token> tokens)

private static int
skipBracketedComment(String sql, int end, int i)

private static int
skipSimpleComment(String sql, int end, int i)

private static int
skipWhitespace(String sql, int end, int i)

pack-priv ArrayList<Token>
tokenize(String sql, boolean stopOnCloseParen, BitSet parameters)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

identifiersToLowerback to summary
private final boolean identifiersToLower
identifiersToUpperback to summary
private final boolean identifiersToUpper
nonKeywordsback to summary
private final BitSet nonKeywords
providerback to summary
private final CastDataProvider provider

Constructor Detail

Tokenizerback to summary
pack-priv Tokenizer(CastDataProvider provider, boolean identifiersToUpper, boolean identifiersToLower, BitSet nonKeywords)

Method Detail

assignParameterIndexback to summary
private static int assignParameterIndex(ArrayList<Token> tokens, int lastParameter, BitSet parameters)
convertCaseback to summary
private String convertCase(String s)
eqback to summary
private static boolean eq(String expected, String s, int start, int length)
eqCurrentback to summary
private static boolean eqCurrent(String expected, String s, int start, int length)
extractIdentifierback to summary
private String extractIdentifier(String sql, int beginIndex, int endIndex)
findIdentifierEndback to summary
private int findIdentifierEnd(String sql, int end, int i)
finishBigIntegerback to summary
private static int finishBigInteger(String sql, int tokenStart, int end, int i, int start, boolean asBigint, boolean withUnderscore, int radix, ArrayList<Token> tokens)
getTokenTypeCurrentback to summary
private static int getTokenTypeCurrent(String s, int tokenStart, int length)
parseParameterIndexback to summary
private static int parseParameterIndex(String sql, int end, int i, ArrayList<Token> tokens)
processUescapeback to summary
private static void processUescape(String sql, ArrayList<Token> tokens)
read0xBinaryStringback to summary
private static int read0xBinaryString(String sql, int end, int i, ArrayList<Token> tokens)
read_back to summary
private int read_(String sql, int end, int tokenStart, ArrayList<Token> tokens)
readAback to summary
private int readA(String sql, int end, int tokenStart, ArrayList<Token> tokens)
readAndRemoveUnderscoresback to summary
private static String readAndRemoveUnderscores(String sql, int start, int endIndex, boolean withUnderscore)
readApproximateNumericback to summary
private static int readApproximateNumeric(String sql, int tokenStart, int end, int i, boolean withUnderscore, ArrayList<Token> tokens)
readBback to summary
private int readB(String sql, int end, int tokenStart, ArrayList<Token> tokens)
readBigDecimalback to summary
private static BigDecimal readBigDecimal(String sql, int tokenStart, int i, boolean withUnderscore)
readBinaryStringback to summary
private static int readBinaryString(String sql, int tokenStart, int end, int i, ArrayList<Token> tokens)
readCback to summary
private int readC(String sql, int end, int tokenStart, ArrayList<Token> tokens)
readCharacterStringback to summary
private static int readCharacterString(String sql, int tokenStart, int end, int i, boolean unicode, ArrayList<Token> tokens)
readDback to summary
private int readD(String sql, int end, int tokenStart, ArrayList<Token> tokens)
readEback to summary
private int readE(String sql, int end, int tokenStart, ArrayList<Token> tokens)
readFback to summary
private int readF(String sql, int end, int tokenStart, ArrayList<Token> tokens)
readFloatback to summary
private static int readFloat(String sql, int tokenStart, int end, int i, boolean withUnderscore, ArrayList<Token> tokens)
readGback to summary
private int readG(String sql, int end, int tokenStart, ArrayList<Token> tokens)
readHback to summary
private int readH(String sql, int end, int tokenStart, ArrayList<Token> tokens)
readIback to summary
private int readI(String sql, int end, int tokenStart, ArrayList<Token> tokens)
readIdentifierback to summary
private int readIdentifier(String sql, int end, int tokenStart, int i, ArrayList<Token> tokens)
readIdentifierOrKeywordback to summary
private int readIdentifierOrKeyword(String sql, int tokenStart, ArrayList<Token> tokens, int endIndex, int type)
readIntegerNumberback to summary
private static int readIntegerNumber(String sql, int tokenStart, int end, int i, ArrayList<Token> tokens, String name, int radix)
readJback to summary
private int readJ(String sql, int end, int tokenStart, ArrayList<Token> tokens)
readKback to summary
private int readK(String sql, int end, int tokenStart, ArrayList<Token> tokens)
readLback to summary
private int readL(String sql, int end, int tokenStart, ArrayList<Token> tokens)
readMback to summary
private int readM(String sql, int end, int tokenStart, ArrayList<Token> tokens)
readNback to summary
private int readN(String sql, int end, int tokenStart, ArrayList<Token> tokens)
readNumericback to summary
private static int readNumeric(String sql, int tokenStart, int end, int i, char c, ArrayList<Token> tokens)
readOback to summary
private int readO(String sql, int end, int tokenStart, ArrayList<Token> tokens)
readPback to summary
private int readP(String sql, int end, int tokenStart, ArrayList<Token> tokens)
readQback to summary
private int readQ(String sql, int end, int tokenStart, ArrayList<Token> tokens)
readQuotedIdentifierback to summary
private int readQuotedIdentifier(String sql, int end, int tokenStart, int i, char c, boolean unicode, ArrayList<Token> tokens)
readRback to summary
private int readR(String sql, int end, int tokenStart, ArrayList<Token> tokens)
readSback to summary
private int readS(String sql, int end, int tokenStart, ArrayList<Token> tokens)
readTback to summary
private int readT(String sql, int end, int tokenStart, ArrayList<Token> tokens)
readUback to summary
private int readU(String sql, int end, int tokenStart, ArrayList<Token> tokens)
readVback to summary
private int readV(String sql, int end, int tokenStart, ArrayList<Token> tokens)
readWback to summary
private int readW(String sql, int end, int tokenStart, ArrayList<Token> tokens)
readYback to summary
private int readY(String sql, int end, int tokenStart, ArrayList<Token> tokens)
skipBracketedCommentback to summary
private static int skipBracketedComment(String sql, int end, int i)
skipSimpleCommentback to summary
private static int skipSimpleComment(String sql, int end, int i)
skipWhitespaceback to summary
private static int skipWhitespace(String sql, int end, int i)
tokenizeback to summary
pack-priv ArrayList<Token> tokenize(String sql, boolean stopOnCloseParen, BitSet parameters)