Improved limitations document

Made the wording of the schemarouter limitations more clear.
This commit is contained in:
Markus Makela
2016-03-09 15:41:59 +02:00
parent a131040c2c
commit 5b070ee9fc

View File

@ -34,7 +34,7 @@ Read queries are routed to the master server in the following situations:
### Limitations in multi-statement handling ### Limitations in multi-statement handling
When a multi-statemet query is executed through the readwritesplit router, it will always When a multi-statement query is executed through the readwritesplit router, it will always
be routed to the master. With the default configuration, all queries after a be routed to the master. With the default configuration, all queries after a
multi-statement query will be routed to the master to prevent possible reads of multi-statement query will be routed to the master to prevent possible reads of
false data. false data.
@ -133,26 +133,22 @@ and routed. Here is a list of the current limitations.
the current database in use or to the first available database, the current database in use or to the first available database,
if none of the previous conditions are met. if none of the previous conditions are met.
* Queries without explicit databases that are not session commands * Without a default database, queries without explicit databases that do not
in them are either routed to the current or the first available modify the session state will be routed the first available server. This
database. This means that, for example when creating a new database, means that, for example when creating a new database, queries should
queries should be done directly on the node or the router should be done directly on the node or the router should be equipped with
be equipped with the hint filter and a routing hint should be used. the hint filter and a routing hint should be used. Queries that
modify the session state e.g. `SET autocommit=1` will be routed
* Temporary tables are only created on the explicit database in the query to all servers regardless of the default database.
or the current database in use. If no database is in use and no database
is explicitly stated, the behavior of the router is undefined.
* SELECT queries that modify session variables are not currently supported * SELECT queries that modify session variables are not currently supported
because uniform results can not be guaranteed. If such a query is because uniform results can not be guaranteed. If such a query is
executed, the behavior of the router is undefined. To work around this executed, the behavior of the router is undefined. To work around this
limitation the query must be executed in separate parts. limitation the query must be executed in separate parts.
* Queries targeting databases not mapped by the schemarouter router but * If a query targets a database the schemarouter hasn't mapped to a server
still exist on the database server are not blocked but routed to the query will be routed to the first available server. This possibly
the first available server. This possibly returns an error about returns an error about database rights instead of a missing database.
database rights instead of a missing database. The behavior of
the router is undefined in this case.
## Dbfwfilter limitations ## Dbfwfilter limitations