Fixed security problem that password was temporarly reset when someone changed GRANT for a user. (Bug #3404)
Fixed problem with PROCEDURE analyse() and impossible WHERE (Bug #2238)
Don't auto-repair tables in mysqlcheck if table type doesn't support 'check' command.
Docs/mysqld_error.txt:
Updated error values
client/mysqlcheck.c:
Don't cause auto-repair on 'note' (Tables that doesn't support 'check')
libmysql/libmysql.c:
Fix to handle unsigned data in prepared statements (Bug #3447)
mysql-test/r/analyse.result:
Test of analyze + impossible where (Bug #2238)
mysql-test/r/bdb.result:
Update results
mysql-test/r/ctype_ujis.result:
Update results
mysql-test/r/isam.result:
Update results
mysql-test/r/repair.result:
Update results
mysql-test/t/analyse.test:
Test of analyze + impossible where (Bug #2238)
mysql-test/t/ctype_ujis.test:
Added test for LIKE (Bug #3438)
sql/sql_acl.cc:
Fixed security problem that password was temporarly reset when someone changed GRANT for a user. (Bug #3404)
sql/sql_select.cc:
Fixed problem with PROCEDURE analyse() and impossible WHERE (Bug #2238)
sql/sql_table.cc:
Changed 'error' to 'note' when table doesn't support admin command.
sql/sql_update.cc:
Indentaion cleanup
tests/client_test.c:
Added test for handling unsigned/signed strings with prepared statements
Fixed security problem that password was temporarly reset when someone changed GRANT for a user. (Bug #3404)
Fixed problem with PROCEDURE analyse() and impossible WHERE (Bug #2238)
Don't auto-repair tables in mysqlcheck if table type doesn't support 'check' command.
Output TIMESTAMP in 4.1 format for 4.1 tables (or for TIMESTAMP(19)) (portability fix)
Fixed that INTERVAL can handle big integers. (Bug #3498)
Fixed that hostname="" works identical as hostname="%" for table/column grants (Bug #3473)
mysql-test/mysql-test-run.sh:
Fixed wrong http address (Bug #3460)
mysql-test/r/func_time.result:
Results for new test cases
mysql-test/t/func_time.test:
Added test of INTERVAL with big integers
scripts/mysqld_safe.sh:
Added html address to manual in case of error
sql/field.cc:
Output TIMESTAMP in 4.1 format for 4.1 tables (or for TIMESTAMP(19))
sql/item_timefunc.cc:
Fixed that INTERVAL can handle big integers. (Bug #3498)
sql/mysql_priv.h:
Removed not needed prototype
sql/sql_acl.cc:
Fixed that hostname="" works identical as hostname="%" for table/column grants (Bug #3473)
Moved GRANT_TABLE::GRANT_TABLE functions ou from class definition to make it possible to debug them
sql/structs.h:
Fix for long values to INTERVAL
Output TIMESTAMP in 4.1 format for 4.1 tables (or for TIMESTAMP(19)) (portability fix)
Fixed that INTERVAL can handle big integers. (Bug #3498)
Fixed that hostname="" works identical as hostname="%" for table/column grants (Bug #3473)
sql/item_cmpfunc.cc:
merged in one if
sql/mysql_priv.h:
removed unused paremeter of check_one_table_access
declaration of new function for SP share code
sql/set_var.cc:
function descriotion added
unneeded parantses removed
sql/sql_acl.cc:
new parameter to limit number of checked tables for check_grant
sql/sql_acl.h:
new parameter to limit number of checked tables for check_grant
sql/sql_delete.cc:
preparation moved in separate function
sql/sql_insert.cc:
preparation moved in separate function
sql/sql_lex.cc:
comment style fixed
unneeded assignment removed
sql/sql_parse.cc:
new parameter to limit number of checked tables for check_grant
table list manipulation removed (because of above)
new precheck function
sql/sql_prepare.cc:
function rewrited to shere code with sql_prepare.cc
flow control fixed
sql/sql_show.cc:
new parameter to limit number of checked tables for check_grant
sql/sql_update.cc:
preparation moved in separate function
sql/table.h:
flag renamed
BitKeeper/etc/ignore:
auto-union
BitKeeper/etc/logging_ok:
auto-union
VC++Files/sql/mysqld.dsp:
Auto merged
client/Makefile.am:
Auto merged
client/mysql.cc:
Auto merged
client/mysqltest.c:
Auto merged
configure.in:
Auto merged
include/my_global.h:
Auto merged
include/my_pthread.h:
Auto merged
include/my_sys.h:
Auto merged
include/mysql_com.h:
Auto merged
libmysqld/Makefile.am:
Auto merged
libmysqld/lib_sql.cc:
Auto merged
myisam/mi_check.c:
Auto merged
myisam/myisamchk.c:
Auto merged
myisam/myisamdef.h:
Auto merged
mysql-test/install_test_db.sh:
Auto merged
mysql-test/r/insert_select.result:
Auto merged
mysql-test/r/join_outer.result:
Auto merged
mysql-test/r/null.result:
Auto merged
mysql-test/r/connect.result:
Auto merged
mysql-test/r/func_sapdb.result:
Auto merged
mysql-test/r/mix_innodb_myisam_binlog.result:
Auto merged
mysql-test/r/mysqldump.result:
Auto merged
mysql-test/r/rpl_change_master.result:
Auto merged
mysql-test/r/rpl_log.result:
Auto merged
mysql-test/r/show_check.result:
Auto merged
mysql-test/r/symlink.result:
Auto merged
mysql-test/r/rpl_flush_log_loop.result:
Auto merged
mysql-test/r/rpl_flush_tables.result:
Auto merged
mysql-test/r/rpl_loaddata.result:
Auto merged
mysql-test/r/rpl_loaddata_rule_m.result:
Auto merged
mysql-test/r/rpl_loaddata_rule_s.result:
Auto merged
mysql-test/r/rpl_max_relay_size.result:
Auto merged
mysql-test/r/rpl_reset_slave.result:
Auto merged
mysql-test/r/rpl_temporary.result:
Auto merged
mysql-test/r/rpl_until.result:
Auto merged
mysql-test/r/rpl_user_variables.result:
Auto merged
mysql-test/r/subselect.result:
Auto merged
mysql-test/r/union.result:
Auto merged
mysql-test/r/variables.result:
Auto merged
mysql-test/t/func_sapdb.test:
Auto merged
mysql-test/t/mix_innodb_myisam_binlog.test:
Auto merged
mysql-test/t/mysqlbinlog.test:
Auto merged
mysql-test/t/rpl_change_master.test:
Auto merged
mysql-test/t/rpl_log.test:
Auto merged
mysql-test/t/variables.test:
Auto merged
netware/BUILD/compile-linux-tools:
Auto merged
netware/BUILD/compile-netware-END:
Auto merged
netware/BUILD/compile-netware-all:
Auto merged
netware/BUILD/compile-netware-standard:
Auto merged
mysql-test/t/rpl_empty_master_crash.test:
Auto merged
mysql-test/t/rpl_error_ignored_table.test:
Auto merged
mysql-test/t/rpl_flush_log_loop.test:
Auto merged
mysql-test/t/rpl_loaddata.test:
Auto merged
mysql-test/t/rpl_loaddata_rule_m.test:
Auto merged
mysql-test/t/rpl_loaddata_rule_s.test:
Auto merged
mysql-test/t/rpl_max_relay_size.test:
Auto merged
mysql-test/t/rpl_openssl.test:
Auto merged
mysql-test/t/rpl_relayrotate-slave.opt:
Auto merged
mysql-test/t/rpl_reset_slave.test:
Auto merged
mysql-test/t/rpl_trunc_binlog.test:
Auto merged
mysql-test/t/rpl_until.test:
Auto merged
mysql-test/t/rpl_user_variables.test:
Auto merged
mysql-test/t/subselect.test:
Auto merged
scripts/make_binary_distribution.sh:
Auto merged
scripts/mysql_create_system_tables.sh:
Auto merged
scripts/mysql_fix_privilege_tables.sql:
Auto merged
scripts/mysql_install_db.sh:
Auto merged
sql/filesort.cc:
Auto merged
sql/ha_berkeley.cc:
Auto merged
sql/ha_berkeley.h:
Auto merged
sql/ha_innodb.h:
Auto merged
sql/ha_myisam.cc:
Auto merged
sql/handler.cc:
Auto merged
sql/handler.h:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/item_create.cc:
Auto merged
sql/item_create.h:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/item_sum.cc:
Auto merged
sql/item_sum.h:
Auto merged
sql/item_timefunc.h:
Auto merged
sql/lock.cc:
Auto merged
sql/log_event.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/net_serv.cc:
Auto merged
sql/protocol.cc:
Auto merged
sql/protocol.h:
Auto merged
sql/repl_failsafe.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_acl.h:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_cache.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_db.cc:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_derived.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_list.h:
Auto merged
sql/sql_load.cc:
Auto merged
sql/sql_rename.cc:
Auto merged
sql/sql_repl.cc:
Auto merged
sql/sql_repl.h:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_select.h:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_test.cc:
Auto merged
sql/sql_update.cc:
Auto merged
sql-common/client.c:
Auto merged
tests/client_test.c:
Auto merged
sql/field.cc:
Auto merged
sql/item.cc:
Auto merged
sql/protocol.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/table.cc:
Auto merged
sql/log_event.cc:
non_cachable_table flag changed to cacheable_table
sql/repl_failsafe.cc:
non_cachable_table flag changed to cacheable_table
sql/slave.cc:
non_cachable_table flag changed to cacheable_table
sql/sql_acl.cc:
non_cachable_table flag changed to cacheable_table
sql/sql_base.cc:
non_cachable_table flag changed to cacheable_table
sql/sql_cache.cc:
non_cachable_table flag changed to cacheable_table
sql/sql_help.cc:
non_cachable_table flag changed to cacheable_table
sql/sql_insert.cc:
non_cachable_table flag changed to cacheable_table
sql/sql_parse.cc:
non_cachable_table flag changed to cacheable_table
sql/sql_prepare.cc:
renamed DEBUG tag
sql/table.h:
non_cachable_table flag changed to cacheable_table
fixed error code in union test
mysql-test/t/union.test:
right code worr 4.1 error
sql/log_event.cc:
assign non-cachable for Item status for all stack tables for safety
sql/repl_failsafe.cc:
assign non-cachable for Item status for all stack tables for safety
sql/slave.cc:
assign non-cachable for Item status for all stack tables for safety
sql/sql_acl.cc:
assign non-cachable for Item status for all stack tables for safety
sql/sql_base.cc:
assign non-cachable for Item status for all stack tables for safety
non-cachable status processing
sql/sql_cache.cc:
assign non-cachable for Item status for all stack tables for safety
sql/sql_class.cc:
removed ald way to prevent using stack tables for caching Items in PS
sql/sql_class.h:
removed old way to prevent using stack tables for caching Items in PS
sql/sql_help.cc:
assign non-cachable for Item status for all stack tables for safety
sql/sql_insert.cc:
assign non-cachable for Item status for all stack tables for safety
removed old way to prevent using stack tables for caching Items in PS
sql/table.h:
non-cachable for Item status for tables
BitKeeper/etc/logging_ok:
auto-union
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_base.cc:
Manual merge
table resolution".
Added members to Item_ident for storing original db, table and field
names since those that set later from Field have shorter life-time
than required by prep. stmt. So we need to restore original names in
Item_ident::cleanup(). Also now using special construnctor for creation
of Item_field from Field object that ensures that table and field name
have big enough life-time.
"Fix" for bug #2050 "10 to 1 performance drop with server 4.1.1"
Clean ups in implementation of caching of field number in table.
Added caching of table in which field is found in find_field_in_tables().
sql/item.cc:
Added members to Item_ident for storing original db, table and field
names since those that set later from Field have shorter life-time
than required by prep. stmt. So we need to restore original names in
Item_ident::cleanup().
Added Item_ident::cached_table for caching table there we found
our field.
Added special constructor for creation of Item_field from Field object
that ensures that table and field name have big enough life-time.
sql/item.h:
Added members to Item_ident for storing original db, table and field
names since those that set later from Field have shorter life-time
than required by prep. stmt. So we need to restore original names in
Item_ident::cleanup().
Changed type of Item_ident::cached_field_index from int to uint
(and so NO_CACHED_FIELD_INDEX is UINT_MAX now) because we want to
save one comparison in find_field_in_table().
Added Item_ident::cached_table for caching table there we found
our field.
Added special constructor for creation of Item_field from Field object
that ensures that table and field name have big enough life-time.
sql/mysql_priv.h:
Changed type of cached_field_index_ptr from int* to uint*
(and so NO_CACHED_FIELD_INDEX is UINT_MAX now) because we want to
save one comparison in find_field_in_table().
sql/sql_acl.cc:
Changed type of find_field_in_table() paremeter to make it
faster.
sql/sql_base.cc:
find_field_in_table(): small optimization and soime clean ups in
caching of field index.
find_field_in_tables(): added aggresive caching of table in which
field is found in Item_ident::cached_table.
insert_fields():
using special construnctor for creation of Item_field from Field
object that ensures that table and field name have big enough life-time.
table resolution".
Added members to Item_ident for storing original db, table and field
names since those that set later from Field have shorter life-time
than required by prep. stmt. So we need to restore original names in
Item_ident::cleanup(). Also now using special construnctor for creation
of Item_field from Field object that ensures that table and field name
have big enough life-time.
"Fix" for bug #2050 "10 to 1 performance drop with server 4.1.1"
Clean ups in implementation of caching of field number in table.
Added caching of table in which field is found in find_field_in_tables().
Actually it is not a bug but right behavior observed as pefomance
degradation after we have forced Item_field::fix_fields() to
re-execute each time when we are executing prep stmt.
This patch implements small optimization which heals this bad
behavior. We are caching field position in TABLE::field array in
Item's member and are using this position for speeding up field
lookups in fix_fields() in case of its re-execution.
sql/item.cc:
Added cached_field_index member to Item_ident for caching field
position in TABLE::field array for quicker field lookup in case
fix_fields() is executed twice.
sql/item.h:
Added cached_field_index member to Item_ident for caching field
position in TABLE::field array for quicker field lookup in case
fix_fields() is executed twice.
sql/mysql_priv.h:
Now find_field_in_table has one more in-out parameter which is used
for caching field index in TABLE::field array stored for quicker
field look up.
sql/sql_acl.cc:
Now find_field_in_table has one more in-out parameter which is used
for caching field index in TABLE::field array stored for quicker
field look up.
sql/sql_base.cc:
Optimization: Now when we are looking up Field by its name we are
caching its position in TABLE::field array in Item_ident::cached_field_index,
so when we will call fix_fields() second time for this item (e.g.
when we are re-executing prep statement) we can reuse this index
to speed up this lookup.
sql/table.cc:
Now we storing in TABLE::name_hash pointers to elements of
TABLE::field array, because this allows easily retrieve index
of field in this array when it is looked up by its name.
sql/table.h:
Added comment claryfying what we store in TABLE::name_hash.
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
Actually it is not a bug but right behavior observed as pefomance
degradation after we have forced Item_field::fix_fields() to
re-execute each time when we are executing prep stmt.
This patch implements small optimization which heals this bad
behavior. We are caching field position in TABLE::field array in
Item's member and are using this position for speeding up field
lookups in fix_fields() in case of its re-execution.
mysql-test/r/grant.result:
new grants added
scripts/mysql_create_system_tables.sh:
CREATE/SHOW VIEW grants were added
scripts/mysql_fix_privilege_tables.sql:
CREATE/SHOW VIEW grants were added
sql/sql_acl.cc:
CREATE/SHOW VIEW grants were added
some improvements in field enumeretion
sql/sql_acl.h:
CREATE/SHOW VIEW grants were added
SQL SECURITY DEFINER must enforce reduced rights too, not just additional rights.
mysql-test/r/sp-security.result:
Test case for BUG#2777: Make sure that SQL SECURITY DEFINER enforces reduced rights.
mysql-test/t/sp-security.test:
Test case for BUG#2777: Make sure that SQL SECURITY DEFINER enforces reduced rights.
sql/sql_acl.cc:
Clear rights before changing them in acl_getroot_no_password so that
reduced rights work too, and take care of db acls as well.
When password was granted with a global grant, then granting
privileges on database level, without password being specified,
will temporary (in memory) set password to ''.
When password was granted with a global grant, then granting
privileges on database level, without password being specified,
will temporary (in memory) set password to ''.
sql/sql_acl.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/share/serbian/errmsg.txt:
Auto merged
include/mysqld_error.h:
for merge
mysql-test/r/loaddata.result:
for merge
mysql-test/r/warnings.result:
for merge
sql/share/czech/errmsg.txt:
for merge
sql/share/danish/errmsg.txt:
for merge
sql/share/dutch/errmsg.txt:
for merge
sql/share/english/errmsg.txt:
for merge
sql/share/estonian/errmsg.txt:
for merge
sql/share/french/errmsg.txt:
for merge
sql/share/german/errmsg.txt:
for merge
sql/share/greek/errmsg.txt:
for merge
sql/share/hungarian/errmsg.txt:
for merge
sql/share/italian/errmsg.txt:
for merge
sql/share/japanese/errmsg.txt:
for merge
sql/share/korean/errmsg.txt:
for merge
sql/share/norwegian-ny/errmsg.txt:
for merge
sql/share/norwegian/errmsg.txt:
for merge
sql/share/polish/errmsg.txt:
for merge
sql/share/portuguese/errmsg.txt:
for merge
sql/share/romanian/errmsg.txt:
for merge
sql/share/russian/errmsg.txt:
for merge
sql/share/slovak/errmsg.txt:
for merge
sql/share/spanish/errmsg.txt:
for merge
sql/share/swedish/errmsg.txt:
for merge
sql/share/ukrainian/errmsg.txt:
for merge
"--read-only gives weird error on update".
It is not fixable in 4.0 because it requires modifying
the sql/share/*/errmsg.txt files. So it is fixed in 4.1 like this:
the ER_SKIP_GRANT_TABLES is replaced by a more generic
ER_OPTION_PREVENTS_STATEMENT which can be used both for
"can't do this because of --skip-grant-tables" and
"can't do this because of --read-only" (for this we don't use
ER_CANT_UPDATE_WITH_READLOCK anymore).
So now the message for --read-only is:
"The MySQL server is running with the --read-only option so
cannot execute this statement".
include/mysqld_error.h:
more general naming as more general message
sql/share/czech/errmsg.txt:
message change
sql/share/danish/errmsg.txt:
message change
sql/share/dutch/errmsg.txt:
message change
sql/share/english/errmsg.txt:
message change
sql/share/estonian/errmsg.txt:
message change
sql/share/french/errmsg.txt:
message change
sql/share/german/errmsg.txt:
message change
sql/share/greek/errmsg.txt:
message change
sql/share/hungarian/errmsg.txt:
message change
sql/share/italian/errmsg.txt:
message change
sql/share/japanese/errmsg.txt:
message change
sql/share/korean/errmsg.txt:
message change
sql/share/norwegian-ny/errmsg.txt:
message change
sql/share/norwegian/errmsg.txt:
message change
sql/share/polish/errmsg.txt:
message change
sql/share/portuguese/errmsg.txt:
message change
sql/share/romanian/errmsg.txt:
message change
sql/share/russian/errmsg.txt:
message change
sql/share/serbian/errmsg.txt:
message change
sql/share/slovak/errmsg.txt:
message change
sql/share/spanish/errmsg.txt:
message change
sql/share/swedish/errmsg.txt:
message change
sql/share/ukrainian/errmsg.txt:
message change
sql/sql_acl.cc:
Changes to use the more generic ER_OPTION_PREVENTS_STATEMENT
instead of ER_SKIP_GRANT_TABLES:
* use of net_printf() instead of send_error() (because send_error()
does not support printf-like format).
* in some places we now just do my_error() and return -1
(only caller is mysql_execute_command() which does send_error()
if result is -1).
* Replaced my_printf_error() by simpler my_error() (except in 2 locations
where there was a "we must use my_printf_error()" comment).
sql/sql_parse.cc:
new error code (more generic).
"--read-only gives weird error on update".
It is not fixable in 4.0 because it requires modifying
the sql/share/*/errmsg.txt files. So it is fixed in 4.1 like this:
the ER_SKIP_GRANT_TABLES is replaced by a more generic
ER_OPTION_PREVENTS_STATEMENT which can be used both for
"can't do this because of --skip-grant-tables" and
"can't do this because of --read-only" (for this we don't use
ER_CANT_UPDATE_WITH_READLOCK anymore).
So now the message for --read-only is:
"The MySQL server is running with the --read-only option so
cannot execute this statement".
client/mysqldump.c:
Auto merged
configure.in:
Auto merged
include/m_ctype.h:
Auto merged
include/m_string.h:
Auto merged
include/my_global.h:
Auto merged
mysql-test/r/ctype_utf8.result:
Auto merged
mysql-test/r/fulltext.result:
Auto merged
mysql-test/r/subselect.result:
Auto merged
mysql-test/t/fulltext.test:
Auto merged
mysql-test/t/grant.test:
Auto merged
mysql-test/t/subselect.test:
Auto merged
mysql-test/t/union.test:
Auto merged
sql/field.cc:
Auto merged
sql/field.h:
Auto merged
sql/item.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_strfunc.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/share/english/errmsg.txt:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_string.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
strings/ctype-mb.c:
Auto merged
strings/ctype-simple.c:
Auto merged
mysql-test/r/warnings.result:
Fix error numbers after merge
sql/share/czech/errmsg.txt:
Add missing ',' and fix typo
sql/share/danish/errmsg.txt:
Add missing ',' and fix typo
sql/share/dutch/errmsg.txt:
Add missing ',' and fix typo
sql/share/estonian/errmsg.txt:
Add missing ',' and fix typo
sql/share/french/errmsg.txt:
Add missing ',' and fix typo
sql/share/german/errmsg.txt:
Add missing ',' and fix typo
sql/share/greek/errmsg.txt:
Add missing ',' and fix typo
sql/share/hungarian/errmsg.txt:
Add missing ',' and fix typo
sql/share/italian/errmsg.txt:
Add missing ',' and fix typo
sql/share/japanese/errmsg.txt:
Add missing ',' and fix typo
sql/share/korean/errmsg.txt:
Add missing ',' and fix typo
sql/share/norwegian-ny/errmsg.txt:
Add missing ',' and fix typo
sql/share/norwegian/errmsg.txt:
Add missing ',' and fix typo
sql/share/polish/errmsg.txt:
Add missing ',' and fix typo
sql/share/portuguese/errmsg.txt:
Add missing ',' and fix typo
sql/share/romanian/errmsg.txt:
Add missing ',' and fix typo
sql/share/russian/errmsg.txt:
Add missing ',' and fix typo
sql/share/slovak/errmsg.txt:
Add missing ',' and fix typo
sql/share/spanish/errmsg.txt:
Add missing ',' and fix typo
sql/share/swedish/errmsg.txt:
Add missing ',' and fix typo
sql/share/ukrainian/errmsg.txt:
Add missing ',' and fix typo