tuned signature;
authorwenzelm
Sun, 04 Sep 2016 22:04:07 +0200
changeset 63783 baa20f3b6cea
parent 63782 aced4f0d1ad4
child 63784 b948c4f92b88
tuned signature;
src/Pure/Tools/sql.scala
--- a/src/Pure/Tools/sql.scala	Sun Sep 04 21:41:08 2016 +0200
+++ b/src/Pure/Tools/sql.scala	Sun Sep 04 22:04:07 2016 +0200
@@ -125,7 +125,9 @@
 
   /* tables */
 
-  sealed case class Table(name: String, columns: List[Column[Any]])
+  def table(name: String, columns: Column[Any]*): Table = new Table(name, columns.toList)
+
+  class Table private[SQL](name: String, columns: List[Column[Any]])
   {
     Library.duplicates(columns.map(_.name)) match {
       case Nil =>
@@ -145,5 +147,8 @@
 
     def sql_drop(strict: Boolean): String =
       "DROP TABLE " + (if (strict) "" else " IF EXISTS ") + quote_ident(name)
+
+    override def toString: String =
+      "TABLE " + quote_ident(name) + " " + columns.map(_.toString).mkString("(", ", ", ")")
   }
 }