Columns with similar names on the DB collide in SQLProvider
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 30/100
Rechercherichtung
Beginne damit, die Kollision in SQLProvider gegen SQL Server 2012 mit Spalten namens ExampleColumn, ExampleColumn: und ExampleColumn_ zu reproduzieren. Verfolge, wie der Provider diese Datenbankspalten auf F#-Bezeichner abbildet. Fertig ist die Aufgabe, wenn die Tabelle ohne nicht unterscheidbare generierte Namen abgefragt werden kann und dabei eine nutzbare Möglichkeit erhalten bleibt, auf jede Spalte zu verweisen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Description
When a table has 2 or more columns whose names are only different by "special" characters, SQLProvider creates indistinct mappings for them.
Repro steps
- Create a table with these columns
- [ExampleColumn]
- [ExampleColumn:]
- [ExampleColumn_]
- Try to query this table from SQLProvider
Expected behavior
I would expect, given F#'s ability to create identifiers with special characters, that SQLProvider wouldn't need to alter your column names in any way (at least, as an option when creating the provider).
Actual behavior
SQLProvider will rename these fields with indistinct names, causing an exception to be thrown, and the table becomes un-queryable.
Known workarounds
Create a view in your database that disambiguates that column names and use that from SQLProvider, but this is not acceptable since you're then designing the database around an arbitrary tool in a separate code stack.
Related information
- SQL Server 2012
- Windows 7, SP1
- v1.1.30-1.1.58
- .NET 4.6
- Vorherrschende Sprache
- F#
- Sterne
- 627
- Forks
- 147
- Ø Merge
- 2 Std. 2 Min.
- Gemergte PRs (30 T.)
- 1
Entwicklungsumgebung
Startet den Dev-Container des Projekts im Browser, mit Ihrem eigenen GitHub-Konto.
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Kein Beitragsleitfaden
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/SQLProvider
-
enhancement
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 55/100
fsprojects/SQLProvider#872 · 2 Kommentare ·
-
Repo Assist?Offenenhancement
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 10/100
fsprojects/SQLProvider#870 · 1 Kommentar ·
-
postgresql
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 58/100
fsprojects/SQLProvider#869 · 2 Kommentare ·
-
documentation
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 42/100
fsprojects/SQLProvider#868 · 2 Kommentare ·
-
sql server
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 45/100
fsprojects/SQLProvider#851 · 1 Kommentar ·
Alle Issues in fsprojects/SQLProvider
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
-
Add: Prima Sport 5 LogoOffencheck:passed logos:add
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
Maintainer antworten meist innerhalb von 1 Tag
-
request-theme
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
LizardByte/ThemerrDB#8693 · 3 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
rohitg00/agentmemory#1428 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
Maintainer antworten meist innerhalb von 1 Tag