Beta Draft: 2016-08-16

Chapter 13 Implementation Notes

Table of Contents

13.1 MySQL Connector Notes
13.2 MySQL Shell X DevAPI extensions
13.3 MySQL Connector/Node.js Notes

This section provides notes on the different language-specific implementations of the X DevAPI.

13.1 MySQL Connector Notes

Each driver implementation of the X DevAPI may deviate from the description in marginal details to align the implementation to the common pattern and styles of the host language. All class names are identical among drivers and all drivers support the same core concept such as find() or the chaining supported for find() to ensure developers experience similar APIs in all implementations.

The following implementation differences are possible:

  • Function names can be postfixed to add specialisation. For example, implementations can choose between 'execute([<flag_async>])' and/or 'executeAsync()'.

  • Functions can have prefixes such as 'get'

  • Connectors may offer native language result set iteration patterns in addition to a basic while() loop shown in many examples. For example, drivers may define iterator interfaces or classes.

Consult your language's Connector reference for more details, see Additional Documentation.

13.2 MySQL Shell X DevAPI extensions

MySQL Shell deviates from the Connector implementations in certain places. A Connector can connect to MySQL Servers running the X Plugin only by means of the X Protocol. MySQL Shell contains an extension of the X DevAPI to access MySQL Servers through the X Protocol. An additional ClassicSession class is available to establish a connection to a single MySQL node using the X Protocol. The functionality of the ClassicSession is limited to basic schema browsing and SQL execution.

See MySQL Shell User Guide, for more information.

13.3 MySQL Connector/Node.js Notes

MySQL Connector/Node.js is built with ECMAScript 6 Promise objects to provide an asynchronous API. All network operations return a Promise, which resolves when the server responds. Please refer to the information on the ES6 Promise implementation.