Interface SqlParserImplFactory

Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface
public interface SqlParserImplFactory
Factory for SqlAbstractParserImpl objects.

A parser factory allows you to include a custom parser in Planner created through Frameworks.

  • Method Summary

    Modifier and Type Method Description
    default DdlExecutor getDdlExecutor()
    Returns a DDL executor.
    org.apache.calcite.sql.parser.SqlAbstractParserImpl getParser​(Reader stream)
    Get the underlying parser implementation.
  • Method Details

    • getParser

      org.apache.calcite.sql.parser.SqlAbstractParserImpl getParser​(Reader stream)
      Get the underlying parser implementation.
      Returns:
      SqlAbstractParserImpl object.
    • getDdlExecutor

      default DdlExecutor getDdlExecutor()
      Returns a DDL executor.

      The default implementation returns DdlExecutor.USELESS, which cannot handle any DDL commands.

      DDL execution is related to parsing but it is admittedly a stretch to control them in the same factory. Therefore this is marked 'experimental'. We are bundling them because they are often overridden at the same time. In particular, we want a way to refine the behavior of the "server" module, which supports DDL parsing and execution, and we're not yet ready to define a new Driver or CalciteServer.