c

org.tresql

QueryCompiler

class QueryCompiler extends QueryParser with Compiler

Linear Supertypes
Compiler, QueryParser, QueryParsers, ExpTransformer, MemParsers, JavaTokenParsers, RegexParsers, Parsers, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. QueryCompiler
  2. Compiler
  3. QueryParser
  4. QueryParsers
  5. ExpTransformer
  6. MemParsers
  7. JavaTokenParsers
  8. RegexParsers
  9. Parsers
  10. AnyRef
  11. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new QueryCompiler(metadata: Metadata, extraMetadata: Map[String, Metadata], macros: MacroResources)

Type Members

  1. type Elem = Char
    Definition Classes
    RegexParsers → Parsers
  2. case class Error extends NoSuccess with Product with Serializable
    Definition Classes
    Parsers
  3. case class Failure extends NoSuccess with Product with Serializable
    Definition Classes
    Parsers
  4. type Input = Reader[Elem]
    Definition Classes
    Parsers
  5. sealed abstract class NoSuccess extends ParseResult[Nothing]
    Definition Classes
    Parsers
  6. trait OnceParser[+T] extends Parser[T]
    Definition Classes
    Parsers
  7. sealed abstract class ParseResult[+T] extends AnyRef
    Definition Classes
    Parsers
  8. abstract class Parser[+T] extends (Input) ⇒ ParseResult[T]
    Definition Classes
    Parsers
  9. case class Success[+T] extends ParseResult[T] with Product with Serializable
    Definition Classes
    Parsers
  10. type Transformer = PartialFunction[Exp, Exp]
    Definition Classes
    ExpTransformer
  11. type TransformerWithState[T] = (T) ⇒ PartialFunction[Exp, Exp]
    Definition Classes
    ExpTransformer
  12. type Traverser[T] = (T) ⇒ PartialFunction[Exp, T]
    Definition Classes
    ExpTransformer
  13. case class ~[+a, +b] extends Product with Serializable
    Definition Classes
    Parsers
  14. case class ArrayDef(cols: List[ColDef[_]]) extends RowDefBase with Product with Serializable
    Definition Classes
    Compiler
  15. case class BinSelectDef(leftOperand: SelectDefBase, rightOperand: SelectDefBase, exp: BinOp) extends SelectDefBase with Product with Serializable
    Definition Classes
    Compiler
  16. case class BracesSelectDef(exp: SelectDefBase) extends SelectDefBase with Product with Serializable
    Definition Classes
    Compiler
  17. case class ChildDef(exp: Exp, db: Option[String]) extends TypedExp[ChildDef] with Product with Serializable
    Definition Classes
    Compiler
  18. case class ColDef[T](name: String, col: Exp, typ: Manifest[T]) extends TypedExp[T] with Product with Serializable
    Definition Classes
    Compiler
  19. trait DMLDefBase extends SQLDefBase
    Definition Classes
    Compiler
  20. case class DeleteDef(tables: List[TableDef], exp: Delete) extends DMLDefBase with Product with Serializable
    Definition Classes
    Compiler
  21. case class FunAsTableDef[T](exp: FunDef[T], cols: Option[List[TableColDef]], withOrdinality: Boolean) extends Exp with Product with Serializable
    Definition Classes
    Compiler
  22. case class FunDef[T](name: String, exp: Fun, typ: Manifest[T], procedure: Procedure[_]) extends TypedExp[T] with Product with Serializable
    Definition Classes
    Compiler
  23. case class FunSelectDef(cols: List[ColDef[_]], tables: List[TableDef], exp: FunDef[_]) extends SelectDefBase with Product with Serializable

    select definition returned from macro or db function, is used in

    select definition returned from macro or db function, is used in

    BinSelectDef
    Definition Classes
    Compiler
  24. case class InsertDef(cols: List[ColDef[_]], tables: List[TableDef], exp: Insert) extends DMLDefBase with Product with Serializable
    Definition Classes
    Compiler
  25. case class PrimitiveDef[T](exp: Exp, typ: Manifest[T]) extends TypedExp[T] with Product with Serializable

    Marker for compiler macro, to unwrap compiled result

    Marker for compiler macro, to unwrap compiled result

    Definition Classes
    Compiler
  26. case class PrimitiveExp(exp: Exp) extends Exp with Product with Serializable

    Marker for primitive expression (non query)

    Marker for primitive expression (non query)

    Definition Classes
    Compiler
  27. case class RecursiveDef(exp: Exp) extends TypedExp[RecursiveDef] with Product with Serializable
    Definition Classes
    Compiler
  28. case class ReturningDMLDef(cols: List[ColDef[_]], tables: List[TableDef], exp: DMLDefBase) extends SelectDefBase with Product with Serializable
    Definition Classes
    Compiler
  29. trait RowDefBase extends TypedExp[RowDefBase]
    Definition Classes
    Compiler
  30. trait SQLDefBase extends RowDefBase with Scope
    Definition Classes
    Compiler
  31. trait Scope extends AnyRef
    Definition Classes
    Compiler
  32. case class SelectDef(cols: List[ColDef[_]], tables: List[TableDef], exp: parsing.Query) extends SelectDefBase with Product with Serializable
    Definition Classes
    Compiler
  33. trait SelectDefBase extends SQLDefBase
    Definition Classes
    Compiler
  34. case class TableAlias(obj: Exp) extends Exp with Product with Serializable

    helper class for namer to distinguish table with NoJoin, i.e.

    helper class for namer to distinguish table with NoJoin, i.e. must be defined in tables clause earlier

    Definition Classes
    Compiler
  35. case class TableDef(name: String, exp: Obj) extends Exp with Product with Serializable
    Definition Classes
    Compiler
  36. trait TableMetadata extends AnyRef
    Definition Classes
    Compiler
  37. case class TableObj(obj: Exp) extends Exp with Product with Serializable

    helper class for namer to distinguish table references from column references

    helper class for namer to distinguish table references from column references

    Definition Classes
    Compiler
  38. trait TypedExp[T] extends Exp
    Definition Classes
    Compiler
  39. case class UpdateDef(cols: List[ColDef[_]], tables: List[TableDef], exp: Update) extends DMLDefBase with Product with Serializable
    Definition Classes
    Compiler
  40. case class ValuesFromSelectDef(exp: SelectDefBase) extends SelectDefBase with Product with Serializable
    Definition Classes
    Compiler
  41. case class WithDMLDef(exp: DMLDefBase, withTables: List[WithTableDef]) extends WithDMLQuery with Product with Serializable
    Definition Classes
    Compiler
  42. trait WithDMLQuery extends DMLDefBase with WithQuery
    Definition Classes
    Compiler
  43. trait WithQuery extends SQLDefBase
    Definition Classes
    Compiler
  44. trait WithSelectBase extends SelectDefBase with WithQuery
    Definition Classes
    Compiler
  45. case class WithSelectDef(exp: SelectDefBase, withTables: List[WithTableDef]) extends WithSelectBase with Product with Serializable
    Definition Classes
    Compiler
  46. case class WithTableDef(cols: List[ColDef[_]], tables: List[TableDef], recursive: Boolean, exp: SQLDefBase) extends SelectDefBase with Product with Serializable
    Definition Classes
    Compiler
  47. case class WithTableMetadata(scopes: List[Scope]) extends TableMetadata with Product with Serializable
    Definition Classes
    Compiler
  48. class MemParser[+T] extends Parser[T]
    Definition Classes
    MemParsers

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def ALL: MemParser[All.type]
    Definition Classes
    QueryParsers
  5. val DefaultJoin: Join
    Definition Classes
    QueryParsers
  6. def FALSE: MemParser[Boolean]
    Definition Classes
    QueryParsers
  7. def NULL: MemParser[Null.type]
    Definition Classes
    QueryParsers
  8. val NoJoin: Join
    Definition Classes
    QueryParsers
  9. def OnceParser[T](f: (Input) ⇒ ParseResult[T]): Parser[T] with OnceParser[T]
    Definition Classes
    Parsers
  10. def Parser[T](f: (Input) ⇒ ParseResult[T]): Parser[T]
    Definition Classes
    Parsers
  11. def TRUE: MemParser[Boolean]
    Definition Classes
    QueryParsers
  12. def accept[U](expected: String, f: PartialFunction[Elem, U]): Parser[U]
    Definition Classes
    Parsers
  13. def accept[ES](es: ES)(implicit f: (ES) ⇒ List[Elem]): Parser[List[Elem]]
    Definition Classes
    Parsers
  14. implicit def accept(e: Elem): Parser[Elem]
    Definition Classes
    Parsers
  15. def acceptIf(p: (Elem) ⇒ Boolean)(err: (Elem) ⇒ String): Parser[Elem]
    Definition Classes
    Parsers
  16. def acceptMatch[U](expected: String, f: PartialFunction[Elem, U]): Parser[U]
    Definition Classes
    Parsers
  17. def acceptSeq[ES](es: ES)(implicit f: (ES) ⇒ Iterable[Elem]): Parser[List[Elem]]
    Definition Classes
    Parsers
  18. def array: MemParser[Arr]
    Definition Classes
    QueryParsers
  19. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  20. def braces: MemParser[Braces]
    Definition Classes
    QueryParsers
  21. def buildTypedDef(exp: Exp): Exp
    Definition Classes
    Compiler
  22. def castExpr: MemParser[Exp]
    Definition Classes
    QueryParsers
  23. def chainl1[T, U](first: ⇒ Parser[T], p: ⇒ Parser[U], q: ⇒ Parser[(T, U) ⇒ T]): Parser[T]
    Definition Classes
    Parsers
  24. def chainl1[T](p: ⇒ Parser[T], q: ⇒ Parser[(T, T) ⇒ T]): Parser[T]
    Definition Classes
    Parsers
  25. def chainr1[T, U](p: ⇒ Parser[T], q: ⇒ Parser[(T, U) ⇒ U], combine: (T, U) ⇒ U, first: U): Parser[U]
    Definition Classes
    Parsers
  26. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  27. def column(scopes: List[Scope])(colName: String)(md: TableMetadata, db: Option[String]): Option[Col[_]]

    Column declared in any scope in

    Column declared in any scope in

    scopes

    list scopes }}}

    Definition Classes
    Compiler
  28. def column: MemParser[Col]
    Definition Classes
    QueryParsers
  29. def columns: MemParser[Cols]
    Definition Classes
    QueryParsers
  30. def commit[T](p: ⇒ Parser[T]): Parser[T]
    Definition Classes
    Parsers
  31. def comp: MemParser[Exp]
    Definition Classes
    QueryParsers
  32. val comp_op: Regex
    Definition Classes
    QueryParsers
  33. def compile(exp: String): Exp
  34. def compile(exp: Exp): Exp
    Definition Classes
    Compiler
  35. def const: MemParser[Const]
    Definition Classes
    QueryParsers
  36. def dbExtractor: Traverser[List[String]]

    Extract database names.

    Extract database names.

    Definition Classes
    ExpTransformer
  37. def decimalNr: MemParser[BigDecimal]
    Definition Classes
    QueryParsers
  38. def decimalNumber: Parser[String]
    Definition Classes
    JavaTokenParsers
  39. def declaredColumn(scopes: List[Scope])(colName: String)(md: TableMetadata, db: Option[String]): Option[Col[_]]

    Method is used to resolve column names in group by or order by clause, since they can reference columns by name from column clause.

    Method is used to resolve column names in group by or order by clause, since they can reference columns by name from column clause.

    Definition Classes
    Compiler
  40. def declaredTable(scopes: List[Scope])(tableName: String)(md: TableMetadata, db: Option[String]): Option[Table]

    Table of dml statement or table in from clause of any scope in the

    Table of dml statement or table in from clause of any scope in the

    scopes

    list scopes }}}

    Definition Classes
    Compiler
  41. def delete: MemParser[Delete]
    Definition Classes
    QueryParsers
  42. def elem(e: Elem): Parser[Elem]
    Definition Classes
    Parsers
  43. def elem(kind: String, p: (Elem) ⇒ Boolean): Parser[Elem]
    Definition Classes
    Parsers
  44. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  45. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  46. def err(msg: String): Parser[Nothing]
    Definition Classes
    Parsers
  47. def error(msg: String, cause: Exception = null): Nothing
    Attributes
    protected
    Definition Classes
    Compiler
  48. def expr: MemParser[Exp]
    Definition Classes
    QueryParsers
  49. def exprList: MemParser[Exp]
    Definition Classes
    QueryParsers
  50. val extraMetadata: Map[String, Metadata]
    Attributes
    protected
    Definition Classes
    QueryCompilerCompiler
  51. def extractVariables(exp: String): List[Variable]
    Definition Classes
    QueryParser
  52. def failure(msg: String): Parser[Nothing]
    Definition Classes
    Parsers
  53. def filter: MemParser[Arr]
    Definition Classes
    QueryParsers
  54. def filters: MemParser[Filters]
    Definition Classes
    QueryParsers
  55. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  56. def floatingPointNumber: Parser[String]
    Definition Classes
    JavaTokenParsers
  57. def function: MemParser[Exp]
    Definition Classes
    QueryParsers
  58. def functionWithoutFilter: MemParser[Fun]
    Definition Classes
    QueryParsers
  59. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  60. def group: MemParser[Grp]
    Definition Classes
    QueryParsers
  61. def guard[T](p: ⇒ Parser[T]): Parser[T]
    Definition Classes
    Parsers
  62. def handleWhiteSpace(source: CharSequence, offset: Int): Int

    Copied from RegexParsers to support comment handling as whitespace

    Copied from RegexParsers to support comment handling as whitespace

    Attributes
    protected
    Definition Classes
    QueryParsers → RegexParsers
  63. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  64. def id: MemParser[Id]
    Definition Classes
    QueryParsers
  65. def ident: MemParser[String]
    Definition Classes
    QueryParsers → JavaTokenParsers
  66. def idref: MemParser[IdRef]
    Definition Classes
    QueryParsers
  67. def in: MemParser[In]
    Definition Classes
    QueryParsers
  68. def insert: MemParser[Insert]
    Definition Classes
    QueryParsers
  69. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  70. def join: MemParser[Join]
    Definition Classes
    QueryParsers
  71. implicit def literal(s: String): Parser[String]
    Definition Classes
    RegexParsers
  72. def log[T](p: ⇒ Parser[T])(name: String): Parser[T]
    Definition Classes
    Parsers
  73. def logicalOp: MemParser[Exp]
    Definition Classes
    QueryParsers
  74. val macros: MacroResources
    Attributes
    protected
    Definition Classes
    QueryParserQueryParsers
  75. val metadata: Metadata
    Attributes
    protected
    Definition Classes
    QueryCompilerCompiler
  76. def mkList[T]: (~[T, List[T]]) ⇒ List[T]
    Definition Classes
    Parsers
  77. def mulDiv: MemParser[Exp]
    Definition Classes
    QueryParsers
  78. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  79. def not[T](p: ⇒ Parser[T]): Parser[Unit]
    Definition Classes
    Parsers
  80. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  81. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  82. def obj: MemParser[Obj]
    Definition Classes
    QueryParsers
  83. def objWithJoin: MemParser[Obj]
    Definition Classes
    QueryParsers
  84. def objs: MemParser[List[Obj]]
    Definition Classes
    QueryParsers
  85. def offsetLimit: MemParser[(Exp, Exp)]
    Definition Classes
    QueryParsers
  86. def operand: MemParser[Exp]
    Definition Classes
    QueryParsers
  87. def opt[T](p: ⇒ Parser[T]): Parser[Option[T]]
    Definition Classes
    Parsers
  88. def order: MemParser[Ord]
    Definition Classes
    QueryParsers
  89. def orderMember: MemParser[(Exp, Exp, Exp)]
    Definition Classes
    QueryParsers
  90. def parse[T](p: Parser[T], in: Reader): ParseResult[T]
    Definition Classes
    RegexParsers
  91. def parse[T](p: Parser[T], in: CharSequence): ParseResult[T]
    Definition Classes
    RegexParsers
  92. def parse[T](p: Parser[T], in: Reader[Char]): ParseResult[T]
    Definition Classes
    RegexParsers
  93. def parseAll[T](p: Parser[T], in: CharSequence): ParseResult[T]
    Definition Classes
    RegexParsers
  94. def parseAll[T](p: Parser[T], in: Reader): ParseResult[T]
    Definition Classes
    RegexParsers
  95. def parseAll[T](p: Parser[T], in: Reader[Char]): ParseResult[T]
    Definition Classes
    RegexParsers
  96. def parseExp(expr: String): Exp
    Definition Classes
    CompilerQueryParsers
  97. implicit def parser2MemParser[T](parser: Parser[T]): MemParser[T]
    Definition Classes
    MemParsers
  98. def phrase[T](p: Parser[T]): Parser[T]
    Definition Classes
    MemParsers → Parsers
  99. def plusMinus: MemParser[Exp]
    Definition Classes
    QueryParsers
  100. def positioned[T <: Positional](p: ⇒ Parser[T]): Parser[T]
    Definition Classes
    RegexParsers → Parsers
  101. def procedure(procedure: String)(database: Option[String]): Option[Procedure[_]]
    Definition Classes
    Compiler
  102. def qualifiedIdent: MemParser[Ident]
    Definition Classes
    QueryParsers
  103. def qualifiedIdentAll: MemParser[IdentAll]
    Definition Classes
    QueryParsers
  104. def query: MemParser[Exp]
    Definition Classes
    QueryParsers
  105. def queryWithCols: MemParser[Exp]
    Definition Classes
    QueryParsers
  106. implicit def regex(r: Regex): Parser[String]
    Definition Classes
    RegexParsers
  107. def rep[T](p: ⇒ Parser[T]): Parser[List[T]]
    Definition Classes
    Parsers
  108. def rep1[T](first: ⇒ Parser[T], p0: ⇒ Parser[T]): Parser[List[T]]
    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.

  109. def rep1[T](p: ⇒ Parser[T]): Parser[List[T]]
    Definition Classes
    Parsers
  110. def rep1sep[T](p: ⇒ Parser[T], q: ⇒ Parser[Any]): Parser[List[T]]
    Definition Classes
    Parsers
  111. def repN[T](num: Int, p: ⇒ Parser[T]): Parser[List[T]]
    Definition Classes
    Parsers
  112. def repsep[T](p: ⇒ Parser[T], q: ⇒ Parser[Any]): Parser[List[T]]
    Definition Classes
    Parsers
  113. val reserved: Set[String]
    Definition Classes
    QueryParsers
  114. def resolveColAsterisks(exp: Exp): Exp
    Definition Classes
    Compiler
  115. def resolveColTypes(exp: Exp): Exp
    Definition Classes
    Compiler
  116. def resolveNamesAndJoins(exp: Exp): Exp
    Definition Classes
    Compiler
  117. def result: MemParser[Res]
    Definition Classes
    QueryParsers
  118. def skipWhitespace: Boolean
    Definition Classes
    RegexParsers
  119. def sql: MemParser[Sql]
    Definition Classes
    QueryParsers
  120. def stringLiteral: MemParser[String]
    Definition Classes
    QueryParsers → JavaTokenParsers
  121. def success[T](v: T): Parser[T]
    Definition Classes
    Parsers
  122. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  123. def table(scopes: List[Scope])(tableName: String)(md: TableMetadata, db: Option[String]): Option[Table]

    Table from metadata or defined in from clause or dml table of any scope in

    Table from metadata or defined in from clause or dml table of any scope in

    scopes

    list scopes }}}

    Definition Classes
    Compiler
  124. def toString(): String
    Definition Classes
    AnyRef → Any
  125. def transformTresql(tresql: String, transformer: Transformer): String
    Definition Classes
    QueryParser
  126. def transformer(fun: Transformer): Transformer
    Definition Classes
    CompilerExpTransformer
  127. def transformerWithState[T](fun: TransformerWithState[T]): TransformerWithState[T]
    Definition Classes
    CompilerExpTransformer
  128. def traverser[T](fun: Traverser[T]): Traverser[T]
    Definition Classes
    CompilerExpTransformer
  129. def unaryExpr: MemParser[Exp]
    Definition Classes
    QueryParsers
  130. def update: MemParser[Update]
    Definition Classes
    QueryParsers
  131. def values: MemParser[Values]
    Definition Classes
    QueryParsers
  132. def valuesSelect: MemParser[Exp]
    Definition Classes
    QueryParsers
  133. def variable: MemParser[Variable]
    Definition Classes
    QueryParsers
  134. def variableExtractor: Traverser[List[Variable]]

    Extract variables in reverse order.

    Extract variables in reverse order. Variable names '?' are replaced with index starting with 1

    Definition Classes
    ExpTransformer
  135. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  136. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  137. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  138. val whiteSpace: Regex
    Definition Classes
    QueryParsers → RegexParsers
  139. def wholeNumber: MemParser[String]
    Definition Classes
    QueryParsers → JavaTokenParsers
  140. def withQuery: MemParser[With]
    Definition Classes
    QueryParsers
  141. def withTable: MemParser[WithTable]
    Definition Classes
    QueryParsers
  142. object EnvMetadata extends TableMetadata
    Definition Classes
    Compiler

Inherited from Compiler

Inherited from QueryParser

Inherited from QueryParsers

Inherited from ExpTransformer

Inherited from MemParsers

Inherited from JavaTokenParsers

Inherited from RegexParsers

Inherited from Parsers

Inherited from AnyRef

Inherited from Any

Ungrouped