tuned signature: less overloading;
authorwenzelm
Fri, 28 Apr 2017 21:33:31 +0200
changeset 65620 9b99d61be5af
parent 65619 e33b3d57b7cb
child 65621 551950dccec6
tuned signature: less overloading;
src/Pure/General/sql.scala
--- a/src/Pure/General/sql.scala	Fri Apr 28 20:03:34 2017 +0200
+++ b/src/Pure/General/sql.scala	Fri Apr 28 21:33:31 2017 +0200
@@ -257,33 +257,25 @@
 
     /* output */
 
-    def bool(rs: ResultSet, name: String): Boolean = rs.getBoolean(name)
-    def int(rs: ResultSet, name: String): Int = rs.getInt(name)
-    def long(rs: ResultSet, name: String): Long = rs.getLong(name)
-    def double(rs: ResultSet, name: String): Double = rs.getDouble(name)
-    def string(rs: ResultSet, name: String): String =
+    def bool(rs: ResultSet, column: Column): Boolean = rs.getBoolean(column.name)
+    def int(rs: ResultSet, column: Column): Int = rs.getInt(column.name)
+    def long(rs: ResultSet, column: Column): Long = rs.getLong(column.name)
+    def double(rs: ResultSet, column: Column): Double = rs.getDouble(column.name)
+    def string(rs: ResultSet, column: Column): String =
     {
-      val s = rs.getString(name)
+      val s = rs.getString(column.name)
       if (s == null) "" else s
     }
-    def bytes(rs: ResultSet, name: String): Bytes =
+    def bytes(rs: ResultSet, column: Column): Bytes =
     {
-      val bs = rs.getBytes(name)
+      val bs = rs.getBytes(column.name)
       if (bs == null) Bytes.empty else Bytes(bs)
     }
-    def date(rs: ResultSet, name: String): Date
+    def date(rs: ResultSet, column: Column): Date
 
-    def bool(rs: ResultSet, column: Column): Boolean = bool(rs, column.name)
-    def int(rs: ResultSet, column: Column): Int = int(rs, column.name)
-    def long(rs: ResultSet, column: Column): Long = long(rs, column.name)
-    def double(rs: ResultSet, column: Column): Double = double(rs, column.name)
-    def string(rs: ResultSet, column: Column): String = string(rs, column.name)
-    def bytes(rs: ResultSet, column: Column): Bytes = bytes(rs, column.name)
-    def date(rs: ResultSet, column: Column): Date = date(rs, column.name)
-
-    def get[A, B](rs: ResultSet, a: A, f: (ResultSet, A) => B): Option[B] =
+    def get[A](rs: ResultSet, column: Column, f: (ResultSet, Column) => A): Option[A] =
     {
-      val x = f(rs, a)
+      val x = f(rs, column)
       if (rs.wasNull) None else Some(x)
     }
 
@@ -340,8 +332,8 @@
       if (date == null) set_string(stmt, i, null: String)
       else set_string(stmt, i, date_format(date))
 
-    def date(rs: ResultSet, name: String): Date =
-      date_format.parse(string(rs, name))
+    def date(rs: ResultSet, column: SQL.Column): Date =
+      date_format.parse(string(rs, column))
 
     def rebuild { using(statement("VACUUM"))(_.execute()) }
   }
@@ -408,8 +400,8 @@
       if (date == null) stmt.setObject(i, null)
       else stmt.setObject(i, OffsetDateTime.from(date.to_utc.rep))
 
-    def date(rs: ResultSet, name: String): Date =
-      Date.instant(rs.getObject(name, classOf[OffsetDateTime]).toInstant)
+    def date(rs: ResultSet, column: SQL.Column): Date =
+      Date.instant(rs.getObject(column.name, classOf[OffsetDateTime]).toInstant)
 
     override def close() { super.close; port_forwarding.foreach(_.close) }
   }