@@ -13,7 +13,6 @@ use std::cmp;
13
13
use crate :: errors:: DatabaseError ;
14
14
use fnck_sql_serde_macros:: ReferenceSerialization ;
15
15
use sqlparser:: ast:: { CharLengthUnits , ExactNumberInfo , TimezoneInfo } ;
16
- use strum_macros:: AsRefStr ;
17
16
use ulid:: Ulid ;
18
17
19
18
pub type ColumnId = Ulid ;
@@ -28,7 +27,6 @@ pub type ColumnId = Ulid;
28
27
Hash ,
29
28
PartialOrd ,
30
29
Ord ,
31
- AsRefStr ,
32
30
Serialize ,
33
31
Deserialize ,
34
32
ReferenceSerialization ,
@@ -449,7 +447,43 @@ impl TryFrom<sqlparser::ast::DataType> for LogicalType {
449
447
450
448
impl std:: fmt:: Display for LogicalType {
451
449
fn fmt ( & self , f : & mut std:: fmt:: Formatter < ' _ > ) -> std:: fmt:: Result {
452
- write ! ( f, "{}" , self . as_ref( ) . to_uppercase( ) )
450
+ match self {
451
+ LogicalType :: Invalid => write ! ( f, "Invalid" ) ?,
452
+ LogicalType :: SqlNull => write ! ( f, "SqlNull" ) ?,
453
+ LogicalType :: Boolean => write ! ( f, "Boolean" ) ?,
454
+ LogicalType :: Tinyint => write ! ( f, "Tinyint" ) ?,
455
+ LogicalType :: UTinyint => write ! ( f, "UTinyint" ) ?,
456
+ LogicalType :: Smallint => write ! ( f, "Smallint" ) ?,
457
+ LogicalType :: USmallint => write ! ( f, "USmallint" ) ?,
458
+ LogicalType :: Integer => write ! ( f, "Integer" ) ?,
459
+ LogicalType :: UInteger => write ! ( f, "UInteger" ) ?,
460
+ LogicalType :: Bigint => write ! ( f, "Bigint" ) ?,
461
+ LogicalType :: UBigint => write ! ( f, "UBigint" ) ?,
462
+ LogicalType :: Float => write ! ( f, "Float" ) ?,
463
+ LogicalType :: Double => write ! ( f, "Double" ) ?,
464
+ LogicalType :: Char ( len, units) => write ! ( f, "Char({}, {})" , len, units) ?,
465
+ LogicalType :: Varchar ( len, units) => write ! ( f, "Varchar({:?}, {})" , len, units) ?,
466
+ LogicalType :: Date => write ! ( f, "Date" ) ?,
467
+ LogicalType :: DateTime => write ! ( f, "DateTime" ) ?,
468
+ LogicalType :: Time => write ! ( f, "Time" ) ?,
469
+ LogicalType :: Decimal ( precision, scale) => {
470
+ write ! ( f, "Decimal({:?}, {:?})" , precision, scale) ?
471
+ }
472
+ LogicalType :: Tuple ( types) => {
473
+ write ! ( f, "(" ) ?;
474
+ let mut first = true ;
475
+ for ty in types {
476
+ if !first {
477
+ write ! ( f, ", " ) ?;
478
+ }
479
+ first = false ;
480
+ write ! ( f, "{}" , ty) ?;
481
+ }
482
+ write ! ( f, ")" ) ?
483
+ }
484
+ }
485
+
486
+ Ok ( ( ) )
453
487
}
454
488
}
455
489
0 commit comments