case class MM_Relation(name: String, colName: Seq[String], col: Vector[Vec], key: Int = 0, domain: String = null) extends Table with Error with Product with Serializable
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
- 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
)
- Alphabetic
- By Inheritance
- MM_Relation
- Serializable
- Serializable
- Product
- Equals
- Error
- Table
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
-
new
MM_Relation(name: String, colName: Seq[String], col: Vector[Vec], key: Int = 0, domain: String = null)
- 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
)
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
def
-(_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_Relation → Table
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
><(_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 agreement on common attributes (column names).
- Definition Classes
- MM_Relation → Table
-
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_Relation → Table
-
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)
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
- var col: Vector[Vec]
- val colName: Seq[String]
-
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_Relation → Table
-
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_Relation → Table
-
def
disambiguate(cn1: Seq[String], cn2: Seq[String]): Seq[String]
Combine two sequences of column names and disambiguate any repeated names by appending "2".
Combine two sequences of column names and disambiguate any repeated names by appending "2".
- cn1
the first sequence of column names
- cn2
the second sequence of column names
- Definition Classes
- Table
- val domain: String
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
flaw(method: String, message: String): Unit
- Definition Classes
- Error
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
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_Relation → Table
-
def
indices: Range
Return the range of index values for the relation.
Return the range of index values for the relation.
- Definition Classes
- Table
-
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_Relation → Table
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
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_Relation → Table
-
def
join(cName1: String, cName2: 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 string of join column names of this relation (e.g., the Foreign Key)
- cName2
the string of join column names of relation r2 (e.g., the Primary Key)
- r2
the rhs relation in the join operation
- Definition Classes
- MM_Relation → Table
-
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_Relation → Table
- val key: Int
- val name: String
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
def
pi(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_Relation → Table
-
def
pi(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_Relation → Table
-
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_Relation → Table
-
def
pisigmaD(cName: String, p: (Double) ⇒ Boolean): MM_Relation
- Definition Classes
- MM_Relation → Table
-
def
pisigmaI(cName: String, p: (Int) ⇒ Boolean): MM_Relation
- Definition Classes
- MM_Relation → Table
-
def
pisigmaL(cName: String, p: (Long) ⇒ Boolean): MM_Relation
- Definition Classes
- MM_Relation → Table
-
def
pisigmaQ(cName: String, p: (Rational) ⇒ Boolean): MM_Relation
- Definition Classes
- MM_Relation → Table
-
def
pisigmaR(cName: String, p: (Real) ⇒ Boolean): MM_Relation
- Definition Classes
- MM_Relation → Table
-
def
pisigmaS(cName: String, p: (StrNum) ⇒ Boolean): MM_Relation
- Definition Classes
- MM_Relation → Table
-
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_Relation → Table
-
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
-
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_Relation → Table
-
def
save(): Unit
Save 'this' relation in a file using serialization.
Save 'this' relation in a file using serialization.
- Definition Classes
- MM_Relation → Table
-
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_Relation → Table
-
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_Relation → Table
-
def
selectD(cName: String, p: (Double) ⇒ Boolean): Seq[Int]
- Definition Classes
- MM_Relation → Table
-
def
selectI(cName: String, p: (Int) ⇒ Boolean): Seq[Int]
- Definition Classes
- MM_Relation → Table
-
def
selectL(cName: String, p: (Long) ⇒ Boolean): Seq[Int]
- Definition Classes
- MM_Relation → Table
-
def
selectQ(cName: String, p: (Rational) ⇒ Boolean): Seq[Int]
- Definition Classes
- MM_Relation → Table
-
def
selectR(cName: String, p: (Real) ⇒ Boolean): Seq[Int]
- Definition Classes
- MM_Relation → Table
-
def
selectS(cName: String, p: (StrNum) ⇒ Boolean): Seq[Int]
- Definition Classes
- MM_Relation → Table
-
def
show(): Unit
Show 'this' relation row by row.
Show 'this' relation row by row.
- Definition Classes
- MM_Relation → Table
-
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
- Definition Classes
- MM_Relation → Table
-
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_Relation → Table
-
def
sigmaD(cName: String, p: (Double) ⇒ Boolean): MM_Relation
- Definition Classes
- MM_Relation → Table
-
def
sigmaI(cName: String, p: (Int) ⇒ Boolean): MM_Relation
- Definition Classes
- MM_Relation → Table
-
def
sigmaL(cName: String, p: (Long) ⇒ Boolean): MM_Relation
- Definition Classes
- MM_Relation → Table
-
def
sigmaQ(cName: String, p: (Rational) ⇒ Boolean): MM_Relation
- Definition Classes
- MM_Relation → Table
-
def
sigmaR(cName: String, p: (Real) ⇒ Boolean): MM_Relation
- Definition Classes
- MM_Relation → Table
-
def
sigmaS(cName: String, p: (StrNum) ⇒ Boolean): MM_Relation
- Definition Classes
- MM_Relation → Table
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
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
-
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
-
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
-
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
-
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
-
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
-
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_Relation → Table
-
def
uniq_union(cn1: Seq[String], cn2: Seq[String]): Seq[String]
Combine two sequences of column names, keeping all names from 'cn1' and only those in 'cn2' that are not repeats (i.e., not already in 'cn1').
Combine two sequences of column names, keeping all names from 'cn1' and only those in 'cn2' that are not repeats (i.e., not already in 'cn1').
- cn1
the first sequence of column names
- cn2
the second sequence of column names
- Definition Classes
- Table
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
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_Relation → Table
-
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_Relation → Table
-
def
π(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_Relation → Table
-
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
- Definition Classes
- MM_Relation → Table
-
def
⋂(r2: Table): MM_Relation
Intersect 'this' relation and 'r2'.
Intersect 'this' relation and 'r2'. Check that the two relations are compatible.
- r2
the other relation
- Definition Classes
- MM_Relation → Table
-
def
⋃(r2: Table): MM_Relation
Union 'this' relation and 'r2'.
Union 'this' relation and 'r2'. Check that the two relations are compatible.
- r2
the other relation
- Definition Classes
- MM_Relation → Table
-
def
⋈(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 agreement on common attributes (column names).
- r2
the rhs relation in the join operation
- Definition Classes
- MM_Relation → Table