{"id":227589,"date":"2022-02-11T09:17:31","date_gmt":"2022-02-11T08:17:31","guid":{"rendered":"https:\/\/blog.jetbrains.com\/?post_type=datagrip&#038;p=227589"},"modified":"2025-09-19T09:50:15","modified_gmt":"2025-09-19T08:50:15","slug":"datagrip-2022-1-eap-has-started","status":"publish","type":"datagrip","link":"https:\/\/blog.jetbrains.com\/en\/datagrip\/2022\/02\/11\/datagrip-2022-1-eap-has-started","title":{"rendered":"DataGrip 2022.1 EAP Has Started!"},"content":{"rendered":"\n<p>Hello,<\/p>\n\n\n\n<p>Our first release this year is under heavy development, and we&#8217;re glad you&#8217;re here to try out the latest features and share your feedback with us.<\/p>\n\n\n\n<p>This is the first build of the <a href=\"https:\/\/www.jetbrains.com\/datagrip\/nextversion\/\" class=\"ek-link\" target=\"_blank\" rel=\"noopener\">DataGrip 2022.1 Early Access Program<\/a>. Let\u2019s take a look!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"import-export\"><strong>Import\/Export<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"copy-multiple-objects\">Copy multiple objects<\/h3>\n\n\n\n<p>This is undoubtedly the highlight of this release. You can now select multiple&nbsp; tables and copy them to another schema.<br><br>Select the tables and press F5 to open the export dialog.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-style-editorskit-shadow\"><img decoding=\"async\" loading=\"lazy\" width=\"2603\" height=\"1577\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/02\/CopyMultipleMain.png\" alt=\"\" class=\"wp-image-227665\"\/><\/figure>\n\n\n\n<p><br>As with exporting a single table, you can map the columns, see the DDL of the new table, and change it.<\/p>\n\n\n\n<p>As you may know, DataGrip supports cross-DBMS export, which means the target schema can belong to any database from your project. Copying all tables from your PostgreSQL database to SQL Server is easy as pie.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-style-editorskit-shadow\"><img decoding=\"async\" loading=\"lazy\" width=\"1270\" height=\"895\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/02\/CopyMultipleTarget.png\" alt=\"\" class=\"wp-image-227715\"\/><\/figure>\n\n\n\n<p>You can also specify an existing table, instead of a new one, as the target. If you do that, then data from the source table will be added to the target table.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-style-editorskit-shadow\"><img decoding=\"async\" loading=\"lazy\" width=\"1270\" height=\"932\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/02\/image-1.png\" alt=\"\" class=\"wp-image-227678\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"quality-improvements\">Quality improvements<\/h3>\n\n\n\n<ul>\n<li><a href=\"https:\/\/youtrack.jetbrains.com\/issue\/DBE-5200\" target=\"_blank\" rel=\"noopener\">DBE-5200<\/a>: The <em>Edit as table<\/em> action works correctly even when the rows in the source file have different numbers of columns.<\/li>\n\n\n\n<li><a href=\"https:\/\/youtrack.jetbrains.com\/issue\/DBE-14541\" target=\"_blank\" rel=\"noopener\">DBE-14541: Adding a row to a one-column CSV file works correctly.<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/youtrack.jetbrains.com\/issue\/DBE-14735\" target=\"_blank\" rel=\"noopener\">DBE-14735<\/a>: Fixed the bug with simultaneous export of tables containing timestamps.<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"data-editor\"><strong>Data editor<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"default-display-format-for-binary-cells\">Default display format for binary cells<\/h3>\n\n\n\n<p>We&#8217;ve added a new setting, <em>Automatically detect binary values<\/em>, with two options for <em>UUID<\/em> and <em>Text<\/em>. If you were <a href=\"https:\/\/youtrack.jetbrains.com\/issue\/DBE-14703\" target=\"_blank\" rel=\"noopener\">annoyed<\/a> by UUID detection, you can now disable it.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-style-editorskit-shadow\"><img decoding=\"async\" loading=\"lazy\" width=\"1270\" height=\"891\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/02\/image-2.png\" alt=\"\" class=\"wp-image-227731\"\/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"mongodb-editing-fields-in-results\">[MongoDB] Editing fields in results<\/h3>\n\n\n\n<p>You can now edit the results in MongoDB collections just as easily as in relational databases.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-style-editorskit-shadow\"><img decoding=\"async\" loading=\"lazy\" width=\"1270\" height=\"739\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/02\/Mongo.png\" alt=\"\" class=\"wp-image-227790\"\/><\/figure>\n\n\n\n<p><br>You can also edit result sets obtained via .<em>find()<\/em>. This will work even if any cursor methods that modify the result, like sort() or limit(), were executed after .find().<br><br>These are the cases when we get a result set that is guaranteed to contain only the fields from the base collection.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"quality-improvements\">Quality improvements<\/h3>\n\n\n\n<ul>\n<li><a href=\"https:\/\/youtrack.jetbrains.com\/issue\/DBE-13040\" target=\"_blank\" rel=\"noopener\">DBE-13040<\/a>: Better usability for displaying hidden columns \u2013 simply click on a hidden column in the column list.<\/li>\n\n\n\n<li><a href=\"https:\/\/youtrack.jetbrains.com\/issue\/DBE-14516\" target=\"_blank\" rel=\"noopener\">DBE-14516<\/a>: Better usability for the cell size indicator \u2013 it isn&#8217;t shown for fully loaded values and has a monospaced font, so the content is aligned neatly.<\/li>\n\n\n\n<li><a href=\"https:\/\/youtrack.jetbrains.com\/issue\/DBE-10851\" target=\"_blank\" rel=\"noopener\">DBE-10851<\/a>: Fixed a UI glitch in the data tree view.<\/li>\n\n\n\n<li>The context menu of the column is also displayed in the <em>Transpose<\/em> view.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"introspection\"><strong>Introspection<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"yugabytedb-added-to-basic-support\">YugabyteDB added to basic support<\/h3>\n\n\n\n<p>We&#8217;re now shipping the JDBC-driver for YugabyteDB, and you can create a YugabyteDB data source with just one click.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-style-editorskit-shadow\"><img decoding=\"async\" loading=\"lazy\" width=\"1416\" height=\"1424\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/02\/Yugabite.png\" alt=\"\" class=\"wp-image-227805\"\/><\/figure>\n\n\n\n<p>Basic support for YugabyteDB consists of JDBC introspection and PostgreSQL syntax highlighting.<\/p>\n\n\n\n<p><a href=\"https:\/\/youtrack.jetbrains.com\/issue\/DBE-13521\" target=\"_blank\" rel=\"noopener\">DBE-13521<\/a>: [ClickHouse] The source code of the materialized views is now introspected.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-style-editorskit-shadow\"><img decoding=\"async\" loading=\"lazy\" width=\"1494\" height=\"571\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/02\/image-3.png\" alt=\"\" class=\"wp-image-227748\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"code-generation\"><strong>Code generation<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"modify-table-window-features\">Modify table window features<\/h3>\n\n\n\n<p><a href=\"https:\/\/youtrack.jetbrains.com\/issue\/DBE-5136\" target=\"_blank\" rel=\"noopener\">DBE-5136<\/a>: [SQL Server] You will now get a valid script when removing columns with constraints via <em>Modify Table<\/em>.<br><\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-style-editorskit-shadow\"><img decoding=\"async\" loading=\"lazy\" width=\"1461\" height=\"962\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/02\/image-4.png\" alt=\"\" class=\"wp-image-227761\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"quality-improvements\">Quality improvements<\/h3>\n\n\n\n<ul>\n<li><a href=\"https:\/\/youtrack.jetbrains.com\/issue\/DBE-14760\" target=\"_blank\" rel=\"noopener\">DBE-14760<\/a>: [MySQL] The <em>Modify Table<\/em> window no longer corrupts the function index.<\/li>\n\n\n\n<li><a href=\"https:\/\/youtrack.jetbrains.com\/issue\/DBE-14801\" target=\"_blank\" rel=\"noopener\">DBE-14801<\/a>: [Snowflake] The generated DDL script contains the statements for creating the default sequences.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"database-diff-viewer\"><strong>Database diff viewer<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"quality-improvements\">Quality improvements<\/h3>\n\n\n\n<p>We&#8217;re constantly improving the quality of our recently introduced database diff viewer window. Some fixes are being released inside the 2021.3 version, but some will appear only in 2022.1, including:<\/p>\n\n\n\n<ul>\n<li><a href=\"https:\/\/youtrack.jetbrains.com\/issue\/DBE-14686\" target=\"_blank\" rel=\"noopener\">DBE-14686<\/a>: The <em>Reformat generated code<\/em> option is respected.<\/li>\n\n\n\n<li><a href=\"https:\/\/youtrack.jetbrains.com\/issue\/DBE-14782\" target=\"_blank\" rel=\"noopener\">DBE-14782<\/a>: The diff viewer detects objects that are likely to be the same even if their names are different.<\/li>\n\n\n\n<li><a href=\"https:\/\/youtrack.jetbrains.com\/issue\/DBE-14431\" target=\"_blank\" rel=\"noopener\">DBE-14431<\/a>: [Oracle] The <em>Array index out of bounds<\/em> exception should no longer occur.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"code-editor\"><strong>Code editor<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"convert-to-subquery-intention\">Convert to subquery intention<\/h3>\n\n\n\n<p>We\u2019ve introduced a handy new intention, <em>Convert To Subquery<\/em>. There is no need to use the <em>Surround Live Template<\/em> for this anymore, or even to bother selecting a query. Simply press <em>Alt+Enter | Convert To Subquery.<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-style-editorskit-shadow\"><img decoding=\"async\" loading=\"lazy\" width=\"1270\" height=\"646\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/02\/Convert.gif\" alt=\"\" class=\"wp-image-227774\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"better-auto-indent-algorithm\">Better auto-indent algorithm<\/h3>\n\n\n\n<p>We&#8217;ve improved the auto-indentation algorithms. There are a couple of related tickets, <a href=\"https:\/\/youtrack.jetbrains.com\/issue\/DBE-14825\" target=\"_blank\" rel=\"noopener\">DBE-14825<\/a> and <a href=\"https:\/\/youtrack.jetbrains.com\/issue\/DBE-8742\" target=\"_blank\" rel=\"noopener\">DBE-8742<\/a>, but we went a lot further and considered all possible situations and cases, so auto-indentation should now work correctly just about everywhere.<\/p>\n\n\n\n<figure class=\"wp-block-image is-style-editorskit-shadow\"><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/09\/OJsg0or2a4E0tKn3KJR3wdcUvuO8RyvEn1IVVr_kbt9BV066NsdRmA2LDCTt0DJxXgf0SVgVTJ7aHZzBOzrMc9uLKATcjOHz1tM359VBFJc1JQMnez-GTneoelx71oM7zBtb5vn.gif\" alt=\"\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"quality-improvements\">Quality improvements<\/h3>\n\n\n\n<p><a href=\"https:\/\/youtrack.jetbrains.com\/issue\/DBE-11247\" target=\"_blank\" rel=\"noopener\">DBE-11247<\/a>: [Snowflake] JSON is correctly highlighted inside statements.<\/p>\n\n\n\n<p><a href=\"https:\/\/youtrack.jetbrains.com\/issue\/DBE-14504\" target=\"_blank\" rel=\"noopener\">DBE-14504<\/a>: [ClickHouse] Map literals are supported.<\/p>\n\n\n\n<p><strong>Known issue<\/strong><\/p>\n\n\n\n<p>The <em>Services<\/em> tool window fails to appear in some cases, often when the project being used is more than several months old. Performing a settings restore often helps.<\/p>\n\n\n\n<p>That\u2019s all for today! Please try <a href=\"https:\/\/www.jetbrains.com\/datagrip\/nextversion\/\" target=\"_blank\" rel=\"noopener\">our new EAP build<\/a>. Your feedback is welcome in our <a href=\"https:\/\/twitter.com\/datagrip\" target=\"_blank\" rel=\"noopener\">twitter<\/a> or <a href=\"https:\/\/intellij-support.jetbrains.com\/hc\/en-us\/community\/topics\/200381555-DataGrip\" target=\"_blank\" rel=\"noopener\">forum<\/a>.<\/p>\n\n\n\n<p>The DataGrip team<\/p>\n","protected":false},"author":395,"featured_media":228162,"comment_status":"closed","ping_status":"closed","template":"","categories":[826],"tags":[600,91],"cross-post-tag":[],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/datagrip\/227589"}],"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=227589"}],"version-history":[{"count":10,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/datagrip\/227589\/revisions"}],"predecessor-version":[{"id":635020,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/datagrip\/227589\/revisions\/635020"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/media\/228162"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/media?parent=227589"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/categories?post=227589"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/tags?post=227589"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/cross-post-tag?post=227589"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}