@@ -166,7 +166,7 @@ param5 bigint(20) unsigned zerofill,
166166param1 boolean,
167167param2 nvarchar,
168168param3 real(20,10),
169- -- ignored INT
169+ -- ignored INT
170170param4 INTEGER(3)
171171" ,
172172 new object [ ]
@@ -183,20 +183,33 @@ param4 INTEGER(3)
183183 [ Theory ]
184184 [ InlineData ( "INT" , "INT" , false , 0 ) ]
185185 [ InlineData ( "INTEGER" , "INT" , false , 0 ) ]
186+ [ InlineData ( "INTEGER UNSIGNED" , "INT" , true , 0 ) ]
186187 [ InlineData ( "INT(11)" , "INT" , false , 11 ) ]
187188 [ InlineData ( "INTEGER(11)" , "INT" , false , 11 ) ]
188189 [ InlineData ( "INT(11) UNSIGNED" , "INT" , true , 11 ) ]
190+ [ InlineData ( "INT(11) UNSIGNED NOT NULL" , "INT" , true , 11 ) ]
191+ [ InlineData ( "INT(11) UNSIGNED NULL" , "INT" , true , 11 ) ]
192+ [ InlineData ( "INT(11) UNSIGNED NULL DEFAULT NULL" , "INT" , true , 11 ) ]
189193 [ InlineData ( "INT(11) ZEROFILL" , "INT" , false , 11 ) ]
190194 [ InlineData ( "INT(11) UNSIGNED ZEROFILL" , "INT" , true , 11 ) ]
191195 [ InlineData ( "BIGINT(20)" , "BIGINT" , false , 20 ) ]
192196 [ InlineData ( "TINYINT(1) UNSIGNED" , "TINYINT" , true , 1 ) ]
193197 [ InlineData ( "BOOL" , "TINYINT" , false , 1 ) ]
198+ [ InlineData ( "Bool" , "TINYINT" , false , 1 ) ]
194199 [ InlineData ( "NUMERIC(30,20)" , "DECIMAL" , false , 30 ) ]
195200 [ InlineData ( "VARCHAR(300)" , "VARCHAR" , false , 300 ) ]
196201 [ InlineData ( "VARCHAR(300) CHARSET utf8mb4" , "VARCHAR" , false , 300 ) ]
197202 [ InlineData ( "VARCHAR(300) COLLATE ascii_general_ci" , "VARCHAR" , false , 300 ) ]
203+ [ InlineData ( "VARCHAR(300) COLLATE ascii_general_ci NOT NULL DEFAULT 'test'" , "VARCHAR" , false , 300 ) ]
204+ [ InlineData ( "CHARACTER VARYING(300) COLLATE ascii_general_ci NOT NULL DEFAULT 'test'" , "VARCHAR" , false , 300 ) ]
205+ [ InlineData ( "NATIONAL VARCHAR(50) COLLATE ascii_general_ci NOT NULL DEFAULT 'test'" , "VARCHAR" , false , 50 ) ]
198206 [ InlineData ( "BINARY(16)" , "BINARY" , false , 16 ) ]
207+ [ InlineData ( "CHAR BYTE(16)" , "BINARY" , false , 16 ) ]
199208 [ InlineData ( "CHAR(36)" , "CHAR" , false , 36 ) ]
209+ [ InlineData ( "REAL" , "DOUBLE" , false , 0 ) ]
210+ [ InlineData ( "REAL NOT NULL DEFAULT 0" , "DOUBLE" , false , 0 ) ]
211+ [ InlineData ( "NUMERIC(12)" , "DECIMAL" , false , 12 ) ]
212+ [ InlineData ( "FIXED(12)" , "DECIMAL" , false , 12 ) ]
200213 [ InlineData ( "ENUM('a','b','c')" , "ENUM" , false , 0 ) ]
201214 public void ParseDataType ( string sql , string expectedDataType , bool expectedUnsigned , int expectedLength )
202215 {
0 commit comments