Fixed length binary columns in user defined table types fail when constructed
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Anfängerfreundlichkeit
- 55/100
Rechercherichtung
Beginnen Sie damit, src/SqlClient.DesignTime/DesignTime.fs um Zeile 544 herum zu lesen, und reproduzieren Sie den bereitgestellten benutzerdefinierten Tabellentyp mithilfe einer binary(16)-Spalte. Fügen Sie einen Regressionseinheitstest für die Erstellung des generierten Tabellentypwerts hinzu und überprüfen Sie anschließend, dass er ohne die gemeldete SqlMetaData-Konstruktor-Ausnahme abgeschlossen wird.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Issue Summary
When using a user defined table type with a fixed length binary column the wrong constructor for SqlMetaData is used resulting in the following exception.
System.ArgumentException: 'The dbType Binary is invalid for this constructor.'
This line looks like it's causing the issue, which incorrectly assumes if it is a fixed length that it can safely use the two parameter constructor:
To Reproduce
- Create a custom table type
CREATE TYPE [dbo].[CustomTableType] AS TABLE(
[Value] [binary](16)
)
- Use the type in a query
type StaticProvider =
SqlCommandProvider<"
Declare @Updates as CustomTableType = @Inputs;
" , staticConnectionString>
use cmd = new StaticProvider(context.connection, transaction = context.transaction)
cmd.AsyncExecute(
data.inputs
|> List.map(fun x ->
StaticProvider.CustomTableType( // <--- Error in constructor
Value = x.value
)
)
Error
System.ArgumentException: 'The dbType Binary is invalid for this constructor.'
Expected behavior
There should not be an error in this case.
What you can do
- I am willing to contribute a PR with a unit test showcasing the issue
- I am willing to test the bug fix before next release
- Vorherrschende Sprache
- F#
- Sterne
- 206
- Forks
- 65
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus fsprojects/FSharp.Data.SqlClient
-
Document agentic contribution workflowEvtl. wieder frei Ein Pull Request dazu wurde ohne Merge geschlossen. Offen
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 72/100
-
can't use SQL2025 for design timeEvtl. wieder frei @smoothdeveloper hat das vor 98 Tagen übernommen, und es ist kein Pull Request offen. Offen
fsprojects/FSharp.Data.SqlClient#484 · 3 Kommentare · 1 zugewiesene Person ·
-
enhancement question
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
fsprojects/FSharp.Data.SqlClient#445 · 9 Kommentare ·
-
enhancement
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 45/100
fsprojects/FSharp.Data.SqlClient#429 · 5 Kommentare ·
-
NullReferenceException in SqlConnection.UseLocallyEvtl. wieder frei @smoothdeveloper hat das vor 1231 Tagen übernommen, und es ist kein Pull Request offen. Offenbug
fsprojects/FSharp.Data.SqlClient#428 · 2 Kommentare · 1 zugewiesene Person ·
Alle Issues in fsprojects/FSharp.Data.SqlClient
Ähnliche Issues
-
Add: Animal Planet BGOffenchannels:add check:passed
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 63/100
Maintainer antworten meist innerhalb von 4 Tagen
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
databricks/databricks-sql-python#1012 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 66/100
eip-work/kuboard-press#700 ·
-
Tracking: SQLite usage and the Windows GVL/SQLite deadlock (lich-5#2254): moonwatch.lic, low riskOffen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
elanthia-online/dr-scripts#7968 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
TUM-Dev/Campus-Backend#678 ·
Maintainer antworten meist innerhalb von 1 Tag