[#1920] Add more implicit defs in order to treat Record1, ..., Record[N]
as Scala's Tuple1, ..., Tuple[N]
This commit is contained in:
parent
b32cf31f5b
commit
21d1e062fa
@ -305,4 +305,60 @@ object Conversions {
|
||||
case AnyFieldWrapper(f) => f
|
||||
case _ => new AnyFieldWrapper(f)
|
||||
}
|
||||
|
||||
/**
|
||||
* Enrich any {@link org.jooq.Record1} with the {@link Tuple1} case class
|
||||
*/
|
||||
implicit def asTuple1[T1](r : Record1[T1]): Tuple1[T1] = r match {
|
||||
case _ => Tuple1(r.value1)
|
||||
}
|
||||
|
||||
/**
|
||||
* Enrich any {@link org.jooq.Record2} with the {@link Tuple2} case class
|
||||
*/
|
||||
implicit def asTuple2[T1, T2](r : Record2[T1, T2]): Tuple2[T1, T2] = r match {
|
||||
case _ => Tuple2(r.value1, r.value2)
|
||||
}
|
||||
|
||||
/**
|
||||
* Enrich any {@link org.jooq.Record3} with the {@link Tuple3} case class
|
||||
*/
|
||||
implicit def asTuple3[T1, T2, T3](r : Record3[T1, T2, T3]): Tuple3[T1, T2, T3] = r match {
|
||||
case _ => Tuple3(r.value1, r.value2, r.value3)
|
||||
}
|
||||
|
||||
/**
|
||||
* Enrich any {@link org.jooq.Record4} with the {@link Tuple4} case class
|
||||
*/
|
||||
implicit def asTuple4[T1, T2, T3, T4](r : Record4[T1, T2, T3, T4]): Tuple4[T1, T2, T3, T4] = r match {
|
||||
case _ => Tuple4(r.value1, r.value2, r.value3, r.value4)
|
||||
}
|
||||
|
||||
/**
|
||||
* Enrich any {@link org.jooq.Record5} with the {@link Tuple5} case class
|
||||
*/
|
||||
implicit def asTuple5[T1, T2, T3, T4, T5](r : Record5[T1, T2, T3, T4, T5]): Tuple5[T1, T2, T3, T4, T5] = r match {
|
||||
case _ => Tuple5(r.value1, r.value2, r.value3, r.value4, r.value5)
|
||||
}
|
||||
|
||||
/**
|
||||
* Enrich any {@link org.jooq.Record6} with the {@link Tuple6} case class
|
||||
*/
|
||||
implicit def asTuple6[T1, T2, T3, T4, T5, T6](r : Record6[T1, T2, T3, T4, T5, T6]): Tuple6[T1, T2, T3, T4, T5, T6] = r match {
|
||||
case _ => Tuple6(r.value1, r.value2, r.value3, r.value4, r.value5, r.value6)
|
||||
}
|
||||
|
||||
/**
|
||||
* Enrich any {@link org.jooq.Record7} with the {@link Tuple7} case class
|
||||
*/
|
||||
implicit def asTuple7[T1, T2, T3, T4, T5, T6, T7](r : Record7[T1, T2, T3, T4, T5, T6, T7]): Tuple7[T1, T2, T3, T4, T5, T6, T7] = r match {
|
||||
case _ => Tuple7(r.value1, r.value2, r.value3, r.value4, r.value5, r.value6, r.value7)
|
||||
}
|
||||
|
||||
/**
|
||||
* Enrich any {@link org.jooq.Record8} with the {@link Tuple8} case class
|
||||
*/
|
||||
implicit def asTuple8[T1, T2, T3, T4, T5, T6, T7, T8](r : Record8[T1, T2, T3, T4, T5, T6, T7, T8]): Tuple8[T1, T2, T3, T4, T5, T6, T7, T8] = r match {
|
||||
case _ => Tuple8(r.value1, r.value2, r.value3, r.value4, r.value5, r.value6, r.value7, r.value8)
|
||||
}
|
||||
}
|
||||
|
||||
@ -48,7 +48,7 @@ import org.jooq.scala.Conversions._
|
||||
object Test {
|
||||
def main(args: Array[String]): Unit = {
|
||||
val c = DriverManager.getConnection("jdbc:h2:~/test", "sa", "");
|
||||
val f = new Factory(c, SQLDialect.H2);
|
||||
val f = new Executor(c, SQLDialect.H2);
|
||||
val x = T_AUTHOR as "x"
|
||||
|
||||
for (r <- f
|
||||
@ -71,5 +71,20 @@ object Test {
|
||||
|
||||
println(r)
|
||||
}
|
||||
|
||||
// Tuple assignment
|
||||
val tuple =
|
||||
f fetchOne (
|
||||
select (
|
||||
T_AUTHOR.FIRST_NAME,
|
||||
T_AUTHOR.LAST_NAME
|
||||
)
|
||||
from T_AUTHOR
|
||||
where T_AUTHOR.ID === 1
|
||||
)
|
||||
|
||||
|
||||
println("first name : " + tuple._1);
|
||||
println("last name : " + tuple._2);
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user