Skip to content

Changes in AliSQL 5.6.32 (2017 10 10)

AliSQL edited this page Oct 10, 2017 · 1 revision

AliSQL 5.6.32 Release Notes (2017-10-10)

Abstract

Here are the AliSQL (20171010) Release Notes:

1. Sequence support more syntax

Sequence support new function syntax like nextval(), currval() and Oracle compatible syntax like select nextval from dual.

2. Upgrade SSL TLSv1.2

AliSQL compiled openSSL statically instead of the embeded yaSSL, and upgrade the default SSL version to TLSv1.2.

3. Ack Receiver didn't handle signal correctly

Ack Receiver thread was launched before the signal register, so it could receive the signal and cause problem.

Credit

Thanks boonie81 for the bug report issue#68.

Functionality Added or Changed

1. Sequence support more syntax

Description:

The Sequence query nextval and currval now support new syntax, one is compatible with PostgreSQL, the other is compatible with Oracle.

Parameters:
no

Usage:

CREATE SEQUENCE syntax:
  CREATE SEQUENCE [IF NOT EXISTS] schema.seqName
   [START WITH <constant>]
   [MINVALUE <constant>]
   [MAXVALUE <constant>]
   [INCREMENT BY <constant>]
   [CACHE <constant> | NOCACHE]
   [CYCLE | NOCYCLE]
  ;

SHOW syntax:
  SHOW CREATE SEQUENCE schema.seqName;
  SHOW CREATE TABLE schema.seqName;

QUERY syntax:   
1.   
  SELECT [nextval | currval | *] FOR schema.seqName;
  SELECT [nextval | currval | *] FROM schema.seqName;
2. 
  SELECT nextval(seqName);  
  SELECT currval(seqName);
3. 
  SELECT seqName.nextval from dual;
  SELECT seqName.currval from dual;

2. Upgrade SSL TLSv1.2

Description:

Bundled openSSL (openssl-1.0.1u) source codes to compile statically instead of yaSSL,
then MySQL server can support TLSv1.2 SSL protocol.
For the compatibility, we supply new parameter '--tls-version' to control how to decide the
supportable TLS version.
If compiled with openSSL, then tls-version default value 'TLSv1, TLSv1.1, TLSv1.2'
If compiled with yaSSL, then tls-version default value 'TLSv1, TLSv1.1'
Also the added cmake option: -DWITH_SSL=openssl means that openssl was built statically.

Compatibility

The TLS Protocol version matrix:
-----------------------------------------------------------------------
                    Pre_Server   Post_yaSSL_Server  Post_openSSL_Server
Pre_Client          TLSv1.0      TLSv1.0            TLSv1.0
Post_yaSSL_Client   TLSv1.0      TLSv1.1            TLSv1.1
Post_openSSL_Client TLSv1.0      TLSv1.1            TLSv1.2
-----------------------------------------------------------------------

Parameters:

  1. tls_versioin

    System Variable Name tls_version
    Variable Scope global
    Dynamic Variable NO
    Permitted Values [TLSv1, TLSv1.1, TLSv1.2]
    Default [TLSv1, TLSv1.1, TLSv1.2] or [TLSv1, TLSv1.1]
    Description TLS version, permitted values are TLSv1, TLSv1.1, and TLSv1.2 depending on SSL library support

Usage:

Bugs Fixed

1. The ACK Receiver Thread didn't handle signal correctly

Description:
Ack Receiver thread will be launched when booting the MySQL server,
but it is before the signal register, so the thread can receive the signal,
and can't deal with shutdown smoothly like 'SIGTERM, SIGHUP'.