Result with one row
Cache for parsed expressions
is retured from
CompiledResult
is retured from
Query.apply[T]
method. Is used from tresql interpolator macro Query.apply[T] }}} Is used from tresql interpolator macro CompiledResult }}} Is used from tresql interpolator macro
is used as superclass for parameter type of
CompiledRow
is used as superclass for parameter type of
CompiledResult[T]
CompiledRow }}}
In out parameter box for callable statement
Implementation of meta data must be thread safe
Object Relational Transformations - ORT
Out parameter box for callable statement
Cache based on java concurrent hash map
Compiles tresql statement and returns compiled result.
Compiles tresql statement and returns compiled result. For tresql select definition returned result of type see example:
//class reflecting result row class Dept extends CompiledRow { var deptno: java.lang.Integer = _ var dname: java.lang.String = _ var emps: org.tresql.CompiledResult[Emp] = _ override def apply(idx: Int) = idx match { case 0 => deptno case 1 => dname case 2 => emps } override def columnCount = 3 override val columns = Vector( org.tresql.Column(-1, "deptno", null), org.tresql.Column(-1, "dname", null), org.tresql.Column(-1, "emps", null) ) } //RowConverter definition object Dept extends RowConverter[Dept] { def apply(row: RowLike): Dept = { val obj = new Dept obj.deptno = row.typed[java.lang.Integer](0) obj.dname = row.typed[java.lang.String](1) obj.emps = row.typed[org.tresql.CompiledResult[Emp]](2) obj } } class Emp extends CompiledRow { var empno: java.lang.Integer = _ var ename: java.lang.String = _ var hiredate: java.sql.Date = _ override def apply(idx: Int) = idx match { case 0 => empno case 1 => ename case 2 => hiredate } override def columnCount = 3 override val columns = Vector( org.tresql.Column(-1, "empno", null), org.tresql.Column(-1, "ename", null), org.tresql.Column(-1, "hiredate", null) ) } object Emp extends RowConverter[Emp] { def apply(row: RowLike): Emp = { val obj = new Emp obj.empno = row.typed[java.lang.Integer](0) obj.ename = row.typed[java.lang.String](1) obj.hiredate = row.typed[java.sql.Date](2) obj } }
Cache based on scala WeakHashMap
Does not refer to scala compiler macro.
Does not refer to scala compiler macro. Is placed here to be in the package object tresql