@@ -24,6 +24,21 @@ pub enum MonetType {
2424 Oid ,
2525 Decimal ( Precision , Scale ) ,
2626 Varchar ( Width ) ,
27+ Real ,
28+ Double ,
29+ MonthInterval ,
30+ DayInterval ,
31+ SecInterval ,
32+ Time ,
33+ TimeTz ,
34+ Date ,
35+ Timestamp ,
36+ TimestampTz ,
37+ // Blob,
38+ Url ,
39+ Inet ,
40+ Json ,
41+ Uuid ,
2742}
2843
2944impl fmt:: Display for MonetType {
@@ -39,6 +54,20 @@ impl fmt::Display for MonetType {
3954 Oid => f. write_str ( "OID" ) ,
4055 Decimal ( p, s) => write ! ( f, "DECIMAL({p}, {s})" ) ,
4156 Varchar ( n) => write ! ( f, "VARCHAR({n})" ) ,
57+ Real => f. write_str ( "REAL" ) ,
58+ Double => f. write_str ( "DOUBLE" ) ,
59+ MonthInterval => f. write_str ( "MONTH_INTERVAL" ) ,
60+ DayInterval => f. write_str ( "DAY_INTERVAL" ) ,
61+ SecInterval => f. write_str ( "SEC_INTERVAL" ) ,
62+ Time => f. write_str ( "TIME" ) ,
63+ TimeTz => f. write_str ( "TIMETZ" ) ,
64+ Date => f. write_str ( "DATE" ) ,
65+ Timestamp => f. write_str ( "TIMESTAMP" ) ,
66+ TimestampTz => f. write_str ( "TIMESTAMPTZ" ) ,
67+ Url => f. write_str ( "URL" ) ,
68+ Inet => f. write_str ( "INET" ) ,
69+ Json => f. write_str ( "JSON" ) ,
70+ Uuid => f. write_str ( "UUID" ) ,
4271 }
4372 }
4473}
@@ -57,6 +86,20 @@ impl MonetType {
5786 "oid" => Oid ,
5887 "varchar" => Varchar ( 0 ) ,
5988 "decimal" => Decimal ( 0 , 0 ) ,
89+ "real" => Real ,
90+ "double" => Double ,
91+ "month_interval" => MonthInterval ,
92+ "day_interval" => DayInterval ,
93+ "sec_interval" => SecInterval ,
94+ "time" => Time ,
95+ "timetz" => TimeTz ,
96+ "date" => Date ,
97+ "timestamp" => Timestamp ,
98+ "timestamptz" => TimestampTz ,
99+ "url" => Url ,
100+ "inet" => Inet ,
101+ "json" => Json ,
102+ "uuid" => Uuid ,
60103 _ => return None ,
61104 } ;
62105 Some ( typ)
0 commit comments