A5:SQL Mk-2

開発のこと、日々のこと

SQL入力支援でエラーダイアログ

ホーム フォーラム A5:SQL Mk-2掲示板 SQL入力支援でエラーダイアログ

  • このトピックには3件の返信、1人の参加者があり、最後にONISHIにより3週、 3日前に更新されました。
4件の投稿を表示中 - 1 - 4件目 (全4件中)
  • 投稿者
    投稿
  • #21214 返信
    ONISHI
    ゲスト

    こんにちは。ONISHIと申します。
    いつも利用させていただき、大変助かっております。

    SQLを編集している際に、Ctrl+Spaceの入力支援を使うとエラーダイアログが出る様になりました。
    (Ctrl+spaceを押さずとも、ピリオド+自動入力支援でも同様)

    エラー内容
    ”(赤×アイコン) リスト インデックスが範囲外です(2)。TStringListオブジェクトの範囲は0..1です。”

    なお、エラーが出ているSQLファイルの編集でも、完全に新規のSQLファイルでも、
    新しいSQL行をシンプルなSQL文で書いてるうちは上記のエラーは出ないのですが、
    With句が入るとエラーが出ます。(副問合せに変えても同じエラーが出ました)

    WITH a AS (
    SELECT * FROM a WHERE cond1 = ‘1’
    )
    , b AS (
    SELECT
    b.*
    FROM
    lectures b
    JOIN a
    ON b.a_id = a.id
    WHERE
    cond2 = ‘cond2’
    )
    SELECT
    c.*
    FROM
    c
    JOIN b
    ON c.b_id = b.id
    WHERE
    cond3 = ‘3’
    ;

    ザックリと上記のようなSQLで、例えば、各with句の中では正常に入力支援が働くのですが
    最終のSELECT文で入力支援のキーを押すと、上記のエラーダイアログが出ます。
    また、一旦ダイアログを閉じ、もう一度Ctrl+spaceを押すと、前回より体感で早いレスポンスで
    同じエラーが出ます。

    なお、全く異なるDB(PostgreSQL)では同じようなSQLを書いても全くエラーが出なかったりします。

    エラーが出るDBは出ないDBに比べてかなりDBサイズが大きく、
    入力支援が効く場合でも、支援の表示が出るまでに少しラグを感じます。
    感覚に基づく推測で恐縮ですが、
    この辺で何らかタイムアウトが発生しているのかな、と・・・
    (自動入力支援の時間は延ばしてみてもエラー発生は変わりませんでした)

    手元環境で
    ・ 対象DB: PostgreSQL 10.3
    ・ Ver: A5M2 2.19.1
    で、前バージョンは記録していないのですが、2.18.x以降で現象を認識しました。

    今後のバージョンでの対応あるいは何らか回避策を頂けるとありがたいです。

    どうぞよろしくお願い申し上げます。

    #21217 返信
    ONISHI
    ゲスト

    恐れいります。先のメッセージで、エラーが出ないといっていたDBでも同様のエラーが発生しました。

    同じようなSQLを書いていて、下記ではエラーが出ないのですが、
    —–
    WITH a AS ( SELECT * FROM a WHERE cond1 = ‘1’ )
    SELECT * FROM a WHERE cond1 = ‘1’;
    —-

    下記の様にWithが2つ以上になると、最終のSQL(SELECTでもINSERTでも)を記載し始めた瞬間から
    Ctrl+spaceを押した瞬間にエラーが出ました。
    —–
    WITH a AS (SELECT * FROM a WHERE cond1 = ‘1’)
    , b as (SELECT * FROM a WHERE cond2 = ‘2’)
    select * from b where cond3 = ‘3’;
    —-

    こちらは先のエラーが出るDBに比べてサイズ小さくスキーマもかなりシンプルです。
    なので、タイムアウトとという推測は恐らく間違いだと思われます。

    詳細なバージョンは記憶していないのですが、以前はwithが4つ・5つあっても特に問題なく
    入力支援が利用出来ておりました。

    恐れ入りますがよろしくお願い致します。

    #21224 返信
    松原正和
    キーマスター

    ONISHI さんこんにちは。
     
    はい、現象を確認しました。内部的な処理順序の問題でWITH句を使ったときにエラーが発生する問題がありました。Version 2.20.0 beta 3で修正してみました。ご確認いただければと思います。
    https://a5m2.mmatsubara.com/beta/

    #21278 返信
    ONISHI
    ゲスト

    松原様
    お世話になっております。
    確認が遅くなり申し訳ございません。
    少しこちら V 2.20.0beta4にてエラーが出なくなっていることを確認出来ました。
    ご対応ありがとうございました!!

4件の投稿を表示中 - 1 - 4件目 (全4件中)
返信先: SQL入力支援でエラーダイアログ
あなたの情報:




コメントは受け付けていません。