Merge branch '2.0' into 2.1
This commit is contained in:
@ -29,6 +29,7 @@ For more details, please refer to:
|
|||||||
as JSON objects (beta level functionality).
|
as JSON objects (beta level functionality).
|
||||||
|
|
||||||
For more details, please refer to:
|
For more details, please refer to:
|
||||||
|
* [MariaDB MaxScale 2.0.5 Release Notes](Release-Notes/MaxScale-2.0.5-Release-Notes.md)
|
||||||
* [MariaDB MaxScale 2.0.4 Release Notes](Release-Notes/MaxScale-2.0.4-Release-Notes.md)
|
* [MariaDB MaxScale 2.0.4 Release Notes](Release-Notes/MaxScale-2.0.4-Release-Notes.md)
|
||||||
* [MariaDB MaxScale 2.0.3 Release Notes](Release-Notes/MaxScale-2.0.3-Release-Notes.md)
|
* [MariaDB MaxScale 2.0.3 Release Notes](Release-Notes/MaxScale-2.0.3-Release-Notes.md)
|
||||||
* [MariaDB MaxScale 2.0.2 Release Notes](Release-Notes/MaxScale-2.0.2-Release-Notes.md)
|
* [MariaDB MaxScale 2.0.2 Release Notes](Release-Notes/MaxScale-2.0.2-Release-Notes.md)
|
||||||
|
47
Documentation/Release-Notes/MaxScale-2.0.5-Release-Notes.md
Normal file
47
Documentation/Release-Notes/MaxScale-2.0.5-Release-Notes.md
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
# MariaDB MaxScale 2.0.5 Release Notes
|
||||||
|
|
||||||
|
Release 2.0.5 is a GA release.
|
||||||
|
|
||||||
|
This document describes the changes in release 2.0.5, when compared to
|
||||||
|
release [2.0.4](MaxScale-2.0.4-Release-Notes.md).
|
||||||
|
|
||||||
|
If you are upgrading from release 1.4, please also read the following
|
||||||
|
release notes:
|
||||||
|
[2.0.4](./MaxScale-2.0.4-Release-Notes.md),
|
||||||
|
[2.0.3](./MaxScale-2.0.3-Release-Notes.md),
|
||||||
|
[2.0.2](./MaxScale-2.0.2-Release-Notes.md),
|
||||||
|
[2.0.1](./MaxScale-2.0.1-Release-Notes.md) and
|
||||||
|
[2.0.0](./MaxScale-2.0.0-Release-Notes.md).
|
||||||
|
|
||||||
|
For any problems you encounter, please submit a bug report at
|
||||||
|
[Jira](https://jira.mariadb.org).
|
||||||
|
|
||||||
|
## Bug fixes
|
||||||
|
|
||||||
|
[Here](https://jira.mariadb.org/issues/?jql=project%20%3D%20MXS%20AND%20issuetype%20%3D%20Bug%20AND%20status%20%3D%20Closed%20AND%20fixVersion%20%3D%202.0.5)
|
||||||
|
is a list of bugs fixed since the release of MaxScale 2.0.4.
|
||||||
|
|
||||||
|
* [MXS-1130](https://jira.mariadb.org/browse/MXS-1130): Unexpected length encoding 'ff' encountered
|
||||||
|
* [MXS-1123](https://jira.mariadb.org/browse/MXS-1123): connect_timeout setting causes frequent disconnects
|
||||||
|
* [MXS-1081](https://jira.mariadb.org/browse/MXS-1081): Avro data file corruption
|
||||||
|
* [MXS-1025](https://jira.mariadb.org/browse/MXS-1025): qc_sqlite always reports " Statement was parsed, but not classified"
|
||||||
|
|
||||||
|
## Known Issues and Limitations
|
||||||
|
|
||||||
|
There are some limitations and known issues within this version of MaxScale.
|
||||||
|
For more information, please refer to the [Limitations](../About/Limitations.md) document.
|
||||||
|
|
||||||
|
## Packaging
|
||||||
|
|
||||||
|
RPM and Debian packages are provided for the Linux distributions supported
|
||||||
|
by MariaDB Enterprise.
|
||||||
|
|
||||||
|
Packages can be downloaded [here](https://mariadb.com/resources/downloads).
|
||||||
|
|
||||||
|
## Source Code
|
||||||
|
|
||||||
|
The source code of MaxScale is tagged at GitHub with a tag, which is derived
|
||||||
|
from the version of MaxScale. For instance, the tag of version `X.Y.Z` of MaxScale
|
||||||
|
is `maxscale-X.Y.Z`.
|
||||||
|
|
||||||
|
The source code is available [here](https://github.com/mariadb-corporation/MaxScale).
|
@ -1778,6 +1778,17 @@ void mxs_sqlite3Update(Parse* pParse, SrcList* pTabList, ExprList* pChanges, Exp
|
|||||||
exposed_sqlite3ExprDelete(pParse->db, pWhere);
|
exposed_sqlite3ExprDelete(pParse->db, pWhere);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void mxs_sqlite3Savepoint(Parse *pParse, int op, Token *pName)
|
||||||
|
{
|
||||||
|
QC_TRACE();
|
||||||
|
|
||||||
|
QC_SQLITE_INFO* info = this_thread.info;
|
||||||
|
ss_dassert(info);
|
||||||
|
|
||||||
|
info->status = QC_QUERY_PARSED;
|
||||||
|
info->type_mask = QUERY_TYPE_WRITE;
|
||||||
|
}
|
||||||
|
|
||||||
void maxscaleCollectInfoFromSelect(Parse* pParse, Select* pSelect, int sub_select)
|
void maxscaleCollectInfoFromSelect(Parse* pParse, Select* pSelect, int sub_select)
|
||||||
{
|
{
|
||||||
QC_SQLITE_INFO* info = this_thread.info;
|
QC_SQLITE_INFO* info = this_thread.info;
|
||||||
|
@ -99,6 +99,7 @@ extern void mxs_sqlite3DropTable(Parse*, SrcList*, int, int, int);
|
|||||||
extern void mxs_sqlite3EndTable(Parse*, Token*, Token*, u8, Select*, SrcList*);
|
extern void mxs_sqlite3EndTable(Parse*, Token*, Token*, u8, Select*, SrcList*);
|
||||||
extern void mxs_sqlite3Insert(Parse*, SrcList*, Select*, IdList*, int,ExprList*);
|
extern void mxs_sqlite3Insert(Parse*, SrcList*, Select*, IdList*, int,ExprList*);
|
||||||
extern void mxs_sqlite3RollbackTransaction(Parse*);
|
extern void mxs_sqlite3RollbackTransaction(Parse*);
|
||||||
|
extern void mxs_sqlite3Savepoint(Parse *pParse, int op, Token *pName);
|
||||||
extern int mxs_sqlite3Select(Parse*, Select*, SelectDest*);
|
extern int mxs_sqlite3Select(Parse*, Select*, SelectDest*);
|
||||||
extern void mxs_sqlite3StartTable(Parse*,Token*,Token*,int,int,int,int);
|
extern void mxs_sqlite3StartTable(Parse*,Token*,Token*,int,int,int,int);
|
||||||
extern void mxs_sqlite3Update(Parse*, SrcList*, ExprList*, Expr*, int);
|
extern void mxs_sqlite3Update(Parse*, SrcList*, ExprList*, Expr*, int);
|
||||||
@ -339,6 +340,22 @@ cmd ::= END trans_opt. {sqlite3CommitTransaction(pParse);}
|
|||||||
cmd ::= ROLLBACK trans_opt. {sqlite3RollbackTransaction(pParse);}
|
cmd ::= ROLLBACK trans_opt. {sqlite3RollbackTransaction(pParse);}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%ifdef MAXSCALE
|
||||||
|
savepoint_opt ::= SAVEPOINT.
|
||||||
|
savepoint_opt ::= .
|
||||||
|
work_opt ::= WORK.
|
||||||
|
work_opt ::= .
|
||||||
|
cmd ::= SAVEPOINT nm(X). {
|
||||||
|
mxs_sqlite3Savepoint(pParse, SAVEPOINT_BEGIN, &X);
|
||||||
|
}
|
||||||
|
cmd ::= RELEASE savepoint_opt nm(X). {
|
||||||
|
mxs_sqlite3Savepoint(pParse, SAVEPOINT_RELEASE, &X);
|
||||||
|
}
|
||||||
|
cmd ::= ROLLBACK work_opt TO savepoint_opt nm(X). {
|
||||||
|
mxs_sqlite3Savepoint(pParse, SAVEPOINT_ROLLBACK, &X);
|
||||||
|
}
|
||||||
|
%endif
|
||||||
|
|
||||||
%ifndef MAXSCALE
|
%ifndef MAXSCALE
|
||||||
savepoint_opt ::= SAVEPOINT.
|
savepoint_opt ::= SAVEPOINT.
|
||||||
savepoint_opt ::= .
|
savepoint_opt ::= .
|
||||||
@ -603,6 +620,7 @@ columnid(A) ::= nm(X). {
|
|||||||
UNSIGNED
|
UNSIGNED
|
||||||
VALUE VIEW /*VIRTUAL*/
|
VALUE VIEW /*VIRTUAL*/
|
||||||
/*WITH*/
|
/*WITH*/
|
||||||
|
WORK
|
||||||
%endif
|
%endif
|
||||||
.
|
.
|
||||||
%wildcard ANY.
|
%wildcard ANY.
|
||||||
|
@ -462,6 +462,7 @@ static Keyword aKeywordTable[] = {
|
|||||||
{ "WHEN", "TK_WHEN", ALWAYS },
|
{ "WHEN", "TK_WHEN", ALWAYS },
|
||||||
{ "WHERE", "TK_WHERE", ALWAYS },
|
{ "WHERE", "TK_WHERE", ALWAYS },
|
||||||
#ifdef MAXSCALE
|
#ifdef MAXSCALE
|
||||||
|
{ "WORK", "TK_WORK", ALWAYS },
|
||||||
{ "WRITE", "TK_WRITE", ALWAYS },
|
{ "WRITE", "TK_WRITE", ALWAYS },
|
||||||
#endif
|
#endif
|
||||||
{ "ZEROFILL", "TK_ZEROFILL", ALWAYS },
|
{ "ZEROFILL", "TK_ZEROFILL", ALWAYS },
|
||||||
|
@ -71,3 +71,9 @@ COMMIT WORK;
|
|||||||
ROLLBACK;
|
ROLLBACK;
|
||||||
ROLLBACK WORK;
|
ROLLBACK WORK;
|
||||||
|
|
||||||
|
SAVEPOINT id;
|
||||||
|
ROLLBACK WORK TO SAVEPOINT id;
|
||||||
|
ROLLBACK TO SAVEPOINT id;
|
||||||
|
ROLLBACK WORK TO id;
|
||||||
|
ROLLBACK TO id;
|
||||||
|
RELEASE SAVEPOINT id;
|
||||||
|
Reference in New Issue
Block a user