CodeLionX / actordb

Actor Database System Framework using Akka
MIT License
0 stars 2 forks source link

Refactor Relation API to favor inheritance #25

Closed CodeLionX closed 6 years ago

CodeLionX commented 6 years ago

Proposed Changes

object User extends RowRelation {
    val colFirstname: ColumnDef[String] = ColumnDef("Firstname")
    val colLastname: ColumnDef[String] = ColumnDef("Lastname")
    val colAge: ColumnDef[Int] = ColumnDef("Age")

    override val columns: Seq[UntypedColumnDef] = Seq(colFirstname, colLastname, colAge)
}

import Record.implicits._
val record = Record(User.columns)(
    User.colFirstname ~> "Hans" &
    User.colLastname ~> "Lastname" &
    User.colAge ~> 45
  ).build()
User.insert(record)
val result: Seq[Record] = User.where[String](User.colFirstname -> { _ == "Hans" })