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 { |