Package sqlline

Class SqlLineParser

  • All Implemented Interfaces:
    org.jline.reader.Parser

    public class SqlLineParser
    extends org.jline.reader.impl.DefaultParser
    SqlLineParser implements multi-line for sql, !sql, !all while it's not ended with a non-commented ';'.

    The following table shows each of the prompts you may see and summarizes what they mean about the state that sqlline is in.

    SQLLine continuation prompts
    Prompt Meaning
    sqlline> Ready for a new query
    semicolon> Waiting for next line of multiple-line query, waiting for completion of query with semicolon (;)
    quote> Waiting for next line, waiting for completion of a string that began with a single quote (')
    dquote> Waiting for next line, waiting for completion of a string that began with a double quote (")
    `> Waiting for next line, waiting for completion of a string that began with (`)
    *\/> Waiting for next line, waiting for completion of a multi-line comment that began with "/*"
    )> Waiting for next line, waiting for completion of a string that began with a round bracket, "("
    ]> Waiting for next line, waiting for completion of a string that began with a square bracket, "["
    extra ')'> There is an extra round bracket, ")", that is not opened with "("
    extra ']'> There is an extra square bracket "]" that is not opened with "["
    • Nested Class Summary

      • Nested classes/interfaces inherited from class org.jline.reader.impl.DefaultParser

        org.jline.reader.impl.DefaultParser.ArgumentList
      • Nested classes/interfaces inherited from interface org.jline.reader.Parser

        org.jline.reader.Parser.ParseContext
    • Constructor Detail

      • SqlLineParser

        public SqlLineParser​(SqlLine sqlLine)
    • Method Detail

      • parse

        public org.jline.reader.ParsedLine parse​(String line,
                                                 int cursor,
                                                 org.jline.reader.Parser.ParseContext context)
        Specified by:
        parse in interface org.jline.reader.Parser
        Overrides:
        parse in class org.jline.reader.impl.DefaultParser
      • getQuoteWaitingPattern

        public String getQuoteWaitingPattern​(String line,
                                             int quoteStart)
      • trimLeadingSpacesIfPossible

        public static String trimLeadingSpacesIfPossible​(String line,
                                                         org.jline.reader.Parser.ParseContext context)