class MM_Relation extends Table with Error

The MM_Relation class stores and operates on vectors. The vectors form the columns of the columnar relational datastore. Columns may have any of the following types:

C - Complex - VectorC - 128 bit complex number a + bi D - Double - VectorD - 64 bit double precision floating point number I - Int - VectorI - 32 bit integer L - Long - VectorL - 64 bit long integer Q - Rational - VectorQ - 128 bit ratio of two long integers R - Real - VectorR - 128 bit quad precision floating point number S - StrNum - VectorS - variable length numeric string T - TimeNum - VectorT - 96 bit time number


Linear Supertypes
Error, Table, Tabular, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. MM_Relation
  2. Error
  3. Table
  4. Tabular
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new MM_Relation(name: String, colName: Seq[String], col: Vector[Vec], key: Int = 0, domain: String = null, fKeys: Seq[(String, String, Int)] = null, enter: Boolean = true)

    name

    the name of the relation

    colName

    the names of columns

    col

    the Scala Vector of columns making up the columnar relation

    key

    the column number for the primary key (< 0 => no primary key)

    domain

    an optional string indicating domains for columns (e.g., 'SD' = StrNum, Double)

    fKeys

    an optional sequence of foreign keys - Seq (column name, ref table name, ref column position)

    enter

    whether to enter the newly created relation into the Catalog

