Packages

class QueryInterpreter extends Logging

A query interpreter for MemoryProfile and for client-side operations that need to be run as part of distributed queries against multiple backends.

It uses ScalaType, ProductValue/StructValue and plain Scala collections to represent data. Queries are expected to be in the shape after running all the standard query compiler phases (but not the extra relational phases) and assigning ScalaTypes everywhere.

Source
QueryInterpreter.scala
Linear Supertypes
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. QueryInterpreter
  2. Logging
  3. AnyRef
  4. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new QueryInterpreter(db: HeapDatabaseDef, params: Any)

    db

    The in-memory database which is used for resolving Tables

    params

    The query parameters

Type Members

  1. type Coll = Iterable[Any]

Value Members

  1. def asBoolean(v: Any): Boolean
  2. def compileLikePattern(s: String, escape: Option[Char]): Pattern
  3. def createNullRow(tpe: Type): Any
  4. def evalFunction(sym: TermSymbol, args: Seq[(Type, Any)], retType: Type): Any
  5. var indent: Int
  6. def logDebug(msg: String): Unit
  7. def reduceOptionIt[T](it: Iterator[Any], opt: Boolean, map: (Any) => T, reduce: (T, T) => T): Option[T]
  8. def run(n: Node): Any
  9. val scope: HashMap[TermSymbol, Any]
  10. def unwrapSingleColumn(coll: Coll, tpe: Type): (Iterator[Any], Type)