Text-to-SQL のエディター内差分表示、SQL エラーを処理するための AI Assistant アクション、グリッド UI の改善などがあります!
AI Assistant で SQL クエリの実行エラーを処理するため、いくつかの便利なアクションを実装しました。 DataGrip が各エラーメッセージの右端に Explain with AI(AI で説明)と Fix with AI(AI で修正)という 2 つのアクションを表示するようになりました。
Explain with AI(AI で説明)を使用すると AI チャットが開いて自動プロンプトが送信され、AI Assistant によるエラーの説明が表示されます。
Fix with AI(AI で修正)は、クエリ実行エラーに対する修正をエディター内に生成します。
エディター内での AI Assistant の操作エクスペリエンスを改善しました。
コードに何らかの処理を行うように AI Assistant に依頼した際、エディターに元のコードと生成されたコードの差分が表示されるようになりました。 AI Assistant の提案は違う色でハイライトされ、ガターには Revert(元に戻す)ボタンが表示されます。
また、差分表示内で生成されたクエリを編集することもできます。自分で行った変更も同じようにハイライトされます。
たとえば AI Assistant にクエリでより多くのデータを取得するように依頼した後、生成された結果に ORDER BY 句を追加することができます。
これら 2 つの新しいアクションは、Fix SQL Problem Under Caret(キャレット位置の SQL の問題を修正)と Explain SQL Problem Under Caret(キャレット位置の SQL の問題を説明)と同じように動作します。
この機能が適切な説明と修正を提案できるようにするには、データベーススキーマの添付が必要です。
データエディター内のグリッドのページングを認識しやすくするため、このコントロールをツールバーからデータエディターの下中央に移動しました。
このコントロールをツールバーに戻すには、IDE の設定を開いて Database(データベース)| Data Editor and Viewer(データエディターとビューアー)に移動し、 Position of the grid pagination control(グリッドページネーションコントロールの位置)までスクロールして Data editor toolbar(データエディターツールバー)を選択します。
従来はエディター内結果グリッドの幅に上限がありました。このバージョンからはグリッドがエディターの全幅に自動的に調整されるようになり、より多くのデータを表示できるようになりました。
Create(作成)および Modify(変更) ダイアログでオブジェクトを変更する際に IDE の他のインターフェース要素も操作できるようにすることが以前から強く求められていました。 DataGrip 2024.3 では、非モーダルダイアログの動作が導入されています。ダイアログでオブジェクトを作成または変更する際、作業を中断しなくてもデータベース、データソース、ファイル、およびオブジェクトの他の部分を簡単に閲覧できるようになりました。
DataGrip がデフォルトでファイル内で選択したテキストのすべての出現箇所を自動的にハイライトするようになりました。これにより、コード全体で選択したテキストの出現箇所を追跡しやすくなります。
JOIN 句に対するインスペクション 場合によっては、JOIN 句の数が過剰なクエリを実行することは推奨されません。それによってパフォーマンスが低下するためです。エディターがそのようなクエリを特定し、ハイライトできるようになりました。
このインスペクションは IDE の設定で有効にできます。 Editor(エディター)| Inspections(インスペクション)に移動し、SQL セクションを展開して Excessive JOIN count(過剰な JOIN 数)を選択してください。
BigQuery のテーブル値関数(TVF)のサポートを改善しました。 DataGrip が TVF とその戻り値の列の両方を正しく検出できるようになりました。
DataGrip で部分イントロスペクションがサポートされるようになりました。
従来のイントロスペクターは MySQL または MariaDB データベースのスキーマの完全イントロスペクションのみを実行可能で、単一オブジェクトのメタデータをリフレッシュできませんでした。コンソール内で DDL ステートメントが実行されるたびにデータベーススキーマ内のオブジェクトが変更される可能性があったため、IDE はスキーマ全体の完全イントロスペクションを開始していました。この動作には時間がかかるため、作業の流れが中断されることもしばしばでした。
このバージョンの DataGrip は DDL ステートメントを解析し、その影響を受けた可能性があるオブジェクトを突き止め、そのオブジェクトをリフレッシュできるようになっています。
データベースエクスプローラー内で単一の項目を選択して Refresh(リフレッシュ)アクションを呼び出すと、以前のようにスキーマ全体ではなく、その特定のオブジェクトのみがリフレッシュされます。
ST_SRID 関数がサポートされるようになりました。 GRANT ステートメントで複数のロールがサポートされるようになりました。 block_encryption_mode システム変数がされるようになりました。 SET ROLE と SET DEFAULT ROLE ステートメントがサポートされるようになりました。 CURSOR 宣言の OPTION キーワードがサポートされるようになりました。 USING 句内の修飾された列のインスペクションが追加されました。 NATURAL JOIN 句内の修飾された列のインスペクションが追加されました。 PARTITION 句の自動補完が期待どおりに動作するようになりました。 BEGIN の自動補完がサポートされるようになりました。 ON COMMIT PRESERVE DEFINITION がサポートされるようになりました。 CURSOR の解決が意図したとおりに動作するようになりました。