DataGrip 2023.1 の新機能

DataGrip 2023.1 がリリースされました! このリリースサイクルは品質を重視した非常に特別なもので、公開課題トラッカーに蓄積されたバグの解決に焦点が当てられています。 では、修正した内容を見ていきましょう!

コードの操作

  • DBE-4469: SQL フォーマッターが EXISTS 句内のサブクエリに適切なスタイルを適用していなかった問題を修正しました。 期待どおりに動作するようになっています。

DataGrip では、EXISTS キーワードと左丸括弧の間にスペースを追加することも可能です。この機能は新しい設定でオンオフできます。 フォーマッターの以前の(スペースを追加しない)動作を保持する場合は、Preferences(環境設定)| Editor(エディター)| Code Style(コードスタイル)| SQLQueries(クエリ)タブ)で Space after keyword(キーワードの後のスペース)設定を変更してください。

  • DBE-14440: スタイル設定の保存に関するバグを修正しました。 SQL2016 に特殊スタイルを構成し、Preferences(環境設定)で Inherit general SQL style(汎用 SQL スタイルを継承する)チェックボックスをオンにしていない場合、これを構成し直す必要があります。

  • DBE-15973 BigQuery: WINDOW 句がサポートされるようになりました。
  • DBE-9219 ClickHouse: 大文字と小文字を区別する名前を補完する際に大文字と小文字の設定が無視されるようになりました。
  • DBE-14796 MySQL: LAG および LEAD 関数の問題が修正されました。
  • DBE-16311 MySQL: ネストされたクエリで FOR UPDATE がサポートされるようになりました。
  • DBE-12139 MySQL: ENCRYPTION 構文がサポートされるようになりました。
  • DBE-13186 Microsoft SQL Server: インスペクションが誤って必要以上のコードを報告することがなくなりました。
  • DBE-11946 PostgreSQL: Place constraints(制約の配置)に関する問題が修正されました。
  • DBE-6276 PostgreSQL: セキュリティポリシーへの DDL ナビゲーションが期待どおりに動作するようになりました。
  • DBE-17490 PostgreSQL: SQL ジェネレーターが EXCLUDE 制約を引用符で正しく囲むようになりました。
  • DBE-11727DBE-11500 BigQuery: UNNEST クエリ内のエイリアスが正しく解決されるようになりました。
  • DBE-17291DBE-17449 ClickHouse: EPHEMERAL 列、INTERSECT、および EXCEPT 句がサポートされるようになりました。
  • DBE-13506 MongoDB: ネストされたプロパティに対する不正な SQL 補完のバグが修正されました。

データベースエクスプローラー

  • DBE-17263: Quick Documentation(クイックドキュメント)ポップアップにデータソースコンテンツの統計が再度表示されるようになりました。

  • DBE-17166: データベースエクスプローラーで名前が変更されたフォルダーが消えないようになりました。
  • DBE-10812 PostgreSQL: コンテキストメニューの Drop コマンドが期待どおりに動作するようになりました。

イントロスペクション

  • Oracle: レベル 1にて、特に高速内部カタログが使用されている場合に、イントロスペクションを高速化する複数の改善を実装しました。

    SELECT_CATALOG_ROLESELECT ANY DICTIONARY の権限がすでに付与されていることを確認してください。 Oracle の従来型カタログは非常に低速であるため、これにより、Oracle 内部カタログにアクセスしてイントロスペクションを高速化できます。

    Oracle のイントロスペクションについての詳細はこちらから

  • DBE-12578 Oracle: スキーマを横断するデータベーストリガーがサポートされるようになりました。 スキーマ A にスキーマ B のテーブルへトリガー X を作成すると、スキーマ B のホストテーブル E に表示されます。
  • DBE-6986 MySQL: ROW_FORMAT 句/構文がサポートされるようになりました。
  • DBE-10603 Microsoft SQL Server: Quick Definition(クイック定義)が期待どおりに動作するようになりました。
  • DBE-9087 PostgreSQL: REFERENCING 句を使用する際にトリガーの DDL が正しく生成されるようになりました。
  • DBE-12404 Db2: オブジェクトのイントロスペクションが中断する問題を修正しました。 ユーザー権限でデータベースユーザーのリストの取得が許可されていない場合、その他のデータベースオブジェクトも読み込まれていませんでした。 この修正により、ユーザーのリストを除くすべてが読み込まれるようになります。
  • DBE-17330 MySQL: テーブルの DDL が Modify(変更)ダイアログでコミットを変更した後に更新されるようになりました。
  • DBE-15555 Redshift: パフォーマンスの問題を修正しました。 イントロスペクションの時間が大幅に短縮されています。

接続

  • DBE-16417 Microsoft SQL Server: Current schema(現在のスキーマ)の検出がすべてのデータベースで動作するようになりました。
  • DBE-11012 SQLite: ネイティブ SQLite ライブラリがシステムフォルダーにアンパックされるようになりました。
  • DBE-7466 Microsoft SQL Server: pg_bouncer 経由での接続に関する問題が修正されました。

オブジェクトエディター

  • DBE-16393: Modify view(変更ビュー)にソースエディターを追加しました。

  • DBE-17329 PostgreSQL: 読み取り専用モードでも仮想ビューを作成できるようになりました。

