DataGrip 2023.1 最新变化

DataGrip 2023.1 现已发布! 这个发布周期非常特别 – 一切都与质量有关,也就是说我们侧重于解决公共问题跟踪器中积累的错误。 来看看我们都修正了什么!

处理代码

  • DBE-4469:我们修正了 SQL Formatter 不为 EXISTS 子句中的子查询应用正确样式的问题。 现在,它会按预期运作。

DataGrip 还可以在 EXISTS 关键字和左圆括号之间添加一个空格,可以通过新设置切换。 如需保留旧的 Formatter 行为(没有空格),您可以在 Preferences | Editor | Code Style | SQL(偏好设置 | 编辑器 | 代码样式 | SQL)(Queries(查询)标签页)中将 Space after keyword(关键字后的空格)设置更改为 No(否)。

  • DBE-14440:我们修正了保存样式设置时的错误。 如果您为 SQL2016 配置了特殊样式并且未启用 Preferences(偏好设置)中的 Inherit general SQL style(继承常规 SQL 样式)复选框,则需要重新配置。

  • DBE-15973 BigQueryWINDOW 子句现已得到支持。
  • DBE-9219 ClickHouse:补全确切大小写名称时的大小写设置现已被忽略。
  • DBE-14796 MySQLLAGLEAD 函数的问题已得到修正。
  • DBE-16311 MySQL:嵌套查询中的 FOR UPDATE 现已得到支持。
  • DBE-12139 MySQLENCRYPTION 语法现已得到支持。
  • DBE-13186 Microsoft SQL Server:检查不再错误地报告额外代码。
  • DBE-11946 PostgreSQLPlace constraints(放置约束)的问题已得到修正。
  • DBE-6276 PostgreSQL:安全策略的 DDL 导航现在可以按预期工作。
  • DBE-17490 PostgreSQL:SQL 生成器现在会正确地为 EXCLUDE 约束添加引号。
  • DBE-11727DBE-11500 BigQueryUNNEST 查询中的别名解析现在可以正常运作。
  • DBE-17291DBE-17449 ClickHouseEPHEMERAL 列、INTERSECTEXCEPT 子句现已得到支持。
  • DBE-13506 MongoDB:嵌套属性的 SQL 补全中断的错误已得到修正。

数据库资源管理器

  • DBE-17263:数据源内容统计再次出现在 Quick Documentation(快速文档)弹出窗口中。

  • DBE-17166:数据库资源管理器中被重命名的文件夹不再消失。
  • DBE-10812 PostgreSQLDrop(删除)上下文菜单命令现在可以按预期运作。

内省

  • Oracle:我们实现了多项改进来加快级别 1 的内省,特别是对于使用快速内部目录的情况。

    检查您是否已经获得 SELECT_CATALOG_ROLESELECT ANY DICTIONARY 权限。 这可以让您访问 Oracle 内部目录并加快内省,因为 Oracle 传统目录非常慢。

    详细了解 Oracle 内省

  • DBE-12578 Oracle:跨架构数据库触发器现已得到支持。 您可以在架构 A 中向架构 B 的表 E 创建触发器 X,它将显示在架构 B 的主机表 E 下。
  • DBE-6986 MySQLROW_FORMAT 子句/语法现已得到支持。
  • DBE-10603 Microsoft SQL ServerQuick Definition(快速定义)现在会按预期运作。
  • DBE-9087 PostgreSQL:使用 REFERENCING 子句时,触发器的 DDL 会正确生成。
  • DBE-12404 Db2:我们修正了中断对象内省的问题。 此前,如果用户权限不允许检索数据库用户列表,则其余数据库对象也不会加载。 现在,用户列表之外的所有内容都将被加载。
  • DBE-17330 MySQL:在 Modify(修改)对话框中更改注释后表的 DDL 将刷新。
  • DBE-15555 Redshift:我们修正了一个性能问题。 内省时间现在显著减少。

连接性

  • DBE-16417 Microsoft SQL ServerCurrent 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 window(快速文档窗口)不再冻结。
  • 支持请求:图像预览将在值编辑器中正常运作。
  • DBE-16576 PostgreSQL:可以使用 ENUM 列更新视图中的值。
  • DBE-14722 OracleJSON 列现已得到支持。
  • DBE-14303 BigQueryTIMESTAMP 值中毫秒的精度不再丢失。
  • DBE-13329 MongoDB:我们添加了 Change Default(更改默认值)操作用以配置默认页面大小。

查询控制台

  • DBE-14074:命名形参会被正确检测。
  • DBE-10555:复制粘贴时,IDE 现在会正确分析选区(而不是光标位置)。
  • DBE-17362:架构切换器会在新 UI 中正常运作。
  • DBE-12109 Oracle:Oracle Aggregate Functions 中不再省略分号。
  • DBE-16871 BigQuery:预览表时不再弹出 Unexpected value(意外值)错误。
  • DBE-17479:查询控制台中包含 Read access is allowed from inside read-action (or EDT) only(仅允许从内部读取操作(或 EDT)进行读取访问)通知的失败查询已修正。
  • DBE-12787DBE-12109 OracleCREATE PROCEDURECREATE FUNCTION 现在按预期以“;”结尾。
  • MongoDB:超过 10 时 IN (...) 中的值丢失已得到修正。

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-17229Schema diff(架构差异)查看器现在可以正常运作。先前如果包含数据库或服务器对象,它会以空白形式打开。
  • Microsoft SQL ServerPostgreSQLDb2:您现在可以使用 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:下一个序列值不是序列起始值,而是在 CREATEALTER 语句的 RESTART WITH 子句中指定。
  • PostgreSQL:下一个序列值不是序列起始值,而是在 CREATE 语句的 START WITH 子句中指定。 起始值在 START WITH 子句中指定,下一个值在 ALTER 语句的 RESTART WITH 子句中指定。
  • Db2:下一个序列值不是序列起始值,而是在 CREATE 语句的 START WITH 子句中指定。 下一个值在 ALTER 语句的 RESTART WITH 子句中指定(Db2 中不允许更改起始值)。