Object

org.apache.spark.sql.catalyst

SqlParser

Related Doc: package catalyst

Permalink

object 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

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. lazy val char: Parser[DataType]

    Permalink
    Attributes
    protected
    Definition Classes
    DataTypeParser
  75. def clone(): AnyRef

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Permalink
    Definition Classes
    StdTokenParsers
  98. lazy val initLexical: Unit

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Permalink
    Definition Classes
    Parsers
  120. lazy val notExpression: Parser[Expression]

    Permalink
    Attributes
    protected
  121. final def notify(): Unit

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Permalink
    Definition Classes
    Parsers
  143. 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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Permalink
    Attributes
    protected
    Definition Classes
    AbstractSparkSQLParser
  174. 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