MySQL Shell Release Notes

Abstract

This document contains release notes for the changes in each release of MySQL Shell.

For additional MySQL Shell documentation, see http://dev.mysql.com/.

Updates to these notes occur as new product features are added, so that everybody can follow the development process. If a recent version is listed here that you cannot find on the download page (http://dev.mysql.com/downloads/), the version has not yet been released.

The documentation included in source and binary distributions may not be fully up to date with respect to release note entries because integration of the documentation occurs at release build time. For the most up-to-date release notes, please refer to the online documentation instead.

For legal information, see the Legal Notices.

For help with using MySQL, please visit either the MySQL Forums or MySQL Mailing Lists, where you can discuss your issues with other MySQL users.

For additional documentation on MySQL products, including translations of the documentation into other languages, and downloadable versions in variety of formats, including HTML and PDF formats, see the MySQL Documentation Library.

Document generated on: 2016-12-23 (revision: 10527)

Preface and Legal Notices

This document contains release notes for the changes in each release of MySQL Shell.

Legal Notices

Copyright © 1997, 2016, Oracle and/or its affiliates. All rights reserved.

This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.

The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.

If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, then the following notice is applicable:

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.

This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.

This software or hardware and documentation may provide access to or information about content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services unless otherwise set forth in an applicable agreement between you and Oracle. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services, except as set forth in an applicable agreement between you and Oracle.

Documentation Accessibility

For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.

Access to Oracle Support

Oracle customers that have purchased support have access to electronic support through My Oracle Support. For information, visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs if you are hearing impaired.

This documentation is NOT distributed under a GPL license. Use of this documentation is subject to the following terms:

You may create a printed copy of this documentation solely for your own personal use. Conversion to other formats is allowed as long as the actual content is not altered or edited in any way. You shall not publish or distribute this documentation in any form or on any media, except if you distribute the documentation in a manner similar to how Oracle disseminates it (that is, electronically for download on a Web site with the software) or on a CD-ROM or similar medium, provided however that the documentation is disseminated together with the software on the same medium. Any other use, such as any dissemination of printed copies or use of this documentation, in whole or in part, in another publication, requires the prior written consent from an authorized representative of Oracle. Oracle and/or its affiliates reserve any and all rights to this documentation not expressly granted above.

Changes in MySQL Shell

Changes in MySQL Shell 1.0.5 (2016-09-06)

Bugs Fixed

If the connection to a MySQL Server was interrupted, issuing \status failed unless followed by a ;. (Bug #81278, Bug #23213616)

Columns specified as TIME were being displayed by MySQL Shell as BOOLEAN. (Bug #81260, Bug #23210710)

Attempting to access a Session object that no longer existed could cause MySQL Shell to halt unexpectedly. In such a situation now an error message is displayed.

Previously JavaScript modules were imported as follows:

var mysqlx=require('mysqlx').mysqlx;
var mysql=require('mysql').mysql;

As part of improvements to the way modules are added to MySQL Shell, modules are now imported as follows:

var mysqlx=require('mysqlx');
var mysql=require('mysql');

Changes in MySQL Shell 1.0.4 (2016-06-23, Milestone 2)

Functionality Added or Changed

Bugs Fixed

Functionality Added or Changed

The tables property has been replaced by getTables(), which should now be used to access the table list. It is still possible to use schema.table_name, but it is only available if the table name is different from any other member of the Schema object. For example, if a table is called name it is not accessible as schema.name (which would return the actual schema called name) and is only accessible through schema.getTable('name'). (Bug #22151376, Bug #22151267)

The --session-type option was removed. To chose the session type using command-line options, use either --x,--node, or --classic instead.

The println() function has been added to the the JavaScript implementation.

The \connect_node and \connect_classic commands have been replaced by options that can be used with the \connect command. Use \connect -n to create a Node session and \connect -c to create a Classic session.

The mysqlx.getSession() and mysqlx.getNodeSession() functions now support named parameters. For example:

mysql-py> session=mysqlx.getSession(host="localhost", dbUser="root", dbPassword="mypass")
mysql-py> session
<XSession:root@localhost:33060>

The getLastInsertId() function was renamed to getAutoIncrementValue(). The getLastDocumentIds() function was added.

On Linux, you can now create scripts that are executed by MySQL Shell. See Executable Scripts.

The isOpen() function has been added to the Session objects to enable you to check if a connection has been established. A new function parseUri(String param) has been added to the shell module. It takes a connection string in URI format and returns a Dictionary object with the URI components found in the input string.

Bugs Fixed

The formatting of the list of connections displayed after issuing \LSCONN has been improved to ensure each stored connection is shown on its own line. (Bug #23578574)

A space was missing after the Python prompt. (Bug #23304556)

Attempting to create an SSL connection failed with an error and connections were not created. (Bug #23184652)

Functions depending on an internal cache, such as Schema.collections, Schema.tables, and Schema.views were not being updated correctly, which made statements such as DROP appear to not function correctly. (Bug #23095017, Bug #81040)

Using SSL to create a connection was failing with MySQL Error (2026): SSL bad version. (Bug #81094, Bug #23112964)

The help text has been improved to be more accurate and use correct language. (Bug #81085, Bug #23106440)

When connecting with a password-less account, an incorrect password warning was being displayed.

The Windows MySQL Shell executable and .dll library were missing version information. This is now shown when you right click on the files and open the Details tab.

The parsing of JSON input, whether at the command line or piped in, was not detecting incorrect syntax. This could result in error messages being incorrectly identified, particularly when using Classic mode.

When using the --execute command-line option to execute an SQL statement, the statement had to finish with a ; character.

If an error occurs when using interactive mode, the traceback is printed. If the traceback contained a 1 character then the traceback was being displayed twice.

It was not possible to add documents with attributes which started with an uppercase character.

When using a Classic session and querying a collection, some columns were returned as undefined. The same query using a Node session returned the columns correctly.

An operation that adds an empty list of documents to a collection, for example coll.add([]).execute() now always succeeds without an error.