dbcli / dbcli/mssql-cli

ODBC style date literals cause parser failure

オープン
#443 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る
area: non-interactive bug triage needed
主要言語
Python
スター
1.4k
フォーク
191
PR マージ指標
30日以内にマージされた PR はありません

説明

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)

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

調査の方向性

提供された mssql-cli コマンドで失敗を再現し、文書化されている SQL Server ODBC の日付リテラル構文と比較します。CLI が使用する SQL 解析のエントリーポイントを追跡します; `{d '2050-01-01'}` を含むクエリが受け付けられ、正常に実行されれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
sql
領域
cli, databases
issue の種類
バグ
難易度
3/5
見積もり時間
1〜2日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。