src/Pure/General/sql.scala
changeset 78607 3f3add5eef91
parent 78598 e1a19c7778e0
child 78863 f627ab8c276c
equal deleted inserted replaced
78606:7bfac764a715 78607:3f3add5eef91
    95 
    95 
    96   /* types */
    96   /* types */
    97 
    97 
    98   enum Type { case Boolean, Int, Long, Double, String, Bytes, Date }
    98   enum Type { case Boolean, Int, Long, Double, String, Bytes, Date }
    99 
    99 
   100   val sql_type_postgresql: Type => Source = {
   100   val sql_type_postgresql: Type => Source =
   101     case Type.Boolean => "BOOLEAN"
   101     {
   102     case Type.Int => "INTEGER"
   102       case Type.Boolean => "BOOLEAN"
   103     case Type.Long => "BIGINT"
   103       case Type.Int => "INTEGER"
   104     case Type.Double => "DOUBLE PRECISION"
   104       case Type.Long => "BIGINT"
   105     case Type.String => "TEXT"
   105       case Type.Double => "DOUBLE PRECISION"
   106     case Type.Bytes => "BYTEA"
   106       case Type.String => "TEXT"
   107     case Type.Date => "TIMESTAMP WITH TIME ZONE"
   107       case Type.Bytes => "BYTEA"
   108   }
   108       case Type.Date => "TIMESTAMP WITH TIME ZONE"
   109 
   109     }
   110   val sql_type_sqlite: Type => Source = {
   110 
   111     case Type.Boolean => "INTEGER"
   111   val sql_type_sqlite: Type => Source =
   112     case Type.Bytes => "BLOB"
   112     {
   113     case Type.Date => "TEXT"
   113       case Type.Boolean => "INTEGER"
   114     case t => sql_type_postgresql(t)
   114       case Type.Bytes => "BLOB"
   115   }
   115       case Type.Date => "TEXT"
       
   116       case t => sql_type_postgresql(t)
       
   117     }
   116 
   118 
   117 
   119 
   118   /* columns */
   120   /* columns */
   119 
   121 
   120   object Column {
   122   object Column {