MySQL Shell 8.0.14 – What’s New?

The MySQL Development team is proud to announce a new version of the MySQL Shell which includes the following features:

  • Support for importing BSON data.
  • Ability to show column type information when executing SQL.
  • Addition of command line options to lower the verbosity when the shell starts.
  • Improved InnoDB Cluster support by enhancing the Admin API to support new features provided by Group Replication. For additional details look at MySQL InnoDB Cluster – What’s new in the 8.0.14 (GA) release.
  • Improved the Upgrade Checker utility to:
    • Support upgrades to MySQL 8.0.14.
    • Provide instructions on checks that can not be automated.

In addition, the release includes bug fixes as well as the following minor enhancements:

  • On the DevAPI, the addition of the count() function to the Table and  Column objects allow returning the number of rows and documents respectively.
  • Addition of connection parameters to enable client/server communication compression on sessions through the MySQL protocol. For more details look at the option –compress on the User Guide.
  • Enhanced the –socket connection option to use the default socket path when the option is used without a value.
  • Improved output formatting options. Now general shell output and SQL results use independent formatting options, for more details look at the Output Formats section in the User Guide.

Importing BSON Data

When working with JSON documents, the type of information is limited by the data types supported by the JSON specification. Some systems such as MongoDB overcome this by supporting some more complex data types by using a binary representation of JSON data, called BSON.

When exported to a JSON file, BSON data types use an extended JSON to represent the complexity of the data.

The importJson utility has been enhanced to properly interpret such representations and import them using the correct data type when the data is stored in a Document Store.

To achieve this, the importJson utility should be called using the –convertBsonTypes option.

For more details about this look Import Json section at the User Guide.

Also stay tuned, a blog post with details about this feature is coming.

Showing Column Type Information

As the Shell evolves and matures, we will continue introducing features present on the MySQL Client. On this release, support for the –column-type-info option has been added.

The –column-type-info command line argument will turn on a new shell option showColumnTypeInfo. When the showColumnTypeInfo option is turned on, a query executed in SQL mode will display information with metadata about the columns included on the result.

Column metadata is displayed before the result is printed.

Being a shell option, changing the value is also possible through the shell.options object when the shell is in either Python or SQL mode, as well as through the \option shell command.

Quiet Start Options

In order to reduce the verbosity of the information when the shell starts, a new –quiet-start option has been added.

This function could be used to either remove the product information when the shell starts or to also remove additional information such as connection data and warnings.

Shell Start – Normal Output
Shell Start – Silencing Product Information
Shell Start – Silencing all Info and Warnings

When using –quiet-start any error will be reported as usual. For additional details look at the option –quiet-start on the User Guide.

 

Resources

For details about the MySQL Shell please take a look at the MySQL Shell User Guide.

For additional details about features introduced by this version and the full list of fixed bugs take a look at the Release Notes.

Don’t forget to download it and give it a try, your feedback is very welcome!

You can reach us at #shell channel in https://mysqlcommunity.slack.com/

About Rene Ramirez

Juan Rene Ramirez Monarrez (a.k.a. rennox) is a Software Engineer with a master degree in Computer Science residing in Mexico. He started his career at IBM almost 20 years ago in application development, had a pass on Automation at Freescale Semiconductor (now MXP) and landed at the MySQL world 8 years ago. At MySQL he started working at the Workbench team and now is leading the efforts to make the MySQL Shell the client by excellence for different MySQL products.

One thought on “MySQL Shell 8.0.14 – What’s New?

Leave a Reply