1

tc1c2およびを含むテーブルがある場合、次の形式cxの失敗したSequel (バージョン 3.27.0) クエリがあります。

DB[:t].order(:cx).select{[:c1, :c2]}

出力に値は必要ありませんcx。順序付けに使用したいだけです。

同等の SQL は次のようになります。

SELECT c1, c2 FROM t ORDER BY cx;

cx私の現在の回避策は、必要がなくても、単に要求することです。

DB[:t].order(:cx).select{[:c1, :c2, :cx]}

これが Sequel の既知の動作/バグであることを確認できる人はいますか?

4

1 に答える 1

3

そのコードに対して Sequel によって生成される SQL は次のとおりSELECT c1, c2 FROM t ORDER BY cxです。失敗する場合は、データベースに問題がある可能性が最も高いです (デバッグしたい場合は、取得しているバックトレースを投稿する必要があります)。

FWIW、次の Sequel コードを使用します: DB[:t].order(:cx).select(:c1, :c2). 仮想行ブロックが提供する機能を使用していない場合、仮想行ブロックを使用する理由はありません。

于 2011-09-19T16:15:35.267 に答える