Class

org.apache.spark.sql.catalyst

SqlParser

Related Doc: package catalyst

Permalink

class SqlParser extends AbstractSparkSQLParser with DataTypeParser

A very simple SQL parser. Based loosely on: https://github.com/stephentu/scala-sql-parser/blob/master/src/main/scala/parser.scala

Limitations:

This is currently included mostly for illustrative purposes. Users wanting more complete support for a SQL like language should checkout the HiveQL support in the sql/hive sub-project.

Linear Supertypes
DataTypeParser, AbstractSparkSQLParser, PackratParsers, StandardTokenParsers, StdTokenParsers, TokenParsers, Parsers, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. SqlParser
  2. DataTypeParser
  3. AbstractSparkSQLParser
  4. PackratParsers
  5. StandardTokenParsers
  6. StdTokenParsers
  7. TokenParsers
  8. Parsers
  9. AnyRef
  10. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Instance Constructors

  1. new SqlParser()

    Permalink

Type Members

  1. type Elem = SqlLexical.Token

    Permalink
    Definition Classes
    TokenParsers → Parsers
  2. case class Error extends NoSuccess with Product with Serializable

    Permalink
    Definition Classes
    Parsers
  3. case class Failure extends NoSuccess with Product with Serializable

    Permalink
    Definition Classes
    Parsers
  4. type Input = Reader[Elem]

    Permalink
    Definition Classes
    Parsers
  5. case class Keyword extends Product with Serializable

    Permalink
    Attributes
    protected
    Definition Classes
    AbstractSparkSQLParser
  6. sealed abstract class NoSuccess extends ParseResult[Nothing]

    Permalink
    Definition Classes
    Parsers
  7. trait OnceParser[+T] extends Parser[T]

    Permalink
    Definition Classes
    Parsers
  8. abstract class PackratParser[+T] extends scala.util.parsing.combinator.PackratParsers.Parser[T]

    Permalink
    Definition Classes
    PackratParsers
  9. class PackratReader[+T] extends Reader[T]

    Permalink
    Definition Classes
    PackratParsers
  10. sealed abstract class ParseResult[+T] extends AnyRef

    Permalink
    Definition Classes
    Parsers
  11. abstract class Parser[+T] extends (Input) ⇒ ParseResult[T]

    Permalink
    Definition Classes
    Parsers
  12. case class Success[+T] extends ParseResult[T] with Product with Serializable

    Permalink
    Definition Classes
    Parsers
  13. type Tokens = StdTokens

    Permalink
    Definition Classes
    StandardTokenParsers → StdTokenParsers → TokenParsers
  14. case class ~[+a, +b] extends Product with Serializable

    Permalink
    Definition Classes
    Parsers

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. val ALL: Keyword

    Permalink
    Attributes
    protected
  5. val AND: Keyword

    Permalink
    Attributes
    protected
  6. val APPROXIMATE: Keyword

    Permalink
    Attributes
    protected
  7. val AS: Keyword

    Permalink
    Attributes
    protected
  8. val ASC: Keyword

    Permalink
    Attributes
    protected
  9. val BETWEEN: Keyword

    Permalink
    Attributes
    protected
  10. val BY: Keyword

    Permalink
    Attributes
    protected
  11. val CASE: Keyword

    Permalink
    Attributes
    protected
  12. val CAST: Keyword

    Permalink
    Attributes
    protected
  13. val DESC: Keyword

    Permalink
    Attributes
    protected
  14. val DISTINCT: Keyword

    Permalink
    Attributes
    protected
  15. val ELSE: Keyword

    Permalink
    Attributes
    protected
  16. val END: Keyword

    Permalink
    Attributes
    protected
  17. val EXCEPT: Keyword

    Permalink
    Attributes
    protected
  18. val FALSE: Keyword

    Permalink
    Attributes
    protected
  19. val FROM: Keyword

    Permalink
    Attributes
    protected
  20. val FULL: Keyword

    Permalink
    Attributes
    protected
  21. val GROUP: Keyword

    Permalink
    Attributes
    protected
  22. val HAVING: Keyword

    Permalink
    Attributes
    protected
  23. val IN: Keyword

    Permalink
    Attributes
    protected
  24. val INNER: Keyword

    Permalink
    Attributes
    protected
  25. val INSERT: Keyword

    Permalink
    Attributes
    protected
  26. val INTERSECT: Keyword

    Permalink
    Attributes
    protected
  27. val INTERVAL: Keyword

    Permalink
    Attributes
    protected
  28. val INTO: Keyword

    Permalink
    Attributes
    protected
  29. val IS: Keyword

    Permalink
    Attributes
    protected
  30. val JOIN: Keyword

    Permalink
    Attributes
    protected
  31. val LEFT: Keyword

    Permalink
    Attributes
    protected
  32. val LIKE: Keyword

    Permalink
    Attributes
    protected
  33. val LIMIT: Keyword

    Permalink
    Attributes
    protected
  34. val NOT: Keyword

    Permalink
    Attributes
    protected
  35. val NULL: Keyword

    Permalink
    Attributes
    protected
  36. object NoSuccess

    Permalink
    Definition Classes
    Parsers
  37. val ON: Keyword

    Permalink
    Attributes
    protected
  38. val OR: Keyword

    Permalink
    Attributes
    protected
  39. val ORDER: Keyword

    Permalink
    Attributes
    protected
  40. val OUTER: Keyword

    Permalink
    Attributes
    protected
  41. val OVERWRITE: Keyword

    Permalink
    Attributes
    protected
  42. def OnceParser[T](f: (Input) ⇒ ParseResult[T]): Parser[T] with OnceParser[T]

    Permalink
    Definition Classes
    Parsers
  43. def Parser[T](f: (Input) ⇒ ParseResult[T]): Parser[T]

    Permalink
    Definition Classes
    Parsers
  44. val REGEXP: Keyword

    Permalink
    Attributes
    protected
  45. val RIGHT: Keyword

    Permalink
    Attributes
    protected
  46. val RLIKE: Keyword

    Permalink
    Attributes
    protected
  47. val SELECT: Keyword

    Permalink
    Attributes
    protected
  48. val SEMI: Keyword

    Permalink
    Attributes
    protected
  49. val SORT: Keyword

    Permalink
    Attributes
    protected
  50. val TABLE: Keyword

    Permalink
    Attributes
    protected
  51. val THEN: Keyword

    Permalink
    Attributes
    protected
  52. val TRUE: Keyword

    Permalink
    Attributes
    protected
  53. val UNION: Keyword

    Permalink
    Attributes
    protected
  54. val WHEN: Keyword

    Permalink
    Attributes
    protected
  55. val WHERE: Keyword

    Permalink
    Attributes
    protected
  56. val WITH: Keyword

    Permalink
    Attributes
    protected
  57. def accept[U](expected: String, f: PartialFunction[Elem, U]): Parser[U]

    Permalink
    Definition Classes
    Parsers
  58. def accept[ES](es: ES)(implicit arg0: (ES) ⇒ List[Elem]): Parser[List[Elem]]

    Permalink
    Definition Classes
    Parsers
  59. implicit def accept(e: Elem): Parser[Elem]

    Permalink
    Definition Classes
    Parsers
  60. def acceptIf(p: (Elem) ⇒ Boolean)(err: (Elem) ⇒ String): Parser[Elem]

    Permalink
    Definition Classes
    Parsers
  61. def acceptMatch[U](expected: String, f: PartialFunction[Elem, U]): Parser[U]

    Permalink
    Definition Classes
    Parsers
  62. def acceptSeq[ES](es: ES)(implicit arg0: (ES) ⇒ Iterable[Elem]): Parser[List[Elem]]

    Permalink
    Definition Classes
    Parsers
  63. lazy val andExpression: Parser[Expression]

    Permalink
    Attributes
    protected
  64. lazy val arrayType: Parser[DataType]

    Permalink
    Attributes
    protected
    Definition Classes
    DataTypeParser
  65. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  66. implicit def asParser(k: Keyword): Parser[String]

    Permalink
    Attributes
    protected
    Definition Classes
    AbstractSparkSQLParser
  67. lazy val attributeName: Parser[String]

    Permalink
    Attributes
    protected
  68. lazy val baseExpression: Parser[Expression]

    Permalink
    Attributes
    protected
  69. lazy val booleanLiteral: Parser[Literal]

    Permalink
    Attributes
    protected
  70. lazy val cast: Parser[Expression]

    Permalink
    Attributes
    protected
  71. def chainl1[T, U](first: ⇒ Parser[T], p: ⇒ Parser[U], q: ⇒ Parser[(T, U) ⇒ T]): Parser[T]

    Permalink
    Definition Classes
    Parsers
  72. def chainl1[T](p: ⇒ Parser[T], q: ⇒ Parser[(T, T) ⇒ T]): Parser[T]

    Permalink
    Definition Classes
    Parsers
  73. def chainr1[T, U](p: ⇒ Parser[T], q: ⇒ Parser[(T, U) ⇒ U], combine: (T, U) ⇒ U, first: U): Parser[U]

    Permalink
    Definition Classes
    Parsers
  74. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  75. def commit[T](p: ⇒ Parser[T]): Parser[T]

    Permalink
    Definition Classes
    Parsers
  76. lazy val comparisonExpression: Parser[Expression]

    Permalink
    Attributes
    protected
  77. lazy val cte: Parser[LogicalPlan]

    Permalink
    Attributes
    protected
  78. lazy val dataType: Parser[DataType]

    Permalink
    Attributes
    protected
    Definition Classes
    DataTypeParser
  79. lazy val day: Parser[Long]

    Permalink
    Attributes
    protected
  80. lazy val direction: Parser[SortDirection]

    Permalink
    Attributes
    protected
  81. lazy val dotExpressionHeader: Parser[Expression]

    Permalink
    Attributes
    protected
  82. def elem(e: Elem): Parser[Elem]

    Permalink
    Definition Classes
    Parsers
  83. def elem(kind: String, p: (Elem) ⇒ Boolean): Parser[Elem]

    Permalink
    Definition Classes
    Parsers
  84. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  85. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  86. def err(msg: String): Parser[Nothing]

    Permalink
    Definition Classes
    Parsers
  87. lazy val expression: Parser[Expression]

    Permalink
    Attributes
    protected
  88. def failure(msg: String): Parser[Nothing]

    Permalink
    Definition Classes
    Parsers
  89. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  90. lazy val fixedDecimalType: Parser[DataType]

    Permalink
    Attributes
    protected
    Definition Classes
    DataTypeParser
  91. lazy val function: Parser[Expression]

    Permalink
    Attributes
    protected
  92. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  93. def guard[T](p: ⇒ Parser[T]): Parser[T]

    Permalink
    Definition Classes
    Parsers
  94. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  95. lazy val hour: Parser[Long]

    Permalink
    Attributes
    protected
  96. def ident: Parser[String]

    Permalink
    Definition Classes
    StdTokenParsers
  97. lazy val initLexical: Unit

    Permalink
    Attributes
    protected
    Definition Classes
    AbstractSparkSQLParser
  98. lazy val insert: Parser[LogicalPlan]

    Permalink
    Attributes
    protected
  99. lazy val integral: Parser[String]

    Permalink
    Attributes
    protected
  100. lazy val intervalLiteral: Parser[Literal]

    Permalink
    Attributes
    protected
  101. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  102. lazy val joinConditions: Parser[Expression]

    Permalink
    Attributes
    protected
  103. lazy val joinType: Parser[JoinType]

    Permalink
    Attributes
    protected
  104. lazy val joinedRelation: Parser[LogicalPlan]

    Permalink
    Attributes
    protected
  105. implicit def keyword(chars: String): Parser[String]

    Permalink
    Definition Classes
    StandardTokenParsers → StdTokenParsers
  106. val keywordCache: HashMap[String, Parser[String]]

    Permalink
    Attributes
    protected
    Definition Classes
    StdTokenParsers
  107. val lexical: SqlLexical

    Permalink
    Definition Classes
    AbstractSparkSQLParser → StandardTokenParsers → TokenParsers
  108. lazy val literal: Parser[Literal]

    Permalink
    Attributes
    protected
  109. def log[T](p: ⇒ Parser[T])(name: String): Parser[T]

    Permalink
    Definition Classes
    Parsers
  110. lazy val mapType: Parser[DataType]

    Permalink
    Attributes
    protected
    Definition Classes
    DataTypeParser
  111. def memo[T](p: Parser[T]): PackratParser[T]

    Permalink
    Definition Classes
    PackratParsers
  112. lazy val microsecond: Parser[Long]

    Permalink
    Attributes
    protected
  113. lazy val millisecond: Parser[Long]

    Permalink
    Attributes
    protected
  114. lazy val minute: Parser[Long]

    Permalink
    Attributes
    protected
  115. def mkList[T]: (~[T, List[T]]) ⇒ List[T]

    Permalink
    Definition Classes
    Parsers
  116. lazy val month: Parser[Int]

    Permalink
    Attributes
    protected
  117. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  118. def not[T](p: ⇒ Parser[T]): Parser[Unit]

    Permalink
    Definition Classes
    Parsers
  119. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  120. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  121. def numericLit: Parser[String]

    Permalink
    Definition Classes
    StdTokenParsers
  122. lazy val numericLiteral: Parser[Literal]

    Permalink
    Attributes
    protected
  123. def opt[T](p: ⇒ Parser[T]): Parser[Option[T]]

    Permalink
    Definition Classes
    Parsers
  124. lazy val orExpression: Parser[Expression]

    Permalink
    Attributes
    protected
  125. lazy val ordering: Parser[Seq[SortOrder]]

    Permalink
    Attributes
    protected
  126. def parse(input: String): LogicalPlan

    Permalink
    Definition Classes
    AbstractSparkSQLParser
  127. def parseExpression(input: String): Expression

    Permalink
  128. def parseTableIdentifier(input: String): TableIdentifier

    Permalink
  129. implicit def parser2packrat[T](p: ⇒ Parser[T]): PackratParser[T]

    Permalink
    Definition Classes
    PackratParsers
  130. def phrase[T](p: Parser[T]): PackratParser[T]

    Permalink
    Definition Classes
    PackratParsers → Parsers
  131. def positioned[T <: Positional](p: ⇒ Parser[T]): Parser[T]

    Permalink
    Definition Classes
    Parsers
  132. lazy val primary: PackratParser[Expression]

    Permalink
    Attributes
    protected
  133. lazy val primitiveType: Parser[DataType]

    Permalink
    Attributes
    protected
    Definition Classes
    DataTypeParser
  134. lazy val productExpression: Parser[Expression]

    Permalink
    Attributes
    protected
  135. lazy val projection: Parser[Expression]

    Permalink
    Attributes
    protected
  136. implicit def regexToParser(regex: Regex): Parser[String]

    Permalink
    Definition Classes
    DataTypeParser
  137. lazy val relation: Parser[LogicalPlan]

    Permalink
    Attributes
    protected
  138. lazy val relationFactor: Parser[LogicalPlan]

    Permalink
    Attributes
    protected
  139. lazy val relations: Parser[LogicalPlan]

    Permalink
    Attributes
    protected
  140. def rep[T](p: ⇒ Parser[T]): Parser[List[T]]

    Permalink
    Definition Classes
    Parsers
  141. def rep1[T](first: ⇒ Parser[T], p0: ⇒ Parser[T]): Parser[List[T]]

    Permalink
    Definition Classes
    Parsers
    Annotations
    @migration
    Migration

    (Changed in version 2.9.0) The p0 call-by-name arguments is evaluated at most once per constructed Parser object, instead of on every need that arises during parsing.

  142. def rep1[T](p: ⇒ Parser[T]): Parser[List[T]]

    Permalink
    Definition Classes
    Parsers
  143. def rep1sep[T](p: ⇒ Parser[T], q: ⇒ Parser[Any]): Parser[List[T]]

    Permalink
    Definition Classes
    Parsers
  144. def repN[T](num: Int, p: ⇒ Parser[T]): Parser[List[T]]

    Permalink
    Definition Classes
    Parsers
  145. def repsep[T](p: ⇒ Parser[T], q: ⇒ Parser[Any]): Parser[List[T]]

    Permalink
    Definition Classes
    Parsers
  146. lazy val reservedWords: Seq[String]

    Permalink
    Attributes
    protected
    Definition Classes
    AbstractSparkSQLParser
  147. lazy val restInput: Parser[String]

    Permalink
    Attributes
    protected
    Definition Classes
    AbstractSparkSQLParser
  148. lazy val second: Parser[Long]

    Permalink
    Attributes
    protected
  149. lazy val select: Parser[LogicalPlan]

    Permalink
    Attributes
    protected
  150. lazy val sign: Parser[String]

    Permalink
    Attributes
    protected
  151. lazy val signedPrimary: Parser[Expression]

    Permalink
    Attributes
    protected
  152. lazy val sortType: Parser[(LogicalPlan) ⇒ LogicalPlan]

    Permalink
    Attributes
    protected
  153. lazy val start: Parser[LogicalPlan]

    Permalink
    Attributes
    protected
    Definition Classes
    SqlParser → AbstractSparkSQLParser
  154. lazy val start1: Parser[LogicalPlan]

    Permalink
    Attributes
    protected
  155. def stringLit: Parser[String]

    Permalink
    Definition Classes
    StdTokenParsers
  156. lazy val structField: Parser[StructField]

    Permalink
    Attributes
    protected
    Definition Classes
    DataTypeParser
  157. lazy val structType: Parser[DataType]

    Permalink
    Attributes
    protected
    Definition Classes
    DataTypeParser
  158. def success[T](v: T): Parser[T]

    Permalink
    Definition Classes
    Parsers
  159. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  160. lazy val tableIdentifier: Parser[TableIdentifier]

    Permalink
    Attributes
    protected
  161. lazy val termExpression: Parser[Expression]

    Permalink
    Attributes
    protected
  162. def toDataType(dataTypeString: String): DataType

    Permalink
    Definition Classes
    DataTypeParser
  163. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  164. lazy val unsignedFloat: Parser[String]

    Permalink
    Attributes
    protected
  165. lazy val varchar: Parser[DataType]

    Permalink
    Attributes
    protected
    Definition Classes
    DataTypeParser
  166. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  167. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  168. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  169. lazy val week: Parser[Long]

    Permalink
    Attributes
    protected
  170. lazy val whenThenElse: Parser[List[Expression]]

    Permalink
    Attributes
    protected
  171. lazy val wholeInput: Parser[String]

    Permalink
    Attributes
    protected
    Definition Classes
    AbstractSparkSQLParser
  172. lazy val year: Parser[Int]

    Permalink
    Attributes
    protected

Inherited from DataTypeParser

Inherited from AbstractSparkSQLParser

Inherited from PackratParsers

Inherited from StandardTokenParsers

Inherited from StdTokenParsers

Inherited from TokenParsers

Inherited from Parsers

Inherited from AnyRef

Inherited from Any

Ungrouped