← Back to team overview

maria-developers team mailing list archive

Re: 622611b: MDEV-7012: SET STATEMENT character_set_client, character_set_connection, character_set_filesystem, collation_connection have no effect

 

Hi, Sanja!

On Mar 17, sanja@xxxxxxxxxxx wrote:
> revision-id: 622611bc6a9371803f349d8cf4de6538ebbcdb37
> parent(s): a21ef88d2a358904f0cdf9cadc701cb263b5e317
> committer: Oleksandr Byelkin
> branch nick: server
> timestamp: 2015-03-17 14:40:25 +0100
> message:
> 
> MDEV-7012: SET STATEMENT character_set_client, character_set_connection, character_set_filesystem, collation_connection have no effect
> 
> Variables of simple SET STATEMENT set just after assigning
> 
> (changes in test suite result checked)

While it's a neat innovative trick, I don't think we should execute
statements (and setting variables is executing) from the parser. It's
very fragile and breaks in various corner cases, resulting in unfixable
gotchas. For example, how would the following work:

   CREATE PROCEDURE foo
   BEGIN
     SET STATEMENT CHARACTER_SET_CONNECTION = latin5 FOR SELECT 'фи';
   END

So, I'd prefer a simple rule "first - the statement is parsed, then it
is executed", meaning no effects from the statement execution can affect
how it was parsed.

Regards,
Sergei