doobie.free

resultset

object resultset

Algebra and free monad for primitive operations over a java.sql.ResultSet. This is a low-level API that exposes lifecycle-managed JDBC objects directly and is intended mainly for library developers. End users will prefer a safer, higher-level API such as that provided in the doobie.hi package.

ResultSetIO is a free monad that must be run via an interpreter, most commonly via natural transformation of its underlying algebra ResultSetOp to another monad via Free#foldMap.

The library provides a natural transformation to Kleisli[M, ResultSet, A] for any exception-trapping (Catchable) and effect-capturing (Capture) monad M. Such evidence is provided for Task, IO, and stdlib Future; and transK[M] is provided as syntax.

// An action to run
val a: ResultSetIO[Foo] = ...

// A JDBC object
val s: ResultSet = ...

// Unfolding into a Task
val ta: Task[A] = a.transK[Task].run(s)
Source
resultset.scala
Linear Supertypes
AnyRef, Any
Ordering
  1. Grouped
  2. Alphabetic
  3. By inheritance
Inherited
  1. resultset
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. type ResultSetIO[A] = Free[ResultSetOp, A]

    Free monad over a free functor of ResultSetOp; abstractly, a computation that consumes a java.sql.ResultSet and produces a value of type A.

  2. implicit class ResultSetIOOps[A] extends AnyRef

    Syntax for ResultSetIO.

  3. sealed trait ResultSetOp[A] extends AnyRef

    Sum type of primitive operations over a java.sql.ResultSet.

Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. implicit val CaptureResultSetIO: Capture[ResultSetIO]

    Capture instance for ResultSetIO.

  7. implicit val CatchableResultSetIO: Catchable[ResultSetIO]

    Catchable instance for ResultSetIO.

  8. object ResultSetOp

    Module of constructors for ResultSetOp.

  9. def absolute(a: Int): ResultSetIO[Boolean]

  10. val afterLast: ResultSetIO[Unit]

  11. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  12. def attempt[A](a: ResultSetIO[A]): ResultSetIO[\/[Throwable, A]]

    Lift a ResultSetIO[A] into an exception-capturing ResultSetIO[Throwable \/ A].

  13. val beforeFirst: ResultSetIO[Unit]

  14. val cancelRowUpdates: ResultSetIO[Unit]

  15. val clearWarnings: ResultSetIO[Unit]

  16. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  17. val close: ResultSetIO[Unit]

  18. def delay[A](a: ⇒ A): ResultSetIO[A]

    Non-strict unit for capturing effects.

  19. val deleteRow: ResultSetIO[Unit]

  20. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  21. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  22. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  23. def findColumn(a: String): ResultSetIO[Int]

  24. val first: ResultSetIO[Boolean]

  25. def getArray(a: Int): ResultSetIO[Array]

  26. def getArray(a: String): ResultSetIO[Array]

  27. def getAsciiStream(a: String): ResultSetIO[InputStream]

  28. def getAsciiStream(a: Int): ResultSetIO[InputStream]

  29. def getBigDecimal(a: String): ResultSetIO[BigDecimal]

  30. def getBigDecimal(a: Int): ResultSetIO[BigDecimal]

  31. def getBigDecimal(a: String, b: Int): ResultSetIO[BigDecimal]

  32. def getBigDecimal(a: Int, b: Int): ResultSetIO[BigDecimal]

  33. def getBinaryStream(a: String): ResultSetIO[InputStream]

  34. def getBinaryStream(a: Int): ResultSetIO[InputStream]

  35. def getBlob(a: String): ResultSetIO[Blob]

  36. def getBlob(a: Int): ResultSetIO[Blob]

  37. def getBoolean(a: String): ResultSetIO[Boolean]

  38. def getBoolean(a: Int): ResultSetIO[Boolean]

  39. def getByte(a: Int): ResultSetIO[Byte]

  40. def getByte(a: String): ResultSetIO[Byte]

  41. def getBytes(a: String): ResultSetIO[Array[Byte]]

  42. def getBytes(a: Int): ResultSetIO[Array[Byte]]

  43. def getCharacterStream(a: Int): ResultSetIO[Reader]

  44. def getCharacterStream(a: String): ResultSetIO[Reader]

  45. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  46. def getClob(a: Int): ResultSetIO[Clob]

  47. def getClob(a: String): ResultSetIO[Clob]

  48. val getConcurrency: ResultSetIO[Int]

  49. val getCursorName: ResultSetIO[String]

  50. def getDate(a: String, b: Calendar): ResultSetIO[Date]

  51. def getDate(a: String): ResultSetIO[Date]

  52. def getDate(a: Int, b: Calendar): ResultSetIO[Date]

  53. def getDate(a: Int): ResultSetIO[Date]

  54. def getDouble(a: Int): ResultSetIO[Double]

  55. def getDouble(a: String): ResultSetIO[Double]

  56. val getFetchDirection: ResultSetIO[Int]

  57. val getFetchSize: ResultSetIO[Int]

  58. def getFloat(a: Int): ResultSetIO[Float]

  59. def getFloat(a: String): ResultSetIO[Float]

  60. val getHoldability: ResultSetIO[Int]

  61. def getInt(a: String): ResultSetIO[Int]

  62. def getInt(a: Int): ResultSetIO[Int]

  63. def getLong(a: String): ResultSetIO[Long]

  64. def getLong(a: Int): ResultSetIO[Long]

  65. val getMetaData: ResultSetIO[ResultSetMetaData]

  66. def getNCharacterStream(a: Int): ResultSetIO[Reader]

  67. def getNCharacterStream(a: String): ResultSetIO[Reader]

  68. def getNClob(a: Int): ResultSetIO[NClob]

  69. def getNClob(a: String): ResultSetIO[NClob]

  70. def getNString(a: Int): ResultSetIO[String]

  71. def getNString(a: String): ResultSetIO[String]

  72. def getObject[T](a: String, b: Class[T]): ResultSetIO[T]

  73. def getObject(a: Int): ResultSetIO[AnyRef]

  74. def getObject(a: Int, b: Map[String, Class[_]]): ResultSetIO[AnyRef]

  75. def getObject(a: String): ResultSetIO[AnyRef]

  76. def getObject(a: String, b: Map[String, Class[_]]): ResultSetIO[AnyRef]

  77. def getObject[T](a: Int, b: Class[T]): ResultSetIO[T]

  78. def getRef(a: String): ResultSetIO[Ref]

  79. def getRef(a: Int): ResultSetIO[Ref]

  80. val getRow: ResultSetIO[Int]

  81. def getRowId(a: String): ResultSetIO[RowId]

  82. def getRowId(a: Int): ResultSetIO[RowId]

  83. def getSQLXML(a: Int): ResultSetIO[SQLXML]

  84. def getSQLXML(a: String): ResultSetIO[SQLXML]

  85. def getShort(a: Int): ResultSetIO[Short]

  86. def getShort(a: String): ResultSetIO[Short]

  87. val getStatement: ResultSetIO[Statement]

  88. def getString(a: String): ResultSetIO[String]

  89. def getString(a: Int): ResultSetIO[String]

  90. def getTime(a: Int, b: Calendar): ResultSetIO[Time]

  91. def getTime(a: String, b: Calendar): ResultSetIO[Time]

  92. def getTime(a: Int): ResultSetIO[Time]

  93. def getTime(a: String): ResultSetIO[Time]

  94. def getTimestamp(a: Int, b: Calendar): ResultSetIO[Timestamp]

  95. def getTimestamp(a: String): ResultSetIO[Timestamp]

  96. def getTimestamp(a: String, b: Calendar): ResultSetIO[Timestamp]

  97. def getTimestamp(a: Int): ResultSetIO[Timestamp]

  98. val getType: ResultSetIO[Int]

  99. def getURL(a: String): ResultSetIO[URL]

  100. def getURL(a: Int): ResultSetIO[URL]

  101. def getUnicodeStream(a: String): ResultSetIO[InputStream]

  102. def getUnicodeStream(a: Int): ResultSetIO[InputStream]

  103. val getWarnings: ResultSetIO[SQLWarning]

  104. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  105. val insertRow: ResultSetIO[Unit]

  106. def interpK[M[_]](implicit arg0: Monad[M], arg1: Catchable[M], arg2: Capture[M]): ~>[ResultSetOp, [γ]Kleisli[M, ResultSet, γ]]

    Natural transformation from ResultSetOp to Kleisli for the given M, consuming a java.sql.ResultSet.

  107. val isAfterLast: ResultSetIO[Boolean]

  108. val isBeforeFirst: ResultSetIO[Boolean]

  109. val isClosed: ResultSetIO[Boolean]

  110. val isFirst: ResultSetIO[Boolean]

  111. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  112. val isLast: ResultSetIO[Boolean]

  113. def isWrapperFor(a: Class[_]): ResultSetIO[Boolean]

  114. val last: ResultSetIO[Boolean]

  115. def lift[Op[_], A, J](j: J, action: Free[Op, A])(implicit mod: Aux[Op, J]): ResultSetIO[A]

    Lift a different type of program that has a default Kleisli interpreter.

  116. val moveToCurrentRow: ResultSetIO[Unit]

  117. val moveToInsertRow: ResultSetIO[Unit]

  118. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  119. val next: ResultSetIO[Boolean]

  120. final def notify(): Unit

    Definition Classes
    AnyRef
  121. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  122. val previous: ResultSetIO[Boolean]

  123. def raw[A](f: (ResultSet) ⇒ A): ResultSetIO[A]

    Backdoor for arbitrary computations on the underlying ResultSet.

  124. val refreshRow: ResultSetIO[Unit]

  125. def relative(a: Int): ResultSetIO[Boolean]

  126. val rowDeleted: ResultSetIO[Boolean]

  127. val rowInserted: ResultSetIO[Boolean]

  128. val rowUpdated: ResultSetIO[Boolean]

  129. def setFetchDirection(a: Int): ResultSetIO[Unit]

  130. def setFetchSize(a: Int): ResultSetIO[Unit]

  131. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  132. def toString(): String

    Definition Classes
    AnyRef → Any
  133. def trans[M[_]](c: ResultSet)(implicit arg0: Monad[M], arg1: Catchable[M], arg2: Capture[M]): ~>[ResultSetIO, M]

    Natural transformation from ResultSetIO to M, given a java.sql.ResultSet.

  134. def transK[M[_]](implicit arg0: Monad[M], arg1: Catchable[M], arg2: Capture[M]): ~>[ResultSetIO, [γ]Kleisli[M, ResultSet, γ]]

    Natural transformation from ResultSetIO to Kleisli for the given M, consuming a java.sql.ResultSet.

  135. def unwrap[T](a: Class[T]): ResultSetIO[T]

  136. def updateArray(a: Int, b: Array): ResultSetIO[Unit]

  137. def updateArray(a: String, b: Array): ResultSetIO[Unit]

  138. def updateAsciiStream(a: Int, b: InputStream, c: Long): ResultSetIO[Unit]

  139. def updateAsciiStream(a: Int, b: InputStream): ResultSetIO[Unit]

  140. def updateAsciiStream(a: Int, b: InputStream, c: Int): ResultSetIO[Unit]

  141. def updateAsciiStream(a: String, b: InputStream, c: Int): ResultSetIO[Unit]

  142. def updateAsciiStream(a: String, b: InputStream): ResultSetIO[Unit]

  143. def updateAsciiStream(a: String, b: InputStream, c: Long): ResultSetIO[Unit]

  144. def updateBigDecimal(a: String, b: BigDecimal): ResultSetIO[Unit]

  145. def updateBigDecimal(a: Int, b: BigDecimal): ResultSetIO[Unit]

  146. def updateBinaryStream(a: Int, b: InputStream, c: Int): ResultSetIO[Unit]

  147. def updateBinaryStream(a: Int, b: InputStream): ResultSetIO[Unit]

  148. def updateBinaryStream(a: String, b: InputStream, c: Long): ResultSetIO[Unit]

  149. def updateBinaryStream(a: String, b: InputStream): ResultSetIO[Unit]

  150. def updateBinaryStream(a: String, b: InputStream, c: Int): ResultSetIO[Unit]

  151. def updateBinaryStream(a: Int, b: InputStream, c: Long): ResultSetIO[Unit]

  152. def updateBlob(a: String, b: Blob): ResultSetIO[Unit]

  153. def updateBlob(a: String, b: InputStream): ResultSetIO[Unit]

  154. def updateBlob(a: String, b: InputStream, c: Long): ResultSetIO[Unit]

  155. def updateBlob(a: Int, b: InputStream): ResultSetIO[Unit]

  156. def updateBlob(a: Int, b: InputStream, c: Long): ResultSetIO[Unit]

  157. def updateBlob(a: Int, b: Blob): ResultSetIO[Unit]

  158. def updateBoolean(a: String, b: Boolean): ResultSetIO[Unit]

  159. def updateBoolean(a: Int, b: Boolean): ResultSetIO[Unit]

  160. def updateByte(a: Int, b: Byte): ResultSetIO[Unit]

  161. def updateByte(a: String, b: Byte): ResultSetIO[Unit]

  162. def updateBytes(a: Int, b: Array[Byte]): ResultSetIO[Unit]

  163. def updateBytes(a: String, b: Array[Byte]): ResultSetIO[Unit]

  164. def updateCharacterStream(a: String, b: Reader): ResultSetIO[Unit]

  165. def updateCharacterStream(a: Int, b: Reader): ResultSetIO[Unit]

  166. def updateCharacterStream(a: String, b: Reader, c: Long): ResultSetIO[Unit]

  167. def updateCharacterStream(a: Int, b: Reader, c: Long): ResultSetIO[Unit]

  168. def updateCharacterStream(a: Int, b: Reader, c: Int): ResultSetIO[Unit]

  169. def updateCharacterStream(a: String, b: Reader, c: Int): ResultSetIO[Unit]

  170. def updateClob(a: String, b: Reader, c: Long): ResultSetIO[Unit]

  171. def updateClob(a: String, b: Reader): ResultSetIO[Unit]

  172. def updateClob(a: Int, b: Reader): ResultSetIO[Unit]

  173. def updateClob(a: String, b: Clob): ResultSetIO[Unit]

  174. def updateClob(a: Int, b: Clob): ResultSetIO[Unit]

  175. def updateClob(a: Int, b: Reader, c: Long): ResultSetIO[Unit]

  176. def updateDate(a: Int, b: Date): ResultSetIO[Unit]

  177. def updateDate(a: String, b: Date): ResultSetIO[Unit]

  178. def updateDouble(a: Int, b: Double): ResultSetIO[Unit]

  179. def updateDouble(a: String, b: Double): ResultSetIO[Unit]

  180. def updateFloat(a: Int, b: Float): ResultSetIO[Unit]

  181. def updateFloat(a: String, b: Float): ResultSetIO[Unit]

  182. def updateInt(a: String, b: Int): ResultSetIO[Unit]

  183. def updateInt(a: Int, b: Int): ResultSetIO[Unit]

  184. def updateLong(a: String, b: Long): ResultSetIO[Unit]

  185. def updateLong(a: Int, b: Long): ResultSetIO[Unit]

  186. def updateNCharacterStream(a: String, b: Reader): ResultSetIO[Unit]

  187. def updateNCharacterStream(a: Int, b: Reader): ResultSetIO[Unit]

  188. def updateNCharacterStream(a: String, b: Reader, c: Long): ResultSetIO[Unit]

  189. def updateNCharacterStream(a: Int, b: Reader, c: Long): ResultSetIO[Unit]

  190. def updateNClob(a: Int, b: NClob): ResultSetIO[Unit]

  191. def updateNClob(a: String, b: NClob): ResultSetIO[Unit]

  192. def updateNClob(a: Int, b: Reader): ResultSetIO[Unit]

  193. def updateNClob(a: String, b: Reader, c: Long): ResultSetIO[Unit]

  194. def updateNClob(a: String, b: Reader): ResultSetIO[Unit]

  195. def updateNClob(a: Int, b: Reader, c: Long): ResultSetIO[Unit]

  196. def updateNString(a: String, b: String): ResultSetIO[Unit]

  197. def updateNString(a: Int, b: String): ResultSetIO[Unit]

  198. def updateNull(a: Int): ResultSetIO[Unit]

  199. def updateNull(a: String): ResultSetIO[Unit]

  200. def updateObject(a: Int, b: AnyRef): ResultSetIO[Unit]

  201. def updateObject(a: Int, b: AnyRef, c: Int): ResultSetIO[Unit]

  202. def updateObject(a: String, b: AnyRef, c: Int): ResultSetIO[Unit]

  203. def updateObject(a: String, b: AnyRef): ResultSetIO[Unit]

  204. def updateRef(a: Int, b: Ref): ResultSetIO[Unit]

  205. def updateRef(a: String, b: Ref): ResultSetIO[Unit]

  206. val updateRow: ResultSetIO[Unit]

  207. def updateRowId(a: String, b: RowId): ResultSetIO[Unit]

  208. def updateRowId(a: Int, b: RowId): ResultSetIO[Unit]

  209. def updateSQLXML(a: String, b: SQLXML): ResultSetIO[Unit]

  210. def updateSQLXML(a: Int, b: SQLXML): ResultSetIO[Unit]

  211. def updateShort(a: Int, b: Short): ResultSetIO[Unit]

  212. def updateShort(a: String, b: Short): ResultSetIO[Unit]

  213. def updateString(a: Int, b: String): ResultSetIO[Unit]

  214. def updateString(a: String, b: String): ResultSetIO[Unit]

  215. def updateTime(a: Int, b: Time): ResultSetIO[Unit]

  216. def updateTime(a: String, b: Time): ResultSetIO[Unit]

  217. def updateTimestamp(a: String, b: Timestamp): ResultSetIO[Unit]

  218. def updateTimestamp(a: Int, b: Timestamp): ResultSetIO[Unit]

  219. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  220. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  221. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  222. val wasNull: ResultSetIO[Boolean]

Inherited from AnyRef

Inherited from Any

Algebra

Constructors (Lifting)

Constructors (Primitives)

Typeclass Instances

Ungrouped