@@ -130,59 +130,60 @@ type internal Routine = {
130130let internal providerTypes =
131131 dict [
132132 // exact numerics
133- " bigint" , ( SqlDbType.BigInt, " System.Int64" , true )
134- " bit" , ( SqlDbType.Bit, " System.Boolean" , true )
135- " decimal" , ( SqlDbType.Decimal, " System.Decimal" , true )
136- " int" , ( SqlDbType.Int, " System.Int32" , true )
137- " money" , ( SqlDbType.Money, " System.Decimal" , true )
138- " numeric" , ( SqlDbType.Decimal, " System.Decimal" , true )
139- " smallint" , ( SqlDbType.SmallInt, " System.Int16" , true )
140- " smallmoney" , ( SqlDbType.SmallMoney, " System.Decimal" , true )
141- " tinyint" , ( SqlDbType.TinyInt, " System.Byte" , true )
133+ " bigint" , ( SqlDbType.BigInt , " System.Int64" , true )
134+ " bit" , ( SqlDbType.Bit , " System.Boolean" , true )
135+ " decimal" , ( SqlDbType.Decimal , " System.Decimal" , true )
136+ " int" , ( SqlDbType.Int , " System.Int32" , true )
137+ " money" , ( SqlDbType.Money , " System.Decimal" , true )
138+ " numeric" , ( SqlDbType.Decimal , " System.Decimal" , true )
139+ " smallint" , ( SqlDbType.SmallInt , " System.Int16" , true )
140+ " smallmoney" , ( SqlDbType.SmallMoney , " System.Decimal" , true )
141+ " tinyint" , ( SqlDbType.TinyInt , " System.Byte" , true )
142142
143143 // approximate numerics
144- " float" , ( SqlDbType.Float, " System.Double" , true ) // This is correct. SQL Server 'float' type maps to double
145- " real" , ( SqlDbType.Real, " System.Single" , true )
144+ " float" , ( SqlDbType.Float , " System.Double" , true ) // This is correct. SQL Server 'float' type maps to double
145+ " real" , ( SqlDbType.Real , " System.Single" , true )
146146
147147 // date and time
148- " date" , ( SqlDbType.Date, " System.DateTime" , true )
149- " datetime" , ( SqlDbType.DateTime, " System.DateTime" , true )
150- " datetime2" , ( SqlDbType.DateTime2, " System.DateTime" , true )
151- " datetimeoffset" , ( SqlDbType.DateTimeOffset, " System.DateTimeOffset" , true )
152- " smalldatetime" , ( SqlDbType.SmallDateTime, " System.DateTime" , true )
153- " time" , ( SqlDbType.Time, " System.TimeSpan" , true )
148+ " date" , ( SqlDbType.Date , " System.DateTime" , true )
149+ " datetime" , ( SqlDbType.DateTime , " System.DateTime" , true )
150+ " datetime2" , ( SqlDbType.DateTime2 , " System.DateTime" , true )
151+ " datetimeoffset" , ( SqlDbType.DateTimeOffset , " System.DateTimeOffset" , true )
152+ " smalldatetime" , ( SqlDbType.SmallDateTime , " System.DateTime" , true )
153+ " time" , ( SqlDbType.Time , " System.TimeSpan" , true )
154154
155155 // character strings
156- " char" , ( SqlDbType.Char, " System.String" , false )
157- " text" , ( SqlDbType.Text, " System.String" , false )
158- " varchar" , ( SqlDbType.VarChar, " System.String" , false )
156+ " char" , ( SqlDbType.Char , " System.String" , false )
157+ " text" , ( SqlDbType.Text , " System.String" , false )
158+ " varchar" , ( SqlDbType.VarChar , " System.String" , false )
159159
160160 // unicode character strings
161- " nchar" , ( SqlDbType.NChar, " System.String" , false )
162- " ntext" , ( SqlDbType.NText, " System.String" , false )
163- " nvarchar" , ( SqlDbType.NVarChar, " System.String" , false )
164- " sysname" , ( SqlDbType.NVarChar, " System.String" , false )
161+ " nchar" , ( SqlDbType.NChar , " System.String" , false )
162+ " ntext" , ( SqlDbType.NText , " System.String" , false )
163+ " nvarchar" , ( SqlDbType.NVarChar , " System.String" , false )
164+ " sysname" , ( SqlDbType.NVarChar , " System.String" , false )
165165
166166 // binary
167- " binary" , ( SqlDbType.Binary, " System.Byte[]" , false )
168- " image" , ( SqlDbType.Image, " System.Byte[]" , false )
169- " varbinary" , ( SqlDbType.VarBinary, " System.Byte[]" , false )
167+ " binary" , ( SqlDbType.Binary , " System.Byte[]" , false )
168+ " image" , ( SqlDbType.Image , " System.Byte[]" , false )
169+ " varbinary" , ( SqlDbType.VarBinary , " System.Byte[]" , false )
170170
171171 //spatial
172- " geography" , ( SqlDbType.Udt, " Microsoft.SqlServer.Types.SqlGeography, Microsoft.SqlServer.Types" , false )
173- " geometry" , ( SqlDbType.Udt, " Microsoft.SqlServer.Types.SqlGeometry, Microsoft.SqlServer.Types" , false )
172+ " geography" , ( SqlDbType.Udt , " Microsoft.SqlServer.Types.SqlGeography, Microsoft.SqlServer.Types" , false )
173+ " geometry" , ( SqlDbType.Udt , " Microsoft.SqlServer.Types.SqlGeometry, Microsoft.SqlServer.Types" , false )
174174
175175 //other
176- " hierarchyid" , ( SqlDbType.Udt, " Microsoft.SqlServer.Types.SqlHierarchyId, Microsoft.SqlServer.Types" , false )
177- " sql_variant" , ( SqlDbType.Variant, " System.Object" , false )
176+ " hierarchyid" , ( SqlDbType.Udt , " Microsoft.SqlServer.Types.SqlHierarchyId, Microsoft.SqlServer.Types" , false )
177+ " sql_variant" , ( SqlDbType.Variant , " System.Object" , false )
178178
179- " timestamp" , ( SqlDbType.Timestamp, " System.Byte[]" , true ) // note: rowversion is a synonym but SQL Server stores the data type as 'timestamp'
180- " uniqueidentifier" , ( SqlDbType.UniqueIdentifier, " System.Guid" , true )
181- " xml" , ( SqlDbType.Xml, " System.String" , false )
179+ " timestamp" , ( SqlDbType.Timestamp , " System.Byte[]" , true ) // note: rowversion is a synonym but SQL Server stores the data type as 'timestamp'
180+ " uniqueidentifier" , ( SqlDbType.UniqueIdentifier, " System.Guid" , true )
181+ " xml" , ( SqlDbType.Xml , " System.String" , false )
182182
183183 //TODO
184184 //"cursor", typeof<TODO>
185185 //"table", typeof<TODO>
186+ //"json" , (SqlDbType.Json , "System.String" , false)
186187 ]
187188
188189
@@ -591,7 +592,7 @@ order by
591592 | true , item -> Some item
592593 | false , _ when is_ table_ type ->
593594 Some ( SqlDbType.Structured, null , false )
594- | _ -> failwith ( " Unexpected type: " + name )
595+ | _ -> None
595596
596597 let getProvidedTypeForSqlTypeEntry ( x : SqlTypeEntry ) = getProvidedType x.name x.is_ user_ defined x.is_ table_ type x.system_ type_ id x.user_ type_ id
597598
0 commit comments