データエディター/ビューアー

  • DBE-3572: 結果テーブルの Alternate row colors(行の色の切り替え)設定を追加しました。 チェックボックスがオンの場合、行の色が交互に切り替わります。

  • DBE-16250: テーブルの高さが結果の高さに合わせて調整されるようになったため、エディター内の結果に空のスペースが追加されなくなりました。

  • DBE-17434: データエディターのヘッダーに適切なフォント色が使用されるようになりました。
  • DBE-17292 PostgreSQL: 行をカウントする際、Quick Doc(クイックドキュメント)ウィンドウがフリーズしなくなりました。
  • サポートリクエスト: 値エディターの画像プレビューが正しく動作するようになりました。
  • DBE-16576 PostgreSQL: ENUM 列のあるビューで値を更新できるようになりました。
  • DBE-14722 Oracle: JSON 列がサポートされるようになりました。
  • DBE-14303 BigQuery: TIMESTAMP 値のミリ秒の精度が失われなくなりました。
  • DBE-13329 MongoDB: デフォルトのページサイズを構成する Change Default(デフォルトの変更)アクションを追加しました。

クエリコンソール

  • DBE-14074: 名前付きパラメーターが正しく検出されるようになりました。
  • DBE-10555: コピー・貼り付け操作を行う際、IDE が(カーソルの位置ではなく)選択範囲を正しく解析するようになりました。
  • DBE-17362: 新しい UI でスキーマスイッチャーが適切に動作するようになりました。
  • DBE-12109 Oracle: Oracle 集計関数でセミコロンが省略されなくなりました。
  • DBE-16871 BigQuery: テーブルをプレビューする際、Unexpected value(予期しない値)エラーがポップアップしなくなりました。
  • DBE-17479: クエリコンソールの Read access is allowed from inside read-action (or EDT) only(読み取りアクセスは読み取りアクション(または EDT)内からのみ許可されます)通知でクエリが失敗する問題が修正されました。
  • DBE-12787DBE-12109 Oracle: CREATE PROCEDURECREATE FUNCTION が期待どおりに ";" で終了するようになりました。
  • MongoDB: IN (...) に10 個以上の値がある場合に値が消えていた課題が修正されました。

SQL の解決

  • DBE-16831: Preferences(環境設定)| Database(データベース)| Query execution(クエリ実行)| Other(その他)に、コンソールで使用されるデフォルトの解決モードを指定する設定が追加されました。

  • DBE-5497 Oracle: Oracle のコレクションメソッドに関するいくつかの問題を修正しました。
    • PUBLIC シノニムが PUBLIC スキーマに正しく配置されるようになりました。
    • ネストされたルーチンへの再帰参照が正しく解決されるようになりました。
    • カーソル名で修飾されたカーソルパラメーター参照が正しく解決されるようになりました。
    • %TYPE の不正な使用箇所が警告として報告されるようになりました。
  • DBE-12772 Oracle: コレクション型(COUNT など)の標準属性の解決処理を修正しました。
  • DBE-12758 Oracle: 型属性がサポートされるようになりました。
  • DBE-11949 Oracle: 型コンストラクター呼び出しの名前付き引数が正しく解決されるようになりました。
  • DBE-16452 Oracle: パッケージのショートカットナビゲーションが機能するようになりました。

ナビゲーションと検索

  • DBE-12015 Oracle: ルーチンに移動する際に、デフォルトで、ヘッダーではなく実装に移動するようになりました。

ダイアグラム

  • DBE-17137: IDE が複数クエリの最初のクエリに対してのみ Explain Plan ダイアグラムを表示していたバグを修正しました。
  • DBE-16238: ダイアグラムの保存中にエラーが表示されなくなりました。

SQL の生成

  • DBE-17229: Schema diff(スキーマの差分)ビューアーが適切に動作するようになりました。従来はデータベースまたはサーバーオブジェクトが含まれている場合、空の状態で開いていました。
  • Microsoft SQL Server, PostgreSQLDb2: 開始値のあるシーケンスの動作を制御する Specify next value for sequences(シーケンスの次の値を指定する)オプションを使用できるようになりました。

Specify next value for sequences(シーケンスの次の値を指定する)オプションが有効でない場合、DataGrip はシーケンスの DDL を生成して START WITH start_value に開始値を追加します。

Specify next value for sequences(シーケンスの次の値を指定する)オプションが有効である場合、DataGrip はシーケンスに必要な次の値を DDL に追加しますが、以下のようにデータベースによって多少の違いがあります。

  • Microsoft SQL Server: シーケンスの開始値の代わりに、次のシーケンス値が CREATE および ALTER ステートメントの RESTART WITH 句に指定されます。
  • PostgreSQL: シーケンスの開始値の代わりに、次のシーケンス値が CREATE ステートメントの START WITH 句に指定されます。 開始値は START WITH 句に指定され、次の値は ALTER ステートメントの RESTART WITH 句に指定されます。
  • Db2: シーケンスの開始値の代わりに、次のシーケンス値が CREATE ステートメントの START WITH 句に指定されます。 次の値は ALTER ステートメントの RESTART WITH 句に指定されます(Db2 では開始値の変更が許可されていません)。