@@ -206,30 +206,12 @@ internal static string ParseDataType(string sql, out bool unsigned, out int leng
206
206
sql = Regex . Replace ( sql , @"\s*\(\s*\d+\s*(?:,\s*\d+\s*)?\)" , "" ) ;
207
207
}
208
208
209
- var typeMapping = new Dictionary < string , string > ( StringComparer . OrdinalIgnoreCase )
210
- {
211
- { "BOOL" , "TINYINT" } ,
212
- { "BOOLEAN" , "TINYINT" } ,
213
- { "INTEGER" , "INT" } ,
214
- { "NUMERIC" , "DECIMAL" } ,
215
- { "FIXED" , "DECIMAL" } ,
216
- { "REAL" , "DOUBLE" } ,
217
- { "DOUBLE PRECISION" , "DOUBLE" } ,
218
- { "NVARCHAR" , "VARCHAR" } ,
219
- { "CHARACTER VARYING" , "VARCHAR" } ,
220
- { "NATIONAL VARCHAR" , "VARCHAR" } ,
221
- { "NCHAR" , "CHAR" } ,
222
- { "CHARACTER" , "CHAR" } ,
223
- { "NATIONAL CHAR" , "CHAR" } ,
224
- { "CHAR BYTE" , "BINARY" }
225
- } ;
226
-
227
209
var list = sql . Trim ( ) . Split ( new char [ ] { ' ' } ) ;
228
210
var type = string . Empty ;
229
211
230
- if ( list . Length < 2 || ! typeMapping . TryGetValue ( list [ 0 ] + ' ' + list [ 1 ] , out type ) )
212
+ if ( list . Length < 2 || ! s_typeMapping . TryGetValue ( list [ 0 ] + ' ' + list [ 1 ] , out type ) )
231
213
{
232
- if ( typeMapping . TryGetValue ( list [ 0 ] , out type ) )
214
+ if ( s_typeMapping . TryGetValue ( list [ 0 ] , out type ) )
233
215
{
234
216
if ( list [ 0 ] . StartsWith ( "BOOL" , StringComparison . OrdinalIgnoreCase ) )
235
217
{
@@ -257,6 +239,23 @@ private static CachedParameter CreateCachedParameter(int ordinal, string? direct
257
239
string FullyQualified => $ "`{ m_schema } `.`{ m_component } `";
258
240
259
241
static readonly IMySqlConnectorLogger Log = MySqlConnectorLogManager . CreateLogger ( nameof ( CachedProcedure ) ) ;
242
+ static readonly IReadOnlyDictionary < string , string > s_typeMapping = new Dictionary < string , string > ( StringComparer . OrdinalIgnoreCase )
243
+ {
244
+ { "BOOL" , "TINYINT" } ,
245
+ { "BOOLEAN" , "TINYINT" } ,
246
+ { "INTEGER" , "INT" } ,
247
+ { "NUMERIC" , "DECIMAL" } ,
248
+ { "FIXED" , "DECIMAL" } ,
249
+ { "REAL" , "DOUBLE" } ,
250
+ { "DOUBLE PRECISION" , "DOUBLE" } ,
251
+ { "NVARCHAR" , "VARCHAR" } ,
252
+ { "CHARACTER VARYING" , "VARCHAR" } ,
253
+ { "NATIONAL VARCHAR" , "VARCHAR" } ,
254
+ { "NCHAR" , "CHAR" } ,
255
+ { "CHARACTER" , "CHAR" } ,
256
+ { "NATIONAL CHAR" , "CHAR" } ,
257
+ { "CHAR BYTE" , "BINARY" }
258
+ } ;
260
259
261
260
readonly string m_schema ;
262
261
readonly string m_component ;
0 commit comments