r4335

jfalch's profile image jfalch posted 12 years ago in Feature discussion Permalink
what was the reason for removing the charset pulldown ? is not DEFAULT CHARACTER SET = a valid clause since 4.1.1 ?
ansgar's profile image ansgar posted 12 years ago Permalink
The collation is more specific, and even contains the charset in its name. So, having the charset was superfluous here. And, it even lead to an SQL error on MS SQL. See issue #3101.
jfalch's profile image jfalch posted 12 years ago Permalink
ah, i did not know that collation implies character set; seems logical in hindsight.

(is not so in server configuration; ie collation-server=xxx does not imply a fitting character-set-server=yyy, but produces an error that xxx does not work with latin1.)
ansgar's profile image ansgar posted 12 years ago Permalink
Are you sure about what you say with regard to collation-server? My collation-server is "latin1_swedish_ci", which surely implies "latin1" charset.
jfalch's profile image jfalch posted 12 years ago Permalink
quite sure, because that is what i just tried: i have

character-set-server=utf8
collation-server=utf8_general_ci

in my.ini[mysqld], and had just commented out the character-set-server= line. restarting the server after that aborted with "COLLATION 'utf8_general_ci' is not valid for CHARACTER SET 'latin1'".
jfalch's profile image jfalch posted 12 years ago Permalink
(MariaDB 5.5.29, that is.)
jfalch's profile image jfalch posted 12 years ago Permalink
seems to e that latin1 is the default if no character-set-server= is specified, so you probably got no error because latin1_swedish_ci CAN be used with it.
But it appears that the character set is not deduced from the collation, even though it would be both logical and simple to do so.
ansgar's profile image ansgar posted 12 years ago Permalink
Exactly. Thank god this is the case when handling databases, tables and columns.

Please login to leave a reply, or register at first.