Currently MaxScale uses the SQL parser from the embedded library. That means that it will not recognize Galera variables, such as @@wsrep_node_name, but will at that point abort the parsing.
The implication is that, for instance, select @@hostname, @@wsrep_node_name and select @@wsrep_node_name, @@hostname are routed differently. The former is routed to a slave, but the latter to master.
The parser should be more relaxed so that it would not abort the parsing when it encounters an unknown system variable, as long as it looks like one. Then, what impact on the routing decision an unrecognized variable has, should be configurable via a configuration file.
That way the behaviour of MaxScale would not be strictly dependent on it having exactly the same parser as the one in the backend.