I started playing with some async helpers & the scala-compat-java8 library:
I'm not sure if these would make sense to include in the current org.jooq.scala.Conversions? Or, another idea I was toying with, was having two different versions of org.jooq.scala.Conversions, say, org.jooq.scala.async.Conversions, such that, the intended usage would be to have "def fetchOneOption" return an Future[Option[Record]] without having to explicitly call out a separate "fetchOneOptionAsync" call.
I'm not sure if that convenience outweighs the possible complexity, so I'm leaning toward having the explicit names with Async to mark the type of call they are. This is a little "hacked together" since I'm implementing these methods only for scala. Would it make sense to have java-versions of the "fetchAnyAsync/fetchOneAsync/fechValueAsync" for both ResultQuery & DSLContext, then the scala Option wrappers would do just the Option + Future conversions?
LMKYT,
-Eric