Skip to content

Commit 8a7e492

Browse files
committed
Recognize (but ignore) most monet types
1 parent ed089da commit 8a7e492

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed

src/monettypes.rs

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

2944
impl 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

Comments
 (0)