Class PostgreSQLParser
- java.lang.Object
-
- migratedb.v1.core.internal.parser.BaseParser
-
- migratedb.v1.core.internal.database.postgresql.PostgreSQLParser
-
- All Implemented Interfaces:
Parser
- Direct Known Subclasses:
YugabyteDBParser
public class PostgreSQLParser extends BaseParser
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class migratedb.v1.core.internal.parser.BaseParser
BaseParser.ParserSqlStatementIterator
-
-
Field Summary
-
Fields inherited from class migratedb.v1.core.internal.parser.BaseParser
LOG
-
-
Constructor Summary
Constructors Constructor Description PostgreSQLParser(Configuration configuration, ParsingContext parsingContext)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected ParsedSqlStatementcreateStatement(PeekingReader reader, Recorder recorder, int statementPos, int statementLine, int statementCol, int nonCommentPartPos, int nonCommentPartLine, int nonCommentPartCol, StatementType statementType, boolean canExecuteInTransaction, Delimiter delimiter, String sql)protected BooleandetectCanExecuteInTransaction(String simplifiedStatement, List<Token> keywords)protected StatementTypedetectStatementType(String simplifiedStatement, ParserContext context, PeekingReader reader)protected chargetAlternativeStringLiteralQuote()protected TokenhandleAlternativeStringLiteral(PeekingReader reader, ParserContext context, int pos, int line, int col)-
Methods inherited from class migratedb.v1.core.internal.parser.BaseParser
adjustBlockDepth, adjustDelimiter, closeAndAddSuppressed, doTokensMatchPattern, getAlternativeIdentifierQuote, getClosingIdentifierSymbol, getConfiguration, getDefaultDelimiter, getIdentifierQuote, getLastKeywordIndex, getLastKeywordIndex, getNextStatement, getOpeningIdentifierSymbol, getParsingContext, getPreviousToken, getTransactionalDetectionCutoff, getValidKeywords, handleCommentDirective, handleDelimiter, handleKeyword, handleStringLiteral, isAlternativeStringLiteral, isCommentDirective, isDelimiter, isKeyword, isLetter, isSingleLineComment, lastTokenIs, lastTokenIsOnLine, parse, parse, readIdentifier, readKeyword, replacePlaceholders, resetDelimiter, shouldAdjustBlockDepth, shouldDiscard, supportsPeekingMultipleLines, tokenAtIndexIs
-
-
-
-
Constructor Detail
-
PostgreSQLParser
public PostgreSQLParser(Configuration configuration, ParsingContext parsingContext)
-
-
Method Detail
-
getAlternativeStringLiteralQuote
protected char getAlternativeStringLiteralQuote()
- Overrides:
getAlternativeStringLiteralQuotein classBaseParser
-
createStatement
protected ParsedSqlStatement createStatement(PeekingReader reader, Recorder recorder, int statementPos, int statementLine, int statementCol, int nonCommentPartPos, int nonCommentPartLine, int nonCommentPartCol, StatementType statementType, boolean canExecuteInTransaction, Delimiter delimiter, String sql) throws IOException
- Overrides:
createStatementin classBaseParser- Throws:
IOException
-
detectStatementType
protected StatementType detectStatementType(String simplifiedStatement, ParserContext context, PeekingReader reader)
- Overrides:
detectStatementTypein classBaseParser
-
detectCanExecuteInTransaction
protected Boolean detectCanExecuteInTransaction(String simplifiedStatement, List<Token> keywords)
- Overrides:
detectCanExecuteInTransactionin classBaseParser
-
handleAlternativeStringLiteral
protected Token handleAlternativeStringLiteral(PeekingReader reader, ParserContext context, int pos, int line, int col) throws IOException
- Overrides:
handleAlternativeStringLiteralin classBaseParser- Throws:
IOException
-
-