Incorrect escaping for order keyword in Oracle
まだ誰も着手していません。
評価
調査の方向性
まず、issue に示されている F# SQLProvider クエリを Oracle 11 XE に対して再現し、生成された SQL を調べます。JOIN 内の order エイリアスに重点を置いてください。エイリアスが Oracle のキーワードである場合でも同じクエリが正常に実行され、生成された SQL が有効なエスケープを使用していれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Description
I have the following query for oracle :
let qry =
query {
for cust in ctx.Onur.Customers do
join order in (!!) ctx.Onur.Customers on (cust.CustomerId = order.CustomerId)
select (cust.CustomerId)
} |> Seq.toArray |> printf "%A"
This generates the following SQL :
SELECT cust.CUSTOMER_ID as "cust.CUSTOMER_ID" FROM ONUR.CUSTOMERS cust LEFT OUTER JOIN ONUR.CUSTOMERS order on cust.CUSTOMER_ID = order.CUSTOMER_ID "
The problem is here "ONUR.CUSTOMERS order" since order is also a keyword for Oracle the query fails with a missing keyword error. If you use any other name than order the query works. So there should be a way to escape order
Related information
- Oracle 11 XE
- Windows
- Latest version of SqlProvider
- .net core 2.2
- 主要言語
- F#
- スター
- 627
- フォーク
- 147
- 平均マージ
- 2時間 2分
- マージ済み PR(30日)
- 1
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
fsprojects/SQLProvider のほかの issue
-
enhancement
難易度 3/5 1〜2日 初心者へのやさしさ 55/100
fsprojects/SQLProvider#872 · コメント 2 件 ·
-
Repo Assist? オープンenhancement
難易度 5/5 1週間以上 初心者へのやさしさ 10/100
fsprojects/SQLProvider#870 · コメント 1 件 ·
-
postgresql
難易度 4/5 3〜5日 初心者へのやさしさ 58/100
fsprojects/SQLProvider#869 · コメント 2 件 ·
-
documentation
難易度 2/5 1〜3時間 初心者へのやさしさ 42/100
fsprojects/SQLProvider#868 · コメント 2 件 ·
-
sql server
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
fsprojects/SQLProvider#851 · コメント 1 件 ·
fsprojects/SQLProvider の issue をすべて見る
似ている issue
-
channels:add check:passed
難易度 1/5 1時間未満 初心者へのやさしさ 90/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
confluentinc/dbt-confluent#160 ·
-
難易度 1/5 1時間未満 初心者へのやさしさ 75/100
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
AstrBotDevs/AstrBot#10205 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100