DataGrip 2024.3의 새로운 기능

Text-to-SQL 에디터 내 Diff, SQL 오류 처리를 위한 AI Assistant 액션, 그리드 UI 개선 등.

AI Assistant 기능

AI Assistant로 SQL 오류 처리

AI Assistant로 SQL 쿼리 실행 오류를 처리할 수 있도록 몇 가지 유용한 액션을 구현했습니다. DataGrip이 이제 각 오류 메시지의 오른쪽 끝에 Explain with AI(AI로 설명)Fix with AI(AI로 수정) 액션을 표시합니다.

Explain with AI(AI로 설명)를 이용하면 AI 채팅이 열리고, 자동으로 프롬프트가 전송되며, 오류에 대한 AI Assistant의 설명이 제공됩니다.

Fix with AI(AI로 수정)를 이용하면 오류 실행 오류의 수정안이 에디터에 생성됩니다.

Text-to-SQL: 생성된 결과의 에디터 내 Diff

에디터에서 AI Assistant로 작업할 때의 경험을 개선했습니다.

이제 AI Assistant에게 코드 조각으로 어떠한 작업을 요청하면 에디터에 원래 코드와 생성된 코드의 Diff가 포함됩니다. AI Assistant의 제안은 다른 색상으로 강조 표시되며 여백에 Revert(되돌리기) 버튼이 표시됩니다.

또한, 쿼리 결과를 Diff에서 편집할 수 있습니다. 사용자의 변경 사항도 같은 방식으로 강조 표시됩니다.

예를 들어 AI Assistant에게 쿼리를 사용하여 더 많은 데이터를 가져오도록 요청한 다음 생성된 결과에 ORDER BY 절을 추가할 수 있습니다.

이러한 신규 액션은 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(데이터 에디터 툴바)를 선택하세요.

더 넓어진 에디터 내 결과 그리드

이전에는 에디터 내 결과 그리드의 너비는 제한되어 있었습니다. 이제 그리드가 에디터의 전체 너비에 맞춰 자동으로 조정되어 더 많은 데이터를 볼 수 있습니다.

코드 에디터

선택된 텍스트의 찾은 위치 강조 표시

DataGrip은 기본적으로, 파일 내에서 선택한 텍스트의 모든 인스턴스를 자동으로 강조 표시합니다. 이에 따라 선택한 텍스트가 코드 전체에서 어디에 나타나는지 추적하기가 더 쉬워집니다.

과도한 수의 JOIN 절 검사

특정한 경우에는 성능 저하가 발생할 수 있어 과도한 수의 JOIN 절을 포함한 쿼리를 실행하는 것이 권장되지 않습니다. 이제 에디터가 이러한 쿼리를 탐지하고 강조 표시합니다.

이 검사는 IDE 설정에서 활성화할 수 있습니다. 활성화하려면 Editor(에디터) | Inspections(검사)로 이동한 후 SQL 섹션을 펼친 다음, Excessive JOIN count(과도한 JOIN 수)를 선택하세요.

테이블 반환 함수 지원 BigQuery

BigQuery 테이블 반환 함수(TVF) 지원을 개선했습니다. DataGrip이 이제 TVF와 반환 열을 적절하게 탐지합니다.

연결

조각 검사와 스마트 새로고침 MySQL MariaDB

DataGrip이 이제 조각 검사를 지원합니다.

이전에는 내부 검사가 MySQL이나 MariaDB 데이터베이스에 있는 스키마의 전체 내부 검사만 수행할 수 있었고 단일 객체의 메타데이터를 새로 고칠 수는 없었습니다. 콘솔에서 DDL 구문이 실행되고 이러한 실행이 데이터베이스 스키마 내의 객체를 수정할 수 있을 때마다 IDE가 전체 스키마의 완전한 내부 검사를 실시했었습니다. 이로 인해 시간이 많이 소요되고 워크플로가 중단되는 경우가 많았습니다.

이제 DataGrip은 DDL 구문을 분석하고, 어떤 객체가 영향을 받는지 판단하여 영향을 받는 객체만 새로 고칠 수 있습니다.

데이터베이스 탐색기에서 하나의 항목을 선택하고 Refresh(새로고침) 액션을 호출하면 예전처럼 전체 스키마가 아니라 해당 객체만 새로 고쳐집니다.

버그 수정

  • DBE-21843: 큰 테이블에서 첫 번째 행이 더는 사라지지 않습니다.
  • DBE-20350: Qualify object with: Database(데이터베이스로 객체 정규화) 코드 완성 기능이 의도대로 동작합니다.
  • DBE-21526: 데이터베이스 객체의 컨텍스트 메뉴에서 컨텍스트 라이브 템플릿의 가용성 문제가 해결되었습니다.
  • DBE-18445: MySQL 이제 ST_SRID 함수가 지원됩니다.
  • DBE-19042: MySQL 이제 GRANT 구문 내의 다양한 역할이 지원됩니다.
  • DBE-19984: MySQL 이제block_encryption_mode 시스템 변수가 지원됩니다.
  • DBE-16521: MariaDB 쿼리 콘솔의 임시 테이블 지원이 개선되었습니다.
  • DBE-19041: MySQL MariaDB SET ROLESET DEFAULT ROLE 구문이 지원됩니다.
  • DBE-14986: SQL Server 함수 호출에서 동의어 해결이 예상대로 동작합니다.
  • DBE-15201: SQL Server 함수 완성의 스키마 정규화가 예상대로 동작합니다.
  • DBE-21204: SQL Server CURSOR 선언에서 OPTION 키워드가 이제 지원됩니다.
  • DBE-3771: Oracle USING 내의 정규화된 열의 검사가 추가되었습니다.
  • DBE-3772: Oracle NATURAL JOIN 내의 정규화된 열의 검사가 추가되었습니다.
  • DBE-5657: Oracle PARTITION 절의 자동 완성이 예상대로 동작합니다.
  • DBE-10459: Oracle BEGIN 절의 자동 완성이 지원됩니다.
  • DBE-17022: Oracle ON COMMIT PRESERVE DEFINITION이 지원됩니다.
  • DBE-21014: Oracle 패키지 헤더에서 선언된 CURSOR의 해결이 의도대로 동작합니다.
  • DBE-20309: Oracle 함수 호출에 대한 열 해결이 의도대로 동작합니다.
  • DBE-21006: Oracle 레코드 타입에 대한 열 해결이 의도대로 동작합니다.