Class

mimir.algebra

HardTable

Related Doc: package algebra

Permalink

case class HardTable(schema: Seq[(String, Type)], data: Seq[Seq[PrimitiveValue]]) extends Operator with Product with Serializable

A table with exactly one row --- Corresponds roughly to a SELECT ... That is, a SELECT with no FROM clause, or in Oracle: SELECT ... FROM dual

Not really used, just a placeholder for intermediate optimization.

Annotations
@SerialVersionUID()
Linear Supertypes
Product, Equals, Operator, OperatorConstructors, Serializable, Serializable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. HardTable
  2. Product
  3. Equals
  4. Operator
  5. OperatorConstructors
  6. Serializable
  7. Serializable
  8. AnyRef
  9. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new HardTable(schema: Seq[(String, Type)], data: Seq[Seq[PrimitiveValue]])

    Permalink

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. def addColumn(newCols: (String, Expression)*): Operator

    Permalink
    Definition Classes
    OperatorConstructors
  5. def aggregate(agg: AggFunction*): Operator

    Permalink
    Definition Classes
    OperatorConstructors
  6. def aggregateParsed(agg: (String, String)*): Operator

    Permalink
    Definition Classes
    OperatorConstructors
  7. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  8. def children: Seq[Operator]

    Permalink

    Return all of the child nodes of this operator

    Return all of the child nodes of this operator

    Definition Classes
    HardTableOperator
  9. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  10. def columnNames: Seq[String]

    Permalink

    Get the names of the columns produced by this operator.

    Get the names of the columns produced by this operator. If you need the types of the columns, use db.typechecker

    Definition Classes
    HardTableOperator
  11. def count(distinct: Boolean = false, alias: String = "COUNT"): Operator

    Permalink
    Definition Classes
    OperatorConstructors
  12. val data: Seq[Seq[PrimitiveValue]]

    Permalink
  13. def distinct: Operator

    Permalink
    Definition Classes
    OperatorConstructors
  14. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  15. def expressions: List[Nothing]

    Permalink

    Return all expression objects that appear in this node

    Return all expression objects that appear in this node

    Definition Classes
    HardTableOperator
  16. def filter(condition: Expression): Operator

    Permalink
    Definition Classes
    OperatorConstructors
  17. def filterParsed(condition: String): Operator

    Permalink
    Definition Classes
    OperatorConstructors
  18. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  19. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  20. def groupBy(gb: Var*)(agg: AggFunction*): Operator

    Permalink
    Definition Classes
    OperatorConstructors
  21. def groupByParsed(gb: String*)(agg: (String, String)*): Operator

    Permalink
    Definition Classes
    OperatorConstructors
  22. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  23. def join(other: Operator, on: Expression = BoolPrimitive(true)): Operator

    Permalink
    Definition Classes
    OperatorConstructors
  24. def limit(count: Int = 1, offset: Int = 0): Operator

    Permalink
    Definition Classes
    OperatorConstructors
  25. def map(cols: (String, Expression)*): Operator

    Permalink
    Definition Classes
    OperatorConstructors
  26. def mapImpl(cols: Seq[(String, Expression)], noInline: Boolean = false): Operator

    Permalink
    Definition Classes
    OperatorConstructors
  27. def mapNoInline(cols: (String, Expression)*): Operator

    Permalink
    Definition Classes
    OperatorConstructors
  28. def mapParsed(cols: (String, String)*): Operator

    Permalink
    Definition Classes
    OperatorConstructors
  29. def mapParsedNoInline(cols: (String, String)*): Operator

    Permalink
    Definition Classes
    OperatorConstructors
  30. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  31. final def notify(): Unit

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

    Permalink
    Definition Classes
    AnyRef
  33. def project(cols: String*): Operator

    Permalink
    Definition Classes
    OperatorConstructors
  34. def projectNoInline(cols: String*): Operator

    Permalink
    Definition Classes
    OperatorConstructors
  35. def rebuild(x: Seq[Operator]): HardTable

    Permalink

    Return a new instance of the same object, but with the children replaced with the provided list.

    Return a new instance of the same object, but with the children replaced with the provided list. The list must be of the same size returned by children. This is mostly to facilitate recur, below

    Definition Classes
    HardTableOperator
  36. def rebuildExpressions(x: Seq[Expression]): HardTable

    Permalink

    Replace all of the expressions in this operator.

    Replace all of the expressions in this operator. Like rebuild, this method expects expressions to arrive in the same order as they're returned by the expressions method

    Definition Classes
    HardTableOperator
  37. def recur(f: (Operator) ⇒ Operator): Operator

    Permalink

    Perform a recursive rewrite.

    Perform a recursive rewrite. The following pattern is pretty common throughout Mimir: def replaceFooWithBar(e:Expression): Expression = e match { case Foo(a, b, c, ...) => Bar(a, b, c, ...) case _ => e.recur(replaceFooWithBar(_)) } Note how specific rewrites are applied to specific patterns in the tree, and recur is used to ignore/descend through every other class of object

    Definition Classes
    Operator
  38. def recurExpressions(op: (Expression) ⇒ Expression): Operator

    Permalink

    Apply a method to recursively rewrite all of the Expressions in this object.

    Apply a method to recursively rewrite all of the Expressions in this object.

    Definition Classes
    Operator
  39. def removeColumn(targets: String*): Operator

    Permalink
    Definition Classes
    OperatorConstructors
  40. def removeColumns(targets: String*): Operator

    Permalink
    Definition Classes
    OperatorConstructors
  41. def rename(targets: (String, String)*): Operator

    Permalink
    Definition Classes
    OperatorConstructors
  42. val schema: Seq[(String, Type)]

    Permalink
  43. def sort(sortCols: (String, Boolean)*): Operator

    Permalink
    Definition Classes
    OperatorConstructors
  44. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  45. def toOperator: Operator

    Permalink

    Return Self.

    Return Self.

    This mainly exists in support of OperatorConstructors

    Definition Classes
    OperatorOperatorConstructors
  46. def toString(prefix: String): String

    Permalink

    Convert the operator into a string.

    Convert the operator into a string. Because operators are nested recursively, and can span multiple lines, Every line of output should be prefixed with the specified string.

    Definition Classes
    HardTableOperator
  47. def toString(): String

    Permalink

    The starting point for stringification is to have no indentation

    The starting point for stringification is to have no indentation

    Definition Classes
    Operator → AnyRef → Any
  48. def union(other: Operator): Operator

    Permalink
    Definition Classes
    OperatorConstructors
  49. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Product

Inherited from Equals

Inherited from Operator

Inherited from OperatorConstructors

Inherited from Serializable

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped