A5:SQL Mk-2

開発のこと、日々のこと

松原正和

フォーラムへの返信

15件の投稿を表示中 - 1 - 15件目 (全1,722件中)
  • 投稿者
    投稿
  • 松原正和
    キーマスター

    sai さんこんにちは。
     
    WITH 句のサブクエリーの中での入力支援ですよね? 基本的に対応しており、問題なく入力支援候補として出力されるはずです。OMOTI というのはスキーマ名ですよね? 
     
    例えば、A5:SQL Mk-2 では一度テーブル・カラムのメタデータを取得するとそれをキャッシュします。再接続するか、「再読み込み」機能を使うまではキャッシュは破棄されないため、作業の途中でテーブル作成をした場合などはすぐには入力支援の候補に出てこないことはあります。
     
    何か、入力支援が出てくる・出てこないなど条件のようなものは分かりますでしょうか?

    返信先: セキュリティの確認のお願い #31864
    松原正和
    キーマスター

    kiz さんこんにちは。

    ご質問にお答えします。
     
    > ①自動でアップデート(配信)される機能の有無
    Vector からダウンロードしてインストールした場合は、自動アップデートはありません。
    Microsoft Store からインストールした場合は、自動アップデートされるはずです。(Microsoft Store のプロフィール設定から自動アップデートのON/OFFを切り替えられます。)

    > ②A5:SQL Mk-2自身が何らかしらの情報(社内の情報、データ、ログ等)を外部へ配信するような機能の有無
    特に、A5:SQL Mk-2自身は外部にデータを送信しません。ただし、デフォルト設定では、週に1回程度の割合でアップデートがないか、GET https://a5m2.mmatsubara.com/VersionInfo.html を行って確認します。これが唯一の外部とのデータ通信です。リクエストパラメータも渡しません。
    情報を渡すわけではありませんが、a5m2.mmatsubara.com には http サーバーのアクセスログは残ります。これが問題となる場合は、メニューから [ヘルプ(H)] – [定期的に新バージョンがないかチェックを行う(V)]のチェックを外すようにしてください。

    松原正和
    キーマスター

    abeq さんこんにちは。
      
    調査したところ、SQLite 3.25.0 あたりから、テーブルをリネームすると外部キーで参照元テーブルのテーブル名を変更するようになったようです。
     
    互換性のオプションとして
     

    PRAGMA legacy_alter_table = ON;

     
    を設定(実行)することで、以前の挙動(テーブルリネームで参照元テーブル名を変更しない)になるようです。
    https://sqlite.org/pragma.html#pragma_legacy_alter_table

    返信先: AIアシスト機能について照会 #31804
    松原正和
    キーマスター

    しんちゃんさんこんにちは。
     
    OpenAI の API を使う場合、設定画面で URL を指定した場合は、OpenAI ではなく、OpenAI 互換と見做して /chat/completions を使います。URL 欄を空にした場合は、 OpenAI 自体と見做して /responses API を使うようになります。これは、OpenAI 互換 API はまだ /responses API が実装されていないケースも多いと考えられるためです。
     
    しんちゃんさんのケースでは OpenAI 自身であるにもかかわらず、URL を指定してしまっているのではないでしょうか? 設定画面で URL を空にすれば /responses を使うようになり、gpt-5.1-codex が使えるようになるはずです。

    松原正和
    キーマスター

    >テーブルの制約やデータ型を変更する際に現テーブルを一時的に名前を変えて新テーブルを作ってデータを移行することをやっているときにFKで参照しているテーブルが名前が変わったからそれが反映された?ということでしょうか?

    こちら気になったので追加で調査してみたのですが、SQLite における外部キーの管理方法からの問題ではないかと思えます。

    https://stackoverflow.com/questions/4897867/update-foreign-key-references-when-doing-the-sqlite-alter-table-trick

    SQLiteは他のテーブルにあるようなシステムカタログを持たず、テーブルの情報はCREATE TABLE をテキストのまま保持します。
     
    この仕組みのため、テーブルのリネーム時は参照している外部キーを持つテーブルがないか sqlite_master テーブルを走査しリネーム対象テーブルがあればCREATE TABLE文を書き換える挙動をするようです。
     
    しかし、参照先テーブルを削除する(エラーにならない)などすると外部キーがそのまま残るなどして、問題となるケースがあるようです。

    以下例)
    1. テーブルA を作成
    2. テーブルB を作成(外部キーでテーブルAを参照)
    3. テーブルA を テーブルA´ に変更 (この時点で テーブルB の外部キーは テーブルA´ を指す)
    4. 新しく テーブルA を作成
    5. テーブルA´ を削除
    6. 最終的に テーブルB の外部キーは(存在しなくなった) テーブルA´ を指したまま残る

    松原正和
    キーマスター

    abeq さんこんにちは。お返事が遅くなり申し訳ありません。
    (早くてもお返事は週末等になってしまいます。)
     
    テーブルのソース(CREATE TABLE)で、FK先のテーブル名が正しく表示されない件ですが、こちらで検証したのですが、再現できませんでした。
     
    後からテーブル名を変更した際に古いテーブル名で表示されるのかとも考えましたが、テーブルをリネームした後にテーブルのソースを確認すると新しいテーブル名になっていました。
     
    A5:SQL Mk-2 の仕組みとしては、
     

    select sql from sqlite_master where type=’table’ and name = ‘テーブル名’

     
    のようなSQLで、CREATE TABLE 文を取得し、整形してから表示しているのですが、こちらではどのように出力されますでしょうか?

    • この返信は1ヶ月前に松原正和が編集しました。
    • この返信は1ヶ月前に松原正和が編集しました。
    松原正和
    キーマスター

    nrkm さん、tkd さんこんにちは。
     
    以前、データベースリンクが二重に表示される不具合があり、その対策に問題がありました。
    もうすぐリリースする Version 2.21.1 で修正しますので少々お待ちください。

    返信先: vscodeの拡張機能 #31735
    松原正和
    キーマスター

    KEITA さんこんにちは。
     
    すみません、残念ながらVSCodeの拡張機能などのリリース予定はありません。
     
    A5:SQL Mk-2 は Embarcadero Delphi で構築されていますが、個人で作成する規模としてはかなり規模の大きいソフトウェアとなっており、他の開発環境への移行または同等機能の開発はなかなかむつかしいように思えます。

    返信先: SQL構文実行時の挙動について #31576
    松原正和
    キーマスター

    sh169 さんこんにちは。
     
    > 1.INSERT、UPDATE、DELETEを実行する際に、確認メッセージを表示する設定はございますか?
    こちらについてはDBの接続情報登録ダイアログで、「DBタイプ」の項目の「本番環境(あるいは注意が必要なデータベース)」にチェックを入れると、INSERT、UPDATE、DELETEの実行時、あるいはテーブルエディタからのデータ書き換え時などに確認ダイアログが表示されるようになります。
     
    > 2.SQL構文を実行する際に、コミットの設定(自動コミット、手動コミット)を変更する設定はございますか?
    こちらは、デフォルトでは即時コミットですが、オプションダイアログから、[データベース接続]タブで、「データベースの更新時に自動的にトランザクションを開始する(コミット/ロールバックはユーザーによる手動操作となります)」をチェックすると更新時にトランザクションを開始して、手動によるコミット・ロールバックとなります。
     
    注意として、DBにもよりますが、トランザクションでのロックが他の接続ユーザー・アプリの使用ユーザーのDB更新を妨げることがあります。ローカルでない共有のDB・本番DBではトランザクション時間が長くならないように注意が必要です。

    返信先: テーブル定義書のPK #31374
    松原正和
    キーマスター

    すいさんこんにちは。
     
    はい、テーブル定義書出力の仕組みを変えたときに不具合が混入したようです。Version 2.21.1 beta 2 で修正しておりますので、お試しいただければと思います。

    返信先: nvcharのmaxについて #31373
    松原正和
    キーマスター

    ken1 さんこんにちは。
     
    すみません、Version 2.21 系での不具合のようです。Version 2.21.1 beta 3 で修正しましたので、ご確認いただければと思います。

    松原正和
    キーマスター

    やじゅさんこんにちは。
     
    今のところ、Ctrl+Aで全選択はできないのですが、マウス操作などで範囲選択することでインデックスタブなどのコピーを行うことができます。

    松原正和
    キーマスター

    taka さんこんにちは。
     
    現在のところ、A5:SQL Mk-2 で式インデックス(いわゆる関数インデックス)はサポートされません。

    ただし、利用できるようになると便利かと思いますので、次のメジャーバージョンアップ等で対応したいと思います。気長にお待ちいただければと思います。

    松原正和
    キーマスター

    kanamoto さんこんにちは。
      
    テーブルのインポート機能の実行時間(開始時刻・終了時刻)ですが、現在のところ確認する方法はありません。
     
    Version 2.21.1 beta 4 で、A5M2.log ファイルにデバッグ情報として出力するようにはしてみましたが、このファイルは私自身が、A5:SQL Mk-2 のデバッグ補助に出力しているファイルですので、やや扱いにくいとは思います。
     
    A5M2.log はデフォルトでは出力されませんが、A5M2.exe と同じフォルダに A5M2.log の名前でからファイルを作ると内容が出力されるようになります。

    返信先: Excel出力時のNullについて #31133
    松原正和
    キーマスター

    すいさんこんにちは。
     
    Version 2.21.0 でテーブル定義書の出力に不具合があったようです。

    Version 2.21.1 beta 2 で修正しましたのでご確認いただければと思います。
    https://a5m2.mmatsubara.com/beta/

15件の投稿を表示中 - 1 - 15件目 (全1,722件中)