Details
Description
Problem
If you configure readwritesplit to not close the connection immediately due to an error (e.g. with transaction_replay=true), a SET wait_timeout command is effectively ignored by MaxScale. MaxScale should intercept it and adjust the session's own wait_timeout to be that of the SQL command, not the one in the service.
Implemented Fix
The MaxScale SET parser now tracks wait_timeout in addition to sql_mode. Only simple SET statements with plain integer values like SET wait_timeout=300 are supported. More complex expressions of any sorts, e.g. SET wait_timeout=(SELECT 1 + 1);, are not supported.