{"id":201440,"date":"2021-11-23T14:32:34","date_gmt":"2021-11-23T13:32:34","guid":{"rendered":"https:\/\/blog.jetbrains.com\/?post_type=datagrip&#038;p=201440"},"modified":"2022-04-07T16:31:03","modified_gmt":"2022-04-07T15:31:03","slug":"datagrip-2021-3-aggregates-database-in-vcs-introspection-levels-in-oracle","status":"publish","type":"datagrip","link":"https:\/\/blog.jetbrains.com\/en\/datagrip\/2021\/11\/23\/datagrip-2021-3-aggregates-database-in-vcs-introspection-levels-in-oracle","title":{"rendered":"DataGrip 2021.3: Aggregates, Database in VCS, Introspection levels in Oracle"},"content":{"rendered":"\n<p>DataGrip 2021.3 is here! This is the third major update of 2021, and it\u2019s packed with various enhancements. Let\u2019s take a look at what it has to offer! For a detailed description of this update, please visit our <a href=\"https:\/\/www.jetbrains.com\/datagrip\/whatsnew\/\" class=\"ek-link\" target=\"_blank\" rel=\"noopener\"><em>What\u2019s new<\/em><\/a>&nbsp;page.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\"><a href=\"https:\/\/www.jetbrains.com\/datagrip\/whatsnew\/#data-editor\" class=\"ek-link\" target=\"_blank\" rel=\"noopener\">Data editor<\/a><\/h1>\n\n\n\n<ul><li>Aggregates<\/li><li>Table view for tree nodes<\/li><li>Independent split<\/li><li>Custom font<\/li><li>Foreign key navigation by several values<\/li><li>Setting for default sorting<\/li><li>Display mode for binary data<\/li><li>[MongoDB] Completion for <code>filter {}<\/code> and <code>sort {}<\/code><\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-large is-style-editorskit-shadow\"><img decoding=\"async\" loading=\"lazy\" width=\"1280\" height=\"797\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2021\/11\/AggregatesInit-1.png\" alt=\"\" class=\"wp-image-201583\"\/><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\"><br><a href=\"https:\/\/www.jetbrains.com\/datagrip\/whatsnew\/#keeping-your-database-in-the-vcs\" class=\"ek-link\" target=\"_blank\" rel=\"noopener\">Keeping your database in the VCS<\/a><\/h1>\n\n\n\n<ul><li>Mapping the DDL data source and the real one<\/li><li>Compare and synchronize the DDL data source and the real one in both directions<\/li><li>File-related actions on the DDL data source<\/li><li>DDL data source auto-sync<\/li><li>Setting the default database and schemas for the DDL data source<\/li><li>New database diff window<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-large is-style-editorskit-shadow\"><img decoding=\"async\" loading=\"lazy\" width=\"1698\" height=\"843\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2021\/11\/MappingSettings.png\" alt=\"\" class=\"wp-image-201606\"\/><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\"><br><a href=\"https:\/\/www.jetbrains.com\/datagrip\/whatsnew\/#connectivity\" class=\"ek-link\" target=\"_blank\" rel=\"noopener\">Connectivity<\/a><\/h1>\n\n\n\n<ul><li>Accidental spaces warning<\/li><li>[SQL Server] LocalDB as a dedicated data source<\/li><li>[Oracle, SQL Server] Kerberos authentication<\/li><li>[Oracle, IBM Db2] Enable DBMS_OUTPUT<\/li><li><em>More options<\/em> button<\/li><li>Expert options<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-large is-style-editorskit-shadow\"><img decoding=\"async\" loading=\"lazy\" width=\"1270\" height=\"734\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2021\/11\/Kerberos-1.png\" alt=\"\" class=\"wp-image-201698\"\/><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\"><br><a href=\"https:\/\/www.jetbrains.com\/datagrip\/whatsnew\/#introspection\" class=\"ek-link\" target=\"_blank\" rel=\"noopener\">Introspection<\/a><\/h1>\n\n\n\n<ul><li>[Oracle] Introspection levels<\/li><li>[SQL Server, Oracle] Mapping linked servers and database links to data sources<\/li><li>[PostgreSQL] Ability to hide system schemas and template databases<\/li><li>[Snowflake] Support for streams<\/li><li>[Clickhouse] Distributed tables<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-large is-style-editorskit-shadow\"><img decoding=\"async\" loading=\"lazy\" width=\"1585\" height=\"792\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2021\/11\/IntrospectionLevels-1.png\" alt=\"\" class=\"wp-image-201628\"\/><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\"><br><a href=\"https:\/\/www.jetbrains.com\/datagrip\/whatsnew\/#query-console\" class=\"ek-link\" target=\"_blank\" rel=\"noopener\">Query Console<\/a><\/h1>\n\n\n\n<ul><li>Check for boolean expressions<\/li><li>Extract function for queries<\/li><li>[MongoDB] Code completion for database names<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-large is-style-editorskit-shadow\"><img decoding=\"async\" loading=\"lazy\" width=\"1270\" height=\"594\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2021\/11\/BooleanWarning.png\" alt=\"\" class=\"wp-image-201655\"\/><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\"><br><a href=\"https:\/\/www.jetbrains.com\/datagrip\/whatsnew\/#services-tool-window\" class=\"ek-link\" target=\"_blank\" rel=\"noopener\">Services tool window<\/a><\/h1>\n\n\n\n<ul><li>Timestamps in output hidden by default<\/li><li>New activation settings<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-large is-style-editorskit-shadow\"><img decoding=\"async\" loading=\"lazy\" width=\"1270\" height=\"887\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2021\/11\/Output.png\" alt=\"\" class=\"wp-image-201666\"\/><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\"><br><a href=\"https:\/\/www.jetbrains.com\/datagrip\/whatsnew\/#importexport\" class=\"ek-link\" target=\"_blank\" rel=\"noopener\">Import\/Export<\/a><\/h1>\n\n\n\n<ul><li>New UI for importing data<\/li><li><em>First row is header<\/em> auto-detection<\/li><li>Automatic column types in CSV files<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-large is-style-editorskit-shadow\"><img decoding=\"async\" loading=\"lazy\" width=\"1575\" height=\"1362\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2021\/11\/NewUI-1.png\" alt=\"\" class=\"wp-image-201677\"\/><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\"><br><a href=\"https:\/\/www.jetbrains.com\/datagrip\/whatsnew\/#miscellaneous\" class=\"ek-link\" target=\"_blank\" rel=\"noopener\">Miscellaneous<\/a><\/h1>\n\n\n\n<ul><li>New <em>Bookmarks<\/em> tool window<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-large is-style-editorskit-shadow\"><img decoding=\"async\" loading=\"lazy\" width=\"1270\" height=\"1000\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2021\/11\/Bookmarks.png\" alt=\"\" class=\"wp-image-203080\"\/><\/figure>\n","protected":false},"author":395,"featured_media":238296,"comment_status":"closed","ping_status":"closed","template":"","categories":[89,907],"tags":[],"cross-post-tag":[],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/datagrip\/201440"}],"collection":[{"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/datagrip"}],"about":[{"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/types\/datagrip"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/users\/395"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/comments?post=201440"}],"version-history":[{"count":9,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/datagrip\/201440\/revisions"}],"predecessor-version":[{"id":238308,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/datagrip\/201440\/revisions\/238308"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/media\/238296"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/media?parent=201440"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/categories?post=201440"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/tags?post=201440"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/cross-post-tag?post=201440"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}