diff --git a/content/en/docs/concepts/query-rewriting.md b/content/en/docs/concepts/query-rewriting.md index 9d8d87bfb..d74c70e1a 100644 --- a/content/en/docs/concepts/query-rewriting.md +++ b/content/en/docs/concepts/query-rewriting.md @@ -66,6 +66,9 @@ Vitess handles system variables in one of four different ways: * *Vitess aware*. These are settings that change Vitess' behaviour, and are not sent down to MySQL * *Reserved connection*. For some settings, it makes sense to allow them to be set, but it also means that we can't use a shared connection for this user. What this means is that every connection done on this users behalf will need to first have these system variables set, and then keep the connection dedicated. Connection pooling is important for the performance of Vitess, and reserved connections can't be pooled, so this should not be the normal way to run applications on Vitess. Just make sure that the global variable is set to the same value the application will set it to, and Vitess can use connection pooling. +In addition to this, Vitess makes sure that @@version includes both the emulated MySQL version and the Vitess version, such as: `5.7.9-vitess-10.0.0-SNAPSHOT`. This value can be changed by using the vtgate flag `-mysql_server_version`. + + ### Special functions There are a few special functions that Vitess handles without delegating to MySQL. diff --git a/content/en/docs/reference/compatibility/mysql-compatibility.md b/content/en/docs/reference/compatibility/mysql-compatibility.md index 3394d9379..e5ab5120f 100644 --- a/content/en/docs/reference/compatibility/mysql-compatibility.md +++ b/content/en/docs/reference/compatibility/mysql-compatibility.md @@ -32,7 +32,15 @@ Vitess supports a subset of subqueries. For example, a subquery combined with a ### Stored Procedures -Vitess does not yet support MySQL Stored Procedures. +Calling stored procedures using `CALL` is supported for unsharded keyspaces, or if you directly target a specific shard. They can return no results. + +Only IN parameters are supported. + +If you use transactions, the transaction state cannot change between calls - if there is a transaction open at the beginning of the CALL, a transaction must still be open after the procedure has run. + +Likewise, if there is no transaction open, the procedure should not leave an open transaction after itself. + +`CREATE PROCEDURE` is not supported - you have to create the procedure directly on the underlying MySQL servers and not through Vitess. ### Window Functions and CTEs diff --git a/content/en/docs/troubleshoot/_index.md b/content/en/docs/troubleshoot/_index.md index 9cb6d54c9..e99a70149 100644 --- a/content/en/docs/troubleshoot/_index.md +++ b/content/en/docs/troubleshoot/_index.md @@ -16,5 +16,5 @@ When an alert fires, you have the following sources of information to perform yo ### Find Vitess build running ``` -select @@vitess_version; +select @@version; ```