Value Members

  1. def -(r2: Table): Table

    Take the difference of 'this' table and 'r2' ('this - r2').

    Take the difference of 'this' table and 'r2' ('this - r2'). Check that the two tables are compatible.

    r2

    the other table

    Definition Classes
    Table
  2. def add(tuple: Row): Unit

    Add 'tuple to 'this' relation as a new row.

    Add 'tuple to 'this' relation as a new row. FIX: want an efficient, covariant, mutable data structure, but Array is invariant.

    tuple

    an aggregation of columns values (new row)

    Definition Classes
    MM_RelationTable
  3. def add_2(tuple: Row): Unit

    Add 'tuple' to 'this' relation as a new row.

    Add 'tuple' to 'this' relation as a new row. Type is determined by sampling values for columns

    tuple

    an aggregation of columns values (new row)

  4. var col: Vector[Vec]
  5. val colName: Seq[String]
  6. def colNames: Seq[String]

    Return the names of columns in the relation.

    Return the names of columns in the relation.

    Definition Classes
    MM_RelationTable
  7. def cols: Int

    Return the size in terms of number of columns in the relation.

    Return the size in terms of number of columns in the relation.

    Definition Classes
    MM_RelationTable
  8. def colsMap: Map[String, Int]

    Return the mapping from column names to column positions.

    Return the mapping from column names to column positions.

    Definition Classes
    MM_RelationTable
  9. def column(cName: String): Vec

    Return the column in the relation with column name 'cName'.

    Return the column in the relation with column name 'cName'.

    cName

    column name used to retrieve the column vector

    Definition Classes
    MM_RelationTable
  10. def columns: Vector[Vec]

    Return all of the columns in the table.

    Return all of the columns in the table.

    Definition Classes
    MM_RelationTable
  11. def compress(cName: String*): Unit

    Compress the selected columns 'cName' in 'this' table.

    Compress the selected columns 'cName' in 'this' table.

    cName

    the names of the columns to be compressed

    Definition Classes
    MM_RelationTable
  12. def contains(tuple: Row): Boolean

    Determine whether 'this' relation contains a row matching the given 'tuple'.

    Determine whether 'this' relation contains a row matching the given 'tuple'.

    tuple

    an aggregation of columns values (potential row)

    Definition Classes
    MM_RelationTable
  13. def delete[T](p: Predicate[T]*): MM_Relation

    Delete the rows from 'this' table that satisfy the predicates.

    Delete the rows from 'this' table that satisfy the predicates.

    T

    the predicate type

    p

    tuple(1): column name, tuple(2): predicate (T => Boolean)

    Definition Classes
    MM_RelationTable
  14. val domain: String
  15. def domains: String

    Return the domains for the columns in the relation.

    Return the domains for the columns in the relation.

    Definition Classes
    MM_RelationTable
  16. def epi(aggCol: AggColumn*)(cName: String*): Table

    Aggregate/project on the given columns (an extended projection operator that applies aggregate operators to aggregation columns and regular projection to projection columns).

    Aggregate/project on the given columns (an extended projection operator that applies aggregate operators to aggregation columns and regular projection to projection columns).

    aggCol

    the columns to aggregate on: (aggregate function, new column name, old column name)*

    cName

    the other columns to project on

    Definition Classes
    Table
    See also

    en.wikipedia.org/wiki/Relational_algebra

  17. def eproject(aggCol: AggColumn*)(cName: String*): Relation

    Aggregate/project on the given columns (an extended projection operator that applies aggregate operators to aggregation columns and regular projection to projection columns).

    Aggregate/project on the given columns (an extended projection operator that applies aggregate operators to aggregation columns and regular projection to projection columns).

    aggCol

    the columns to aggregate on: (aggregate function, new column name, old column name)*

    cName

    the other columns to project on

    Definition Classes
    MM_RelationTable
    See also

    en.wikipedia.org/wiki/Relational_algebra

  18. var fKeys: Seq[(String, String, Int)]
  19. final def flaw(method: String, message: String): Unit
    Definition Classes
    Error
  20. def groupBy(cName: String*): MM_Relation

    Group 'this' table by specified column names, returning 'this' table.

    Group 'this' table by specified column names, returning 'this' table.

    cName

    group columns

    Definition Classes
    MM_RelationTable
  21. def incompatible(_r2: Table): Boolean

    Determine whether 'this' relation and 'r2' are incompatible by having differing numbers of columns or differing domain strings.

    Determine whether 'this' relation and 'r2' are incompatible by having differing numbers of columns or differing domain strings.

    Definition Classes
    MM_RelationTable
  22. def indices: Range

    Return the range of index values for the table.

    Return the range of index values for the table.

    Definition Classes
    Table
  23. def intersect(_r2: Table): MM_Relation

    Intersect 'this' relation and 'r2'.

    Intersect 'this' relation and 'r2'. Check that the two relations are compatible.

    Definition Classes
    MM_RelationTable
  24. def join[T](r2: Table, p0: Predicate2[T], p: Predicate2[T]*): MM_Relation

    The theta join, handle the predicates in where are connect by "and" (where a....and b....).

    The theta join, handle the predicates in where are connect by "and" (where a....and b....).

    r2

    the second table

    p0

    the first theta join predicate (r1 cName, r2 cName, predicate to compare these two column)

    p

    the rest of theta join predicates (r1 cName, r2 cName, predicates to compare these two column)

    Definition Classes
    MM_RelationTable
  25. def join(cName: Seq[String], _r2: Table): MM_Relation

    Join 'this' relation and 'r2 by performing a "natural-join".

    Join 'this' relation and 'r2 by performing a "natural-join". Rows from both relations are compared requiring 'cName' values to be equal.

    cName

    the common join column names for both relation

    Definition Classes
    MM_RelationTable
  26. def join(cName1: Seq[String], cName2: Seq[String], _r2: Table): MM_Relation

    Join 'this' relation and 'r2 by performing an "equi-join".

    Join 'this' relation and 'r2 by performing an "equi-join". Rows from both relations are compared requiring 'cName1' values to equal 'cName2' values. Disambiguate column names by appending "2" to the end of any duplicate column name.

    cName1

    the join column names of this relation (e.g., the Foreign Key)

    cName2

    the join column names of relation r2 (e.g., the Primary Key)

    Definition Classes
    MM_RelationTable
  27. def join(cName1: String, cName2: String, r2: Table): Table

    Join 'this' table and 'r2' by performing an "equi-join".

    Join 'this' table and 'r2' by performing an "equi-join". Rows from both tables are compared requiring 'cName1' values to equal 'cName2' values. Disambiguate column names by appending "2" to the end of any duplicate column name.

    cName1

    the join column name of this table (e.g., the Foreign Key)

    cName2

    the join column name of table r2 (e.g., the Primary Key)

    r2

    the rhs table in the join operation

    Definition Classes
    Table
  28. def join(cName: String, r2: Table): Table

    Join 'this' table and 'r2' by performing a "natural-join".

    Join 'this' table and 'r2' by performing a "natural-join". Rows from both tables are compared requiring 'cName' values to be equal.

    cName

    the common join column name for both table

    r2

    the rhs table in the join operation

    Definition Classes
    Table
  29. def join(r2: Table): Table

    Join 'this' table and 'r2' by performing a "natural-join".

    Join 'this' table and 'r2' by performing a "natural-join". Rows from both tables are compared requiring agreement on common attributes (column names).

    r2

    the rhs table in the join operation

    Definition Classes
    Table
  30. val key: Int
  31. def leftJoin(thres: Double = 0.001)(cName1: String, cName2: String, r2: Table): MM_Relation

    Join 'this' table and 'r2' by performing an "apprimate left-join".

    Join 'this' table and 'r2' by performing an "apprimate left-join". Rows from both tables are compared requiring 'cName1' values to apprximately equal 'cName2' values. Disambiguate column names by appending "2" to the end of any duplicate column name. All rows from the left table are maintained with missing values indicators used where needed.

    thres

    the approximate equality threshold

    cName1

    the join column names of this table (e.g., the Foreign Key)

    cName2

    the join column names of table r2 (e.g., the Primary Key)

    r2

    the rhs table in the join operation

    Definition Classes
    MM_RelationTable
  32. def leftJoin(cName1: String, cName2: String, r2: Table): MM_Relation

    Join 'this' table and 'r2' by performing an "left-join".

    Join 'this' table and 'r2' by performing an "left-join". Rows from both tables are compared requiring 'cName1' values to equal 'cName2' values. Disambiguate column names by appending "2" to the end of any duplicate column name. All rows from the left table are maintained with missing values indicators used where needed.

    cName1

    the join column names of this table (e.g., the Foreign Key)

    cName2

    the join column names of table r2 (e.g., the Primary Key)

    r2

    the rhs table in the join operation

    Definition Classes
    MM_RelationTable
  33. def minus(_r2: Table): MM_Relation

    Take the difference of 'this' relation and 'r2' ('this - r2').

    Take the difference of 'this' relation and 'r2' ('this - r2'). Check that the two relations are compatible.

    Definition Classes
    MM_RelationTable
  34. val name: String
  35. def orderBy(_cName: String*): MM_Relation

    Order (ascending) the rows in the table by the selected columns 'cName'.

    Order (ascending) the rows in the table by the selected columns 'cName'. A stable sorting is used to allow sorting on multiple columns.

    Definition Classes
    MM_RelationTable
  36. def pi(cPos: Seq[Int], cName: Seq[String] = null): Table

    Project onto the columns with the given column positions.

    Project onto the columns with the given column positions.

    cPos

    the column positions to project onto

    cName

    the optional new names for the columns to project onto

    Definition Classes
    Table
  37. def pi(cName: String*): Table

    Project onto the columns with the given column names.

    Project onto the columns with the given column names.

    cName

    the names of the columns to project onto

    Definition Classes
    Table
  38. def pisigmaC(cName: String, p: (Complex) ⇒ Boolean): MM_Relation

    Select elements from column 'cName' in 'this' relation that satisfy the predicate 'p' and project onto that column.

    Select elements from column 'cName' in 'this' relation that satisfy the predicate 'p' and project onto that column.

    cName

    the name of the column used for selection

    p

    the predicate (Boolean function) to be satisfied

    Definition Classes
    MM_RelationTable
  39. def pisigmaD(cName: String, p: (Double) ⇒ Boolean): MM_Relation
    Definition Classes
    MM_RelationTable
  40. def pisigmaI(cName: String, p: (Int) ⇒ Boolean): MM_Relation
    Definition Classes
    MM_RelationTable
  41. def pisigmaL(cName: String, p: (Long) ⇒ Boolean): MM_Relation
    Definition Classes
    MM_RelationTable
  42. def pisigmaQ(cName: String, p: (Rational) ⇒ Boolean): MM_Relation
    Definition Classes
    MM_RelationTable
  43. def pisigmaR(cName: String, p: (Real) ⇒ Boolean): MM_Relation
    Definition Classes
    MM_RelationTable
  44. def pisigmaS(cName: String, p: (StrNum) ⇒ Boolean): MM_Relation
    Definition Classes
    MM_RelationTable
  45. def product(r2: Table): MM_Relation

    Compute the Cartesian product of 'this' table and 'r2' ('this × r2').

    Compute the Cartesian product of 'this' table and 'r2' ('this × r2').

    r2

    the second table

    Definition Classes
    MM_RelationTable
  46. def project(cPos: Seq[Int], cName: Seq[String] = null): MM_Relation

    Project onto the columns with the given column positions.

    Project onto the columns with the given column positions.

    cPos

    the column positions to project onto

    cName

    the optional new names for the columns to project onto

    Definition Classes
    MM_RelationTable
  47. def project(cName: String*): MM_Relation

    Project onto the columns with the given column names.

    Project onto the columns with the given column names.

    cName

    the names of the columns to project onto

    Definition Classes
    MM_RelationTable
  48. def rename(newName: String): MM_Relation

    Rename 'this' table, returning a shallow copy of 'this' table.

    Rename 'this' table, returning a shallow copy of 'this' table.

    newName

    the new name for the table.

    Definition Classes
    MM_RelationTable
  49. def reverseOrderBy(_cName: String*): MM_Relation

    Order (descending) the rows in the table by the selected columns 'cName'.

    Order (descending) the rows in the table by the selected columns 'cName'. A stable sorting is used to allow sorting on multiple columns.

    Definition Classes
    MM_RelationTable
  50. def rightJoin(cName1: String, cName2: String, r2: Table): Table

    Join 'this' table and 'r2' by performing an "right-join".

    Join 'this' table and 'r2' by performing an "right-join". Rows from both tables are compared requiring 'cName1' values to equal 'cName2' values. Disambiguate column names by appending "2" to the end of any duplicate column name. All rows from the right table are maintained with missing values indicators used where needed.

    cName1

    the join column names of this table (e.g., the Foreign Key)

    cName2

    the join column names of table r2 (e.g., the Primary Key)

    r2

    the rhs table in the join operation

    Definition Classes
    Table
  51. def row(i: Int): Row

    Create a row by pulling values from all columns at position 'i'.

    Create a row by pulling values from all columns at position 'i'.

    i

    the 'i'th position

    Definition Classes
    MM_RelationTable
  52. def row(sos: Seq[String], _typ: String): Row

    Create a row by pulling values from an array of strings and converting elements to their appropriate types.

    Create a row by pulling values from an array of strings and converting elements to their appropriate types.

    sos

    the sequence of strings holding the values

    _typ

    the string of corresponding types, e.g., 'SDI'

    Definition Classes
    Table
    Annotations
    @throws( classOf [Exception] )
  53. def rows: Int

    Return the size in terms of number of rows in the relation.

    Return the size in terms of number of rows in the relation.

    Definition Classes
    MM_RelationTable
  54. def save(): Unit

    Save 'this' relation in a file using serialization.

    Save 'this' relation in a file using serialization.

    Definition Classes
    MM_RelationTable
  55. def select[T](cName: String, p: (T) ⇒ Boolean)(implicit arg0: ClassTag[T]): MM_Relation

    Select elements from columns in 'cName' in 'this' table that satisfy the predicate 'p'.

    Select elements from columns in 'cName' in 'this' table that satisfy the predicate 'p'.

    cName

    the name of the column used for selection

    p

    the predicate (Boolean function) to be satisfied

    Definition Classes
    MM_RelationTable
  56. def selectAt(pos: Seq[Int]): MM_Relation

    Select across all columns at the specified column positions.

    Select across all columns at the specified column positions.

    pos

    the specified column positions

    Definition Classes
    MM_RelationTable
  57. def selectC(cName: String, p: (Complex) ⇒ Boolean): Seq[Int]

    Select the positions of elements from columns in 'cName' in 'this' relation that satisfy the predicate 'p'.

    Select the positions of elements from columns in 'cName' in 'this' relation that satisfy the predicate 'p'.

    cName

    the name of the column used for selection

    p

    the predicate (Boolean function) to be satisfied

    Definition Classes
    MM_RelationTable
  58. def selectD(cName: String, p: (Double) ⇒ Boolean): Seq[Int]
    Definition Classes
    MM_RelationTable
  59. def selectI(cName: String, p: (Int) ⇒ Boolean): Seq[Int]
    Definition Classes
    MM_RelationTable
  60. def selectL(cName: String, p: (Long) ⇒ Boolean): Seq[Int]
    Definition Classes
    MM_RelationTable
  61. def selectQ(cName: String, p: (Rational) ⇒ Boolean): Seq[Int]
    Definition Classes
    MM_RelationTable
  62. def selectR(cName: String, p: (Real) ⇒ Boolean): Seq[Int]
    Definition Classes
    MM_RelationTable
  63. def selectS(cName: String, p: (StrNum) ⇒ Boolean): Seq[Int]
    Definition Classes
    MM_RelationTable
  64. def show(limit: Int = Int.MaxValue): Unit

    Show 'this' relation row by row.

    Show 'this' relation row by row.

    limit

    the limit on the number of rows to display

    Definition Classes
    MM_RelationTabular
  65. def sigma[T](cName: String, p: (T) ⇒ Boolean): MM_Relation

    Select elements from columns in 'cName' in 'this' relation that satisfy the predicate 'p'.

    Select elements from columns in 'cName' in 'this' relation that satisfy the predicate 'p'.

    cName

    the name of the column used for selection

    p

    the predicate (Boolean function) to be satisfied

  66. def sigma[T](cName: String, p: (T) ⇒ Boolean)(implicit arg0: ClassTag[T]): Table

    Select elements from columns in 'cName' in 'this' table that satisfy the predicate 'p'.

    Select elements from columns in 'cName' in 'this' table that satisfy the predicate 'p'.

    cName

    the name of the column used for selection

    p

    the predicate (Boolean function) to be satisfied

    Definition Classes
    Table
  67. def sigmaC(cName: String, p: (Complex) ⇒ Boolean): MM_Relation

    Select elements from columns in 'cName' in 'this' relation that satisfy the predicate 'p'.

    Select elements from columns in 'cName' in 'this' relation that satisfy the predicate 'p'.

    cName

    the name of the column used for selection

    p

    the predicate (Boolean function) to be satisfied

    Definition Classes
    MM_RelationTable
  68. def sigmaD(cName: String, p: (Double) ⇒ Boolean): MM_Relation
    Definition Classes
    MM_RelationTable
  69. def sigmaI(cName: String, p: (Int) ⇒ Boolean): MM_Relation
    Definition Classes
    MM_RelationTable
  70. def sigmaL(cName: String, p: (Long) ⇒ Boolean): MM_Relation
    Definition Classes
    MM_RelationTable
  71. def sigmaQ(cName: String, p: (Rational) ⇒ Boolean): MM_Relation
    Definition Classes
    MM_RelationTable
  72. def sigmaR(cName: String, p: (Real) ⇒ Boolean): MM_Relation
    Definition Classes
    MM_RelationTable
  73. def sigmaS(cName: String, p: (StrNum) ⇒ Boolean): MM_Relation
    Definition Classes
    MM_RelationTable
  74. def toMatriD(colPos: Seq[Int], kind: MatrixKind = DENSE): MatriD

    Convert 'this' relation into a matrix of doubles, e.g.,

    Convert 'this' relation into a matrix of doubles, e.g.,

    in the regression equation: 'xb = y' create matrix 'xy'

    colPos

    the column positions to use for the matrix

    kind

    the kind of matrix to create

  75. def toMatriDD(colPos: Seq[Int], colPosV: Int, kind: MatrixKind = DENSE): (MatriD, VectorD)

    Convert 'this' relation into a matrix of doubles and a vector of doubles.

    Convert 'this' relation into a matrix of doubles and a vector of doubles.

    in the regression equation: 'xb = y' create matrix 'x' and vector 'y'

    colPos

    the column positions to use for the matrix

    colPosV

    the column position to use for the vector

    kind

    the kind of matrix to create

  76. def toMatriDI(colPos: Seq[Int], colPosV: Int, kind: MatrixKind = DENSE): (MatriD, VectorI)

    Convert 'this' relation into a matrix of doubles and a vector of integers.

    Convert 'this' relation into a matrix of doubles and a vector of integers.

    in the regression equation: 'xb = y' create matrix 'x' and vector 'y'

    colPos

    the column positions to use for the matrix

    colPosV

    the column position to use for the vector

    kind

    the kind of matrix to create

  77. def toMatriI(colPos: Seq[Int], kind: MatrixKind = DENSE): MatriI

    Convert 'this' relation into a matrix of integers.

    Convert 'this' relation into a matrix of integers.

    in the regression equation: 'xb = y' create matrix 'xy'

    colPos

    the column positions to use for the matrix

    kind

    the kind of matrix to create

  78. def toMatriII(colPos: Seq[Int], colPosV: Int, kind: MatrixKind = DENSE): (MatriI, VectorI)

    Convert 'this' relation into a matrix of integers and a vector of integers.

    Convert 'this' relation into a matrix of integers and a vector of integers.

    in the regression equation: 'xb = y' create matrix 'x' and vector 'y'

    colPos

    the column positions to use for the matrix

    colPosV

    the column position to use for the vector

    kind

    the kind of matrix to create

  79. def toString(): String

    Convert 'this' relation into a string column by column.

    Convert 'this' relation into a string column by column.

    Definition Classes
    MM_Relation → AnyRef → Any
  80. def uncompress(cName: String*): Unit

    Uncompress the selected columns 'cName' in 'this' table.

    Uncompress the selected columns 'cName' in 'this' table.

    cName

    the names of the columns to be uncompressed

    Definition Classes
    MM_RelationTable
  81. def union(_r2: Table): MM_Relation

    Union 'this' relation and 'r2'.

    Union 'this' relation and 'r2'. Check that the two relations are compatible.

    Definition Classes
    MM_RelationTable
  82. def update[T](cName: String, newVal: T, matchVal: T): Unit

    Update the column named 'cName' using function 'func' for elements with value 'matchStr'.

    Update the column named 'cName' using function 'func' for elements with value 'matchStr'.

    T

    type of the column

    cName

    the name of the column to be updated

    newVal

    the value used to assign updated values

    matchVal

    the value to be matched to elements

    Definition Classes
    MM_RelationTable
  83. def update[T](cName: String, func: (T) ⇒ T, matchVal: T): Unit

    Update the column named 'cName' using function 'func' for elements with value 'matchStr'.

    Update the column named 'cName' using function 'func' for elements with value 'matchStr'.

    T

    type of the column

    cName

    the name of the column to be updated

    func

    the function used to assign updated values

    matchVal

    the value to be matched to elements

    Definition Classes
    MM_RelationTable
  84. def update[T](cName: String, func: (T) ⇒ T, pred: (T) ⇒ Boolean): Unit

    Update the column named 'cName' using function 'func' for elements where the predicate 'pred' evaluates to true.

    Update the column named 'cName' using function 'func' for elements where the predicate 'pred' evaluates to true.

    T

    type of the column

    cName

    the name of the column to be updated

    func

    the function used to assign updated values // FIX - generalize type

    pred

    the predicated used to select elements for update

    Definition Classes
    MM_RelationTable
  85. def writeCSV(fileName: String): Unit

    Write 'this' relation into a CSV file with each row written to a line.

    Write 'this' relation into a CSV file with each row written to a line.

    fileName

    the file name of the data file

    Definition Classes
    MM_RelationTable
  86. def writeJSON(fileName: String): Unit

    Write 'this' relation into a JSON file.

    Write 'this' relation into a JSON file.

    fileName

    the file name of the data file

    Definition Classes
    MM_RelationTable
  87. def ×(r2: Table): Table

    Compute the Cartesian product of 'this' table and 'r2' ('this × r2').

    Compute the Cartesian product of 'this' table and 'r2' ('this × r2').

    r2

    the second table

    Definition Classes
    Table
  88. def Π(aggCol: AggColumn*)(cName: String*): Table

    Aggregate/project on the given columns (an extended projection operator that applies aggregate operators to aggregation columns and regular projection to projection columns).

    Aggregate/project on the given columns (an extended projection operator that applies aggregate operators to aggregation columns and regular projection to projection columns).

    aggCol

    the columns to aggregate on: (aggregate function, new column name, old column name)*

    cName

    the other columns to project on

    Definition Classes
    Table
    See also

    en.wikipedia.org/wiki/Relational_algebra

  89. def γ(cName: String*): Table

    Group 'this' table by specified column names, returning 'this' table.

    Group 'this' table by specified column names, returning 'this' table.

    cName

    group columns

    Definition Classes
    Table
  90. def ζ(cName: String*): Unit

    Compress the selected columns 'cName' in 'this' table.

    Compress the selected columns 'cName' in 'this' table.

    cName

    the names of the columns to be compressed

    Definition Classes
    Table
  91. def ζζ(cName: String*): Unit

    Uncompress the selected columns 'cName' in 'this' table.

    Uncompress the selected columns 'cName' in 'this' table.

    cName

    the names of the columns to be uncompressed

    Definition Classes
    Table
  92. def π(cPos: Seq[Int], cName: Seq[String] = null): Table

    Project onto the columns with the given column positions.

    Project onto the columns with the given column positions.

    cPos

    the column positions to project onto

    cName

    the optional new names for the columns to project onto

    Definition Classes
    Table
  93. def π(cName: String*): Table

    Project onto the columns with the given column names.

    Project onto the columns with the given column names.

    cName

    the names of the columns to project onto

    Definition Classes
    Table
  94. def σ[T](cName: String, p: (T) ⇒ Boolean): MM_Relation

    Select elements from columns in 'cName' in 'this' relation that satisfy the predicate 'p'.

    Select elements from columns in 'cName' in 'this' relation that satisfy the predicate 'p'.

    cName

    the name of the column used for selection

    p

    the predicate (Boolean function) to be satisfied

  95. def σ[T](cName: String, p: (T) ⇒ Boolean)(implicit arg0: ClassTag[T]): Table

    Select elements from columns in 'cName' in 'this' table that satisfy the predicate 'p'.

    Select elements from columns in 'cName' in 'this' table that satisfy the predicate 'p'.

    cName

    the name of the column used for selection

    p

    the predicate (Boolean function) to be satisfied

    Definition Classes
    Table
  96. def ω(cName: String*): Table

    Order (ascending) the rows in the table by the selected columns 'cName'.

    Order (ascending) the rows in the table by the selected columns 'cName'. A stable sorting is used to allow sorting on multiple columns.

    cName

    the column names that are to be sorted

    Definition Classes
    Table
  97. def ωω(cName: String*): Table

    Order (descending) the rows in the table by the selected columns 'cName'.

    Order (descending) the rows in the table by the selected columns 'cName'. A stable sorting is used to allow sorting on multiple columns.

    cName

    the column names that are to be sorted

    Definition Classes
    Table
  98. def (r2: Table): Table

    Intersect 'this' table and 'r2'.

    Intersect 'this' table and 'r2'. Check that the two tables are compatible.

    r2

    the other table

    Definition Classes
    Table
  99. def (r2: Table): Table

    Union 'this' table and 'r2'.

    Union 'this' table and 'r2'. Check that the two tables are compatible.

    r2

    the other table

    Definition Classes
    Table
  100. def [T](r2: Table, p0: Predicate2[T], p: Predicate2[T]*): Table

    The theta join, handle the predicates in where are connect by "and" (where a....and b....).

    The theta join, handle the predicates in where are connect by "and" (where a....and b....).

    r2

    the second table

    p0

    the first theta join predicate (r1 cName, r2 cName, predicate to compare these two column)

    p

    the rest of theta join predicates (r1 cName, r2 cName, predicates to compare these two column)

    Definition Classes
    Table
  101. def (cNames1: Seq[String], cNames2: Seq[String], r2: Table): Table

    Join 'this' table and 'r2' by performing an "equi-join".

    Join 'this' table and 'r2' by performing an "equi-join". Rows from both tables are compared requiring 'cName1' values to equal 'cName2' values. Disambiguate column names by appending "2" to the end of any duplicate column name.

    cNames1

    the join column names of this table (e.g., the Foreign Key)

    cNames2

    the join column names of table r2 (e.g., the Primary Key)

    r2

    the rhs table in the join operation

    Definition Classes
    Table
  102. def (cName1: String, cName2: String, r2: Table): Table

    Join 'this' table and 'r2' by performing an "equi-join".

    Join 'this' table and 'r2' by performing an "equi-join". Rows from both tables are compared requiring 'cName1' values to equal 'cName2' values. Disambiguate column names by appending "2" to the end of any duplicate column name.

    cName1

    the join column name of this table (e.g., the Foreign Key)

    cName2

    the join column name of table r2 (e.g., the Primary Key)

    r2

    the rhs table in the join operation

    Definition Classes
    Table
  103. def (cNames: Seq[String], r2: Table): Table

    Join 'this' table and 'r2' by performing a "natural-join".

    Join 'this' table and 'r2' by performing a "natural-join". Rows from both tables are compared requiring 'cName' values to be equal.

    cNames

    the common join column names for both table

    r2

    the rhs table in the join operation

    Definition Classes
    Table
  104. def (cName: String, r2: Table): Table

    Join 'this' table and 'r2' by performing a "natural-join".

    Join 'this' table and 'r2' by performing a "natural-join". Rows from both tables are compared requiring 'cName' values to be equal.

    cName

    the common join column name for both table

    r2

    the rhs table in the join operation

    Definition Classes
    Table
  105. def (r2: Table): Table

    Join 'this' table and 'r2' by performing a "natural-join".

    Join 'this' table and 'r2' by performing a "natural-join". Rows from both tables are compared requiring agreement on common attributes (column names).

    r2

    the rhs table in the join operation

    Definition Classes
    Table
  106. def (thres: Double = 0.01)(cName1: String, cName2: String, r2: Table): Table

    Join 'this' table and 'r2' by performing an "apprimate left-join".

    Join 'this' table and 'r2' by performing an "apprimate left-join". Rows from both tables are compared requiring 'cName1' values to apprximately equal 'cName2' values. Disambiguate column names by appending "2" to the end of any duplicate column name. All rows from the left table are maintained with missing values indicators used where needed.

    cName1

    the join column names of this table (e.g., the Foreign Key)

    cName2

    the join column names of table r2 (e.g., the Primary Key)

    r2

    the rhs table in the join operation

    Definition Classes
    Table
  107. def (cName1: String, cName2: String, r2: Table): Table

    Join 'this' table and 'r2' by performing an "left-join".

    Join 'this' table and 'r2' by performing an "left-join". Rows from both tables are compared requiring 'cName1' values to equal 'cName2' values. Disambiguate column names by appending "2" to the end of any duplicate column name. All rows from the left table are maintained with missing values indicators used where needed. Note: although this is the semi-join symbol, due to Unicode limitations, it is used for left-join.

    cName1

    the join column names of this table (e.g., the Foreign Key)

    cName2

    the join column names of table r2 (e.g., the Primary Key)

    r2

    the rhs table in the join operation

    Definition Classes
    Table
  108. def (cName1: String, cName2: String, r2: Table): Table

    Join 'this' table and 'r2' by performing an "right-join".

    Join 'this' table and 'r2' by performing an "right-join". Rows from both tables are compared requiring 'cName1' values to equal 'cName2' values. Disambiguate column names by appending "2" to the end of any duplicate column name. All rows from the right table are maintained with missing values indicators used where needed.

    cName1

    the join column names of this table (e.g., the Foreign Key)

    cName2

    the join column names of table r2 (e.g., the Primary Key)

    r2

    the rhs table in the join operation

    Definition Classes
    Table