dbcli / dbcli/mssql-cli

ODBC style date literals cause parser failure

Offen
#443 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
area: non-interactive bug triage needed
Vorherrschende Sprache
Python
Sterne
1.4k
Forks
191
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

The following fails
`mssql-cli -S somehost -U someuser -Q 'select {d '2050-01-01'}'`

However, the SQL statement runs in, for example, DataGrip connected to the same sqlserver using a jdbcdriver. The sqlserver2019 docs indicate it is a valid date literal (described as ODBC API Specific)
https://docs.microsoft.com/en-us/sql/t-sql/data-types/date-transact-sql?view=sql-server-ver15

Simple workaround is not use that syntax for date literals.

| Microsoft SQL Server 2016 (SP2-CU10) (KB4524334) - 13.0.5492.2 (X64) |
| Oct 4 2019 19:14:08 |
| Copyright (c) Microsoft Corporation |
| Standard Edition (64-bit) on Windows Server 2016 Datacenter 10.0 (Build 14393: ) (Hypervisor)

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Reproduziere den Fehler mit dem bereitgestellten mssql-cli-Befehl und vergleiche ihn mit der dokumentierten SQL Server ODBC-Syntax für Datumsliterale. Verfolge den vom CLI verwendeten Einstiegspunkt für das SQL-Parsing; abgeschlossen ist die Aufgabe, wenn die Abfrage mit `{d '2050-01-01'}` akzeptiert und erfolgreich ausgeführt wird.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
sql
Bereich
cli, databases
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.