From 5d67dd04efbf7916ec0c8e84b2d44869f8569fc2 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 12 Feb 2003 21:32:35 +0100 Subject: [PATCH 01/44] another fix for RAND() initialization --- sql/sql_class.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sql/sql_class.cc b/sql/sql_class.cc index 319bc87ad8d..316c544ba78 100644 --- a/sql/sql_class.cc +++ b/sql/sql_class.cc @@ -156,7 +156,7 @@ THD::THD():user_time(0),fatal_error(0),last_insert_id_used(0), */ { pthread_mutex_lock(&LOCK_thread_count); - ulong tmp=(ulong) (rnd(&sql_rand) * ((ulong)~0L)); + ulong tmp=(ulong) (rnd(&sql_rand) * ((ulong)0xffffffff)); randominit(&rand, tmp + (ulong) start_time, tmp + (ulong) thread_id); pthread_mutex_unlock(&LOCK_thread_count); From cfa3301827a40038ee0772c15bc716bba616d791 Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 14 Feb 2003 17:09:09 +0200 Subject: [PATCH 02/44] fixed memory leak in ANALIZE initialization error reporting --- sql/sql_analyse.cc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sql/sql_analyse.cc b/sql/sql_analyse.cc index 457356d4253..6227b1251db 100644 --- a/sql/sql_analyse.cc +++ b/sql/sql_analyse.cc @@ -58,6 +58,7 @@ proc_analyse_init(THD *thd, ORDER *param, select_result *result, if ((*param->item)->type() != Item::INT_ITEM || (*param->item)->val() < 0) { + delete pc; net_printf(&thd->net, ER_WRONG_PARAMETERS_TO_PROCEDURE, proc_name); return 0; } @@ -65,6 +66,7 @@ proc_analyse_init(THD *thd, ORDER *param, select_result *result, param = param->next; if (param->next) // no third parameter possible { + delete pc; net_printf(&thd->net, ER_WRONG_PARAMCOUNT_TO_PROCEDURE, proc_name); return 0; } @@ -72,6 +74,7 @@ proc_analyse_init(THD *thd, ORDER *param, select_result *result, if ((*param->item)->type() != Item::INT_ITEM || (*param->item)->val() < 0) { + delete pc; net_printf(&thd->net, ER_WRONG_PARAMETERS_TO_PROCEDURE, proc_name); return 0; } @@ -80,6 +83,7 @@ proc_analyse_init(THD *thd, ORDER *param, select_result *result, else if ((*param->item)->type() != Item::INT_ITEM || (*param->item)->val() < 0) { + delete pc; net_printf(&thd->net, ER_WRONG_PARAMETERS_TO_PROCEDURE, proc_name); return 0; } From d13d8aa00eed069f1f2454ceb6a12b3158b4796a Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 14 Feb 2003 22:20:38 +0200 Subject: [PATCH 03/44] fixed invalidation of query cache on LOAD DATA mysql-test/r/query_cache.result: test of LOAD DATA mysql-test/t/query_cache.test: test of LOAD DATA --- mysql-test/r/query_cache.result | 11 +++++++++++ mysql-test/t/query_cache.test | 12 +++++++++++- sql/sql_load.cc | 1 + 3 files changed, 23 insertions(+), 1 deletion(-) diff --git a/mysql-test/r/query_cache.result b/mysql-test/r/query_cache.result index 9d63050fc4e..41fccc2743c 100644 --- a/mysql-test/r/query_cache.result +++ b/mysql-test/r/query_cache.result @@ -553,3 +553,14 @@ Table 'test.t1' doesn't exist drop table t2; select * from t1 where id=2; Table 'test.t1' doesn't exist +create table t1 (word char(20) not null); +select * from t1; +word +show status like "Qcache_queries_in_cache"; +Variable_name Value +Qcache_queries_in_cache 1 +load data infile '../../std_data/words.dat' into table t1; +show status like "Qcache_queries_in_cache"; +Variable_name Value +Qcache_queries_in_cache 0 +drop table t1; diff --git a/mysql-test/t/query_cache.test b/mysql-test/t/query_cache.test index f77ea3c3b2a..dd092866e44 100644 --- a/mysql-test/t/query_cache.test +++ b/mysql-test/t/query_cache.test @@ -384,7 +384,6 @@ select * from mysql.db; enable_result_log; show status like "Qcache_queries_in_cache"; - # # simple rename test # @@ -397,3 +396,14 @@ select * from t1 where id=2; drop table t2; -- error 1146 select * from t1 where id=2; + +# +# Load data invalidation test +# + +create table t1 (word char(20) not null); +select * from t1; +show status like "Qcache_queries_in_cache"; +load data infile '../../std_data/words.dat' into table t1; +show status like "Qcache_queries_in_cache"; +drop table t1; \ No newline at end of file diff --git a/sql/sql_load.cc b/sql/sql_load.cc index c1c6267879e..ba62b1d5c20 100644 --- a/sql/sql_load.cc +++ b/sql/sql_load.cc @@ -336,6 +336,7 @@ int mysql_load(THD *thd,sql_exchange *ex,TABLE_LIST *table_list, } if (transactional_table) error=ha_autocommit_or_rollback(thd,error); + query_cache_invalidate3(thd, table_list, 0); err: if (thd->lock) From e674c6476be62e2080e008bbe0247dcda934a7d4 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 18 Feb 2003 10:18:51 +0200 Subject: [PATCH 04/44] prevented crash on deleting non-constructed analyse object --- sql/sql_analyse.h | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/sql/sql_analyse.h b/sql/sql_analyse.h index ce5c0af6a96..c826b69e53c 100644 --- a/sql/sql_analyse.h +++ b/sql/sql_analyse.h @@ -288,13 +288,14 @@ protected: public: uint max_tree_elements, max_treemem; - analyse(select_result *res) :Procedure(res, PROC_NO_SORT), rows(0), - output_str_length(0) {} + analyse(select_result *res) :Procedure(res, PROC_NO_SORT), f_info(0), + rows(0), output_str_length(0) {} ~analyse() - { - for (field_info **f=f_info; f != f_end; f++) - delete (*f); + { + if (f_info) + for (field_info **f=f_info; f != f_end; f++) + delete (*f); } virtual void add() {} virtual bool change_columns(List &fields); From b3fa1d867f29137240c46a6a0396bb9a1c7019fa Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 18 Feb 2003 19:43:41 +0200 Subject: [PATCH 05/44] page0cur.c: Prepare for 5.x where HA_READ_PREFIX_LAST may pass only a few first bytes of the last field in a key value ha_innodb.cc: In 4.0 always assume HA_READ_PREFIX_LAST passes a complete-field prefix of a key value; LIKE queries use a padding trick sql/ha_innodb.cc: In 4.0 always assume HA_READ_PREFIX_LAST passes a complete-field prefix of a key value; LIKE queries use a padding trick innobase/page/page0cur.c: Prepare for 5.x where HA_READ_PREFIX_LAST may pass only a few first bytes of the last field in a key value --- innobase/page/page0cur.c | 71 +++++++++++++++++++++++++++++----------- sql/ha_innodb.cc | 4 +-- 2 files changed, 53 insertions(+), 22 deletions(-) diff --git a/innobase/page/page0cur.c b/innobase/page/page0cur.c index 0e65dc8b1de..d3a40668c4b 100644 --- a/innobase/page/page0cur.c +++ b/innobase/page/page0cur.c @@ -120,6 +120,53 @@ page_cur_try_search_shortcut( #endif +/******************************************************************** +Checks if the nth field in a record is a character type field which extends +the nth field in tuple, i.e., the field is longer or equal in length and has +common first characters. */ +static +ibool +page_cur_rec_field_extends( +/*=======================*/ + /* out: TRUE if rec field extends tuple + field */ + dtuple_t* tuple, /* in: data tuple */ + rec_t* rec, /* in: record */ + ulint n) /* in: compare nth field */ +{ + dtype_t* type; + dfield_t* dfield; + byte* rec_f; + ulint rec_f_len; + + dfield = dtuple_get_nth_field(tuple, n); + + type = dfield_get_type(dfield); + + rec_f = rec_get_nth_field(rec, n, &rec_f_len); + + if (type->mtype == DATA_VARCHAR + || type->mtype == DATA_CHAR + || type->mtype == DATA_FIXBINARY + || type->mtype == DATA_BINARY + || type->mtype == DATA_BLOB + || type->mtype == DATA_VARMYSQL + || type->mtype == DATA_MYSQL) { + + if (dfield_get_len(dfield) != UNIV_SQL_NULL + && rec_f_len != UNIV_SQL_NULL + && rec_f_len >= dfield_get_len(dfield) + && 0 == cmp_data_data_slow(type, dfield_get_data(dfield), + dfield_get_len(dfield), + rec_f, dfield_get_len(dfield))) { + + return(TRUE); + } + } + + return(FALSE); +} + /******************************************************************** Searches the right position for a page cursor. */ @@ -239,16 +286,8 @@ page_cur_search_with_match( } else if (cmp == -1) { if (mode == PAGE_CUR_LE_OR_EXTENDS - && dfield_get_len(dtuple_get_nth_field(tuple, - cur_matched_fields)) - == cur_matched_bytes - && rec_get_nth_field_len(mid_rec, - cur_matched_fields) - != UNIV_SQL_NULL) { - - /* This means current dfield is not SQL - NULL, and the current rec field extends it */ - + && page_cur_rec_field_extends(tuple, mid_rec, + cur_matched_fields)) { low = mid; low_matched_fields = cur_matched_fields; low_matched_bytes = cur_matched_bytes; @@ -296,16 +335,8 @@ page_cur_search_with_match( } else if (cmp == -1) { if (mode == PAGE_CUR_LE_OR_EXTENDS - && dfield_get_len(dtuple_get_nth_field(tuple, - cur_matched_fields)) - == cur_matched_bytes - && rec_get_nth_field_len(mid_rec, - cur_matched_fields) - != UNIV_SQL_NULL) { - - /* This means current dfield is not SQL - NULL, and the current rec field extends it */ - + && page_cur_rec_field_extends(tuple, mid_rec, + cur_matched_fields)) { low_rec = mid_rec; low_matched_fields = cur_matched_fields; low_matched_bytes = cur_matched_bytes; diff --git a/sql/ha_innodb.cc b/sql/ha_innodb.cc index fce9500a47c..3ceb5cbeb36 100644 --- a/sql/ha_innodb.cc +++ b/sql/ha_innodb.cc @@ -2256,8 +2256,8 @@ convert_search_mode_to_innobase( case HA_READ_BEFORE_KEY: return(PAGE_CUR_L); case HA_READ_PREFIX: return(PAGE_CUR_GE); case HA_READ_PREFIX_LAST: return(PAGE_CUR_LE); - /* In MySQL HA_READ_PREFIX and HA_READ_PREFIX_LAST always - use a complete-field-prefix of a kay value as the search + /* In MySQL-4.0 HA_READ_PREFIX and HA_READ_PREFIX_LAST always + pass a complete-field-prefix of a key value as the search tuple. I.e., it is not allowed that the last field would just contain n first bytes of the full field value. MySQL uses a 'padding' trick to convert LIKE 'abc%' From 12310f638188a671df558e4427cb183b615a5ee6 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 18 Feb 2003 19:57:05 +0200 Subject: [PATCH 06/44] my_base.h: Add comment about what kind of key value prefixes HA_READ_KEY_PREFIX_LAST etc. allow as a search key include/my_base.h: Add comment about what kind of key value prefixes HA_READ_KEY_PREFIX_LAST etc. allow as a search key --- include/my_base.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/include/my_base.h b/include/my_base.h index e1761eac8f9..f91b45ee469 100644 --- a/include/my_base.h +++ b/include/my_base.h @@ -49,6 +49,21 @@ /* The following is parameter to ha_rkey() how to use key */ +/* We define a complete-field prefix of a key value as a prefix where the +last included field in the prefix contains the full field, not just some bytes +from the start of the field. A partial-field prefix is allowed to +contain only a few first bytes from the last included field. + +Below HA_READ_KEY_EXACT, ..., HA_READ_BEFORE_KEY can take a +complete-field prefix of a key value as the search key. HA_READ_PREFIX +and HA_READ_PREFIX_LAST could also take a partial-field prefix, but +currently (4.0.10) they are only used with complete-field prefixes. MySQL uses +a padding trick to implement LIKE 'abc%' queries. + +NOTE that in InnoDB HA_READ_PREFIX_LAST will NOT work with a partial-field +prefix because InnoDB currently strips spaces from the end of varchar +fields! */ + enum ha_rkey_function { HA_READ_KEY_EXACT, /* Find first record else error */ HA_READ_KEY_OR_NEXT, /* Record or next record */ From 1dc1f7959aede33871ce975f556c46d1afbd2092 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 18 Feb 2003 20:07:06 +0200 Subject: [PATCH 07/44] ha_innodb.cc: Add comment about how to modify InnoDB to deal with partial-field prefixes of key value in the future sql/ha_innodb.cc: Add comment about how to modify InnoDB to deal with partial-field prefixes of key value in the future --- sql/ha_innodb.cc | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/sql/ha_innodb.cc b/sql/ha_innodb.cc index 3ceb5cbeb36..b1f1911858d 100644 --- a/sql/ha_innodb.cc +++ b/sql/ha_innodb.cc @@ -2257,13 +2257,19 @@ convert_search_mode_to_innobase( case HA_READ_PREFIX: return(PAGE_CUR_GE); case HA_READ_PREFIX_LAST: return(PAGE_CUR_LE); /* In MySQL-4.0 HA_READ_PREFIX and HA_READ_PREFIX_LAST always - pass a complete-field-prefix of a key value as the search + pass a complete-field prefix of a key value as the search tuple. I.e., it is not allowed that the last field would just contain n first bytes of the full field value. MySQL uses a 'padding' trick to convert LIKE 'abc%' type queries so that it can use as a search tuple a complete-field-prefix of a key value. Thus, the InnoDB - search mode PAGE_CUR_LE_OR_EXTENDS is never used. */ + search mode PAGE_CUR_LE_OR_EXTENDS is never used. + TODO: when/if MySQL starts to use also partial-field + prefixes, we have to deal with stripping of spaces + and comparison of non-latin1 char type fields in + innobase_mysql_cmp() to get PAGE_CUR_LE_OR_EXTENDS to + work correctly. */ + default: assert(0); } From acbf3fa602c467eb50115dcbba594480f82661d5 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 18 Feb 2003 17:48:04 -0500 Subject: [PATCH 08/44] mwldnlm, mwenv, mwccnlm, mwasmnlm, nwconfigure, nwbootstrap: new file BitKeeper/etc/logging_ok: Logging to logging@openlogging.org accepted --- BitKeeper/etc/logging_ok | 1 + netware/mw/mwasmnlm | 5 ++ netware/mw/mwccnlm | 7 ++ netware/mw/mwenv | 12 ++++ netware/mw/mwldnlm | 5 ++ netware/nwbootstrap | 145 +++++++++++++++++++++++++++++++++++++++ netware/nwconfigure | 23 +++++++ 7 files changed, 198 insertions(+) create mode 100644 netware/mw/mwasmnlm create mode 100644 netware/mw/mwccnlm create mode 100644 netware/mw/mwenv create mode 100644 netware/mw/mwldnlm create mode 100644 netware/nwbootstrap create mode 100644 netware/nwconfigure diff --git a/BitKeeper/etc/logging_ok b/BitKeeper/etc/logging_ok index df830cbe6cb..370f1a1eb8d 100644 --- a/BitKeeper/etc/logging_ok +++ b/BitKeeper/etc/logging_ok @@ -15,6 +15,7 @@ bell@sanja.is.com.ua bk@admin.bk davida@isil.mysql.com gluh@gluh.(none) +greg@mysql.com gweir@work.mysql.com heikki@donna.mysql.fi heikki@hundin.mysql.fi diff --git a/netware/mw/mwasmnlm b/netware/mw/mwasmnlm new file mode 100644 index 00000000000..c3501112aa5 --- /dev/null +++ b/netware/mw/mwasmnlm @@ -0,0 +1,5 @@ +#! /bin/sh + +args=" $*" + +wine --debugmsg -all -- mwasmnlm $args diff --git a/netware/mw/mwccnlm b/netware/mw/mwccnlm new file mode 100644 index 00000000000..9e989485bd9 --- /dev/null +++ b/netware/mw/mwccnlm @@ -0,0 +1,7 @@ +#! /bin/sh + +# mwccnlm is having a hard time understanding "-I./../include" +# convert it to "-I../include" +args=" "`echo $* | sed -e 's/-I.\/../-I../g'` + +wine --debugmsg -all -- mwccnlm $args diff --git a/netware/mw/mwenv b/netware/mw/mwenv new file mode 100644 index 00000000000..b82dbdc0c7f --- /dev/null +++ b/netware/mw/mwenv @@ -0,0 +1,12 @@ +#! /bin/sh + +export MYDEV="F:/mysql" + +export MWCNWx86Includes="$MYDEV/libc/include" +export MWNWx86Libraries="$MYDEV/libc/imports;$MYDEV/mw/lib" +export MWNWx86LibraryFiles="libcpre.o;libc.imp;netware.imp;mwcrtl.lib;mwcpp.lib" + +export WINEPATH="$MYDEV/mw/bin" + +export PATH="$PATH:$HOME/mysql/mysql-4.0/netware/mw" + diff --git a/netware/mw/mwldnlm b/netware/mw/mwldnlm new file mode 100644 index 00000000000..7ad2872ccbb --- /dev/null +++ b/netware/mw/mwldnlm @@ -0,0 +1,5 @@ +#! /bin/sh + +args=" $*" + +wine --debugmsg -all -- mwldnlm $args diff --git a/netware/nwbootstrap b/netware/nwbootstrap new file mode 100644 index 00000000000..3e4b03de0f5 --- /dev/null +++ b/netware/nwbootstrap @@ -0,0 +1,145 @@ +#! /bin/sh + +# show executed commands +# set -x + +# stop on errors +set -e + +BD=`pwd` + +build=0 +build_debug=0 +skip_linux=0 + +# parse arguments +for arg do + case "$arg" in + --build) build=1 ;; + --build-debug) build_debug=1 ;; + --skip-linux) skip_linux=1 ;; + *) echo "$0: unrecognized option: $arg" ;; + esac +done + +# run the auto tools +autotools() +{ + for package in $BD $BD/innobase + do + echo "cd $package" + cd $package + rm -f config.cache + echo "aclocal" + aclocal + echo "autoheader" + autoheader + echo "libtoolize --force" + libtoolize --force + echo "aclocal" + aclocal + echo "automake --add-missing --force-missing" + automake --add-missing --force-missing + echo "autoconf" + autoconf + done + + cd $BD +} + +# check the source direcotry +echo "looking for \"$BD/sql/mysqld.cc\"..." +if test ! -r ./sql/mysqld.cc +then + echo "./netware/nwbootstrap must be started from the top source directory" + exit 1 +fi + +# clean +# make -j 2 -k distclean +rm -f NEW-RPMS/* +rm -f */.deps/*.P + +# make files writeable +chmod -R u+rw,g+rw . + +# skip linux? +if test $skip_linux -ne 1 +then + echo "starting linux build..." + + echo "autotools..." + autotools + + echo "configuring for linux..." + ./configure --without-docs --without-innodb + + echo "building for linux..." + make clean all + + echo "copying required linux binaries..." + rm -f */*.linux + cp extra/comp_err extra/comp_err.linux + cp libmysql/conf_to_src libmysql/conf_to_src.linux + cp libmysql/conf_to_src libmysql_r/conf_to_src.linux + cp sql/gen_lex_hash sql/gen_lex_hash.linux + cp strings/conf_to_src strings/conf_to_src.linux + + echo "cleaning linux build..." + make clean distclean +fi + +echo "starting netware build..." + +# remove stale Makefile.in.bk files +rm -rf Makefile.in.bk + +# start mw enviornment +chmod +x ./netware/nwconfigure +chmod +x ./netware/mw/mwenv +chmod +x ./netware/mw/mwasmnlm +chmod +x ./netware/mw/mwccnlm +chmod +x ./netware/mw/mwldnlm + +. ./netware/mw/mwenv + +# link nwconfigure +rm -f ./nwconfigure +ln ./netware/nwconfigure ./nwconfigure + +# save old builds from previous run +if test -e *.tar.gz +then + rm -f *.tar.gz.old + rename .tar.gz .tar.gz.old *.tar.gz +fi + +echo "autotools..." +autotools + +# debug build +if test $build_debug -eq 1 +then + echo "configuring for netware (debug)..." + ./nwconfigure --with-debug=full + + echo "building for netware (debug)..." + make clean bin-dist + + # mark the debug build + rename .tar.gz -debug.tar.gz *.tar.gz +fi + +# release build +if test $build -eq 1 +then + echo "configuring for netware..." + ./nwconfigure + + echo "building for netware..." + make clean bin-dist +fi + +echo "done" + + diff --git a/netware/nwconfigure b/netware/nwconfigure new file mode 100644 index 00000000000..aeb68ada5b8 --- /dev/null +++ b/netware/nwconfigure @@ -0,0 +1,23 @@ +#! /bin/sh +CMD="\ + AR='mwldnlm' \ + AR_FLAGS='-type library -o' \ + AS='mwasmnlm' \ + CC='mwccnlm -gccincludes' \ + CFLAGS='-dialect c -proc 686 -bool on -relax_pointers -DUSE_OLD_FUNCTIONS' \ + CXX='mwccnlm -gccincludes' \ + CXXFLAGS='-dialect c++ -proc 686 -bool on -relax_pointers' \ + LD='mwldnlm' \ + LDFLAGS='-entry _LibCPrelude -exit _LibCPostlude -flags pseudopreemption' \ + RANLIB=: \ + STRIP=: \ + ./configure --host=i686-pc-netware $* \ + --without-docs \ + --enable-local-infile \ + --with-extra-charsets=all \ + --prefix=N:/mysql \ + " +#rm -f config.cache config.log config.status +echo $CMD +eval $CMD + From 22815476c0a9b43f86fe640f27a2af45c6419e34 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 19 Feb 2003 14:50:40 +0100 Subject: [PATCH 09/44] - Applying Sinisa's Patch "Fixing the error messages returned on GRANT commands" --- sql/share/english/errmsg.txt | 2 +- sql/sql_acl.cc | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/sql/share/english/errmsg.txt b/sql/share/english/errmsg.txt index a11be9b0e7f..23b25e37ade 100644 --- a/sql/share/english/errmsg.txt +++ b/sql/share/english/errmsg.txt @@ -134,7 +134,7 @@ "Host '%-.64s' is not allowed to connect to this MySQL server", "You are using MySQL as an anonymous users and anonymous users are not allowed to change passwords", "You must have privileges to update tables in the mysql database to be able to change passwords for others", -"Can't find any matching row in the user table", +"Password string is of inadequate length", "Rows matched: %ld Changed: %ld Warnings: %ld", "Can't create a new thread (errno %d). If you are not out of available memory, you can consult the manual for a possible OS-dependent bug", "Column count doesn't match value count at row %ld", diff --git a/sql/sql_acl.cc b/sql/sql_acl.cc index ee9d3f1c1ea..92db643e8dc 100644 --- a/sql/sql_acl.cc +++ b/sql/sql_acl.cc @@ -1203,7 +1203,8 @@ static bool update_user_table(THD *thd, const char *host, const char *user, (byte*) table->field[0]->ptr,0, HA_READ_KEY_EXACT)) { - my_error(ER_PASSWORD_NO_MATCH,MYF(0)); /* purecov: deadcode */ + my_printf_error(ER_NONEXISTING_GRANT,ER(ER_NONEXISTING_GRANT), + MYF(0),user,host); DBUG_RETURN(1); /* purecov: deadcode */ } store_record(table,1); @@ -1445,7 +1446,8 @@ static int replace_db_table(TABLE *table, const char *db, // is there such a user in user table in memory ???? if (!initialized || !find_acl_user(combo.host.str,combo.user.str)) { - my_error(ER_PASSWORD_NO_MATCH,MYF(0)); + my_printf_error(ER_NONEXISTING_GRANT,ER(ER_NONEXISTING_GRANT),MYF(0), + combo.user.str,combo.host.str); DBUG_RETURN(-1); } @@ -1888,6 +1890,8 @@ static int replace_table_table(THD *thd, GRANT_TABLE *grant_table, if (!find_acl_user(combo.host.str,combo.user.str)) { my_error(ER_PASSWORD_NO_MATCH,MYF(0)); /* purecov: deadcode */ + my_printf_error(ER_NONEXISTING_GRANT,ER(ER_NONEXISTING_GRANT),MYF(0), + combo.user.str,combo.host.str); DBUG_RETURN(-1); /* purecov: deadcode */ } From ea3e5a5c0fd2a6a81552574b7820760dd9a98cbe Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 19 Feb 2003 14:58:44 +0100 Subject: [PATCH 10/44] Applying Sinisa's patch: "Cleaning the code of the remaining OLAP code. This code is unnecessary in 4.1/5.0" --- sql/sql_parse.cc | 1 - sql/sql_union.cc | 6 +----- sql/table.h | 1 - 3 files changed, 1 insertion(+), 7 deletions(-) diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc index 6249c769015..66f11f3da9f 100644 --- a/sql/sql_parse.cc +++ b/sql/sql_parse.cc @@ -3338,7 +3338,6 @@ static bool create_total_list(THD *thd, LEX *lex, TABLE_LIST **result) for (; aux; aux=next) { TABLE_LIST *cursor; - aux->do_redirect=true; next= aux->next; for (cursor= *result; cursor; cursor=cursor->next) if (!strcmp(cursor->db,aux->db) && diff --git a/sql/sql_union.cc b/sql/sql_union.cc index 4e36ccafefc..faa106d4f42 100644 --- a/sql/sql_union.cc +++ b/sql/sql_union.cc @@ -50,11 +50,7 @@ int mysql_union(THD *thd, LEX *lex,select_result *result) cursor; cursor=cursor->next) { - if (cursor->do_redirect) // False if CUBE/ROLLUP - { - cursor->table= (my_reinterpret_cast(TABLE_LIST*) (cursor->table))->table; - cursor->do_redirect= 0; - } + cursor->table= (my_reinterpret_cast(TABLE_LIST*) (cursor->table))->table; } } diff --git a/sql/table.h b/sql/table.h index c3f469115b5..b6935ea6a32 100644 --- a/sql/table.h +++ b/sql/table.h @@ -157,7 +157,6 @@ typedef struct st_table_list uint32 db_length, real_name_length; bool straight; /* optimize with prev table */ bool updating; /* for replicate-do/ignore table */ - bool do_redirect; /* To get the struct in UNION's */ bool force_index; /* Prefer index over table scan */ } TABLE_LIST; From f4d93af14d656ab96a428465dd9da81e45a5b494 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 19 Feb 2003 15:08:29 +0100 Subject: [PATCH 11/44] Applied Sinisa's patch: "A fix for non-releasing locks for multi table updates and multi table deletes with InnoDB tables." --- mysql-test/r/innodb.result | 6 ++++++ mysql-test/t/innodb.test | 6 ++++++ sql/sql_parse.cc | 2 +- sql/sql_update.cc | 2 +- 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/mysql-test/r/innodb.result b/mysql-test/r/innodb.result index 2a6eaaf0bfc..d65e90a6cc0 100644 --- a/mysql-test/r/innodb.result +++ b/mysql-test/r/innodb.result @@ -1058,6 +1058,12 @@ create table t2 (b varchar(10) not null unique) type=innodb; select t1.a from t1,t2 where t1.a=t2.b; a drop table t1,t2; +create table t1 (a int not null, b int, primary key (a)) type = innodb; +create table t2 (a int not null, b int, primary key (a)) type = innodb; +insert into t1 values (10, 20); +insert into t2 values (10, 20); +update t1, t2 set t1.b = 150, t2.b = t1.b where t2.a = t1.a and t1.a = 10; +drop table t1,t2; CREATE TABLE t1 (id INT NOT NULL, PRIMARY KEY (id)) TYPE=INNODB; CREATE TABLE t2 (id INT PRIMARY KEY, t1_id INT, INDEX par_ind (t1_id), FOREIGN KEY (t1_id) REFERENCES t1(id) ON DELETE CASCADE ) TYPE=INNODB; insert into t1 set id=1; diff --git a/mysql-test/t/innodb.test b/mysql-test/t/innodb.test index 8b75d067566..7d13258ede1 100644 --- a/mysql-test/t/innodb.test +++ b/mysql-test/t/innodb.test @@ -696,6 +696,12 @@ create table t1 (a varchar(10) not null) type=myisam; create table t2 (b varchar(10) not null unique) type=innodb; select t1.a from t1,t2 where t1.a=t2.b; drop table t1,t2; +create table t1 (a int not null, b int, primary key (a)) type = innodb; +create table t2 (a int not null, b int, primary key (a)) type = innodb; +insert into t1 values (10, 20); +insert into t2 values (10, 20); +update t1, t2 set t1.b = 150, t2.b = t1.b where t2.a = t1.a and t1.a = 10; +drop table t1,t2; # # Test of multi-table-delete with foreign key constraints diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc index 66f11f3da9f..7ae69a4b77f 100644 --- a/sql/sql_parse.cc +++ b/sql/sql_parse.cc @@ -2038,7 +2038,7 @@ mysql_execute_command(void) (ORDER *)NULL,(ORDER *)NULL,(Item *)NULL, (ORDER *)NULL, select_lex->options | thd->options | - SELECT_NO_JOIN_CACHE, + SELECT_NO_JOIN_CACHE | SELECT_NO_UNLOCK, result); delete result; } diff --git a/sql/sql_update.cc b/sql/sql_update.cc index 9817dcd2be5..d1a2d4d5524 100644 --- a/sql/sql_update.cc +++ b/sql/sql_update.cc @@ -400,7 +400,7 @@ int mysql_multi_update(THD *thd, res= mysql_select(thd,table_list,total_list, conds, (ORDER *) NULL, (ORDER *)NULL, (Item *) NULL, (ORDER *)NULL, - options | SELECT_NO_JOIN_CACHE, + options | SELECT_NO_JOIN_CACHE | SELECT_NO_UNLOCK, result); delete result; DBUG_RETURN(res); From 5fae3c25e2bd52bc514805456d720ea9a2257df8 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 19 Feb 2003 16:16:27 +0100 Subject: [PATCH 12/44] Reverted Sinisa's patch "Fixing the error messages returned on GRANT commands" again, since this problem had been fixed differently already (Thanks to Serg for spotting this) sql/share/english/errmsg.txt: Reverted Sinisa's patch again, since this problem had been fixed differently already (Thanks to Serg for spotting this) sql/sql_acl.cc: Reverted Sinisa's patch again, since this problem had been fixed differently already (Thanks to Serg for spotting this) --- sql/share/english/errmsg.txt | 2 +- sql/sql_acl.cc | 8 ++------ 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/sql/share/english/errmsg.txt b/sql/share/english/errmsg.txt index 23b25e37ade..a11be9b0e7f 100644 --- a/sql/share/english/errmsg.txt +++ b/sql/share/english/errmsg.txt @@ -134,7 +134,7 @@ "Host '%-.64s' is not allowed to connect to this MySQL server", "You are using MySQL as an anonymous users and anonymous users are not allowed to change passwords", "You must have privileges to update tables in the mysql database to be able to change passwords for others", -"Password string is of inadequate length", +"Can't find any matching row in the user table", "Rows matched: %ld Changed: %ld Warnings: %ld", "Can't create a new thread (errno %d). If you are not out of available memory, you can consult the manual for a possible OS-dependent bug", "Column count doesn't match value count at row %ld", diff --git a/sql/sql_acl.cc b/sql/sql_acl.cc index 92db643e8dc..ee9d3f1c1ea 100644 --- a/sql/sql_acl.cc +++ b/sql/sql_acl.cc @@ -1203,8 +1203,7 @@ static bool update_user_table(THD *thd, const char *host, const char *user, (byte*) table->field[0]->ptr,0, HA_READ_KEY_EXACT)) { - my_printf_error(ER_NONEXISTING_GRANT,ER(ER_NONEXISTING_GRANT), - MYF(0),user,host); + my_error(ER_PASSWORD_NO_MATCH,MYF(0)); /* purecov: deadcode */ DBUG_RETURN(1); /* purecov: deadcode */ } store_record(table,1); @@ -1446,8 +1445,7 @@ static int replace_db_table(TABLE *table, const char *db, // is there such a user in user table in memory ???? if (!initialized || !find_acl_user(combo.host.str,combo.user.str)) { - my_printf_error(ER_NONEXISTING_GRANT,ER(ER_NONEXISTING_GRANT),MYF(0), - combo.user.str,combo.host.str); + my_error(ER_PASSWORD_NO_MATCH,MYF(0)); DBUG_RETURN(-1); } @@ -1890,8 +1888,6 @@ static int replace_table_table(THD *thd, GRANT_TABLE *grant_table, if (!find_acl_user(combo.host.str,combo.user.str)) { my_error(ER_PASSWORD_NO_MATCH,MYF(0)); /* purecov: deadcode */ - my_printf_error(ER_NONEXISTING_GRANT,ER(ER_NONEXISTING_GRANT),MYF(0), - combo.user.str,combo.host.str); DBUG_RETURN(-1); /* purecov: deadcode */ } From fe673a80b12da51ea3fe6d4c499112b6073335b4 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 19 Feb 2003 19:38:38 +0200 Subject: [PATCH 13/44] row0sel.c: Print a warning if MySQL uses a partial-field key value prefix in a search; that would not work if the search flag would happen to be HA_READ_PREFIX_LAST innobase/row/row0sel.c: Print a warning if MySQL uses a partial-field key value prefix in a search; that would not work if the search flag would happen to be HA_READ_PREFIX_LAST --- innobase/row/row0sel.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/innobase/row/row0sel.c b/innobase/row/row0sel.c index ea5b3020c08..ef12bd9362a 100644 --- a/innobase/row/row0sel.c +++ b/innobase/row/row0sel.c @@ -1926,7 +1926,19 @@ row_sel_convert_mysql_key_to_innobase( if (key_ptr > key_end) { /* The last field in key was not a complete - field but a prefix of it */ + field but a prefix of it. + + Print a warning about this! HA_READ_PREFIX_LAST + does not currently work in InnoDB with partial-field + key value prefixes. Since MySQL currently uses a + padding trick to calculate LIKE 'abc%' type queries + there should never be partial-field prefixes + in searches. */ + + ut_print_timestamp(stderr); + + fprintf(stderr, + " InnoDB: Warning: using a partial-field key prefix in search\n"); ut_ad(dfield_get_len(dfield) != UNIV_SQL_NULL); From b56b25c78c7aafb76590f17b1ec759a4cbfc5a33 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 19 Feb 2003 12:49:12 -0500 Subject: [PATCH 14/44] nwbootstrap: Change mode to -rwxrwxr-x netware/nwbootstrap: Change mode to -rwxrwxr-x --- netware/nwbootstrap | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 netware/nwbootstrap diff --git a/netware/nwbootstrap b/netware/nwbootstrap old mode 100644 new mode 100755 From 68ee31cf6cee6991c8772ae1ff975b417987ada2 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 19 Feb 2003 21:02:05 +0100 Subject: [PATCH 15/44] - added more files to support-files/MacOSX and added them to the distribution - added Bootstrap, logger.pm and Do-pkg to Build-tools: Bootstrap is used to build the source distribution for the binary builds logger.pm includes some helper functions Do-pkg converts a binary distribution into a Mac OS X PKG (still needs some polishing) support-files/MacOSX/Description.plist.sh: - Shortened IFPkgDescriptionDescription a bit support-files/MacOSX/Makefile.am: - Added more files (StartupParameters.plist, postinstall, preinstall) to distribution --- Build-tools/Bootstrap | 424 ++++++++++++++++++ Build-tools/Do-pkg | 147 ++++++ Build-tools/logger.pm | 51 +++ support-files/MacOSX/Description.plist.sh | 2 +- support-files/MacOSX/Makefile.am | 21 +- support-files/MacOSX/ReadMe.txt | 80 ++++ .../MacOSX/StartupParameters.plist.sh | 19 + support-files/MacOSX/postinstall.sh | 18 + support-files/MacOSX/preinstall.sh | 18 + 9 files changed, 776 insertions(+), 4 deletions(-) create mode 100755 Build-tools/Bootstrap create mode 100755 Build-tools/Do-pkg create mode 100644 Build-tools/logger.pm create mode 100644 support-files/MacOSX/ReadMe.txt create mode 100644 support-files/MacOSX/StartupParameters.plist.sh create mode 100644 support-files/MacOSX/postinstall.sh create mode 100644 support-files/MacOSX/preinstall.sh diff --git a/Build-tools/Bootstrap b/Build-tools/Bootstrap new file mode 100755 index 00000000000..3da9122e4a2 --- /dev/null +++ b/Build-tools/Bootstrap @@ -0,0 +1,424 @@ +#!/usr/bin/perl -w +# +# Bootstrap +# +# Script to export a given BK source tree into a separate directory +# and create the source distribution to be used for all binary builds +# +# Use the "--help" option for more info! +# +# written by Lenz Grimmer +# + +use Getopt::Long; +Getopt::Long::Configure ("bundling"); + +# Include logging function +$LOGGER= "$ENV{HOME}/bin/logger.pm"; +if (-f $LOGGER) +{ + do "$LOGGER"; +} +else +{ + die "ERROR: $LOGGER cannot be found!\n"; +} + +# Some predefined settings +$build_command= "BUILD/compile-pentium-max"; +chomp ($logfile= `pwd`); +$logfile.= "/Bootstrap.log"; +chomp ($opt_directory= `pwd`); +$opt_docdir= $opt_directory . "/mysqldoc"; +$opt_changelog= undef; +$opt_delete= undef; +$opt_dry_run= undef; +$opt_export_only= undef; +$opt_help= $opt_verbose= 0; +$opt_log= undef; +$opt_mail= ""; +$opt_suffix= ""; +$opt_test= undef; +$opt_skip_check= undef; +$opt_skip_manual= undef; +$version= "unknown"; + +GetOptions( + "changelog|c:s", + "directory|d=s", + "delete", + "docdir=s", + "dry-run", + "export-only|e", + "help|h", + "log|l:s", + "mail|m=s", + "revision|r=s", + "revision|r=s", + "skip-check|s", + "skip-manual", + "suffix=s", + "test|t", + "verbose|v" +) || print_help(""); + +# +# Override predefined Log file name +# +if (defined $opt_log) +{ + if ($opt_log ne "") + { + if ($opt_log =~ /^\/.*/) + { + $logfile= $opt_log; + } + else + { + chomp ($logfile= `pwd`); + $logfile.= "/" . $opt_log; + } + } +} + +print_help("") if ($opt_help); +defined($REPO=$ARGV[0]) || print_help("Please enter the BK repository to be used!"); + +&logger("Starting build"); +&abort("The directory \"$REPO\" could not be found!") if (!-d $REPO); +&logger("Using $REPO as the BK parent repository"); +system ("bk help > /dev/null") == 0 or &abort("Cannot execute BitKeeper binary!"); +system ("bk root $REPO > /dev/null 2>&1") == 0 or &abort("$REPO does not seem to be a valid BK repository!"); + +if (($opt_directory ne ".") && (!-d $opt_directory && !$opt_dry_run)) +{ + &abort("Could not find target directory \"$opt_directory\"!"); +} + +&logger("Logging to $logfile") if (defined $opt_log); + +# +# Use a temporary name until we know the version number +# +$target_dir= $opt_directory . "/mysql-" . $$ . "-" . time() . ".tmp"; +&logger("Using temporary directory $target_dir"); +&abort("Target directory $target_dir already exists!") if (-d $target_dir && !$opt_dry_run); + +# +# Export the BK tree +# +$command= "bk export "; +$command.= "-r " . $opt_revision . " " if $opt_revision; +$command.= "-v " if ($opt_verbose || defined $opt_log); +$command.= $REPO . " " . $target_dir; +&logger("Exporting $REPO"); +&run_command($command, "Could not create $target_dir!"); + +# +# Make sure we can write all files +# +$command= "find $target_dir -type f -print0 | xargs --null chmod u+w"; +&run_command($command, "Failed to fix file permissions!"); + +# +# Try to obtain version number from newly extracted configure.in +# +$CONF="$target_dir/configure.in"; +&abort("Could not find \"$CONF\" to determine version!") if (!-f $CONF && !$opt_dry_run); + +# +# The following can only be done, if the tree has actually been +# exported - it cannot be performed in a dry run. +# +if (!$opt_dry_run) +{ + open (CONF, $CONF) or &abort("Unable to open \"$CONF\": $!"); + @conf= ; + close CONF; + + foreach (@conf) + { + m/^AM_INIT_AUTOMAKE\(mysql, ([1-9]\.[0-9]{1,2}\.[0-9]{1,2}.*)\)/; + $version= $1; + } + &logger("Found version string: $version"); + + # + # Add suffix to version string and write out the modified file + # + if ($opt_suffix) + { + $opt_suffix= "-" . &ymd() if ($opt_suffix eq "YMD"); + + &logger("Replacing $version with $version$opt_suffix"); + foreach (@conf) + { + s/^AM_INIT_AUTOMAKE.*/AM_INIT_AUTOMAKE\(mysql, $version$opt_suffix\)/; + } + open(CONF,">$CONF") or &abort("Unable to open \"$CONF\": $!"); + print CONF @conf; + close(CONF); + } +} + +# +# Rename directory according to the version number found in configure.in +# of the extracted tree (plus suffix, if requested) +# +$temp_name= $target_dir; +$target_dir= $opt_directory . "/mysql-" . $version . $opt_suffix . "-build"; +if (-d $target_dir) +{ + &logger("Target directory $target_dir already exists!"); + if ($opt_delete) + { + &logger("Deleting $target_dir..."); + $command= "rm "; + $command.= "-v " if ($opt_verbose || defined $opt_log); + $command.= "$target_dir"; + &run_command($command, "Could not delete $target_dir!"); + } + else + { + &logger("Renaming $target_dir to $target_dir.old." . $$); + $command= "mv "; + $command.= "-v " if ($opt_verbose || defined $opt_log); + $command.= "$target_dir $target_dir.old." . $$; + &run_command($command, "Could not rename $target_dir!"); + } +} + +&logger("Renaming temporary directory to $target_dir"); +$command= "mv "; +$command.= "-v " if ($opt_verbose || defined $opt_log); +$command.= "$temp_name $target_dir"; +&run_command($command, "Could not rename $temp_name!"); + +# +# Add a ChangeLog (make dist will pick it up automatically) +# +if (defined $opt_changelog) +{ + # + # Use some magic to obtain the correct ChangeSet number that identifies + # the last tagged ChangeSet (this relies heavily on our current tagging + # practice!) + # + my $revision= ""; + if ($opt_changelog eq "last") + { + if (!$opt_revision) + { + $revision= `bk changes -t -d':REV:' -n $REPO | head -1`; + } + else + { + $revision= `bk changes -r..$opt_revision -t -d':REV:' -n $REPO | head -2 | tail -1`; + } + chomp($revision); + $opt_changelog= $revision; + } + + $msg= "Adding $target_dir/ChangeLog"; + $msg.= " (down to revision $opt_changelog)" if $opt_changelog ne ""; + &logger($msg); + $command= "bk changes -v"; + $command.= " -r" if ($opt_changelog ne "" || $opt_revision); + $command.= $opt_changelog if $opt_changelog ne ""; + $command.= ".." if ($opt_changelog ne "" && !$opt_revision); + $command.= ".." . $opt_revision if $opt_revision; + $command.= " " . $REPO . " > $target_dir/ChangeLog"; + &logger($command); + # We cannot use run_command here because of output redirection + if (!$opt_dry_run) + { + system($command) == 0 or &abort("Could not create $target_dir/ChangeLog!"); + } +} + +# +# Add the latest manual from the mysqldoc tree +# +if (!$opt_skip_manual) +{ + $msg= "Adding manual.texi"; + &logger($msg); + $command= "install -m 644 $opt_docdir/Docs/{manual,reservedwords}.texi"; + $command.= " $target_dir/Docs/"; + &run_command($command, "Could not update the manual in $target_dir/Docs/!"); +} + +# +# Abort here, if we just wanted to export the tree +# +if ($opt_export_only) +{ + &logger("SUCCESS: Export finished successfully."); + exit 0; +} + +# +# Enter the target directory first +# +&logger("Entering $target_dir"); +if (!$opt_dry_run) +{ + chdir($target_dir) or &abort("Cannot chdir to $target_dir: $!"); +} + +# +# Now build the source distribution +# +&logger("Compiling"); +$command= $build_command; +&run_command($command, "Compilation failed!"); + +# +# Testing the built binary by running "make test" (optional) +# +if ($opt_test) +{ + &logger ("Running test suite"); + $command= "make test"; + &run_command($command, "\"make test\" failed!"); +} + +# +# Pack it all up +# +&logger("Creating source distribution"); +$command= "make dist"; +&run_command($command, "make dist failed!"); + +# +# Run "make distcheck" to verify the source archive +# +if (!$opt_skip_check) +{ + &logger ("Checking source distribution"); + $command= "make distcheck"; + &run_command($command, "make distcheck failed!"); +} + +# +# All done when we came down here +# +&logger("SUCCESS: Build finished successfully.") if (!$opt_dry_run); +exit 0; + +# Helper functions + +# +# run_command(,) +# Execute the given command or die with the respective error message +# Just print out the command when doing a dry run +# +sub run_command +{ + my $command= $_[0]; + my $errormsg= $_[1]; + if ($opt_dry_run) + { + print "$command\n"; + } + else + { + &logger($command); + $command.= " >> $logfile 2>&1" if defined $opt_log; + $command.= " > /dev/null" if (!$opt_verbose && !$opt_log); + system($command) == 0 or &abort("$errormsg\n"); + } +} + +# +# abort() +# Exit with giving out the given error message or by sending +# it via email to the given mail address (including a log file snippet, +# if available) +# +sub abort +{ + my $message= $_[0]; + my $messagefile; + $message= "ERROR: " . $message; + &logger($message); + + if ($opt_mail && !$opt_dry_run) + { + $messagefile= "/tmp/message.$$"; + $subject= "Bootstrap of $REPO failed"; + open(TMP,">$messagefile"); + print TMP "$message\n\n"; + close TMP; + if (defined $opt_log) + { + system("tail -n 40 $logfile >> $messagefile"); + } + system("mail -s \"$subject\" $opt_mail < $messagefile"); + unlink($messagefile); + } + + exit 1; +} + +# +# Print the help text message (with an optional message on top) +# +sub print_help +{ + my $message= $_[0]; + if ($message ne "") + { + print "\n"; + print "ERROR: $message\n"; + } + print < + +Checks out (exports) a clear-text version of the given local BitKeeper +repository, creates and adds a Changelog file (if requested), adds the +latest manual.texi from the mysqldoc tree and builds a source distribution +(*.tar.gz) file. Optionally, the test suite can be run before the source +archive is being created. + +Options: + +-c, --changelog[=] Add a ChangeLog [down to revision ] + This will automatically be included in the source + distribution. To get a ChangeLog down to the last + tagged Changeset, simply use "last" as the revision + number. +--delete Delete an already existing distribution directory + in the target directory instead of renaming it. +-d, --directory= Specify the target directory + (default is "$opt_directory") +--docdir= Use the MySQL documentation BK tree located in in + (default is "$opt_docdir") +--dry-run Dry run without executing +-e, --export-only Just export (and add the ChangeLog, if requested), + do not build or test the source distribution +-h, --help Print this help message +-l, --log[=] Write a log file [to ] + (default is "$logfile") +-m, --mail=
Mail a failure report to the given address (and + include a log file snippet, if logging is enabled) + Note that the \@-Sign needs to be quoted! + Example: --mail=user\\\@domain.com +-r, --revision= Export the tree as of revision + (default is up to the latest revision) +-s, --skip-check Skip checking the distribution with "make distcheck" +--skip-manual Skip updating the manual from the mysqldoc tree +--suffix= Append to the version number in configure.in. + Using the special suffix "YMD" will add the current + date as the suffix (e.g. "-20020518"). +-t, --test Run the test suite after build +-v, --verbose Be verbose + +Example: + + Bootstrap -c last -v -l -- mysql-4.0 + +EOF + exit 1; +} diff --git a/Build-tools/Do-pkg b/Build-tools/Do-pkg new file mode 100755 index 00000000000..8f80d2bf362 --- /dev/null +++ b/Build-tools/Do-pkg @@ -0,0 +1,147 @@ +#!/usr/bin/perl -w +# +# Do-pkg - convert a binary distribution into a Mac OS X PKG and put it +# inside a Disk Image (.dmg) +# +# Use the "--help" option for more info! +# +# written by Lenz Grimmer +# + +use Getopt::Long; + +$opt_help= undef; +$opt_suffix= undef; +$opt_version= undef; + +GetOptions( + "help|h", + "suffix=s", + "version=s", +) || &print_help; + +&print_help if ($opt_help || !$opt_suffix || !$opt_version); + +$PM= "/Developer/Applications/PackageMaker.app/Contents/MacOS/PackageMaker"; +$HOME= $ENV{HOME}; +$TMP= "/tmp/PKGBUILD"; +$PKGROOT= "$TMP/PMROOT"; +$PKGDEST= "$TMP/PKG"; +$RESOURCE_DIR= "$TMP/Resources"; +$SUFFIX= $opt_suffix; +$VERSION= $opt_version; +$NAME= "mysql$SUFFIX-$VERSION"; +chomp($HOST= `hostname`); +$HOST=~ /^([^.-]*)/; +$HOST= $1; +$BUILDDIR= "$HOME/$HOST"; +$SUPFILEDIR= <$BUILDDIR/mysql*-$VERSION/support-files/MacOSX>; +$TAR= <$BUILDDIR/$NAME-apple-darwin*-powerpc.tar.gz>; +$INFO= <$SUPFILEDIR/Info.plist>; +$DESC= <$SUPFILEDIR/Description.plist>; +@RESOURCES= qw/ ReadMe.txt postinstall preinstall /; + +print "TAR: $TAR\nINFO: $INFO\nDESC: $DESC\n"; + +# Creating the UFS disk image requires root privileges +chomp($ID= `whoami`); +die "You must be root to run this script!\nUse \"sudo\" or become root first.\n" if ($ID ne "root"); + +foreach $file ($TAR, $INFO, $DESC) +{ + die "Unable to find $file!\n" if (!-f $file); +} + +# Remove old temporary build directories first +system ("rm -rf $TMP"); +print "Creating temp directories\n"; +foreach $dir ($TMP, $PKGROOT, $PKGDEST, $RESOURCE_DIR) +{ + if (!-d $dir) + { + mkdir $dir; + } +} + +foreach $resfile (@RESOURCES) +{ + system ("cp $SUPFILEDIR/$resfile $RESOURCE_DIR") == 0 or die "Error while copying $SUPFILEDIR/$resfile to $RESOURCE_DIR: ?!"; +} + +# Extract the binary tarball and create the "mysql" symlink +print "Extracting $TAR to $PKGROOT\n"; +system("gnutar zxf $TAR -C $PKGROOT") if (-f $TAR); +system("cd $PKGROOT ; ln -s mysql* ./mysql"); +system("chown -R root.wheel $PKGROOT/*"); + +# Now build the PGK using PackageMaker +print "Running PackageMaker\n"; +system("$PM -build -p $PKGDEST/$NAME.pkg -f $PKGROOT -r $RESOURCE_DIR -i $INFO -d $DESC") or die "Error while building package: $!\n"; + +print "Removing $PKGROOT\n"; +system("rm -rf $PKGROOT"); + +# Determine the size of the Disk image to be created and add a 5% safety +# margin for filesystem overhead +print "Determining required disk image size for $PKGDEST: "; +chomp($_= `du -sk $PKGDEST`); +@size= split(); +$size= int($size[0]+($size[0]*0.05)); +print "$size KB\n"; + +die "Zero bytes? Something is wrong here!\n" if ($size == 0); + +# Now create and mount the disk image +$TMPNAME= $NAME . ".tmp"; +print "Creating temporary Disk image $TMPNAME\n"; +system("hdiutil create $TMPNAME -size ${size}k -ov -fs UFS -volname $NAME"); +print "Result: $!\n"; +print "Attaching Disk image $TMPNAME.dmg\n"; +system("hdid $TMPNAME.dmg"); +print "Result: $!\n"; + +# Install the PKG into the .dmg +chomp($mountpoint=`mount | grep "\/Volumes\/$NAME" | cut -f3 -d" "`); +print "Copying $PKGDEST/$NAME.pkg to Disk image /Volumes/$NAME\n"; +system("ditto $PKGDEST /Volumes/$NAME"); +system("ditto $RESOURCE_DIR/ReadMe.txt /Volumes/$NAME"); +chomp($mountpoint=`mount | grep "\/Volumes\/$NAME" | cut -f1 -d" "`); +die "/Volumes/$NAME not attached!\n" if (!$mountpoint); +print "Unmounting $mountpoint\n"; +system("hdiutil detach $mountpoint"); +print "Result: $!\n"; +unlink ("$NAME.dmg") if (-f "$NAME.dmg"); +print "Compressing disk image\n"; +system("hdiutil convert $TMPNAME.dmg -format UDZO -imagekey zlib-level=9 -o $NAME.dmg"); + +# Final cleanups +print "Removing $TMPNAME.dmg\n"; +unlink ("$TMPNAME.dmg"); +print "Removing $TMP\n"; +system("rm -rf $TMP"); + +print "$NAME.dmg created.\n"; +exit 0; + +sub print_help +{ + print < --version= + +Creates a Mac OS X installation package (PKG) and stores it inside +a Disk Image (.dmg) file. You need to create a binary distribution +tarball with scripts/make_binary_distribution first! + +NOTE: You need to run this script with root privileges (required + to create the disk image) + +Options: + +-h, --help Print this help + --suffix= The package suffix (e.g. "-standard" or "-pro) + --version= The MySQL version number (e.g. 4.0.11-gamma) + +EOF + exit 1; +} diff --git a/Build-tools/logger.pm b/Build-tools/logger.pm new file mode 100644 index 00000000000..f0426ab5e5a --- /dev/null +++ b/Build-tools/logger.pm @@ -0,0 +1,51 @@ +# +# Create a log entry +# +sub logger +{ + my $message=$_[0]; + print timestamp() . " " . $message . "\n" if $opt_verbose; + if (defined $opt_log && !$opt_dry_run) + { + open LOG, ">>$logfile" or die "Can't open logfile $logfile!"; + print LOG timestamp() . " " . $message . "\n"; + close LOG; + } +} + +# Create a time stamp for logging purposes +sub timestamp +{ + return &ymd() . " " . &hms(); +} + +# +# return the current time as a string (HH:MM:SS) +# +sub hms +{ + my @ta= localtime(time()); + my $h= $ta[2]; + $h= "0" . "$h" if ($h <= 9); + my $m= $ta[1]; + $m= "0" . "$m" if ($m <= 9); + my $s= $ta[0]; + $s="0" . "$s" if ($s <= 9); + + return "$h:$m:$s"; +} + +# +# return the current date as a string (YYYYMMDD) +# +sub ymd +{ + my @ta=localtime(time()); + my $d=$ta[3]; + $d="0" . "$d" if ($d <= 9); + my $m=$ta[4]+1; + $m="0" . "$m" if ($m <= 9); + my $y=1900+$ta[5]; + + return "$y$m$d"; +} diff --git a/support-files/MacOSX/Description.plist.sh b/support-files/MacOSX/Description.plist.sh index 4f388235eee..03212dfdeff 100644 --- a/support-files/MacOSX/Description.plist.sh +++ b/support-files/MacOSX/Description.plist.sh @@ -5,7 +5,7 @@ IFPkgDescriptionDeleteWarning IFPkgDescriptionDescription - This package provides a binary installation of MySQL @VERSION@@MYSQL_SERVER_SUFFIX@ for Mac OS X. + MySQL @VERSION@@MYSQL_SERVER_SUFFIX@ for Mac OS X IFPkgDescriptionTitle MySQL @VERSION@@MYSQL_SERVER_SUFFIX@ for Mac OS X IFPkgDescriptionVersion diff --git a/support-files/MacOSX/Makefile.am b/support-files/MacOSX/Makefile.am index 0702d104e7e..d030ff39d84 100644 --- a/support-files/MacOSX/Makefile.am +++ b/support-files/MacOSX/Makefile.am @@ -17,19 +17,34 @@ ## Process this file with automake to create Makefile.in -EXTRA_DIST = Info.plist.sh Description.plist.sh +EXTRA_DIST = Info.plist.sh \ + Description.plist.sh \ + StartupParameters.plist.sh \ + postinstall.sh \ + preinstall.sh \ + ReadMe.txt -pkgdata_DATA = Info.plist Description.plist +pkgdata_DATA = Info.plist \ + Description.plist \ + StartupParameters.plist \ + postinstall \ + preinstall -CLEANFILES = Info.plist Description.plist +CLEANFILES = Info.plist \ + Description.plist \ + StartupParameters.plist \ + postinstall \ + preinstall SUFFIXES = .sh .sh: @RM@ -f $@ $@-t @SED@ \ + -e 's!@''prefix''@!$(prefix)!g' \ -e 's!@''VERSION''@!@VERSION@!' \ -e 's!@''MYSQL_SERVER_SUFFIX''@!@MYSQL_SERVER_SUFFIX@!' \ + -e 's!@''MYSQLD_USER''@!@MYSQLD_USER@!' \ $< > $@-t @MV@ $@-t $@ diff --git a/support-files/MacOSX/ReadMe.txt b/support-files/MacOSX/ReadMe.txt new file mode 100644 index 00000000000..ed2d2b4c714 --- /dev/null +++ b/support-files/MacOSX/ReadMe.txt @@ -0,0 +1,80 @@ +Installation notes for MySQL on Mac OS X + +PLEASE READ! + +For more details about installing and running +MySQL on Mac OS X, also refer to the manual, +which is available online: + +http://www.mysql.com/doc/en/Mac_OS_X_installation.html + +NOTE: Before proceeding with the installation, please +make sure that no other MySQL server is running! + +Please shut down all running MySQL instances before +continuing by either using the MySQL Manager +Application (on Mac OS X Server) or via "mysqladmin +shutdown" on the command line. + +This MySQL package will be installed into +"/usr/local/mysql-" and will also create a +symbolic link "/usr/local/mysql", pointing to the new +location. + +A previously existing /usr/local/mysql directory will +be renamed to /usr/local/mysql.bak before proceeding +with the installation. + +Additionally, it will install the mysql grant tables by +executing "mysql_install_db" after the installation. + +If you are running Mac OS X Server, you already have a +version MySQL installed. Make sure to read Apple's help +about installing MySQL (Run the "Help View" application, +select "Mac OS X Server help", and do a search for MySQL +and read the item entitled "Installing MySQL"). + +If you previously used Marc Liyanage's MySQL packages +for MacOS X from http://www.entropy.ch, you can simply +follow the update instructions given on his pages. + +After the installation (and restoring the old database +files, if necessary), you can start up MySQL by running +the following commands in a terminal window: + + cd /usr/local/mysql + sudo ./bin/mysqld_safe + (Enter your password) + (Press CTRL+Z) + (Press CTRL+D to exit the shell) + bg + +You should now be able to connect to the MySQL server, +e.g. by running /usr/local/mysql/bin/mysql + +If you installed MySQL for the first time, +PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER! +This is done with the following two commands: + +/usr/local/mysql/bin/mysqladmin -u root password 'new-password' + +/usr/local/mysql/bin/mysqladmin -u root -h $hostname password 'new-password' + +Please note, that after upgrading from MySQL 3.23 to +MySQL 4.0 it is recommended to convert the MySQL +privilege tables using the mysql_fix_privilege_tables +script, since some new security privileges have been +added. + +Please see +http://www.mysql.com/doc/en/Upgrading-from-3.23.html +for more information on how to upgrade from MySQL 3.23. + +If you do not want to have to type the full path +"/usr/local/mysql/bin" in front of every command, you +can to add this directory to your PATH environment +variable in your login script. For the default shell +"tcsh", you can do this by running this command once: + +echo 'setenv PATH $PATH:/usr/local/mysql/bin' >> ~/.tcshrc + diff --git a/support-files/MacOSX/StartupParameters.plist.sh b/support-files/MacOSX/StartupParameters.plist.sh new file mode 100644 index 00000000000..f5620c73f5f --- /dev/null +++ b/support-files/MacOSX/StartupParameters.plist.sh @@ -0,0 +1,19 @@ + + + + + Description + MySQL @VERSION@@MYSQL_SERVER_SUFFIX@ + OrderPreference + None + Provides + + MySQL + + Uses + + Network + Resolver + + + diff --git a/support-files/MacOSX/postinstall.sh b/support-files/MacOSX/postinstall.sh new file mode 100644 index 00000000000..957717207cd --- /dev/null +++ b/support-files/MacOSX/postinstall.sh @@ -0,0 +1,18 @@ +#!/bin/sh +# +# postinstall - this script will be executed after the MySQL PKG +# installation has been performed. +# +# This script will install the MySQL privilege tables using the +# "mysql_install_db" script and will correct the ownerships of these files +# afterwards. +# + +cd @prefix@ +if [ ! -f data/mysql/db.frm ] ; then + ./scripts/mysql_install_db +fi + +if [ -d data ] ; then + chown -R @MYSQLD_USER@ data +fi diff --git a/support-files/MacOSX/preinstall.sh b/support-files/MacOSX/preinstall.sh new file mode 100644 index 00000000000..62772573c46 --- /dev/null +++ b/support-files/MacOSX/preinstall.sh @@ -0,0 +1,18 @@ +#!/bin/sh +# +# preinstall - this script will be executed before the MySQL PKG +# installation will be performed. +# +# If this package has been compiled with a prefix ending with "mysql" (e.g. +# /usr/local/mysql or /opt/mysql), it will rename any previosuly existing +# directory with this name before installing the new package (which includes +# a symlink named "mysql", pointing to the newly installed directory, which +# is named mysql-) +# + +PREFIX="@prefix@" +BASENAME=`basename $PREFIX` + +if [ -d $PREFIX -a ! -L $PREFIX -a $BASENAME = "mysql" ] ; then + mv $PREFIX $PREFIX.bak +fi From c2e9867b19bec2e8b012aac91360d27cc55e4a1d Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 19 Feb 2003 21:41:01 +0100 Subject: [PATCH 16/44] - remove "autom4te.cache" directories, too --- BUILD/FINISH.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BUILD/FINISH.sh b/BUILD/FINISH.sh index 2c2b4925c3d..f04b8e9db5e 100644 --- a/BUILD/FINISH.sh +++ b/BUILD/FINISH.sh @@ -11,7 +11,7 @@ done commands="\ $make -k clean || true -/bin/rm -f */.deps/*.P config.cache innobase/config.cache bdb/build_unix/config.cache +/bin/rm -f */.deps/*.P config.cache innobase/config.cache bdb/build_unix/config.cache /bdb/dist/autom4te.cache /autom4te.cache /innobase/autom4te.cache; aclocal || (echo \"Can't execute aclocal\" && exit 1) autoheader || (echo \"Can't execute autoheader\" && exit 1) From 1184164aa5d04f399fe694312981544d0a976450 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 19 Feb 2003 21:52:38 +0100 Subject: [PATCH 17/44] - removed leading slashes (thanks Jim!) --- BUILD/FINISH.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BUILD/FINISH.sh b/BUILD/FINISH.sh index f04b8e9db5e..f7013024fbc 100644 --- a/BUILD/FINISH.sh +++ b/BUILD/FINISH.sh @@ -11,7 +11,7 @@ done commands="\ $make -k clean || true -/bin/rm -f */.deps/*.P config.cache innobase/config.cache bdb/build_unix/config.cache /bdb/dist/autom4te.cache /autom4te.cache /innobase/autom4te.cache; +/bin/rm -f */.deps/*.P config.cache innobase/config.cache bdb/build_unix/config.cache bdb/dist/autom4te.cache autom4te.cache innobase/autom4te.cache; aclocal || (echo \"Can't execute aclocal\" && exit 1) autoheader || (echo \"Can't execute autoheader\" && exit 1) From dda92b4b2859917b1a424397d62bbeeaeb510c4f Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 20 Feb 2003 10:20:26 +0100 Subject: [PATCH 18/44] - autom4te.cache is a directory - remove it recursively --- BUILD/FINISH.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BUILD/FINISH.sh b/BUILD/FINISH.sh index f7013024fbc..32a4efefdfb 100644 --- a/BUILD/FINISH.sh +++ b/BUILD/FINISH.sh @@ -11,7 +11,7 @@ done commands="\ $make -k clean || true -/bin/rm -f */.deps/*.P config.cache innobase/config.cache bdb/build_unix/config.cache bdb/dist/autom4te.cache autom4te.cache innobase/autom4te.cache; +/bin/rm -rf */.deps/*.P config.cache innobase/config.cache bdb/build_unix/config.cache bdb/dist/autom4te.cache autom4te.cache innobase/autom4te.cache; aclocal || (echo \"Can't execute aclocal\" && exit 1) autoheader || (echo \"Can't execute autoheader\" && exit 1) From 857e77a16000116dcd2ce295cc181cddc8d30437 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 20 Feb 2003 15:13:47 +0100 Subject: [PATCH 19/44] - temporarily removed netware from AC_OUTPUT to be able to perform the builds and until I've found a way on how to add this conditionally --- configure.in | 1 - 1 file changed, 1 deletion(-) diff --git a/configure.in b/configure.in index 093abc7e983..f7799c44442 100644 --- a/configure.in +++ b/configure.in @@ -2635,7 +2635,6 @@ AC_OUTPUT(Makefile extra/Makefile mysys/Makefile isam/Makefile dnl include/Makefile sql-bench/Makefile tools/Makefile dnl tests/Makefile Docs/Makefile support-files/Makefile dnl support-files/MacOSX/Makefile mysql-test/Makefile dnl - netware/Makefile dnl include/mysql_version.h dnl , , [ test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h From 86efca41accb104aab8300c3c229b5784487b2a1 Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 21 Feb 2003 17:42:48 +0100 Subject: [PATCH 20/44] - removed +DD64 compile option from the HPUX11 default CFLAGS in configure.in - there are 32bit installations of HPUX11 out there and compiling for these by manually adding +DAportable to CFLAGS did not work. Better add +DD64 manually, if you need it. --- configure.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configure.in b/configure.in index f7799c44442..71639bafd63 100644 --- a/configure.in +++ b/configure.in @@ -987,8 +987,8 @@ case $SYSTEM_TYPE in # Fixes for HPUX 11.0 compiler if test "$ac_cv_prog_gcc" = "no" then - CFLAGS="$CFLAGS +DD64 -DHAVE_BROKEN_INLINE" - CXXFLAGS="$CXXFLAGS +DD64 +O2" + CFLAGS="$CFLAGS -DHAVE_BROKEN_INLINE" + CXXFLAGS="$CXXFLAGS +O2" MAX_C_OPTIMIZE="" MAX_CXX_OPTIMIZE="" fi From 283a8a16f67ad42d74e6e0e44ef84a1f06ec9654 Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 21 Feb 2003 23:11:31 +0200 Subject: [PATCH 21/44] ibuf0ibuf.c: Add diagnostic prints if insert buffer merge is tried to a page whose type is not an index page, try to recover from the situation by discarding the insert buffer records innobase/ibuf/ibuf0ibuf.c: Add diagnostic prints if insert buffer merge is tried to a page whose type is not an index page, try to recover from the situation by discarding the insert buffer records --- innobase/ibuf/ibuf0ibuf.c | 43 +++++++++++++++++++++++++++++++++++++-- 1 file changed, 41 insertions(+), 2 deletions(-) diff --git a/innobase/ibuf/ibuf0ibuf.c b/innobase/ibuf/ibuf0ibuf.c index 2cbffadf6a9..9774ffaf589 100644 --- a/innobase/ibuf/ibuf0ibuf.c +++ b/innobase/ibuf/ibuf0ibuf.c @@ -2483,7 +2483,9 @@ ibuf_merge_or_delete_for_page( ulint old_bits; ulint new_bits; dulint max_trx_id; + ibool corruption_noticed = FALSE; mtr_t mtr; + char err_buf[500]; if (srv_force_recovery >= SRV_FORCE_NO_IBUF_MERGE) { @@ -2535,7 +2537,38 @@ ibuf_merge_or_delete_for_page( block = buf_block_align(page); rw_lock_x_lock_move_ownership(&(block->lock)); - ut_a(fil_page_get_type(page) == FIL_PAGE_INDEX); + if (fil_page_get_type(page) != FIL_PAGE_INDEX) { + + corruption_noticed = TRUE; + + ut_print_timestamp(stderr); + + mtr_start(&mtr); + + fprintf(stderr, +" InnoDB: Dump of the ibuf bitmap page:\n"); + + bitmap_page = ibuf_bitmap_get_map_page(space, page_no, + &mtr); + buf_page_print(bitmap_page); + + mtr_commit(&mtr); + + fprintf(stderr, "\nInnoDB: Dump of the page:\n"); + + buf_page_print(page); + + fprintf(stderr, +"InnoDB: Error: corruption in the tablespace. Bitmap shows insert\n" +"InnoDB: buffer records to page n:o %lu though the page\n" +"InnoDB: type is %lu, which is not an index page!\n" +"InnoDB: We try to resolve the problem by skipping the insert buffer\n" +"InnoDB: merge for this page. Please run CHECK TABLE on your tables\n" +"InnoDB: to determine if they are corrupt after this.\n\n" +"InnoDB: Please make a detailed bug report and send it to\n" +"InnoDB: mysql@lists.mysql.com\n\n", + page_no, fil_page_get_type(page)); + } } n_inserts = 0; @@ -2578,8 +2611,14 @@ loop: goto reset_bit; } + + if (corruption_noticed) { + rec_sprintf(err_buf, 450, ibuf_rec); + + fprintf(stderr, +"InnoDB: Discarding record\n %s\n from the insert buffer!\n\n", err_buf); - if (page) { + } else if (page) { /* Now we have at pcur a record which should be inserted to the index page; NOTE that the call below copies pointers to fields in ibuf_rec, and we must From eec10a01cb9b125d1b3b9115fc00c3db131e1557 Mon Sep 17 00:00:00 2001 From: unknown Date: Sat, 22 Feb 2003 01:07:17 +0100 Subject: [PATCH 22/44] do not allow COLUMN and AFTER/FIRST in ALTER TABLE ... ADD KEY --- sql/sql_yacc.yy | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/sql/sql_yacc.yy b/sql/sql_yacc.yy index 8be025d0423..2f339f30eb4 100644 --- a/sql/sql_yacc.yy +++ b/sql/sql_yacc.yy @@ -580,7 +580,7 @@ bool my_yyoverflow(short **a, YYSTYPE **b,int *yystacksize); show describe load alter optimize flush reset purge begin commit rollback slave master_def master_defs repair restore backup analyze check start - field_list field_list_item field_spec kill + field_list field_list_item field_spec kill column_def key_def select_item_list select_item values_list no_braces limit_clause delete_limit_clause fields opt_values values procedure_list procedure_list2 procedure_item @@ -909,12 +909,20 @@ field_list: field_list_item: + column_def + | key_def + ; + +column_def: field_spec check_constraint | field_spec references { Lex->col_list.empty(); /* Alloced by sql_alloc */ } - | key_type opt_ident '(' key_list ')' + ; + +key_def: + key_type opt_ident '(' key_list ')' { LEX *lex=Lex; lex->key_list.push_back(new Key($1,$2,lex->col_list)); @@ -1205,7 +1213,8 @@ add_column: ADD opt_column { Lex->change=0; }; alter_list_item: - add_column field_list_item opt_place { Lex->simple_alter=0; } + add_column column_def opt_place { Lex->simple_alter=0; } + | ADD key_def { Lex->simple_alter=0; } | add_column '(' field_list ')' { Lex->simple_alter=0; } | CHANGE opt_column field_ident { From 3e4c276693cc8949ccebcae73dcc8c184d90746f Mon Sep 17 00:00:00 2001 From: unknown Date: Sat, 22 Feb 2003 11:44:26 +0100 Subject: [PATCH 23/44] do not accept -R (sort by index) for FULLTEXT indexes --- myisam/myisamchk.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/myisam/myisamchk.c b/myisam/myisamchk.c index 6c541a444b7..08301af506a 100644 --- a/myisam/myisamchk.c +++ b/myisam/myisamchk.c @@ -1402,6 +1402,13 @@ static int mi_sort_records(MI_CHECK *param, param->error_printed=0; DBUG_RETURN(-1); } + if (keyinfo->flag & HA_FULLTEXT) + { + mi_check_print_error(param,"Can't sort table '%s' on FULLTEXT key %d", + name,sort_key+1); + param->error_printed=0; + DBUG_RETURN(-1); + } if (!(param->testflag & T_SILENT)) { printf("- Sorting records for MyISAM-table '%s'\n",name); From 850daeea33e71c82a56907994221af8474f9f651 Mon Sep 17 00:00:00 2001 From: unknown Date: Sat, 22 Feb 2003 15:51:21 +0100 Subject: [PATCH 24/44] make myisamchk -R to work, if the table contains fulltext indexes --- myisam/myisamchk.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/myisam/myisamchk.c b/myisam/myisamchk.c index 08301af506a..ac1d0fbfc4a 100644 --- a/myisam/myisamchk.c +++ b/myisam/myisamchk.c @@ -947,11 +947,11 @@ static int myisamchk(MI_CHECK *param, my_string filename) uint key; /* We can't update the index in mi_sort_records if we have a - prefix compressed index + prefix compressed or fulltext index */ my_bool update_index=1; for (key=0 ; key < share->base.keys; key++) - if (share->keyinfo[key].flag & HA_BINARY_PACK_KEY) + if (share->keyinfo[key].flag & (HA_BINARY_PACK_KEY|HA_FULLTEXT)) update_index=0; error=mi_sort_records(param,info,filename,param->opt_sort_key, From feb8dc9ee5f114c2a4eb7756e92b7c4d9eedbf1c Mon Sep 17 00:00:00 2001 From: unknown Date: Sat, 22 Feb 2003 18:00:34 +0100 Subject: [PATCH 25/44] ALTER TABLE closes all open HANDLER's for the table in question fixed error handling in HANDLER ... READ FIRST sql/sql_handler.cc: fix error handling in HANDLER ... READ FIRST sql/sql_table.cc: ALTER TABLE closes all open HANDLER's for the table in question --- sql/sql_handler.cc | 11 +++++++---- sql/sql_table.cc | 1 + 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/sql/sql_handler.cc b/sql/sql_handler.cc index 12e8c9e227a..a98b6c13a00 100644 --- a/sql/sql_handler.cc +++ b/sql/sql_handler.cc @@ -153,10 +153,13 @@ int mysql_ha_read(THD *thd, TABLE_LIST *tables, { switch(mode) { case RFIRST: - err=keyname ? - table->file->index_first(table->record[0]) : - table->file->rnd_init(1) || - table->file->rnd_next(table->record[0]); + if (keyname) + err=table->file->index_first(table->record[0]); + else + { + if (!(err=table->file->rnd_init(1))) + err=table->file->rnd_next(table->record[0]); + } mode=RNEXT; break; case RLAST: diff --git a/sql/sql_table.cc b/sql/sql_table.cc index 31fcb0be8e3..4c92c35632a 100644 --- a/sql/sql_table.cc +++ b/sql/sql_table.cc @@ -1374,6 +1374,7 @@ int mysql_alter_table(THD *thd,char *new_db, char *new_name, new_db=db; used_fields=create_info->used_fields; + mysql_ha_closeall(thd, table_list); if (!(table=open_ltable(thd,table_list,TL_WRITE_ALLOW_READ))) DBUG_RETURN(-1); From 87ee470db0ef5fd5d1308b49e39b5bf46502bb80 Mon Sep 17 00:00:00 2001 From: unknown Date: Sat, 22 Feb 2003 18:22:39 +0100 Subject: [PATCH 26/44] tests updated --- mysql-test/r/handler.result | 5 ++++- mysql-test/t/handler.test | 8 +++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/mysql-test/r/handler.result b/mysql-test/r/handler.result index 9760719ecf2..3be24305e09 100644 --- a/mysql-test/r/handler.result +++ b/mysql-test/r/handler.result @@ -129,7 +129,6 @@ a b handler t2 read next; a b 18 eee -alter table t1 type=MyISAM; handler t2 read next; a b 19 fff @@ -142,4 +141,8 @@ create table t1 (a int); insert into t1 values (17); handler t2 read first; Unknown table 't2' in HANDLER +handler t1 open as t2; +alter table t1 type=MyISAM; +handler t2 read first; +Unknown table 't2' in HANDLER drop table t1; diff --git a/mysql-test/t/handler.test b/mysql-test/t/handler.test index f5bab7cf337..7020a4ab3d3 100644 --- a/mysql-test/t/handler.test +++ b/mysql-test/t/handler.test @@ -60,15 +60,13 @@ handler t2 read a=(19) where b="yyy"; handler t2 read first; handler t2 read next; -alter table t1 type=MyISAM; handler t2 read next; --error 1064 handler t2 read last; - handler t2 close; # -# DROP TABLE +# DROP TABLE / ALTER TABLE # handler t1 open as t2; drop table t1; @@ -76,5 +74,9 @@ create table t1 (a int); insert into t1 values (17); --error 1109 handler t2 read first; +handler t1 open as t2; +alter table t1 type=MyISAM; +--error 1109 +handler t2 read first; drop table t1; From 0463b01dc8f4afdbb8a0d710975b097b8609eb90 Mon Sep 17 00:00:00 2001 From: unknown Date: Sun, 23 Feb 2003 04:27:03 +0200 Subject: [PATCH 27/44] opt_sum.cc: Correction for min/max optimization of queries with outer joins sql/opt_sum.cc: Correction for min/max optimization of queries with outer joins BitKeeper/etc/logging_ok: Logging to logging@openlogging.org accepted --- BitKeeper/etc/logging_ok | 1 + sql/opt_sum.cc | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/BitKeeper/etc/logging_ok b/BitKeeper/etc/logging_ok index 370f1a1eb8d..70aaa8d2a52 100644 --- a/BitKeeper/etc/logging_ok +++ b/BitKeeper/etc/logging_ok @@ -22,6 +22,7 @@ heikki@hundin.mysql.fi heikki@rescue. heikki@work.mysql.com hf@genie.(none) +igor@hundin.mysql.fi jani@dsl-jkl1657.dial.inet.fi jani@hynda.(none) jani@hynda.mysql.fi diff --git a/sql/opt_sum.cc b/sql/opt_sum.cc index 41771646082..aeaf8beef07 100644 --- a/sql/opt_sum.cc +++ b/sql/opt_sum.cc @@ -70,7 +70,8 @@ int opt_sum_query(TABLE_LIST *tables, List &all_fields,COND *conds) if (tl->table->map & where_tables) return 0; } - used_tables|= tl->table->map; + else + used_tables|= tl->table->map; } /* From b4b2ce0483c4983fb68f223db1e80fb928b2b767 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 24 Feb 2003 11:34:41 +0100 Subject: [PATCH 28/44] - re-added missing reservedwords.texi (disappeared after last merge with 3.23.x) and removed mirrors.texi again --- Docs/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Docs/Makefile.am b/Docs/Makefile.am index 7d1d2ee8cbd..af771a5728d 100644 --- a/Docs/Makefile.am +++ b/Docs/Makefile.am @@ -22,7 +22,7 @@ targets = manual.txt mysql.info manual.html BUILT_SOURCES = $(targets) manual_toc.html include.texi EXTRA_DIST = $(noinst_SCRIPTS) $(BUILT_SOURCES) mysqld_error.txt \ - INSTALL-BINARY mirrors.texi + INSTALL-BINARY reservedwords.texi all: $(targets) txt_files From ad144e30fb62c8337c967ffe8ba2758fb9193d59 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 24 Feb 2003 11:46:07 +0100 Subject: [PATCH 29/44] allow --without-extra-charsets --- configure.in | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/configure.in b/configure.in index 71639bafd63..aea925534c2 100644 --- a/configure.in +++ b/configure.in @@ -2199,7 +2199,9 @@ AC_ARG_WITH(extra-charsets, AC_MSG_CHECKING("character sets") -if test "$extra_charsets" = none; then +if test "$extra_charsets" = no; then + CHARSETS="" +elif test "$extra_charsets" = none; then CHARSETS="" elif test "$extra_charsets" = complex; then CHARSETS=`/bin/ls -1 $srcdir/strings/ctype-*.c | \ From b5679828cf062107c9d6092c1044eef7965bca72 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 24 Feb 2003 16:05:54 +0200 Subject: [PATCH 30/44] ut0mem.c: Print correct OS error number also on Windows if we run out of memory innobase/ut/ut0mem.c: Print correct OS error number also on Windows if we run out of memory --- innobase/ut/ut0mem.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/innobase/ut/ut0mem.c b/innobase/ut/ut0mem.c index 03f15031fdf..d36ee2db953 100644 --- a/innobase/ut/ut0mem.c +++ b/innobase/ut/ut0mem.c @@ -88,7 +88,13 @@ ut_malloc_low( "InnoDB: a big enough maximum process size.\n" "InnoDB: We now intentionally generate a seg fault so that\n" "InnoDB: on Linux we get a stack trace.\n", - n, ut_total_allocated_memory, errno); + n, ut_total_allocated_memory, +#ifdef __WIN__ + (ulint)GetLastError() +#else + (ulint)errno +#endif + ); /* Flush stderr to make more probable that the error message gets in the error file before we generate a seg From ae25006afe279cae888a668e15e31e4763520233 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 24 Feb 2003 16:13:17 +0200 Subject: [PATCH 31/44] ut0mem.c: Correct printf format innobase/ut/ut0mem.c: Correct printf format --- innobase/ut/ut0mem.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/innobase/ut/ut0mem.c b/innobase/ut/ut0mem.c index d36ee2db953..dbd3e7e4737 100644 --- a/innobase/ut/ut0mem.c +++ b/innobase/ut/ut0mem.c @@ -80,7 +80,7 @@ ut_malloc_low( fprintf(stderr, "InnoDB: Fatal error: cannot allocate %lu bytes of\n" "InnoDB: memory with malloc! Total allocated memory\n" - "InnoDB: by InnoDB %lu bytes. Operating system errno: %d\n" + "InnoDB: by InnoDB %lu bytes. Operating system errno: %lu\n" "InnoDB: Cannot continue operation!\n" "InnoDB: Check if you should increase the swap file or\n" "InnoDB: ulimits of your operating system.\n" From c994c661d2ee13f92076370a059a08d9c0bd5e58 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 24 Feb 2003 16:57:54 +0200 Subject: [PATCH 32/44] Applied a patch which fixes a quoting problem with mysql_hot_copy when --checkpoint or --record-log-pos was used. --- scripts/mysqlhotcopy.sh | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/scripts/mysqlhotcopy.sh b/scripts/mysqlhotcopy.sh index 1a694247461..ec76aa479f3 100644 --- a/scripts/mysqlhotcopy.sh +++ b/scripts/mysqlhotcopy.sh @@ -37,7 +37,7 @@ WARNING: THIS PROGRAM IS STILL IN BETA. Comments/patches welcome. # Documentation continued at end of file -my $VERSION = "1.17"; +my $VERSION = "1.18"; my $opt_tmpdir = $ENV{TMPDIR} || "/tmp"; @@ -173,6 +173,7 @@ my $dbh = DBI->connect("dbi:mysql:$dsn;mysql_read_default_group=mysqlhotcopy", # --- check that checkpoint table exists if specified --- if ( $opt{checkpoint} ) { + $opt{checkpoint} = quote_names( $opt{checkpoint} ); eval { $dbh->do( qq{ select time_stamp, src, dest, msg from $opt{checkpoint} where 1 != 1} ); }; @@ -183,6 +184,8 @@ if ( $opt{checkpoint} ) { # --- check that log_pos table exists if specified --- if ( $opt{record_log_pos} ) { + $opt{record_log_pos} = quote_names( $opt{record_log_pos} ); + eval { $dbh->do( qq{ select host, time_stamp, log_file, log_pos, master_host, master_log_file, master_log_pos from $opt{record_log_pos} where 1 != 1} ); }; @@ -309,7 +312,7 @@ foreach my $rdb ( @db_desc ) { $rdb->{files} = [ @db_files ]; $rdb->{index} = [ @index_files ]; - my @hc_tables = map { "`$db`.`$_`" } @dbh_tables; + my @hc_tables = map { quote_names("$db.$_") } @dbh_tables; $rdb->{tables} = [ @hc_tables ]; $rdb->{raid_dirs} = [ get_raid_dirs( $rdb->{files} ) ]; @@ -569,7 +572,7 @@ sub copy_files { my @non_raid = map { "'$_'" } grep { ! m:/\d{2}/[^/]+$: } @$files; # add files to copy and the destination directory - safe_system( @cp, @non_raid, "'$target'" ); + safe_system( @cp, @non_raid, "'$target'" ) if (@non_raid); foreach my $rd ( @$raid_dirs ) { my @raid = map { "'$_'" } grep { m:$rd/: } @$files; @@ -758,6 +761,16 @@ sub get_list_of_tables { return @dbh_tables; } +sub quote_names { + my ( $name ) = @_; + # given a db.table name, add quotes + + my ($db, $table, @cruft) = split( /\./, $name ); + die "Invalid db.table name '$name'" if (@cruft || !defined $db || !defined $table ); + + return "`$db`.`$table`"; +} + __END__ =head1 DESCRIPTION From d28eb772199c67b5c430fb9854f12701b980a2fb Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 24 Feb 2003 21:25:09 +0100 Subject: [PATCH 33/44] test updated --- mysql-test/r/innodb_handler.result | 9 +++++---- mysql-test/t/innodb_handler.test | 12 +++++------- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/mysql-test/r/innodb_handler.result b/mysql-test/r/innodb_handler.result index a55114a0e3d..79ebd96ceaf 100644 --- a/mysql-test/r/innodb_handler.result +++ b/mysql-test/r/innodb_handler.result @@ -129,11 +129,12 @@ a b handler t2 read next; a b 18 eee -alter table t1 type=innodb; -handler t2 read next; +handler t2 close; +handler t1 open as t2; +handler t2 read first; a b -19 fff +17 ddd +alter table t1 type=innodb; handler t2 read last; You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 -handler t2 close; drop table if exists t1; diff --git a/mysql-test/t/innodb_handler.test b/mysql-test/t/innodb_handler.test index 6b85be9c7ab..0af822334fa 100644 --- a/mysql-test/t/innodb_handler.test +++ b/mysql-test/t/innodb_handler.test @@ -62,15 +62,13 @@ handler t2 read a=(19) where b="yyy"; handler t2 read first; handler t2 read next; -# -# We alter the table even if it's still in use by to test the Innodb -# delayed-drop code. This will generate a warning in the master.err log. -# +handler t2 close; + +handler t1 open as t2; +handler t2 read first; alter table t1 type=innodb; -handler t2 read next; ---error 1064 +--error 1109 handler t2 read last; -handler t2 close; drop table if exists t1; From cf417ede6545259ba2dccbe7e1e18f86afeb22c8 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 25 Feb 2003 11:05:07 +0200 Subject: [PATCH 34/44] Indentation cleanup --- sql/sql_analyse.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sql/sql_analyse.h b/sql/sql_analyse.h index c826b69e53c..faf79508f60 100644 --- a/sql/sql_analyse.h +++ b/sql/sql_analyse.h @@ -294,8 +294,10 @@ public: ~analyse() { if (f_info) + { for (field_info **f=f_info; f != f_end; f++) delete (*f); + } } virtual void add() {} virtual bool change_columns(List &fields); From 0d3b0c3950151bfc18703f319c44ad20e99728b7 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 25 Feb 2003 13:41:08 +0200 Subject: [PATCH 35/44] Fixed "syntax" errors in text message files. Ensured that all errors messages ends with: ", sql/share/czech/errmsg.txt: Fixed new line terminations sql/share/danish/errmsg.txt: Fixed "syntax" errors. sql/share/dutch/errmsg.txt: Fixed "syntax" errors. sql/share/english/errmsg.txt: Fixed "syntax" errors. sql/share/estonian/errmsg.txt: Fixed "syntax" errors. sql/share/french/errmsg.txt: Fixed "syntax" errors. sql/share/german/errmsg.txt: Fixed "syntax" errors. sql/share/greek/errmsg.txt: Fixed "syntax" errors. sql/share/hungarian/errmsg.txt: Fixed "syntax" errors. sql/share/italian/errmsg.txt: Fixed "syntax" errors. sql/share/japanese/errmsg.txt: Fixed "syntax" errors. sql/share/korean/errmsg.txt: Fixed "syntax" errors. sql/share/norwegian-ny/errmsg.txt: Fixed "syntax" errors. sql/share/norwegian/errmsg.txt: Fixed "syntax" errors. sql/share/polish/errmsg.txt: Fixed "syntax" errors. sql/share/portuguese/errmsg.txt: Fixed "syntax" errors. sql/share/romanian/errmsg.txt: Fixed "syntax" errors. sql/share/russian/errmsg.txt: Fixed "syntax" errors. sql/share/slovak/errmsg.txt: Fixed "syntax" errors. sql/share/spanish/errmsg.txt: Fixed "syntax" errors. sql/share/swedish/errmsg.txt: Fixed "syntax" errors. sql/share/ukrainian/errmsg.txt: Fixed "syntax" errors. --- sql/share/czech/errmsg.txt | 380 +++++++++++++++--------------- sql/share/danish/errmsg.txt | 8 +- sql/share/dutch/errmsg.txt | 6 +- sql/share/english/errmsg.txt | 4 +- sql/share/estonian/errmsg.txt | 4 +- sql/share/french/errmsg.txt | 8 +- sql/share/german/errmsg.txt | 6 +- sql/share/greek/errmsg.txt | 4 +- sql/share/hungarian/errmsg.txt | 6 +- sql/share/italian/errmsg.txt | 6 +- sql/share/japanese/errmsg.txt | 4 +- sql/share/korean/errmsg.txt | 6 +- sql/share/norwegian-ny/errmsg.txt | 8 +- sql/share/norwegian/errmsg.txt | 8 +- sql/share/polish/errmsg.txt | 10 +- sql/share/portuguese/errmsg.txt | 2 +- sql/share/romanian/errmsg.txt | 2 +- sql/share/russian/errmsg.txt | 6 +- sql/share/slovak/errmsg.txt | 6 +- sql/share/spanish/errmsg.txt | 6 +- sql/share/swedish/errmsg.txt | 14 +- sql/share/ukrainian/errmsg.txt | 2 +- 22 files changed, 253 insertions(+), 253 deletions(-) diff --git a/sql/share/czech/errmsg.txt b/sql/share/czech/errmsg.txt index 093954c202b..27825baa031 100644 --- a/sql/share/czech/errmsg.txt +++ b/sql/share/czech/errmsg.txt @@ -1,7 +1,7 @@ /* - Modifikoval Petr -B©najdr, snajdr@pvt.net, snajdr@cpress.cz v.0.01 -A + Modifikoval Petr -B©najdr, snajdr@pvt.net, snajdr@cpress.cz v.0.01 ISO LATIN-8852-2 - Dal-B¹í verze Jan Pazdziora, adelton@fi.muni.cz-A + Dal-B¹í verze Jan Pazdziora, adelton@fi.muni.cz Tue Nov 18 17:53:55 MET 1997 Tue Dec 2 19:08:54 MET 1997 podle 3.21.15c Thu May 7 17:40:49 MET DST 1998 podle 3.21.29 @@ -14,200 +14,200 @@ "isamchk", "NE", "ANO", -"Nemohu vytvo-Bøit soubor '%-.64s' (chybový kód: %d)",-A -"Nemohu vytvo-Bøit tabulku '%-.64s' (chybový kód: %d)",-A -"Nemohu vytvo-Bøit databázi '%-.64s', chyba %d",-A -"Nemohu vytvo-Bøit databázi '%-.64s', databáze ji¾ existuje",-A -"Nemohu zru-B¹it databázi '%-.64s', databáze neexistuje",-A -"Chyba p-Bøi ru¹ení databáze (nemohu vymazat '%-.64s', chyba %d)",-A -"Chyba p-Bøi ru¹ení databáze (nemohu vymazat adresáø '%-.64s', chyba %d)",-A -"Chyba p-Bøi výmazu '%-.64s' (chybový kód: %d)",-A -"Nemohu -Bèíst záznam v systémové tabulce",-A -"Nemohu z-Bískat stav '%-.64s' (chybový kód: %d)",-A -"Chyba p-Bøi zji¹»ování pracovní adresáø (chybový kód: %d)",-A -"Nemohu uzamknout soubor (chybov-Bý kód: %d)",-A -"Nemohu otev-Bøít soubor '%-.64s' (chybový kód: %d)",-A -"Nemohu naj-Bít soubor '%-.64s' (chybový kód: %d)",-A -"Nemohu -Bèíst adresáø '%-.64s' (chybový kód: %d)",-A -"Nemohu zm-Bìnit adresáø na '%-.64s' (chybový kód: %d)",-A -"Z-Báznam byl zmìnìn od posledního ètení v tabulce '%-.64s'",-A -"Disk je pln-Bý (%s), èekám na uvolnìní nìjakého místa ...",-A -"Nemohu zapsat, zdvojen-Bý klíè v tabulce '%-.64s'",-A -"Chyba p-Bøi zavírání '%-.64s' (chybový kód: %d)",-A -"Chyba p-Bøi ètení souboru '%-.64s' (chybový kód: %d)",-A -"Chyba p-Bøi pøejmenování '%-.64s' na '%-.64s' (chybový kód: %d)",-A -"Chyba p-Bøi zápisu do souboru '%-.64s' (chybový kód: %d)",-A -"'%-.64s' je zam-Bèen proti zmìnám",-A -"T-Bøídìní pøeru¹eno",-A +"Nemohu vytvo-Bøit soubor '%-.64s' (chybový kód: %d)", +"Nemohu vytvo-Bøit tabulku '%-.64s' (chybový kód: %d)", +"Nemohu vytvo-Bøit databázi '%-.64s', chyba %d", +"Nemohu vytvo-Bøit databázi '%-.64s', databáze ji¾ existuje", +"Nemohu zru-B¹it databázi '%-.64s', databáze neexistuje", +"Chyba p-Bøi ru¹ení databáze (nemohu vymazat '%-.64s', chyba %d)", +"Chyba p-Bøi ru¹ení databáze (nemohu vymazat adresáø '%-.64s', chyba %d)", +"Chyba p-Bøi výmazu '%-.64s' (chybový kód: %d)", +"Nemohu -Bèíst záznam v systémové tabulce", +"Nemohu z-Bískat stav '%-.64s' (chybový kód: %d)", +"Chyba p-Bøi zji¹»ování pracovní adresáø (chybový kód: %d)", +"Nemohu uzamknout soubor (chybov-Bý kód: %d)", +"Nemohu otev-Bøít soubor '%-.64s' (chybový kód: %d)", +"Nemohu naj-Bít soubor '%-.64s' (chybový kód: %d)", +"Nemohu -Bèíst adresáø '%-.64s' (chybový kód: %d)", +"Nemohu zm-Bìnit adresáø na '%-.64s' (chybový kód: %d)", +"Z-Báznam byl zmìnìn od posledního ètení v tabulce '%-.64s'", +"Disk je pln-Bý (%s), èekám na uvolnìní nìjakého místa ...", +"Nemohu zapsat, zdvojen-Bý klíè v tabulce '%-.64s'", +"Chyba p-Bøi zavírání '%-.64s' (chybový kód: %d)", +"Chyba p-Bøi ètení souboru '%-.64s' (chybový kód: %d)", +"Chyba p-Bøi pøejmenování '%-.64s' na '%-.64s' (chybový kód: %d)", +"Chyba p-Bøi zápisu do souboru '%-.64s' (chybový kód: %d)", +"'%-.64s' je zam-Bèen proti zmìnám", +"T-Bøídìní pøeru¹eno", "Pohled '%-.64s' pro '%-.64s' neexistuje", -"Obsluha tabulky vr-Bátila chybu %d",-A -"Obsluha tabulky '%-.64s' nem-Bá tento parametr",-A -"Nemohu naj-Bít záznam v '%-.64s'",-A -"Nespr-Bávná informace v souboru '%-.64s'",-A -"Nespr-Bávný klíè pro tabulku '%-.64s'. Pokuste se ho opravit",-A -"Star-Bý klíèový soubor pro '%-.64s'. Opravte ho.",-A -"'%-.64s' je jen pro -Bètení",-A -"M-Bálo pamìti. Pøestartujte daemona a zkuste znovu (je potøeba %d bytù)",-A -"M-Bálo pamìti pro tøídìní. Zvy¹te velikost tøídícího bufferu",-A -"Neo-Bèekávaný konec souboru pøi ètení '%-.64s' (chybový kód: %d)",-A -"P-Bøíli¹ mnoho spojení",-A -"M-Bálo prostoru/pamìti pro thread",-A -"Nemohu zjistit jm-Béno stroje pro Va¹i adresu",-A -"Chyba p-Bøi ustavování spojení",-A -"P-Bøístup pro u¾ivatele '%-.32s@%-.64s' k databázi '%-.64s' není povolen",-A -"P-Bøístup pro u¾ivatele '%-.32s@%-.64s' (s heslem %s)",-A -"Nebyla vybr-Bána ¾ádná databáze",-A -"Nezn-Bámý pøíkaz",-A -"Sloupec '%-.64s' nem-Bù¾e být null",-A -"Nezn-Bámá databáze '%-.64s'",-A -"Tabulka '%-.64s' ji-B¾ existuje",-A -"Nezn-Bámá tabulka '%-.64s'",-A -"Sloupec '%-.64s' v %s nen-Bí zcela jasný",-A -"Prob-Bíhá ukonèování práce serveru",-A -"Nezn-Bámý sloupec '%-.64s' v %s",-A -"Pou-B¾ité '%-.64s' nebylo v group by",-A -"Nemohu pou-B¾ít group na '%-.64s'",-A -"P-Bøíkaz obsahuje zároveò funkci sum a sloupce",-A -"Po-Bèet sloupcù neodpovídá zadané hodnotì",-A -"Jm-Béno identifikátoru '%-.64s' je pøíli¹ dlouhé",-A -"Zdvojen-Bé jméno sloupce '%-.64s'",-A -"Zdvojen-Bé jméno klíèe '%-.64s'",-A -"Zvojen-Bý klíè '%-.64s' (èíslo klíèe %d)",-A -"Chybn-Bá specifikace sloupce '%-.64s'",-A -"%s bl-Bízko '%-.64s' na øádku %d",-A -"V-Býsledek dotazu je prázdný",-A -"Nejednozna-Bèná tabulka/alias: '%-.64s'",-A -"Chybn-Bá defaultní hodnota pro '%-.64s'",-A -"Definov-Báno více primárních klíèù",-A -"Zad-Báno pøíli¹ mnoho klíèù, je povoleno nejvíce %d klíèù",-A -"Zad-Báno pøíli¹ mnoho èást klíèù, je povoleno nejvíce %d èástí",-A -"Zadan-Bý klíè byl pøíli¹ dlouhý, nejvìt¹í délka klíèe je %d",-A -"Kl-Bíèový sloupec '%-.64s' v tabulce neexistuje",-A -"Blob sloupec '%-.64s' nem-Bù¾e být pou¾it jako klíè",-A -"P-Bøíli¹ velká délka sloupce '%-.64s' (nejvíce %d). Pou¾ijte BLOB",-A -"M-Bù¾ete mít pouze jedno AUTO pole a to musí být definováno jako klíè",-A -"%s: p-Bøipraven na spojení\n",-A -"%s: norm-Bální ukonèení\n",-A -"%s: p-Bøijat signal %d, konèím\n",-A -"%s: ukon-Bèení práce hotovo\n",-A -"%s: n-Básilné uzavøení threadu %ld u¾ivatele '%-.64s'\n",-A -"Nemohu vytvo-Bøit IP socket",-A -"Tabulka '%-.64s' nem-Bá index odpovídající CREATE INDEX. Vytvoøte tabulku znovu",-A -"Argument separ-Bátoru polo¾ek nebyl oèekáván. Pøeètìte si manuál",-A -"Nen-Bí mo¾né pou¾ít pevný rowlength s BLOBem. Pou¾ijte 'fields terminated by'.",-A -"Soubor '%-.64s' mus-Bí být v adresáøi databáze nebo èitelný pro v¹echny",-A -"Soubor '%-.64s' ji-B¾ existuje",-A -"Z-Báznamù: %ld Vymazáno: %ld Pøeskoèeno: %ld Varování: %ld",-A -"Z-Báznamù: %ld Zdvojených: %ld",-A -"Chybn-Bá podèást klíèe -- není to øetìzec nebo je del¹í ne¾ délka èásti klíèe",-A -"Nen-Bí mo¾né vymazat v¹echny polo¾ky s ALTER TABLE. Pou¾ijte DROP TABLE",-A -"Nemohu zru-B¹it '%-.64s' (provést DROP). Zkontrolujte, zda neexistují záznamy/klíèe",-A -"Z-Báznamù: %ld Zdvojených: %ld Varování: %ld",-A -"INSERT TABLE '%-.64s' nen-Bí dovoleno v seznamu tabulek FROM",-A -"Nezn-Bámá identifikace threadu: %lu",-A -"Nejste vlastn-Bíkem threadu %lu",-A -"Nejsou pou-B¾ity ¾ádné tabulky",-A -"P-Bøíli¹ mnoho øetìzcù pro sloupec %s a SET",-A -"Nemohu vytvo-Bøit jednoznaèné jméno logovacího souboru %s.(1-999)\n",-A -"Tabulka '%-.64s' byla zam-Bèena s READ a nemù¾e být zmìnìna",-A -"Tabulka '%-.64s' nebyla zam-Bèena s LOCK TABLES",-A -"Blob polo-B¾ka '%-.64s' nemù¾e mít defaultní hodnotu",-A -"Nep-Bøípustné jméno databáze '%-.64s'",-A -"Nep-Bøípustné jméno tabulky '%-.64s'",-A -"Zadan-Bý SELECT by procházel pøíli¹ mnoho záznamù a trval velmi dlouho. Zkontrolujte tvar WHERE a je-li SELECT v poøádku, pou¾ijte SET OPTION SQL_BIG_SELECTS=1",-A -"Nezn-Bámá chyba",-A -"Nezn-Bámá procedura %s",-A -"Chybn-Bý poèet parametrù procedury %s",-A -"Chybn-Bé parametry procedury %s",-A -"Nezn-Bámá tabulka '%-.64s' v %s",-A -"Polo-B¾ka '%-.64s' je zadána dvakrát",-A -"Nespr-Bávné pou¾ití funkce group",-A -"Tabulka '%-.64s' pou-B¾ívá roz¹íøení, které v této verzi MySQL není",-A -"Tabulka mus-Bí mít alespoò jeden sloupec",-A -"Tabulka '%-.64s' je pln-Bá",-A -"Nezn-Bámá znaková sada: '%-.64s'",-A -"P-Bøíli¹ mnoho tabulek, MySQL jich mù¾e mít v joinu jen %d",-A -"P-Bøíli¹ mnoho polo¾ek",-A -"-BØádek je pøíli¹ velký. Maximální velikost øádku, nepoèítaje polo¾ky blob, je %d. Musíte zmìnit nìkteré polo¾ky na blob",-A -"P-Bøeteèení zásobníku threadu: pou¾ito %ld z %ld. Pou¾ijte 'mysqld -O thread_stack=#' k zadání vìt¹ího zásobníku",-A -"V OUTER JOIN byl nalezen k-Bøí¾ový odkaz. Provìøte ON podmínky",-A -"Sloupec '%-.32s' je pou-B¾it s UNIQUE nebo INDEX, ale není definován jako NOT NULL",-A -"Nemohu na-Bèíst funkci '%-.64s'",-A +"Obsluha tabulky vr-Bátila chybu %d", +"Obsluha tabulky '%-.64s' nem-Bá tento parametr", +"Nemohu naj-Bít záznam v '%-.64s'", +"Nespr-Bávná informace v souboru '%-.64s'", +"Nespr-Bávný klíè pro tabulku '%-.64s'. Pokuste se ho opravit", +"Star-Bý klíèový soubor pro '%-.64s'. Opravte ho.", +"'%-.64s' je jen pro -Bètení", +"M-Bálo pamìti. Pøestartujte daemona a zkuste znovu (je potøeba %d bytù)", +"M-Bálo pamìti pro tøídìní. Zvy¹te velikost tøídícího bufferu", +"Neo-Bèekávaný konec souboru pøi ètení '%-.64s' (chybový kód: %d)", +"P-Bøíli¹ mnoho spojení", +"M-Bálo prostoru/pamìti pro thread", +"Nemohu zjistit jm-Béno stroje pro Va¹i adresu", +"Chyba p-Bøi ustavování spojení", +"P-Bøístup pro u¾ivatele '%-.32s@%-.64s' k databázi '%-.64s' není povolen", +"P-Bøístup pro u¾ivatele '%-.32s@%-.64s' (s heslem %s)", +"Nebyla vybr-Bána ¾ádná databáze", +"Nezn-Bámý pøíkaz", +"Sloupec '%-.64s' nem-Bù¾e být null", +"Nezn-Bámá databáze '%-.64s'", +"Tabulka '%-.64s' ji-B¾ existuje", +"Nezn-Bámá tabulka '%-.64s'", +"Sloupec '%-.64s' v %s nen-Bí zcela jasný", +"Prob-Bíhá ukonèování práce serveru", +"Nezn-Bámý sloupec '%-.64s' v %s", +"Pou-B¾ité '%-.64s' nebylo v group by", +"Nemohu pou-B¾ít group na '%-.64s'", +"P-Bøíkaz obsahuje zároveò funkci sum a sloupce", +"Po-Bèet sloupcù neodpovídá zadané hodnotì", +"Jm-Béno identifikátoru '%-.64s' je pøíli¹ dlouhé", +"Zdvojen-Bé jméno sloupce '%-.64s'", +"Zdvojen-Bé jméno klíèe '%-.64s'", +"Zvojen-Bý klíè '%-.64s' (èíslo klíèe %d)", +"Chybn-Bá specifikace sloupce '%-.64s'", +"%s bl-Bízko '%-.64s' na øádku %d", +"V-Býsledek dotazu je prázdný", +"Nejednozna-Bèná tabulka/alias: '%-.64s'", +"Chybn-Bá defaultní hodnota pro '%-.64s'", +"Definov-Báno více primárních klíèù", +"Zad-Báno pøíli¹ mnoho klíèù, je povoleno nejvíce %d klíèù", +"Zad-Báno pøíli¹ mnoho èást klíèù, je povoleno nejvíce %d èástí", +"Zadan-Bý klíè byl pøíli¹ dlouhý, nejvìt¹í délka klíèe je %d", +"Kl-Bíèový sloupec '%-.64s' v tabulce neexistuje", +"Blob sloupec '%-.64s' nem-Bù¾e být pou¾it jako klíè", +"P-Bøíli¹ velká délka sloupce '%-.64s' (nejvíce %d). Pou¾ijte BLOB", +"M-Bù¾ete mít pouze jedno AUTO pole a to musí být definováno jako klíè", +"%s: p-Bøipraven na spojení\n", +"%s: norm-Bální ukonèení\n", +"%s: p-Bøijat signal %d, konèím\n", +"%s: ukon-Bèení práce hotovo\n", +"%s: n-Básilné uzavøení threadu %ld u¾ivatele '%-.64s'\n", +"Nemohu vytvo-Bøit IP socket", +"Tabulka '%-.64s' nem-Bá index odpovídající CREATE INDEX. Vytvoøte tabulku znovu", +"Argument separ-Bátoru polo¾ek nebyl oèekáván. Pøeètìte si manuál", +"Nen-Bí mo¾né pou¾ít pevný rowlength s BLOBem. Pou¾ijte 'fields terminated by'.", +"Soubor '%-.64s' mus-Bí být v adresáøi databáze nebo èitelný pro v¹echny", +"Soubor '%-.64s' ji-B¾ existuje", +"Z-Báznamù: %ld Vymazáno: %ld Pøeskoèeno: %ld Varování: %ld", +"Z-Báznamù: %ld Zdvojených: %ld", +"Chybn-Bá podèást klíèe -- není to øetìzec nebo je del¹í ne¾ délka èásti klíèe", +"Nen-Bí mo¾né vymazat v¹echny polo¾ky s ALTER TABLE. Pou¾ijte DROP TABLE", +"Nemohu zru-B¹it '%-.64s' (provést DROP). Zkontrolujte, zda neexistují záznamy/klíèe", +"Z-Báznamù: %ld Zdvojených: %ld Varování: %ld", +"INSERT TABLE '%-.64s' nen-Bí dovoleno v seznamu tabulek FROM", +"Nezn-Bámá identifikace threadu: %lu", +"Nejste vlastn-Bíkem threadu %lu", +"Nejsou pou-B¾ity ¾ádné tabulky", +"P-Bøíli¹ mnoho øetìzcù pro sloupec %s a SET", +"Nemohu vytvo-Bøit jednoznaèné jméno logovacího souboru %s.(1-999)\n", +"Tabulka '%-.64s' byla zam-Bèena s READ a nemù¾e být zmìnìna", +"Tabulka '%-.64s' nebyla zam-Bèena s LOCK TABLES", +"Blob polo-B¾ka '%-.64s' nemù¾e mít defaultní hodnotu", +"Nep-Bøípustné jméno databáze '%-.64s'", +"Nep-Bøípustné jméno tabulky '%-.64s'", +"Zadan-Bý SELECT by procházel pøíli¹ mnoho záznamù a trval velmi dlouho. Zkontrolujte tvar WHERE a je-li SELECT v poøádku, pou¾ijte SET OPTION SQL_BIG_SELECTS=1", +"Nezn-Bámá chyba", +"Nezn-Bámá procedura %s", +"Chybn-Bý poèet parametrù procedury %s", +"Chybn-Bé parametry procedury %s", +"Nezn-Bámá tabulka '%-.64s' v %s", +"Polo-B¾ka '%-.64s' je zadána dvakrát", +"Nespr-Bávné pou¾ití funkce group", +"Tabulka '%-.64s' pou-B¾ívá roz¹íøení, které v této verzi MySQL není", +"Tabulka mus-Bí mít alespoò jeden sloupec", +"Tabulka '%-.64s' je pln-Bá", +"Nezn-Bámá znaková sada: '%-.64s'", +"P-Bøíli¹ mnoho tabulek, MySQL jich mù¾e mít v joinu jen %d", +"P-Bøíli¹ mnoho polo¾ek", +"-BØádek je pøíli¹ velký. Maximální velikost øádku, nepoèítaje polo¾ky blob, je %d. Musíte zmìnit nìkteré polo¾ky na blob", +"P-Bøeteèení zásobníku threadu: pou¾ito %ld z %ld. Pou¾ijte 'mysqld -O thread_stack=#' k zadání vìt¹ího zásobníku", +"V OUTER JOIN byl nalezen k-Bøí¾ový odkaz. Provìøte ON podmínky", +"Sloupec '%-.32s' je pou-B¾it s UNIQUE nebo INDEX, ale není definován jako NOT NULL", +"Nemohu na-Bèíst funkci '%-.64s'", "Nemohu inicializovat funkci '%-.64s'; %-.80s", -"Pro sd-Bílenou knihovnu nejsou povoleny cesty",-A -"Funkce '%-.64s' ji-B¾ existuje",-A -"Nemohu otev-Bøít sdílenou knihovnu '%-.64s' (errno: %d %s)",-A -"Nemohu naj-Bít funkci '%-.64s' v knihovnì'",-A -"Funkce '%-.64s' nen-Bí definována",-A -"Stroj '%-.64s' je zablokov-Bán kvùli mnoha chybám pøi pøipojování. Odblokujete pou¾itím 'mysqladmin flush-hosts'",-A -"Stroj '%-.64s' nem-Bá povoleno se k tomuto MySQL serveru pøipojit",-A -"Pou-B¾íváte MySQL jako anonymní u¾ivatel a anonymní u¾ivatelé nemají povoleno mìnit hesla",-A -"Na zm-Bìnu hesel ostatním musíte mít právo provést update tabulek v databázi mysql",-A -"V tabulce user nen-Bí ¾ádný odpovídající øádek",-A -"Nalezen-Bých øádkù: %ld Zmìnìno: %ld Varování: %ld",-A -"Nemohu vytvo-Bøit nový thread (errno %d). Pokud je je¹tì nìjaká volná pamì», podívejte se do manuálu na èást o chybách specifických pro jednotlivé operaèní systémy",-A -"Po-Bèet sloupcù neodpovídá poètu hodnot na øádku %ld",-A -"Nemohu znovuotev-Bøít tabulku: '%-.64s',-A -"Neplatn-Bé u¾ití hodnoty NULL",-A -"Regul-Bární výraz vrátil chybu '%-.64s'",-A -"Pokud nen-Bí ¾ádná GROUP BY klauzule, není dovoleno souèasné pou¾ití GROUP polo¾ek (MIN(),MAX(),COUNT()...) s ne GROUP polo¾kami",-A -"Neexistuje odpov-Bídající grant pro u¾ivatele '%-.32s' na stroji '%-.64s'",-A -"%-.16s p-Bøíkaz nepøístupný pro u¾ivatele: '%-.32s@%-.64s' pro tabulku '%-.64s'",-A -"%-.16s p-Bøíkaz nepøístupný pro u¾ivatele: '%-.32s@%-.64s' pro sloupec '%-.64s' v tabulce '%-.64s'",-A -"Neplatn-Bý pøíkaz GRANT/REVOKE. Prosím, pøeètìte si v manuálu, jaká privilegia je mo¾né pou¾ít.",-A -"Argument p-Bøíkazu GRANT u¾ivatel nebo stroj je pøíli¹ dlouhý",-A +"Pro sd-Bílenou knihovnu nejsou povoleny cesty", +"Funkce '%-.64s' ji-B¾ existuje", +"Nemohu otev-Bøít sdílenou knihovnu '%-.64s' (errno: %d %s)", +"Nemohu naj-Bít funkci '%-.64s' v knihovnì'", +"Funkce '%-.64s' nen-Bí definována", +"Stroj '%-.64s' je zablokov-Bán kvùli mnoha chybám pøi pøipojování. Odblokujete pou¾itím 'mysqladmin flush-hosts'", +"Stroj '%-.64s' nem-Bá povoleno se k tomuto MySQL serveru pøipojit", +"Pou-B¾íváte MySQL jako anonymní u¾ivatel a anonymní u¾ivatelé nemají povoleno mìnit hesla", +"Na zm-Bìnu hesel ostatním musíte mít právo provést update tabulek v databázi mysql", +"V tabulce user nen-Bí ¾ádný odpovídající øádek", +"Nalezen-Bých øádkù: %ld Zmìnìno: %ld Varování: %ld", +"Nemohu vytvo-Bøit nový thread (errno %d). Pokud je je¹tì nìjaká volná pamì», podívejte se do manuálu na èást o chybách specifických pro jednotlivé operaèní systémy", +"Po-Bèet sloupcù neodpovídá poètu hodnot na øádku %ld", +"Nemohu znovuotev-Bøít tabulku: '%-.64s", +"Neplatn-Bé u¾ití hodnoty NULL", +"Regul-Bární výraz vrátil chybu '%-.64s'", +"Pokud nen-Bí ¾ádná GROUP BY klauzule, není dovoleno souèasné pou¾ití GROUP polo¾ek (MIN(),MAX(),COUNT()...) s ne GROUP polo¾kami", +"Neexistuje odpov-Bídající grant pro u¾ivatele '%-.32s' na stroji '%-.64s'", +"%-.16s p-Bøíkaz nepøístupný pro u¾ivatele: '%-.32s@%-.64s' pro tabulku '%-.64s'", +"%-.16s p-Bøíkaz nepøístupný pro u¾ivatele: '%-.32s@%-.64s' pro sloupec '%-.64s' v tabulce '%-.64s'", +"Neplatn-Bý pøíkaz GRANT/REVOKE. Prosím, pøeètìte si v manuálu, jaká privilegia je mo¾né pou¾ít.", +"Argument p-Bøíkazu GRANT u¾ivatel nebo stroj je pøíli¹ dlouhý", "Tabulka '%-64s.%s' neexistuje", -"Neexistuje odpov-Bídající grant pro u¾ivatele '%-.32s' na stroji '%-.64s' pro tabulku '%-.64s'",-A -"Pou-B¾itý pøíkaz není v této verzi MySQL povolen",-A -"Va-B¹e syntaxe je nìjaká divná",-A -"Zpo-B¾dìný insert threadu nebyl schopen získat po¾adovaný zámek pro tabulku %-.64s",-A -"P-Bøíli¹ mnoho zpo¾dìných threadù",-A -"Zru-B¹eno spojení %ld do databáze: '%-.64s' u¾ivatel: '%-.64s' (%s)",-A -"Zji-B¹tìn pøíchozí packet del¹í ne¾ 'max_allowed_packet'",-A -"Zji-B¹tìna chyba pøi ètení z roury spojení",-A -"Zji-B¹tìna chyba fcntl()",-A -"P-Bøíchozí packety v chybném poøadí",-A -"Nemohu rozkomprimovat komunika-Bèní packet",-A -"Zji-B¹tìna chyba pøi ètení komunikaèního packetu",-A -"Zji-B¹tìn timeout pøi ètení komunikaèního packetu",-A -"Zji-B¹tìna chyba pøi zápisu komunikaèního packetu",-A -"Zji-B¹tìn timeout pøi zápisu komunikaèního packetu",-A -"V-Býsledný øetìzec je del¹í ne¾ max_allowed_packet",-A -"Typ pou-B¾ité tabulky nepodporuje BLOB/TEXT sloupce",-A -"Typ pou-B¾ité tabulky nepodporuje AUTO_INCREMENT sloupce",-A -"INSERT DELAYED nen-Bí mo¾no s tabulkou '%-.64s' pou¾ít, proto¾e je zamèená pomocí LOCK TABLES",-A -"Nespr-Bávné jméno sloupce '%-.100s'",-A -"Handler pou-B¾ité tabulky neumí indexovat sloupce '%-.64s'",-A -"V-B¹echny tabulky v MERGE tabulce nejsou definovány stejnì",-A -"Kv-Bùli unique constraintu nemozu zapsat do tabulky '%-.64s'",-A -"BLOB sloupec '%-.64s' je pou-B¾it ve specifikaci klíèe bez délky",-A -"V-B¹echny èásti primárního klíèe musejí být NOT NULL; pokud potøebujete NULL, pou¾ijte UNIQUE",-A -"V-Býsledek obsahuje více ne¾ jeden øádek",-A -"Tento typ tabulky vy-B¾aduje primární klíè",-A -"Tato verze MySQL nen-Bí zkompilována s podporou RAID",-A -"Update tabulky bez WHERE s kl-Bíèem není v módu bezpeèných update dovoleno",-A -"Kl-Bíè '%-.64s' v tabulce '%-.64s' neexistuje",-A -"Nemohu otev-Bøít tabulku",-A +"Neexistuje odpov-Bídající grant pro u¾ivatele '%-.32s' na stroji '%-.64s' pro tabulku '%-.64s'", +"Pou-B¾itý pøíkaz není v této verzi MySQL povolen", +"Va-B¹e syntaxe je nìjaká divná", +"Zpo-B¾dìný insert threadu nebyl schopen získat po¾adovaný zámek pro tabulku %-.64s", +"P-Bøíli¹ mnoho zpo¾dìných threadù", +"Zru-B¹eno spojení %ld do databáze: '%-.64s' u¾ivatel: '%-.64s' (%s)", +"Zji-B¹tìn pøíchozí packet del¹í ne¾ 'max_allowed_packet'", +"Zji-B¹tìna chyba pøi ètení z roury spojení", +"Zji-B¹tìna chyba fcntl()", +"P-Bøíchozí packety v chybném poøadí", +"Nemohu rozkomprimovat komunika-Bèní packet", +"Zji-B¹tìna chyba pøi ètení komunikaèního packetu", +"Zji-B¹tìn timeout pøi ètení komunikaèního packetu", +"Zji-B¹tìna chyba pøi zápisu komunikaèního packetu", +"Zji-B¹tìn timeout pøi zápisu komunikaèního packetu", +"V-Býsledný øetìzec je del¹í ne¾ max_allowed_packet", +"Typ pou-B¾ité tabulky nepodporuje BLOB/TEXT sloupce", +"Typ pou-B¾ité tabulky nepodporuje AUTO_INCREMENT sloupce", +"INSERT DELAYED nen-Bí mo¾no s tabulkou '%-.64s' pou¾ít, proto¾e je zamèená pomocí LOCK TABLES", +"Nespr-Bávné jméno sloupce '%-.100s'", +"Handler pou-B¾ité tabulky neumí indexovat sloupce '%-.64s'", +"V-B¹echny tabulky v MERGE tabulce nejsou definovány stejnì", +"Kv-Bùli unique constraintu nemozu zapsat do tabulky '%-.64s'", +"BLOB sloupec '%-.64s' je pou-B¾it ve specifikaci klíèe bez délky", +"V-B¹echny èásti primárního klíèe musejí být NOT NULL; pokud potøebujete NULL, pou¾ijte UNIQUE", +"V-Býsledek obsahuje více ne¾ jeden øádek", +"Tento typ tabulky vy-B¾aduje primární klíè", +"Tato verze MySQL nen-Bí zkompilována s podporou RAID", +"Update tabulky bez WHERE s kl-Bíèem není v módu bezpeèných update dovoleno", +"Kl-Bíè '%-.64s' v tabulce '%-.64s' neexistuje", +"Nemohu otev-Bøít tabulku", "Handler tabulky nepodporuje check/repair", -"Proveden-Bí tohoto pøíkazu není v transakci dovoleno",-A -"Chyba %d p-Bøi COMMIT",-A -"Chyba %d p-Bøi ROLLBACK",-A -"Chyba %d p-Bøi FLUSH_LOGS",-A -"Chyba %d p-Bøi CHECKPOINT",-A -"Spojen-Bí %ld do databáze: '%-.64s' u¾ivatel: '%-.32s' stroj: `%-.64s' (%-.64s) bylo pøeru¹eno",-A -"Handler tabulky nepodporuje bin-Bární dump",-A -"Binlog uzav-Bøen pøi pokusu o FLUSH MASTER",-A -"P-Bøebudování indexu dumpnuté tabulky '%-.64s' nebylo úspì¹né",-A +"Proveden-Bí tohoto pøíkazu není v transakci dovoleno", +"Chyba %d p-Bøi COMMIT", +"Chyba %d p-Bøi ROLLBACK", +"Chyba %d p-Bøi FLUSH_LOGS", +"Chyba %d p-Bøi CHECKPOINT", +"Spojen-Bí %ld do databáze: '%-.64s' u¾ivatel: '%-.32s' stroj: `%-.64s' (%-.64s) bylo pøeru¹eno", +"Handler tabulky nepodporuje bin-Bární dump", +"Binlog uzav-Bøen pøi pokusu o FLUSH MASTER", +"P-Bøebudování indexu dumpnuté tabulky '%-.64s' nebylo úspì¹né", "Chyba masteru: '%-.64s'", -"S-Bí»ová chyba pøi ètení z masteru",-A -"S-Bí»ová chyba pøi zápisu na master",-A -"-B®ádný sloupec nemá vytvoøen fulltextový index",-A -"Nemohu prov-Bést zadaný pøíkaz, proto¾e existují aktivní zamèené tabulky nebo aktivní transakce",-A -"Nezn-Bámá systémová promìnná '%-.64s'",-A -"Tabulka '%-.64s' je ozna-Bèena jako poru¹ená a mìla by být opravena",-A -"Tabulka '%-.64s' je ozna-Bèena jako poru¹ená a poslední (automatická?) oprava se nezdaøila",-A +"S-Bí»ová chyba pøi ètení z masteru", +"S-Bí»ová chyba pøi zápisu na master", +"-B®ádný sloupec nemá vytvoøen fulltextový index", +"Nemohu prov-Bést zadaný pøíkaz, proto¾e existují aktivní zamèené tabulky nebo aktivní transakce", +"Nezn-Bámá systémová promìnná '%-.64s'", +"Tabulka '%-.64s' je ozna-Bèena jako poru¹ená a mìla by být opravena", +"Tabulka '%-.64s' je ozna-Bèena jako poru¹ená a poslední (automatická?) oprava se nezdaøila", "Warning: Some non-transactional changed tables couldn't be rolled back", -"Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again', +"Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again", "This operation cannot be performed with a running slave, run SLAVE STOP first", "This operation requires a running slave, configure slave and do SLAVE START", "The server is not configured as slave, fix in config file or with CHANGE MASTER TO", diff --git a/sql/share/danish/errmsg.txt b/sql/share/danish/errmsg.txt index 6ee6e23a18e..fcf39f9b3ce 100644 --- a/sql/share/danish/errmsg.txt +++ b/sql/share/danish/errmsg.txt @@ -108,7 +108,7 @@ "BLOB feltet '%-.64s' kan ikke have en standard værdi", "Ugyldigt database navn '%-.64s'", "Ugyldigt tabel navn '%-.64s'", -"SELECT ville undersøge for mange poster og ville sandsynligvis tage meget lang tid. Undersøg WHERE delen og brug SET OPTION SQL_BIG_SELECTS=1 hvis udtrykket er korrekt" +"SELECT ville undersøge for mange poster og ville sandsynligvis tage meget lang tid. Undersøg WHERE delen og brug SET OPTION SQL_BIG_SELECTS=1 hvis udtrykket er korrekt", "Ukendt fejl", "Ukendt procedure %s", "Forkert antal parametre til proceduren %s", @@ -141,7 +141,7 @@ "Poster fundet: %ld Ændret: %ld Advarsler: %ld", "Kan ikke danne en ny tråd (fejl nr. %d). Hvis computeren ikke er løbet tør for hukommelse, kan du se i brugervejledningen for en mulig operativ-system - afhængig fejl", "Kolonne antallet stemmer ikke overens med antallet af værdier i post %ld", -"Kan ikke genåbne tabel '%-.64s', +"Kan ikke genåbne tabel '%-.64s", "Forkert brug af nulværdi (NULL)", "Fik fejl '%-.64s' fra regexp", "Sammenblanding af GROUP kolonner (MIN(),MAX(),COUNT()...) uden GROUP kolonner er ikke tilladt, hvis der ikke er noget GROUP BY prædikat", @@ -162,7 +162,7 @@ "Fik fejlmeddelelse fra fcntl()", "Modtog ikke datapakker i korrekt rækkefølge", "Kunne ikke dekomprimere kommunikations-pakke (communication packet)", -"Fik fejlmeddelelse ved læsning af kommunikations-pakker (communication packets)" +"Fik fejlmeddelelse ved læsning af kommunikations-pakker (communication packets)", "Timeout-fejl ved læsning af kommunukations-pakker (communication packets)", "Fik fejlmeddelelse ved skrivning af kommunukations-pakker (communication packets)", "Timeout-fejl ved skrivning af kommunukations-pakker (communication packets)", @@ -201,7 +201,7 @@ "Tabellen '%-.64s' er markeret med fejl og bør repareres", "Tabellen '%-.64s' er markeret med fejl og sidste (automatiske?) REPAIR fejlede", "Advarsel: Visse data i tabeller der ikke understøtter transaktioner kunne ikke tilbagestilles", -"Fler-udtryks transaktion krævede mere plads en 'max_binlog_cache_size' bytes. Forhøj værdien af denne variabel og prøv igen', +"Fler-udtryks transaktion krævede mere plads en 'max_binlog_cache_size' bytes. Forhøj værdien af denne variabel og prøv igen", "Denne handling kunne ikke udføres med kørende slave, brug først kommandoen SLAVE STOP", "Denne handling kræver en kørende slave. Konfigurer en slave og brug kommandoen SLAVE START", "Denne server er ikke konfigureret som slave. Ret in config-filen eller brug kommandoen CHANGE MASTER TO", diff --git a/sql/share/dutch/errmsg.txt b/sql/share/dutch/errmsg.txt index b857eb3104d..79768450cae 100644 --- a/sql/share/dutch/errmsg.txt +++ b/sql/share/dutch/errmsg.txt @@ -144,7 +144,7 @@ "Passende rijen: %ld Gewijzigd: %ld Waarschuwingen: %ld", "Kan geen nieuwe thread aanmaken (Errcode: %d). Indien er geen tekort aan geheugen is kunt u de handleiding consulteren over een mogelijke OS afhankelijke fout", "Kolom aantal komt niet overeen met waarde aantal in rij %ld", -"Kan tabel niet opnieuw openen: '%-.64s', +"Kan tabel niet opnieuw openen: '%-.64s", "Foutief gebruik van de NULL waarde", "Fout '%-.64s' ontvangen van regexp", "Het mixen van GROUP kolommen (MIN(),MAX(),COUNT()...) met no-GROUP kolommen is foutief indien er geen GROUP BY clausule is", @@ -165,7 +165,7 @@ "Kreeg fout van fcntl()", "Pakketten in verkeerde volgorde ontvangen", "Communicatiepakket kon niet worden gedecomprimeerd", -"Fout bij het lezen van communicatiepakketten" +"Fout bij het lezen van communicatiepakketten", "Timeout bij het lezen van communicatiepakketten", "Got an error writing communication packets", "Got timeout writing communication packets", @@ -204,7 +204,7 @@ "Tabel '%-.64s' staat als gecrashed gemarkeerd en dient te worden gerepareerd", "Tabel '%-.64s' staat als gecrashed gemarkeerd en de laatste (automatische?) reparatie poging mislukte", "Waarschuwing: Roll back mislukt voor sommige buiten transacties gewijzigde tabellen", -"Multi-statement transactie vereist meer dan 'max_binlog_cache_size' bytes opslag. Verhoog deze mysqld variabele en probeer opnieuw', +"Multi-statement transactie vereist meer dan 'max_binlog_cache_size' bytes opslag. Verhoog deze mysqld variabele en probeer opnieuw", "Deze operatie kan niet worden uitgevoerd met een actieve slave, doe eerst SLAVE STOP", "Deze operatie vereist een actieve slave, configureer slave en doe dan SLAVE START", "De server is niet geconfigureerd als slave, fix in configuratie bestand of met CHANGE MASTER TO", diff --git a/sql/share/english/errmsg.txt b/sql/share/english/errmsg.txt index b67c1e1a0df..b30ac87b5b6 100644 --- a/sql/share/english/errmsg.txt +++ b/sql/share/english/errmsg.txt @@ -166,7 +166,7 @@ "Result string is longer than max_allowed_packet", "The used table type doesn't support BLOB/TEXT columns", "The used table type doesn't support AUTO_INCREMENT columns", -"INSERT DELAYED can't be used with table '%-.64s', because it is locked with LOCK TABLES", +"INSERT DELAYED can't be used with table '%-.64s' because it is locked with LOCK TABLES", "Incorrect column name '%-.100s'", "The used table handler can't index column '%-.64s'", "All tables in the MERGE table are not identically defined", @@ -198,7 +198,7 @@ "Table '%-.64s' is marked as crashed and should be repaired", "Table '%-.64s' is marked as crashed and last (automatic?) repair failed", "Warning: Some non-transactional changed tables couldn't be rolled back", -"Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again', +"Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again", "This operation cannot be performed with a running slave, run SLAVE STOP first", "This operation requires a running slave, configure slave and do SLAVE START", "The server is not configured as slave, fix in config file or with CHANGE MASTER TO", diff --git a/sql/share/estonian/errmsg.txt b/sql/share/estonian/errmsg.txt index d57f6871e12..88cded9e19b 100644 --- a/sql/share/estonian/errmsg.txt +++ b/sql/share/estonian/errmsg.txt @@ -142,7 +142,7 @@ "Sobinud kirjed: %ld Muudetud: %ld Hoiatusi: %ld", "Ei saa luua threadi (vea kood %d). Kui mälu pole otsas, tasub operatsioonisüsteemi spetsiifilist viga", "Tulpade arv ei vasta väärtuste hulgale reas %ld", -"Ei saa avada tabelit: '%-.64s', +"Ei saa avada tabelit: '%-.64s", "NULL väärtuse väärkasutus", "Viga '%-.64s' regexp-i käest", "GROUP tulpade segamine (MIN(),MAX(),COUNT()...) on väär kui ei kasutata GROUP BY klauslit", @@ -202,7 +202,7 @@ "Tabel '%-.64s' on märgitud vigaseks ja tuleb parandada", "Tabel '%-.64s' on märgitud vigaseks ja viimane (automaatne?) parandamiskatse ebaõnnestus", "Warning: Some non-transactional changed tables couldn't be rolled back", -"Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again', +"Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again", "This operation cannot be performed with a running slave, run SLAVE STOP first", "This operation requires a running slave, configure slave and do SLAVE START", "The server is not configured as slave, fix in config file or with CHANGE MASTER TO", diff --git a/sql/share/french/errmsg.txt b/sql/share/french/errmsg.txt index 07b88e1356e..594fcf900b4 100644 --- a/sql/share/french/errmsg.txt +++ b/sql/share/french/errmsg.txt @@ -122,7 +122,7 @@ "Ligne trop grande. Le taille maximale d'une ligne, sauf les BLOBs, est %d. Changez le type de quelques colonnes en BLOB", "Débordement de la pile des tâches (Thread stack). Utilisées: %ld pour une pile de %ld. Essayez 'mysqld -O thread_stack=#' pour indiquer une plus grande valeur", "Dépendance croisée dans une clause OUTER JOIN. Vérifiez la condition ON", -"La colonne '%-.32s' fait partie d'un index UNIQUE ou INDEX mais n'est pas définie comme NOT NULL" +"La colonne '%-.32s' fait partie d'un index UNIQUE ou INDEX mais n'est pas définie comme NOT NULL", "Imposible de charger la fonction '%-.64s'", "Impossible d'initialiser la fonction '%-.64s'; %-.80s", "Chemin interdit pour les bibliothèques partagées", @@ -138,7 +138,7 @@ "Enregistrements correspondants: %ld Modifiés: %ld Warnings: %ld", "Impossible de créer une nouvelle tâche (errno %d). S'il reste de la mémoire libre, consultez le manual pour trouver un éventuel bug dépendant de l'OS", "Column count doesn't match value count at row %ld", -"Impossible de réouvrir la table: '%-.64s', +"Impossible de réouvrir la table: '%-.64s", "Utilisation incorrecte de la valeur NULL", "Erreur '%-.64s' provenant de regexp", "Mélanger les colonnes GROUP (MIN(),MAX(),COUNT()...) avec des colonnes normales est interdit s'il n'y a pas de clause GROUP BY", @@ -159,7 +159,7 @@ "Erreur reçue de fcntl() ", "Paquets reçus dans le désordre", "Impossible de décompresser le paquet reçu", -"Erreur de lecture des paquets reçus" +"Erreur de lecture des paquets reçus", "Timeout en lecture des paquets reçus", "Erreur d'écriture des paquets envoyés", "Timeout d'écriture des paquets envoyés", @@ -198,7 +198,7 @@ "La table '%-.64s' est marquée 'crashed' et devrait être réparée", "La table '%-.64s' est marquée 'crashed' et le dernier 'repair' a échoué", "Attention: certaines tables ne supportant pas les transactions ont été changées et elles ne pourront pas être restituées", -"Cette transaction à commandes multiples nécessite plus de 'max_binlog_cache_size' octets de stockage, augmentez cette variable de mysqld et réessayez', +"Cette transaction à commandes multiples nécessite plus de 'max_binlog_cache_size' octets de stockage, augmentez cette variable de mysqld et réessayez", "Cette opération ne peut être réalisée avec un esclave actif, faites SLAVE STOP d'abord", "Cette opération nécessite un esclave actif, configurez les esclaves et faites SLAVE START", "Le server n'est pas configuré comme un esclave, changez le fichier de configuration ou utilisez CHANGE MASTER TO", diff --git a/sql/share/german/errmsg.txt b/sql/share/german/errmsg.txt index fe76c757d11..4171b9b476e 100644 --- a/sql/share/german/errmsg.txt +++ b/sql/share/german/errmsg.txt @@ -39,7 +39,7 @@ "Kann Datensatz nicht finden.", "Falsche Information in Datei: '%-.64s'", "Falsche Schlüssel-Datei für Tabelle '%-.64s'. Versuche zu reparieren!", -"Alte Schlüssel-Datei für Tabelle '%-.64s'. Repariere! +"Alte Schlüssel-Datei für Tabelle '%-.64s'. Repariere!", "'%-.64s' ist nur lesbar.", "Kein Speicher (benötigt %d bytes). Server neu starten.", "Kein Speicher zum Sortieren. Server Sortier-Buffer erhöhen.", @@ -162,7 +162,7 @@ "Fehler von fcntl()", "Empfangenes Paket ist nicht in Reihenfolge", "Communikation-Packet läßt sich nicht entpacken", -"Fehler beim Lesen eines Communication-Packets" +"Fehler beim Lesen eines Communication-Packets", "Timeout beim Lesen eines Communication-Packets", "Fehler beim Schreiben eines Communication-Packets", "Timeout beim Schreiben eines Communication-Packets", @@ -201,7 +201,7 @@ "Tabelle '%-.64s' ist als defekt makiert und sollte repariert werden", "Tabelle '%-.64s' ist als defekt makiert und der letzte (automatische) Reparaturversuch schlug fehl.", "Warnung: Das Rollback konnte bei einigen Tabellen, die nicht mittels Transaktionen geändert wurden, nicht ausgeführt werden.", -"Multi-Statement Transaktionen benötigen mehr als 'max_binlog_cache_size' Bytes An Speicher. Diese mysqld-Variabel vergrössern und nochmal versuchen.', +"Multi-Statement Transaktionen benötigen mehr als 'max_binlog_cache_size' Bytes An Speicher. Diese mysqld-Variabel vergrössern und nochmal versuchen.", "Diese Operation kann nicht bei einem aktiven Slave durchgeführt werden. Das Kommand SLAVE STOP muss zuerst ausgeführt werden.", "Diese Operationbenötigt einen aktiven Slave. Slave konfigurieren und mittels SLAVE START aktivieren.", "Der Server ist nicht als Slave konfigiriert. Im Konfigurations-File oder mittel CHANGE MASTER TO beheben.", diff --git a/sql/share/greek/errmsg.txt b/sql/share/greek/errmsg.txt index b491b0ef1f9..bc9e42c7690 100644 --- a/sql/share/greek/errmsg.txt +++ b/sql/share/greek/errmsg.txt @@ -159,7 +159,7 @@ "Got an error from fcntl()", "Got packets out of order", "Couldn't uncompress communication packet", -"Got an error reading communication packets" +"Got an error reading communication packets", "Got timeout reading communication packets", "Got an error writing communication packets", "Got timeout writing communication packets", @@ -198,7 +198,7 @@ "Table '%-.64s' is marked as crashed and should be repaired", "Table '%-.64s' is marked as crashed and last (automatic?) repair failed", "Warning: Some non-transactional changed tables couldn't be rolled back", -"Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again', +"Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again", "This operation cannot be performed with a running slave, run SLAVE STOP first", "This operation requires a running slave, configure slave and do SLAVE START", "The server is not configured as slave, fix in config file or with CHANGE MASTER TO", diff --git a/sql/share/hungarian/errmsg.txt b/sql/share/hungarian/errmsg.txt index fc6a9ba0643..29b75030d22 100644 --- a/sql/share/hungarian/errmsg.txt +++ b/sql/share/hungarian/errmsg.txt @@ -140,7 +140,7 @@ "Megegyezo sorok szama: %ld Valtozott: %ld Warnings: %ld", "Uj thread letrehozasa nem lehetseges (Hibakod: %d). Amenyiben van meg szabad memoria, olvassa el a kezikonyv operacios rendszerfuggo hibalehetosegekrol szolo reszet", "Az oszlopban talalhato ertek nem egyezik meg a %ld sorban szamitott ertekkel", -"Nem lehet ujra-megnyitni a tablat: '%-.64s', +"Nem lehet ujra-megnyitni a tablat: '%-.64s", "A NULL ervenytelen hasznalata", "'%-.64s' hiba a regularis kifejezes hasznalata soran (regexp)", "A GROUP mezok (MIN(),MAX(),COUNT()...) kevert hasznalata nem lehetseges GROUP BY hivatkozas nelkul", @@ -161,7 +161,7 @@ "Hiba a fcntl() fuggvenyben", "Helytelen sorrendben erkezett adatcsomagok", "A kommunikacios adatcsomagok nem tomorithetok ki", -"HIba a kommunikacios adatcsomagok olvasasa soran" +"HIba a kommunikacios adatcsomagok olvasasa soran", "Idotullepes a kommunikacios adatcsomagok olvasasa soran", "Hiba a kommunikacios csomagok irasa soran", "Idotullepes a kommunikacios csomagok irasa soran", @@ -200,7 +200,7 @@ "Table '%-.64s' is marked as crashed and should be repaired", "Table '%-.64s' is marked as crashed and last (automatic?) repair failed", "Warning: Some non-transactional changed tables couldn't be rolled back", -"Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again', +"Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again", "This operation cannot be performed with a running slave, run SLAVE STOP first", "This operation requires a running slave, configure slave and do SLAVE START", "The server is not configured as slave, fix in config file or with CHANGE MASTER TO", diff --git a/sql/share/italian/errmsg.txt b/sql/share/italian/errmsg.txt index 4b434573390..6d0c7bcdc73 100644 --- a/sql/share/italian/errmsg.txt +++ b/sql/share/italian/errmsg.txt @@ -29,7 +29,7 @@ "Errore durante la rinominazione da '%-.64s' a '%-.64s' (errno: %d)", "Errore durante la scrittura del file '%-.64s' (errno: %d)", "'%-.64s' e` soggetto a lock contro i cambiamenti", -"Operazione di ordinamento abbandonata" , +"Operazione di ordinamento abbandonata", "La view '%-.64s' non esiste per '%-.64s'", "Rilevato l'errore %d dal gestore delle tabelle", "Il gestore delle tabelle per '%-.64s' non ha questa opzione", @@ -84,7 +84,7 @@ "%s: Forzata la chiusura del thread %ld utente: '%-.64s'\n", "Impossibile creare il socket IP", "La tabella '%-.64s' non ha nessun indice come quello specificatato dalla CREATE INDEX. Ricrea la tabella", -"L'argomento 'Field separator' non e` quello atteso. Controlla il manuale"," +"L'argomento 'Field separator' non e` quello atteso. Controlla il manuale", "Non possono essere usate righe a lunghezza fissa con i BLOB. Usa 'FIELDS TERMINATED BY'.", "Il file '%-.64s' deve essere nella directory del database e deve essere leggibile da tutti", "Il file '%-.64s' esiste gia`", @@ -198,7 +198,7 @@ "La tabella '%-.64s' e` segnalata come corrotta e deve essere riparata", "La tabella '%-.64s' e` segnalata come corrotta e l'ultima ricostruzione (automatica?) e` fallita", "Attenzione: Alcune delle modifiche alle tabelle non transazionali non possono essere ripristinate (roll back impossibile)", -"La transazione a comandi multipli (multi-statement) ha richiesto piu` di 'max_binlog_cache_size' bytes di disco: aumentare questa variabile di mysqld e riprovare', +"La transazione a comandi multipli (multi-statement) ha richiesto piu` di 'max_binlog_cache_size' bytes di disco: aumentare questa variabile di mysqld e riprovare", "Questa operazione non puo' essere eseguita con un database 'slave' che gira, lanciare prima SLAVE STOP", "Questa operaione richiede un database 'slave', configurarlo ed eseguire SLAVE START", "Il server non e' configurato come 'slave', correggere il file di configurazione cambiando CHANGE MASTER TO", diff --git a/sql/share/japanese/errmsg.txt b/sql/share/japanese/errmsg.txt index dc2299e4336..4b091bc20ba 100644 --- a/sql/share/japanese/errmsg.txt +++ b/sql/share/japanese/errmsg.txt @@ -161,7 +161,7 @@ "Got an error from fcntl()", "Got packets out of order", "Couldn't uncompress communication packet", -"Got an error reading communication packets" +"Got an error reading communication packets", "Got timeout reading communication packets", "Got an error writing communication packets", "Got timeout writing communication packets", @@ -200,7 +200,7 @@ "Table '%-.64s' is marked as crashed and should be repaired", "Table '%-.64s' is marked as crashed and last (automatic?) repair failed", "Warning: Some non-transactional changed tables couldn't be rolled back", -"Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again', +"Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again", "This operation cannot be performed with a running slave, run SLAVE STOP first", "This operation requires a running slave, configure slave and do SLAVE START", "The server is not configured as slave, fix in config file or with CHANGE MASTER TO", diff --git a/sql/share/korean/errmsg.txt b/sql/share/korean/errmsg.txt index 79bf767a3c8..871d67ff21e 100644 --- a/sql/share/korean/errmsg.txt +++ b/sql/share/korean/errmsg.txt @@ -138,7 +138,7 @@ "ÀÏÄ¡ÇÏ´Â Rows : %ld°³ º¯°æµÊ: %ld°³ °æ°í: %ld°³", "»õ·Î¿î ¾²·¹µå¸¦ ¸¸µé ¼ö ¾ø½À´Ï´Ù.(¿¡·¯¹øÈ£ %d). ¸¸¾à ¿©À¯¸Þ¸ð¸®°¡ ÀÖ´Ù¸é OS-dependent¹ö±× ÀÇ ¸Þ´º¾ó ºÎºÐÀ» ã¾Æº¸½Ã¿À.", "Row %ld¿¡¼­ Ä®·³ Ä«¿îÆ®¿Í value Ä«¿îÅÍ¿Í ÀÏÄ¡ÇÏÁö ¾Ê½À´Ï´Ù.", -"Å×À̺íÀ» ´Ù½Ã ¿­¼ö ¾ø±º¿ä: '%-.64s', +"Å×À̺íÀ» ´Ù½Ã ¿­¼ö ¾ø±º¿ä: '%-.64s", "NULL °ªÀ» À߸ø »ç¿ëÇϼ̱º¿ä...", "regexp¿¡¼­ '%-.64s'°¡ ³µ½À´Ï´Ù.", "Mixing of GROUP Ä®·³s (MIN(),MAX(),COUNT()...) with no GROUP Ä®·³s is illegal if there is no GROUP BY clause", @@ -159,7 +159,7 @@ "fcntl() ÇÔ¼ö·ÎºÎÅÍ ¿¡·¯°¡ ¹ß»ýÇÏ¿´½À´Ï´Ù.", "¼ø¼­°¡ ¸ÂÁö¾Ê´Â ÆÐŶÀ» ¹Þ¾Ò½À´Ï´Ù.", "Åë½Å ÆÐŶÀÇ ¾ÐÃàÇØÁ¦¸¦ ÇÒ ¼ö ¾ø¾ú½À´Ï´Ù.", -"Åë½Å ÆÐŶÀ» Àд Áß ¿À·ù°¡ ¹ß»ýÇÏ¿´½À´Ï´Ù." +"Åë½Å ÆÐŶÀ» Àд Áß ¿À·ù°¡ ¹ß»ýÇÏ¿´½À´Ï´Ù.", "Åë½Å ÆÐŶÀ» Àд Áß timeoutÀÌ ¹ß»ýÇÏ¿´½À´Ï´Ù.", "Åë½Å ÆÐŶÀ» ±â·ÏÇÏ´Â Áß ¿À·ù°¡ ¹ß»ýÇÏ¿´½À´Ï´Ù.", "Åë½Å ÆÐÆÂÀ» ±â·ÏÇÏ´Â Áß timeoutÀÌ ¹ß»ýÇÏ¿´½À´Ï´Ù.", @@ -198,7 +198,7 @@ "Table '%-.64s' is marked as crashed and should be repaired", "Table '%-.64s' is marked as crashed and last (automatic?) repair failed", "Warning: Some non-transactional changed tables couldn't be rolled back", -"Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again', +"Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again", "This operation cannot be performed with a running slave, run SLAVE STOP first", "This operation requires a running slave, configure slave and do SLAVE START", "The server is not configured as slave, fix in config file or with CHANGE MASTER TO", diff --git a/sql/share/norwegian-ny/errmsg.txt b/sql/share/norwegian-ny/errmsg.txt index a583a541b71..6b42418c917 100644 --- a/sql/share/norwegian-ny/errmsg.txt +++ b/sql/share/norwegian-ny/errmsg.txt @@ -107,7 +107,7 @@ "Blob feltet '%-.64s' kan ikkje ha ein standard verdi", "Ugyldig database namn '%-.64s'", "Ugyldig tabell namn '%-.64s'", -"SELECT ville undersøkje for mange postar og ville sannsynligvis ta veldig lang tid. Undersøk WHERE klausulen og bruk SET OPTION SQL_BIG_SELECTS=1 om SELECTen er korrekt" +"SELECT ville undersøkje for mange postar og ville sannsynligvis ta veldig lang tid. Undersøk WHERE klausulen og bruk SET OPTION SQL_BIG_SELECTS=1 om SELECTen er korrekt", "Ukjend feil", "Ukjend prosedyre %s", "Feil parameter tal til prosedyra %s", @@ -140,7 +140,7 @@ "Rows matched: %ld Changed: %ld Warnings: %ld", "Can't create a new thread (errno %d). If you are not out of available memory you can consult the manual for any possible OS dependent bug", "Column count doesn't match value count at row %ld", -"Can't reopen table: '%-.64s', +"Can't reopen table: '%-.64s", "Invalid use of NULL value", "Got error '%-.64s' from regexp", "Mixing of GROUP columns (MIN(),MAX(),COUNT()...) with no GROUP columns is illegal if there is no GROUP BY clause", @@ -161,7 +161,7 @@ "Got an error from fcntl()", "Got packets out of order", "Couldn't uncompress communication packet", -"Got an error reading communication packets" +"Got an error reading communication packets", "Got timeout reading communication packets", "Got an error writing communication packets", "Got timeout writing communication packets", @@ -200,7 +200,7 @@ "Table '%-.64s' is marked as crashed and should be repaired", "Table '%-.64s' is marked as crashed and last (automatic?) repair failed", "Warning: Some non-transactional changed tables couldn't be rolled back", -"Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again', +"Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again", "This operation cannot be performed with a running slave, run SLAVE STOP first", "This operation requires a running slave, configure slave and do SLAVE START", "The server is not configured as slave, fix in config file or with CHANGE MASTER TO", diff --git a/sql/share/norwegian/errmsg.txt b/sql/share/norwegian/errmsg.txt index 85fa1f04f63..0e9ead25986 100644 --- a/sql/share/norwegian/errmsg.txt +++ b/sql/share/norwegian/errmsg.txt @@ -107,7 +107,7 @@ "Blob feltet '%-.64s' kan ikke ha en standard verdi", "Ugyldig database navn '%-.64s'", "Ugyldig tabell navn '%-.64s'", -"SELECT ville undersøke for mange poster og ville sannsynligvis ta veldig lang tid. Undersøk WHERE klausulen og bruk SET OPTION SQL_BIG_SELECTS=1 om SELECTen er korrekt" +"SELECT ville undersøke for mange poster og ville sannsynligvis ta veldig lang tid. Undersøk WHERE klausulen og bruk SET OPTION SQL_BIG_SELECTS=1 om SELECTen er korrekt", "Ukjent feil", "Ukjent prosedyre %s", "Feil parameter antall til prosedyren %s", @@ -140,7 +140,7 @@ "Rows matched: %ld Changed: %ld Warnings: %ld", "Can't create a new thread (errno %d). If you are not out of available memory you can consult the manual for any possible OS dependent bug", "Column count doesn't match value count at row %ld", -"Can't reopen table: '%-.64s', +"Can't reopen table: '%-.64s", "Invalid use of NULL value", "Got error '%-.64s' from regexp", "Mixing of GROUP columns (MIN(),MAX(),COUNT()...) with no GROUP columns is illegal if there is no GROUP BY clause", @@ -161,7 +161,7 @@ "Got an error from fcntl()", "Got packets out of order", "Couldn't uncompress communication packet", -"Got an error reading communication packets" +"Got an error reading communication packets", "Got timeout reading communication packets", "Got an error writing communication packets", "Got timeout writing communication packets", @@ -200,7 +200,7 @@ "Table '%-.64s' is marked as crashed and should be repaired", "Table '%-.64s' is marked as crashed and last (automatic?) repair failed", "Warning: Some non-transactional changed tables couldn't be rolled back", -"Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again', +"Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again", "This operation cannot be performed with a running slave, run SLAVE STOP first", "This operation requires a running slave, configure slave and do SLAVE START", "The server is not configured as slave, fix in config file or with CHANGE MASTER TO", diff --git a/sql/share/polish/errmsg.txt b/sql/share/polish/errmsg.txt index af484b4c850..ba2e78fa5a2 100644 --- a/sql/share/polish/errmsg.txt +++ b/sql/share/polish/errmsg.txt @@ -85,10 +85,10 @@ "%s: Standardowe zakoñczenie dzia³ania\n", "%s: Otrzymano sygna³ %d. Koñczenie dzia³ania!\n", "%s: Zakoñczenie dzia³ania wykonane\n", -"%s: Wymuszenie zamkniêcia w?tku %ld u¿ytkownik: '%-.64s'\n", +"%s: Wymuszenie zamkniêcia w?tku %ld u¿ytkownik: '%-.64s'\n", "Nie mo¿na stworzyæ socket'u IP", "Tabela '%-.64s' nie ma indeksu takiego jak w CREATE INDEX. Stwórz tabelê", -"Nie oczekiwano separatora. Sprawd¥ podrêcznik"," +"Nie oczekiwano separatora. Sprawd¥ podrêcznik", "Nie mo¿na u¿yæ sta³ej d³ugo?ci wiersza z polami typu BLOB. U¿yj 'fields terminated by'.", "Plik '%-.64s' musi znajdowaæ sie w katalogu bazy danych lub mieæ prawa czytania przez wszystkich", "Plik '%-.64s' ju¿ istnieje", @@ -142,7 +142,7 @@ "Rows matched: %ld Changed: %ld Warnings: %ld", "Can't create a new thread (errno %d). If you are not out of available memory you can consult the manual for any possible OS dependent bug", "Column count doesn't match value count at row %ld", -"Can't reopen table: '%-.64s', +"Can't reopen table: '%-.64s", "Invalid use of NULL value", "Got error '%-.64s' from regexp", "Mixing of GROUP columns (MIN(),MAX(),COUNT()...) with no GROUP columns is illegal if there is no GROUP BY clause", @@ -163,7 +163,7 @@ "Got an error from fcntl()", "Got packets out of order", "Couldn't uncompress communication packet", -"Got an error reading communication packets" +"Got an error reading communication packets", "Got timeout reading communication packets", "Got an error writing communication packets", "Got timeout writing communication packets", @@ -202,7 +202,7 @@ "Table '%-.64s' is marked as crashed and should be repaired", "Table '%-.64s' is marked as crashed and last (automatic?) repair failed", "Warning: Some non-transactional changed tables couldn't be rolled back", -"Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again', +"Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again", "This operation cannot be performed with a running slave, run SLAVE STOP first", "This operation requires a running slave, configure slave and do SLAVE START", "The server is not configured as slave, fix in config file or with CHANGE MASTER TO", diff --git a/sql/share/portuguese/errmsg.txt b/sql/share/portuguese/errmsg.txt index d1d9bbc5681..f3861bc945e 100644 --- a/sql/share/portuguese/errmsg.txt +++ b/sql/share/portuguese/errmsg.txt @@ -138,7 +138,7 @@ "Linhas que combinaram: %ld - Alteradas: %ld - Avisos: %ld", "Não pode criar uma nova 'thread' (erro no. %d). Se você não estiver sem memória disponível, você pode consultar o manual sobre um possível 'bug' dependente do sistema operacional", "Contagem de colunas não confere com a contagem de valores na linha %ld", -"Não pode reabrir a tabela '%-.64s', +"Não pode reabrir a tabela '%-.64s", "Uso inválido do valor NULL", "Obteve erro '%-.64s' em regexp", "Mistura de colunas agrupadas (com MIN(), MAX(), COUNT(), ...) com colunas não agrupadas é ilegal, se não existir uma cláusula de agrupamento (cláusula GROUP BY)", diff --git a/sql/share/romanian/errmsg.txt b/sql/share/romanian/errmsg.txt index e8927777b8a..9ddb06a2c24 100644 --- a/sql/share/romanian/errmsg.txt +++ b/sql/share/romanian/errmsg.txt @@ -202,7 +202,7 @@ "Table '%-.64s' is marked as crashed and should be repaired", "Table '%-.64s' is marked as crashed and last (automatic?) repair failed", "Warning: Some non-transactional changed tables couldn't be rolled back", -"Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again', +"Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again", "This operation cannot be performed with a running slave, run SLAVE STOP first", "This operation requires a running slave, configure slave and do SLAVE START", "The server is not configured as slave, fix in config file or with CHANGE MASTER TO", diff --git a/sql/share/russian/errmsg.txt b/sql/share/russian/errmsg.txt index 5c94f2ee31b..d6d878fef8b 100644 --- a/sql/share/russian/errmsg.txt +++ b/sql/share/russian/errmsg.txt @@ -62,7 +62,7 @@ " '%-.64s' ÉÓÐÏÌØÚÏ×ÁÎÏ ×ÎÅ ×ÙÒÁÖÅÎÉÑ GROUP BY", "îÅ ÍÏÇÕ ÐÒÏÉÚ×ÅÓÔÉ ÇÒÕÐÐÉÒÏ×ËÕ ÐÏ '%-.64s'", "÷ ÏÄÎÏÍ ×ÙÒÁÖÅÎÉÉ ÓÏÄÅÒÖÁÔØÓÑ É ÉÍÅÎÁ ÐÏÌÅÊ, É ÓÕÍÍÉÒÕÀÝÉÅ ÆÕÎËÃÉÉ", -"þÉÓÌÏ ÓÔÏÌÂÃÏ× ÎÅ ÓÏÏÔ×ÅÔÓÔ×ÕÅÔ ÞÉÓÌÕ ÚÎÁÞÅÎÉÊ" +"þÉÓÌÏ ÓÔÏÌÂÃÏ× ÎÅ ÓÏÏÔ×ÅÔÓÔ×ÕÅÔ ÞÉÓÌÕ ÚÎÁÞÅÎÉÊ", "óÌÉÛËÏÍ ÄÌÉÎÎÙÊ ÉÄÅÎÔÉÆÉËÁÔÏÒ: '%-.64s'", "äÕÂÌÉÒÏ×ÁÎÎÏÅ ÉÍÑ ÐÏÌÑ '%-.64s'", "äÕÂÌÉÒÏ×ÁÎÎÏÅ ÉÍÑ ËÌÀÞÁ '%-.64s'", @@ -141,7 +141,7 @@ "óÏÏÔ×ÅÔÓÔ×ÕÀÝÉÈ ÚÁÐÉÓÅÊ: %ld éÚÍÅÎÅÎÏ: %ld ðÒÅÄÕÐÒÅÖÄÅÎÉÊ: %ld", "îÅ ÍÏÇÕ ÓÏÚÄÁÔØ ÎÏ×ÕÀ ÎÉÔØ (ÏÛÉÂËÁ %d). åÓÌÉ ÜÔÏ ÎÅ ÉÚ-ÚÁ ÎÅÈ×ÁÔËÉ ÐÁÍÑÔÉ, ÐÏÓÍÏÔÒÉÔÅ × ÒÕËÏ×ÏÄÓÔ×Å ×ÏÚÍÏÖÎÙÅ OS-ÚÁ×ÉÓÉÍÙÅ ÇÌÀËÉ", "þÉÓÌÏ ÓÔÏÌÂÃÏ× ÎÅ ÓÏÏÔ×ÅÔÓÔ×ÕÅÔ ÞÉÓÌÕ ÚÎÁÞÅÎÉÊ × ÓÔÒÏËÅ %ld", -"îÅ ÍÏÇÕ ÚÁÎÏ×Ï ÏÔËÒÙÔØ ÔÁÂÌÉÃÕ: '%-.64s', +"îÅ ÍÏÇÕ ÚÁÎÏ×Ï ÏÔËÒÙÔØ ÔÁÂÌÉÃÕ: '%-.64s", "îÅÐÒÁ×ÉÌØÎÏÅ ÉÓÐÏÌØÚÏ×ÁÎÉÅ ÚÎÁÞÅÎÉÑ NULL", "REGEXP ×ÅÒÎÕÌ ÏÛÉÂËÕ '%-.64s'", "éÓÐÏÌØÚÏ×ÁÎÉÅ ÁÇÒÅÇÁÔÎÙÈ ÆÕÎËÃÉÊ (MIN(),MAX(),COUNT()...) ÓÏ×ÍÅÓÔÎÏ Ó ÏÂÙÞÎÙÍÉ ÚÎÁÞÅÎÉÑÍÉ ×ÏÚÍÏÖÎÏ ÔÏÌØËÏ ÐÒÉ ÎÁÌÉÞÉÉ ÒÁÚÄÅÌÁ GROUP BY", @@ -162,7 +162,7 @@ "fcntl() ×ÅÒÎÕÌ ÏÛÉÂËÕ", "ðÏÌÕÞÅÎ ÐÁËÅÔ × ÎÅÐÒÁ×ÉÌØÎÏÍ ÐÏÒÑÄËÅ", "îÅ ÍÏÇÕ ÒÁÓÐÁËÏ×ÁÔØ ÐÁËÅÔ", -"ïÛÉÂËÁ ÐÒÉ ÞÔÅÎÉÉ ÐÁËÅÔÏ×" +"ïÛÉÂËÁ ÐÒÉ ÞÔÅÎÉÉ ÐÁËÅÔÏ×", "ôÁÊÍÁÕÔ ÐÒÉ ÞÔÅÎÉÉ ÐÁËÅÔÏ×", "ïÛÉÂËÁ ÐÒÉ ÏÔÐÒÁ×ËÅ ÐÁËÅÔÏ×", "ïÛÉÂËÁ ÐÒÉ ÏÔÐÒÁ×ËÅ ÐÁËÅÔÏ×", diff --git a/sql/share/slovak/errmsg.txt b/sql/share/slovak/errmsg.txt index 3f96880bda1..8b06ec7e98f 100644 --- a/sql/share/slovak/errmsg.txt +++ b/sql/share/slovak/errmsg.txt @@ -146,7 +146,7 @@ "Rows matched: %ld Changed: %ld Warnings: %ld", "Can't create a new thread (errno %d). If you are not out of available memory, you can consult the manual for a possible OS-dependent bug", "Column count doesn't match value count at row %ld", -"Can't reopen table: '%-.64s', +"Can't reopen table: '%-.64s", "Invalid use of NULL value", "Got error '%-.64s' from regexp", "Mixing of GROUP columns (MIN(),MAX(),COUNT()...) with no GROUP columns is illegal if there is no GROUP BY clause", @@ -167,7 +167,7 @@ "Got an error from fcntl()", "Got packets out of order", "Couldn't uncompress communication packet", -"Got an error reading communication packets" +"Got an error reading communication packets", "Got timeout reading communication packets", "Got an error writing communication packets", "Got timeout writing communication packets", @@ -206,7 +206,7 @@ "Table '%-.64s' is marked as crashed and should be repaired", "Table '%-.64s' is marked as crashed and last (automatic?) repair failed", "Warning: Some non-transactional changed tables couldn't be rolled back", -"Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again', +"Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. Increase this mysqld variable and try again", "This operation cannot be performed with a running slave, run SLAVE STOP first", "This operation requires a running slave, configure slave and do SLAVE START", "The server is not configured as slave, fix in config file or with CHANGE MASTER TO", diff --git a/sql/share/spanish/errmsg.txt b/sql/share/spanish/errmsg.txt index c718ac93fc4..b9c88873106 100644 --- a/sql/share/spanish/errmsg.txt +++ b/sql/share/spanish/errmsg.txt @@ -139,7 +139,7 @@ "Líneas correspondientes: %ld Cambiadas: %ld Avisos: %ld", "No puedo crear un nuevo thread (errno %d). Si tu está con falta de memoria disponible, tu puedes consultar el Manual para posibles problemas con SO", "El número de columnas no corresponde al número en la línea %ld", -"No puedo reabrir tabla: '%-.64s', +"No puedo reabrir tabla: '%-.64s", "Invalido uso de valor NULL", "Obtenido error '%-.64s' de regexp", "Mezcla de columnas GROUP (MIN(),MAX(),COUNT()...) con no GROUP columnas es ilegal si no hat la clausula GROUP BY", @@ -160,7 +160,7 @@ "Obtenido un error de fcntl()", "Obtenido paquetes desordenados", "No puedo descomprimir paquetes de comunicación", -"Obtenido un error leyendo paquetes de comunicación" +"Obtenido un error leyendo paquetes de comunicación", "Obtenido timeout leyendo paquetes de comunicación", "Obtenido un error de escribiendo paquetes de comunicación", "Obtenido timeout escribiendo paquetes de comunicación", @@ -199,7 +199,7 @@ "Tabla '%-.64s' está marcada como crashed y debe ser reparada", "Tabla '%-.64s' está marcada como crashed y la última reparación (automactica?) falló", "Aviso: Algunas tablas no transancionales no pueden tener rolled back", -"Multipla transición necesita mas que 'max_binlog_cache_size' bytes de almacenamiento. Aumente esta variable mysqld y tente de nuevo', +"Multipla transición necesita mas que 'max_binlog_cache_size' bytes de almacenamiento. Aumente esta variable mysqld y tente de nuevo", "Esta operación no puede ser hecha con el esclavo funcionando, primero use SLAVE STOP", "Esta operación necesita el esclavo funcionando, configure esclavo y haga el SLAVE START", "El servidor no está configurado como esclavo, edite el archivo config file o con CHANGE MASTER TO", diff --git a/sql/share/swedish/errmsg.txt b/sql/share/swedish/errmsg.txt index ce6bb0e80f0..3bdc5842cb1 100644 --- a/sql/share/swedish/errmsg.txt +++ b/sql/share/swedish/errmsg.txt @@ -85,7 +85,7 @@ "Kan inte skapa IP socket", "Tabellen '%-.64s' har inget index som motsvarar det angivna i CREATE INDEX. Skapa om tabellen", "Fält separatorerna är inte emotsägande eller för långa. Kontrollera mot manualen", -"Man kan inte använda fast radlängd med blobs. Använd 'fields terminated by'." +"Man kan inte använda fast radlängd med blobs. Använd 'fields terminated by'", "Textfilen '%' måste finnas i databas biblioteket eller vara läsbar för alla", "Filen '%-.64s' existerar redan", "Rader: %ld Bortagna: %ld Dubletter: %ld Varningar: %ld", @@ -102,7 +102,7 @@ "Kan inte generera ett unikt filnamn %s.(1-999)\n", "Tabell '%-.64s' kan inte uppdateras emedan den är låst för läsning", "Tabell '%-.64s' är inte låst med LOCK TABLES", -"BLOB fält '%-.64s' kan inte ha ett DEFAULT värde" +"BLOB fält '%-.64s' kan inte ha ett DEFAULT värde", "Felaktigt databas namn '%-.64s'", "Felaktigt tabell namn '%-.64s'", "Den angivna frågan skulle troligen ta mycket long tid! Kontrollar din WHERE och använd SET OPTION SQL_BIG_SELECTS=1 ifall du vill hantera stora joins", @@ -117,7 +117,7 @@ "Tabeller måste ha minst 1 kolumn", "Tabellen '%-.64s' är full", "Okänt karaktärset: '%-.64s'", -"För många tabeller. MySQL can ha högst %d tabeller i en och samma join" +"För många tabeller. MySQL can ha högst %d tabeller i en och samma join", "För många fält", "För stor total rad längd. Den högst tillåtna rad-längden, förutom BLOBs, är %d. Ändra några av dina fält till BLOB", "Tråd-stacken tog slut: Har använt %ld av %ld bytes. Använd 'mysqld -O thread_stack=#' ifall du behöver en större stack", @@ -136,9 +136,9 @@ "För att ändra lösenord för andra måste du ha rättigheter att uppdatera mysql databasen", "Hittade inte användaren i 'user' tabellen", "Rader: %ld Uppdaterade: %ld Varningar: %ld", -"Kan inte skapa en ny tråd (errno %d)" +"Kan inte skapa en ny tråd (errno %d)", "Antalet kolumner motsvarar inte antalet värden på rad: %ld", -"Kunde inte stänga och öppna tabell: '%-.64s', +"Kunde inte stänga och öppna tabell: '%-.64s", "Felaktig använding av NULL", "Fix fel '%-.64s' från REGEXP", "Man får ha både GROUP kolumner (MIN(),MAX(),COUNT()...) och fält i en fråga om man inte har en GROUP BY del", @@ -147,7 +147,7 @@ "%-.16s ej tillåtet för '%-.32s@%-.64s'\n för kolumn '%-.64s' i tabell '%-.64s'", "Felaktigt GRANT privilegium använt", "Felaktigt maskinnamn eller användarnamn använt med GRANT", -"Det finns ingen tabell som heter '%-64s.%s'" +"Det finns ingen tabell som heter '%-64s.%s'", "Det finns inget privilegium definierat för användare '%-.32s' på '%-.64s' för tabell '%-.64s'", "Du kan inte använda detta kommando med denna MySQL version", "Du har något fel i din syntax", @@ -160,7 +160,7 @@ "Kommunikationspaketen kom i fel ordning", "Kunde inte packa up kommunikationspaketet", "Fick ett fel vid läsning från klienten", -"Fick 'timeout' vid läsning från klienten", +"Fick 'timeout' vid läsning från klienten", "Fick ett fel vid skrivning till klienten", "Fick 'timeout' vid skrivning till klienten", "Resultat strängen är längre än max_allowed_packet", diff --git a/sql/share/ukrainian/errmsg.txt b/sql/share/ukrainian/errmsg.txt index b167ebd5f3d..7772f54d483 100644 --- a/sql/share/ukrainian/errmsg.txt +++ b/sql/share/ukrainian/errmsg.txt @@ -203,7 +203,7 @@ "ôÁÂÌÉÃÀ '%-.64s' ÍÁÒËÏ×ÁÎÏ ÑË Ú¦ÐÓÏ×ÁÎÕ ÔÁ §§ ÐÏÔÒ¦ÂÎÏ ×¦ÄÎÏ×ÉÔÉ", "ôÁÂÌÉÃÀ '%-.64s' ÍÁÒËÏ×ÁÎÏ ÑË Ú¦ÐÓÏ×ÁÎÕ ÔÁ ÏÓÔÁÎΤ (Á×ÔÏÍÁÔÉÞÎÅ?) צÄÎÏ×ÌÅÎÎÑ ÎÅ ×ÄÁÌÏÓÑ", "úÁÓÔÅÒÅÖÅÎÎÑ: äÅÑ˦ ÎÅÔÒÁÎÚÁËæÊΦ ÚͦÎÉ ÔÁÂÌÉÃØ ÎÅ ÍÏÖÎÁ ÂÕÄÅ ÐÏ×ÅÒÎÕÔÉ", -"ôÒÁÎÚÁËÃ¦Ñ Ú ÂÁÇÁÔØÍÁ ×ÉÒÁÚÁÍÉ ×ÉÍÁÇÁ¤ Â¦ÌØÛÅ Î¦Ö 'max_binlog_cache_size' ÂÁÊÔ¦× ÄÌÑ ÚÂÅÒ¦ÇÁÎÎÑ. úÂ¦ÌØÛÔÅ ÃÀ ÚͦÎÎÕ mysqld ÔÁ ÓÐÒÏÂÕÊÔÅ ÚÎÏ×Õ', +"ôÒÁÎÚÁËÃ¦Ñ Ú ÂÁÇÁÔØÍÁ ×ÉÒÁÚÁÍÉ ×ÉÍÁÇÁ¤ Â¦ÌØÛÅ Î¦Ö 'max_binlog_cache_size' ÂÁÊÔ¦× ÄÌÑ ÚÂÅÒ¦ÇÁÎÎÑ. úÂ¦ÌØÛÔÅ ÃÀ ÚͦÎÎÕ mysqld ÔÁ ÓÐÒÏÂÕÊÔÅ ÚÎÏ×Õ", "ïÐÅÒÁÃ¦Ñ ÎÅ ÍÏÖÅ ÂÕÔÉ ×ÉËÏÎÁÎÁ Ú ÚÁÐÕÝÅÎÉÍ Ð¦ÄÌÅÇÌÉÍ, ÓÐÏÞÁÔËÕ ×ÉËÏÎÁÊÔÅ SLAVE STOP", "ïÐÅÒÁÃ¦Ñ ×ÉÍÁÇÁ¤ ÚÁÐÕÝÅÎÏÇÏ Ð¦ÄÌÅÇÌÏÇÏ, ÚËÏÎÆ¦ÇÕÒÕÊÔŠЦÄÌÅÇÌÏÇÏ ÔÁ ×ÉËÏÎÁÊÔÅ SLAVE START", "óÅÒ×ÅÒ ÎÅ ÚËÏÎÆ¦ÇÕÒÏ×ÁÎÏ ÑË Ð¦ÄÌÅÇÌÉÊ, ×ÉÐÒÁ×ÔÅ ÃÅ Õ ÆÁÊ̦ ËÏÎÆ¦ÇÕÒÁæ§ ÁÂÏ Ú CHANGE MASTER TO", From c7c6abeecebe0a859dd1a541cd9ff48b6f8ed0d7 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 25 Feb 2003 13:10:16 +0100 Subject: [PATCH 36/44] - bumped up version number from 4.0.11-gamma -> 4.0.12-gamma in configure.in - tagged ChangeSet 1.1594 as "mysql-4.0.11" --- configure.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.in b/configure.in index aea925534c2..b5cf42a7a2e 100644 --- a/configure.in +++ b/configure.in @@ -4,7 +4,7 @@ dnl Process this file with autoconf to produce a configure script. AC_INIT(sql/mysqld.cc) AC_CANONICAL_SYSTEM # The Docs Makefile.am parses this line! -AM_INIT_AUTOMAKE(mysql, 4.0.11-gamma) +AM_INIT_AUTOMAKE(mysql, 4.0.12-gamma) AM_CONFIG_HEADER(config.h) PROTOCOL_VERSION=10 From baa0238c9465171c6886add1738dbaadc9ae8b3f Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 25 Feb 2003 15:20:07 +0100 Subject: [PATCH 37/44] - Heavily reworked the Do-pkg script to use functions from logger.pm - moved helper functions from Bootstrap script to logger.pm Build-tools/Bootstrap: - renamed logfile -> LOGFILE - moved functions abort() and run_command() to logger.pm for better reusability Build-tools/Do-pkg: - heavily reworked: now make use of the logger.pm helper functions - added new options: --dry-run, --log, --mail, --verbose Build-tools/logger.pm: - added functions run_command() and abort() from Bootstrap script for better code reusability support-files/MacOSX/postinstall.sh: - made script more robust --- Build-tools/Bootstrap | 71 ++----------- Build-tools/Do-pkg | 158 +++++++++++++++++++--------- Build-tools/logger.pm | 57 +++++++++- support-files/MacOSX/postinstall.sh | 15 +-- 4 files changed, 182 insertions(+), 119 deletions(-) diff --git a/Build-tools/Bootstrap b/Build-tools/Bootstrap index 3da9122e4a2..969ab748e80 100755 --- a/Build-tools/Bootstrap +++ b/Build-tools/Bootstrap @@ -13,7 +13,7 @@ use Getopt::Long; Getopt::Long::Configure ("bundling"); -# Include logging function +# Include helper functions $LOGGER= "$ENV{HOME}/bin/logger.pm"; if (-f $LOGGER) { @@ -26,8 +26,8 @@ else # Some predefined settings $build_command= "BUILD/compile-pentium-max"; -chomp ($logfile= `pwd`); -$logfile.= "/Bootstrap.log"; +chomp ($LOGFILE= `pwd`); +$LOGFILE.= "/Bootstrap.log"; chomp ($opt_directory= `pwd`); $opt_docdir= $opt_directory . "/mysqldoc"; $opt_changelog= undef; @@ -71,12 +71,12 @@ if (defined $opt_log) { if ($opt_log =~ /^\/.*/) { - $logfile= $opt_log; + $LOGFILE= $opt_log; } else { - chomp ($logfile= `pwd`); - $logfile.= "/" . $opt_log; + chomp ($LOGFILE= `pwd`); + $LOGFILE.= "/" . $opt_log; } } } @@ -95,7 +95,7 @@ if (($opt_directory ne ".") && (!-d $opt_directory && !$opt_dry_run)) &abort("Could not find target directory \"$opt_directory\"!"); } -&logger("Logging to $logfile") if (defined $opt_log); +&logger("Logging to $LOGFILE") if (defined $opt_log); # # Use a temporary name until we know the version number @@ -306,61 +306,6 @@ if (!$opt_skip_check) &logger("SUCCESS: Build finished successfully.") if (!$opt_dry_run); exit 0; -# Helper functions - -# -# run_command(,) -# Execute the given command or die with the respective error message -# Just print out the command when doing a dry run -# -sub run_command -{ - my $command= $_[0]; - my $errormsg= $_[1]; - if ($opt_dry_run) - { - print "$command\n"; - } - else - { - &logger($command); - $command.= " >> $logfile 2>&1" if defined $opt_log; - $command.= " > /dev/null" if (!$opt_verbose && !$opt_log); - system($command) == 0 or &abort("$errormsg\n"); - } -} - -# -# abort() -# Exit with giving out the given error message or by sending -# it via email to the given mail address (including a log file snippet, -# if available) -# -sub abort -{ - my $message= $_[0]; - my $messagefile; - $message= "ERROR: " . $message; - &logger($message); - - if ($opt_mail && !$opt_dry_run) - { - $messagefile= "/tmp/message.$$"; - $subject= "Bootstrap of $REPO failed"; - open(TMP,">$messagefile"); - print TMP "$message\n\n"; - close TMP; - if (defined $opt_log) - { - system("tail -n 40 $logfile >> $messagefile"); - } - system("mail -s \"$subject\" $opt_mail < $messagefile"); - unlink($messagefile); - } - - exit 1; -} - # # Print the help text message (with an optional message on top) # @@ -400,7 +345,7 @@ Options: do not build or test the source distribution -h, --help Print this help message -l, --log[=] Write a log file [to ] - (default is "$logfile") + (default is "$LOGFILE") -m, --mail=
Mail a failure report to the given address (and include a log file snippet, if logging is enabled) Note that the \@-Sign needs to be quoted! diff --git a/Build-tools/Do-pkg b/Build-tools/Do-pkg index 8f80d2bf362..67c0e612828 100755 --- a/Build-tools/Do-pkg +++ b/Build-tools/Do-pkg @@ -9,125 +9,176 @@ # use Getopt::Long; +Getopt::Long::Configure ("bundling"); +$opt_dry_run= undef; $opt_help= undef; +$opt_log= undef; +$opt_mail= ""; $opt_suffix= undef; +$opt_verbose= undef; $opt_version= undef; GetOptions( + "dry-run", "help|h", + "log|l:s", + "mail|m=s", "suffix=s", + "verbose|v", "version=s", ) || &print_help; -&print_help if ($opt_help || !$opt_suffix || !$opt_version); +# Include helper functions +chomp($PWD= `pwd`); +$LOGGER= "$PWD/logger.pm"; +if (-f $LOGGER) +{ + do "$LOGGER"; +} +else +{ + die "ERROR: $LOGGER cannot be found!\n"; +} $PM= "/Developer/Applications/PackageMaker.app/Contents/MacOS/PackageMaker"; -$HOME= $ENV{HOME}; $TMP= "/tmp/PKGBUILD"; $PKGROOT= "$TMP/PMROOT"; $PKGDEST= "$TMP/PKG"; $RESOURCE_DIR= "$TMP/Resources"; $SUFFIX= $opt_suffix; $VERSION= $opt_version; +($MAJOR, $MINOR, $RELEASE)= split(/\./, $VERSION); $NAME= "mysql$SUFFIX-$VERSION"; chomp($HOST= `hostname`); +chomp($ID= `whoami`); $HOST=~ /^([^.-]*)/; $HOST= $1; -$BUILDDIR= "$HOME/$HOST"; +$LOGFILE= "$PWD/Logs/$HOST-$MAJOR.$MINOR$SUFFIX.log"; +$BUILDDIR= "$PWD/$HOST"; $SUPFILEDIR= <$BUILDDIR/mysql*-$VERSION/support-files/MacOSX>; $TAR= <$BUILDDIR/$NAME-apple-darwin*-powerpc.tar.gz>; $INFO= <$SUPFILEDIR/Info.plist>; $DESC= <$SUPFILEDIR/Description.plist>; @RESOURCES= qw/ ReadMe.txt postinstall preinstall /; -print "TAR: $TAR\nINFO: $INFO\nDESC: $DESC\n"; +&print_help("") if ($opt_help || !$opt_suffix || !$opt_version); + +# +# Override predefined Log file name +# +if (defined $opt_log) +{ + if ($opt_log ne "") + { + if ($opt_log =~ /^\/.*/) + { + $LOGFILE= $opt_log; + } + else + { + $LOGFILE= $PWD . "/" . $opt_log; + } + } +} # Creating the UFS disk image requires root privileges -chomp($ID= `whoami`); -die "You must be root to run this script!\nUse \"sudo\" or become root first.\n" if ($ID ne "root"); +die("You must be root to run this script!") if ($ID ne "root" && !$opt_dry_run); foreach $file ($TAR, $INFO, $DESC) { - die "Unable to find $file!\n" if (!-f $file); + &abort("Unable to find $file!") if (!-f $file); } # Remove old temporary build directories first -system ("rm -rf $TMP"); -print "Creating temp directories\n"; +&logger("Cleaning up temporary build directories"); +&run_command("rm -rf $TMP", "Could not clean up $TMP!"); +&logger("Creating temp directories"); foreach $dir ($TMP, $PKGROOT, $PKGDEST, $RESOURCE_DIR) { if (!-d $dir) { - mkdir $dir; + &run_command("mkdir $dir", "Could not make directory $dir!"); } } foreach $resfile (@RESOURCES) { - system ("cp $SUPFILEDIR/$resfile $RESOURCE_DIR") == 0 or die "Error while copying $SUPFILEDIR/$resfile to $RESOURCE_DIR: ?!"; + $command= "cp $SUPFILEDIR/$resfile $RESOURCE_DIR"; + &run_command($command, "Error while copying $SUPFILEDIR/$resfile to $RESOURCE_DIR"); } # Extract the binary tarball and create the "mysql" symlink -print "Extracting $TAR to $PKGROOT\n"; -system("gnutar zxf $TAR -C $PKGROOT") if (-f $TAR); -system("cd $PKGROOT ; ln -s mysql* ./mysql"); -system("chown -R root.wheel $PKGROOT/*"); +&logger("Extracting $TAR to $PKGROOT"); +&run_command("gnutar zxf $TAR -C $PKGROOT", "Unable to extract $TAR!"); +&run_command("cd $PKGROOT ; ln -s mysql* ./mysql", "Unable to create symlink!"); +&run_command("chown -R root.wheel $PKGROOT/*", "Cannot chown $PKGROOT!"); # Now build the PGK using PackageMaker -print "Running PackageMaker\n"; -system("$PM -build -p $PKGDEST/$NAME.pkg -f $PKGROOT -r $RESOURCE_DIR -i $INFO -d $DESC") or die "Error while building package: $!\n"; +# The "|| true" is a nasty hack to work around a problem with Package Maker +# returning a non-zero value, even though the package was created correctly +&logger("Running PackageMaker"); +$command= "$PM -build -p $PKGDEST/$NAME.pkg -f $PKGROOT -r $RESOURCE_DIR -i $INFO -d $DESC || true"; +&run_command($command, "Error while building package!"); -print "Removing $PKGROOT\n"; -system("rm -rf $PKGROOT"); +&logger("Removing $PKGROOT"); +&run_command("rm -rf $PKGROOT", "Unable to remove $PKGROOT!"); # Determine the size of the Disk image to be created and add a 5% safety # margin for filesystem overhead -print "Determining required disk image size for $PKGDEST: "; -chomp($_= `du -sk $PKGDEST`); -@size= split(); -$size= int($size[0]+($size[0]*0.05)); -print "$size KB\n"; +&logger("Determining required disk image size for $PKGDEST"); +if (! $opt_dry_run) +{ + chomp($_= `du -sk $PKGDEST`); + @size= split(); + $size= int($size[0]+($size[0]*0.05)); + &logger("Disk image size: $size KB"); +} -die "Zero bytes? Something is wrong here!\n" if ($size == 0); +&abort("Zero bytes? Something is wrong here!") if ($size == 0); # Now create and mount the disk image $TMPNAME= $NAME . ".tmp"; -print "Creating temporary Disk image $TMPNAME\n"; -system("hdiutil create $TMPNAME -size ${size}k -ov -fs UFS -volname $NAME"); -print "Result: $!\n"; -print "Attaching Disk image $TMPNAME.dmg\n"; -system("hdid $TMPNAME.dmg"); -print "Result: $!\n"; +&logger("Creating temporary Disk image $TMPNAME.dmg"); +$command= "hdiutil create $TMPNAME -size ${size}k -ov -fs UFS -volname $NAME"; +&run_command($command, "Unable to create disk image $TMPNAME.dmg!"); +&logger("Attaching Disk image $TMPNAME.dmg"); +&run_command("hdid $TMPNAME.dmg", "Unable to attach $TMPNAME.dmg!"); # Install the PKG into the .dmg -chomp($mountpoint=`mount | grep "\/Volumes\/$NAME" | cut -f3 -d" "`); -print "Copying $PKGDEST/$NAME.pkg to Disk image /Volumes/$NAME\n"; -system("ditto $PKGDEST /Volumes/$NAME"); -system("ditto $RESOURCE_DIR/ReadMe.txt /Volumes/$NAME"); -chomp($mountpoint=`mount | grep "\/Volumes\/$NAME" | cut -f1 -d" "`); -die "/Volumes/$NAME not attached!\n" if (!$mountpoint); -print "Unmounting $mountpoint\n"; -system("hdiutil detach $mountpoint"); -print "Result: $!\n"; -unlink ("$NAME.dmg") if (-f "$NAME.dmg"); -print "Compressing disk image\n"; -system("hdiutil convert $TMPNAME.dmg -format UDZO -imagekey zlib-level=9 -o $NAME.dmg"); +chomp($mountpoint=`mount | grep "\/Volumes\/$NAME" | cut -f3 -d" "`) if (!$opt_dry_run); +&logger("Copying $PKGDEST/$NAME.pkg to Disk image /Volumes/$NAME"); +&run_command("ditto $PKGDEST /Volumes/$NAME", "Could not copy $PKGDEST to /Volumes/$NAME!"); +&run_command("ditto $RESOURCE_DIR/ReadMe.txt /Volumes/$NAME", "Could not copy $RESOURCE_DIR/ReadMe.txt to /Volumes/$NAME!"); +chomp($mountpoint=`mount | grep "\/Volumes\/$NAME" | cut -f1 -d" "`) if (!$opt_dry_run); +&abort("/Volumes/$NAME not attached!") if (!$mountpoint && !$opt_dry_run); +&logger("Unmounting $mountpoint"); +&run_command("hdiutil detach $mountpoint", "Unable to detach $mountpoint"); +&run_command("rm -f $NAME.dmg", "Unable to remove $NAME.dmg!") if (-f "$NAME.dmg"); +&logger("Compressing disk image"); +$command= "hdiutil convert $TMPNAME.dmg -format UDZO -imagekey zlib-level=9 -o $NAME.dmg"; +&run_command($command, "Unable to compress disk image!"); # Final cleanups -print "Removing $TMPNAME.dmg\n"; -unlink ("$TMPNAME.dmg"); -print "Removing $TMP\n"; -system("rm -rf $TMP"); +&logger("Removing $TMPNAME.dmg"); +&run_command("rm -f $TMPNAME.dmg", "Unable to remove $TMPNAME.dmg!"); +&logger("Removing $TMP"); +&run_command("rm -rf $TMP", "Unable to remove $TMP!"); -print "$NAME.dmg created.\n"; +&logger("SUCCESS: $NAME.dmg created.") if (!$opt_dry_run); exit 0; sub print_help { + my $message= $_[0]; + if ($message ne "") + { + print "\n"; + print "ERROR: $message\n"; + } print < --version= +Usage: Do-pkg --suffix= --version= Creates a Mac OS X installation package (PKG) and stores it inside a Disk Image (.dmg) file. You need to create a binary distribution @@ -138,9 +189,18 @@ NOTE: You need to run this script with root privileges (required Options: + --dry-run Dry run without executing -h, --help Print this help +-l, --log[=] Write a log file [to ] + (default is "$LOGFILE") +-m, --mail=
Mail a failure report to the given address + (and include a log file snippet, if logging + is enabled) + Note that the \@-Sign needs to be quoted! + Example: --mail=user\\\@domain.com --suffix= The package suffix (e.g. "-standard" or "-pro) --version= The MySQL version number (e.g. 4.0.11-gamma) +-v, --verbose Verbose execution EOF exit 1; diff --git a/Build-tools/logger.pm b/Build-tools/logger.pm index f0426ab5e5a..becde95df18 100644 --- a/Build-tools/logger.pm +++ b/Build-tools/logger.pm @@ -1,3 +1,5 @@ +# Helper functions + # # Create a log entry # @@ -7,12 +9,65 @@ sub logger print timestamp() . " " . $message . "\n" if $opt_verbose; if (defined $opt_log && !$opt_dry_run) { - open LOG, ">>$logfile" or die "Can't open logfile $logfile!"; + open LOG, ">>$LOGFILE" or die "Can't open logfile $LOGFILE!"; print LOG timestamp() . " " . $message . "\n"; close LOG; } } +# +# run_command(,) +# Execute the given command or die with the respective error message +# Just print out the command when doing a dry run +# +sub run_command +{ + my $command= $_[0]; + my $errormsg= $_[1]; + if ($opt_dry_run) + { + print "$command\n"; + } + else + { + &logger($command); + $command.= " >> $LOGFILE 2>&1" if defined $opt_log; + $command.= " > /dev/null" if (!$opt_verbose && !$opt_log); + system($command) == 0 or &abort("$errormsg\n"); + } +} + +# +# abort() +# Exit with giving out the given error message or by sending +# it via email to the given mail address (including a log file snippet, +# if available) +# +sub abort +{ + my $message= $_[0]; + my $messagefile; + $message= "ERROR: " . $message; + &logger($message); + + if ($opt_mail && !$opt_dry_run) + { + $messagefile= "/tmp/message.$$"; + $subject= "Bootstrap of $REPO failed"; + open(TMP,">$messagefile"); + print TMP "$message\n\n"; + close TMP; + if (defined $opt_log) + { + system("tail -n 40 $LOGFILE >> $messagefile"); + } + system("mail -s \"$subject\" $opt_mail < $messagefile"); + unlink($messagefile); + } + + exit 1; +} + # Create a time stamp for logging purposes sub timestamp { diff --git a/support-files/MacOSX/postinstall.sh b/support-files/MacOSX/postinstall.sh index 957717207cd..daaf10bda8f 100644 --- a/support-files/MacOSX/postinstall.sh +++ b/support-files/MacOSX/postinstall.sh @@ -8,11 +8,14 @@ # afterwards. # -cd @prefix@ -if [ ! -f data/mysql/db.frm ] ; then - ./scripts/mysql_install_db -fi +if cd @prefix@ ; then + if [ ! -f data/mysql/db.frm ] ; then + ./scripts/mysql_install_db + fi -if [ -d data ] ; then - chown -R @MYSQLD_USER@ data + if [ -d data ] ; then + chown -R @MYSQLD_USER@ data + fi +else + exit $? fi From 11139d6f31d2a616383cbfa1d1263b01c1c18434 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 25 Feb 2003 20:37:49 +0100 Subject: [PATCH 38/44] fix a bug in the test --- mysql-test/r/innodb_handler.result | 6 ++++-- mysql-test/t/innodb_handler.test | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/mysql-test/r/innodb_handler.result b/mysql-test/r/innodb_handler.result index 79ebd96ceaf..321aedabdc7 100644 --- a/mysql-test/r/innodb_handler.result +++ b/mysql-test/r/innodb_handler.result @@ -129,12 +129,14 @@ a b handler t2 read next; a b 18 eee +handler t2 read last; +You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 handler t2 close; handler t1 open as t2; handler t2 read first; a b 17 ddd alter table t1 type=innodb; -handler t2 read last; -You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 +handler t2 read first; +Unknown table 't2' in HANDLER drop table if exists t1; diff --git a/mysql-test/t/innodb_handler.test b/mysql-test/t/innodb_handler.test index 0af822334fa..5483871494e 100644 --- a/mysql-test/t/innodb_handler.test +++ b/mysql-test/t/innodb_handler.test @@ -62,13 +62,15 @@ handler t2 read a=(19) where b="yyy"; handler t2 read first; handler t2 read next; +--error 1109 +handler t2 read last; handler t2 close; handler t1 open as t2; handler t2 read first; alter table t1 type=innodb; ---error 1109 -handler t2 read last; +--error 1064 +handler t2 read first; drop table if exists t1; From a54c17cef319e5b31dfb7569929efefbe421f60b Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 25 Feb 2003 21:43:24 +0200 Subject: [PATCH 39/44] Portability fix for HPUX10.20 BUILD/compile-pentium-debug-max: Added -DBIG_TABLES sql/mysqld.cc: Simple code cleanup --- BUILD/compile-pentium-debug-max | 2 +- include/my_pthread.h | 5 +++++ mysys/my_pthread.c | 12 +++++++++++- sql/mysqld.cc | 12 +++++------- 4 files changed, 22 insertions(+), 9 deletions(-) diff --git a/BUILD/compile-pentium-debug-max b/BUILD/compile-pentium-debug-max index 1684686ce8c..f71b849384f 100755 --- a/BUILD/compile-pentium-debug-max +++ b/BUILD/compile-pentium-debug-max @@ -3,7 +3,7 @@ path=`dirname $0` . "$path/SETUP.sh" -extra_flags="$pentium_cflags $debug_cflags" +extra_flags="$pentium_cflags $debug_cflags -DBIG_TABLES" c_warnings="$c_warnings $debug_extra_warnings" cxx_warnings="$cxx_warnings $debug_extra_warnings" extra_configs="$pentium_configs $debug_configs" diff --git a/include/my_pthread.h b/include/my_pthread.h index 574198a0645..a7fa38349dc 100644 --- a/include/my_pthread.h +++ b/include/my_pthread.h @@ -443,6 +443,11 @@ int my_pthread_cond_timedwait(pthread_cond_t *cond, pthread_mutex_t *mutex, struct timespec *abstime); #endif +#if defined(HPUX10) +#define pthread_attr_getstacksize(A,B) my_pthread_attr_getstacksize(A,B) +void my_pthread_attr_getstacksize(pthread_attr_t *attrib, size_t *size); +#endif + #if defined(HAVE_POSIX1003_4a_MUTEX) && !defined(DONT_REMAP_PTHREAD_FUNCTIONS) #undef pthread_mutex_trylock #define pthread_mutex_trylock(a) my_pthread_mutex_trylock((a)) diff --git a/mysys/my_pthread.c b/mysys/my_pthread.c index 0de7041fae7..7ad4852558e 100644 --- a/mysys/my_pthread.c +++ b/mysys/my_pthread.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2000 MySQL AB +/* Copyright (C) 2000-2003 MySQL AB This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -393,6 +393,7 @@ int pthread_signal(int sig, void (*func)()) #undef pthread_cond_wait #undef pthread_cond_timedwait #undef pthread_cond_t +#undef pthread_attr_getstacksize /***************************************************************************** ** Patches for AIX and DEC OSF/1 3.2 @@ -465,6 +466,15 @@ int my_pthread_cond_timedwait(pthread_cond_t *cond, pthread_mutex_t *mutex, } #endif +#if defined(HPUX10) + +void my_pthread_attr_getstacksize(pthread_attr_t *connection_attrib, + size_t *stack_size) +{ + *stack_size= pthread_attr_getstacksize(*connection_attrib); +} +#endif + #ifdef HAVE_POSIX1003_4a_MUTEX /* diff --git a/sql/mysqld.cc b/sql/mysqld.cc index 324355e6f17..72d3295dad4 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -264,6 +264,9 @@ bool opt_large_files= sizeof(my_off_t) > 4; #define GET_HA_ROWS GET_ULONG #endif +#ifdef HAVE_LIBWRAP +char *libwrapName= NULL; +#endif /* Variables to store startup options @@ -1855,14 +1858,13 @@ struct utsname char nodename[FN_REFLEN]; }; + int uname(struct utsname *a) { return -1; } -#endif -#ifdef __WIN__ extern "C" pthread_handler_decl(handle_shutdown,arg) { MSG msg; @@ -1878,7 +1880,7 @@ extern "C" pthread_handler_decl(handle_shutdown,arg) return 0; } -int __stdcall handle_kill(ulong ctrl_type) +int STDCALL handle_kill(ulong ctrl_type) { if (ctrl_type == CTRL_CLOSE_EVENT || ctrl_type == CTRL_SHUTDOWN_EVENT) @@ -1919,10 +1921,6 @@ extern "C" pthread_handler_decl(handle_shutdown,arg) const char *load_default_groups[]= { "mysqld","server",0 }; -#ifdef HAVE_LIBWRAP -char *libwrapName=NULL; -#endif - bool open_log(MYSQL_LOG *log, const char *hostname, const char *opt_name, const char *extension, const char *index_file_name, From 01e32fd06b957517b67df0d22f001ad279b5c81d Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 25 Feb 2003 21:44:13 +0200 Subject: [PATCH 40/44] Ignore some automaticly generated files BitKeeper/etc/ignore: added support-files/MacOSX/StartupParameters.plist support-files/MacOSX/postinstall support-files/MacOSX/preinstall --- .bzrignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.bzrignore b/.bzrignore index 302ac6f658c..f5e9775ee80 100644 --- a/.bzrignore +++ b/.bzrignore @@ -525,3 +525,6 @@ vio/viotest-ssl extra/mysql_waitpid support-files/MacOSX/Description.plist support-files/MacOSX/Info.plist +support-files/MacOSX/StartupParameters.plist +support-files/MacOSX/postinstall +support-files/MacOSX/preinstall From 0a1af05100d2a2b81d6726f29edfab3c9e7453c5 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 25 Feb 2003 22:20:17 +0200 Subject: [PATCH 41/44] Portability fix --- mysql-test/t/bigint.test | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/mysql-test/t/bigint.test b/mysql-test/t/bigint.test index 023e50b7677..0a58fe32d10 100644 --- a/mysql-test/t/bigint.test +++ b/mysql-test/t/bigint.test @@ -4,6 +4,12 @@ select 0,256,00000000000000065536,2147483647,-2147483648,2147483648,+4294967296; select 9223372036854775807,-009223372036854775808; select +9999999999999999999,-9999999999999999999; + +# +# We need to do a REPLACE here as the atof() function returns different +# values on True64 and HPUX11 +# +--replace_result 9223372036854775800 9223372036854775808 select 9223372036854775808+1; # # In 3.23 we have to disable the test of column to bigint as From 49ecdaec0bb7a29108157f58b90e18234d4241d3 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 25 Feb 2003 21:20:22 +0100 Subject: [PATCH 42/44] fixed again --- mysql-test/t/innodb_handler.test | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mysql-test/t/innodb_handler.test b/mysql-test/t/innodb_handler.test index 5483871494e..c6448eba3ef 100644 --- a/mysql-test/t/innodb_handler.test +++ b/mysql-test/t/innodb_handler.test @@ -62,14 +62,14 @@ handler t2 read a=(19) where b="yyy"; handler t2 read first; handler t2 read next; ---error 1109 +--error 1064 handler t2 read last; handler t2 close; handler t1 open as t2; handler t2 read first; alter table t1 type=innodb; ---error 1064 +--error 1109 handler t2 read first; drop table if exists t1; From 21f2382b283e9676f58d61ac744dd744e153239a Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 26 Feb 2003 00:04:13 +0200 Subject: [PATCH 43/44] change 'slave-master-info.opt' to .slave-mi to avoid problems with long filenames on some OS mysql-test/t/rpl_rotate_logs.slave-mi: Rename: mysql-test/t/rpl_rotate_logs-slave-master-info.opt -> mysql-test/t/rpl_rotate_logs.slave-mi mysql-test/t/rpl000015.slave-mi: Rename: mysql-test/t/rpl000015-slave-master-info.opt -> mysql-test/t/rpl000015.slave-mi --- mysql-test/mysql-test-run.sh | 2 +- .../t/{rpl000015-slave-master-info.opt => rpl000015.slave-mi} | 0 ...tate_logs-slave-master-info.opt => rpl_rotate_logs.slave-mi} | 0 scripts/make_binary_distribution.sh | 2 +- 4 files changed, 2 insertions(+), 2 deletions(-) rename mysql-test/t/{rpl000015-slave-master-info.opt => rpl000015.slave-mi} (100%) rename mysql-test/t/{rpl_rotate_logs-slave-master-info.opt => rpl_rotate_logs.slave-mi} (100%) diff --git a/mysql-test/mysql-test-run.sh b/mysql-test/mysql-test-run.sh index fcddf52c66b..8b1c8ff1b44 100644 --- a/mysql-test/mysql-test-run.sh +++ b/mysql-test/mysql-test-run.sh @@ -706,7 +706,7 @@ run_testcase () slave_opt_file=$TESTDIR/$tname-slave.opt master_init_script=$TESTDIR/$tname-master.sh slave_init_script=$TESTDIR/$tname-slave.sh - slave_master_info_file=$TESTDIR/$tname-slave-master-info.opt + slave_master_info_file=$TESTDIR/$tname.slave-mi SKIP_SLAVE=`$EXPR \( $tname : rpl \) = 0` if [ -n "$SKIP_TEST" ] ; then SKIP_THIS_TEST=`$EXPR \( $tname : "$SKIP_TEST" \) != 0` diff --git a/mysql-test/t/rpl000015-slave-master-info.opt b/mysql-test/t/rpl000015.slave-mi similarity index 100% rename from mysql-test/t/rpl000015-slave-master-info.opt rename to mysql-test/t/rpl000015.slave-mi diff --git a/mysql-test/t/rpl_rotate_logs-slave-master-info.opt b/mysql-test/t/rpl_rotate_logs.slave-mi similarity index 100% rename from mysql-test/t/rpl_rotate_logs-slave-master-info.opt rename to mysql-test/t/rpl_rotate_logs.slave-mi diff --git a/scripts/make_binary_distribution.sh b/scripts/make_binary_distribution.sh index 2e25cc9bdc4..801f9fb2e05 100644 --- a/scripts/make_binary_distribution.sh +++ b/scripts/make_binary_distribution.sh @@ -113,7 +113,7 @@ $CP mysql-test/mysql-test-run mysql-test/install_test_db $BASE/mysql-test/ $CP mysql-test/README $BASE/mysql-test/README $CP mysql-test/include/*.inc $BASE/mysql-test/include $CP mysql-test/std_data/*.dat mysql-test/std_data/*.001 $BASE/mysql-test/std_data -$CP mysql-test/t/*.test mysql-test/t/*.opt mysql-test/t/*.sh $BASE/mysql-test/t +$CP mysql-test/t/*.test mysql-test/t/*.opt mysql-test/t/*.slave-mi mysql-test/t/*.sh $BASE/mysql-test/t $CP mysql-test/r/*.result mysql-test/r/*.require $BASE/mysql-test/r $CP scripts/* $BASE/bin From 6e2ee18779d86b12d2c61a10fba4a1ced1ac0b8e Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 26 Feb 2003 00:13:18 +0200 Subject: [PATCH 44/44] Safety fix (caused a core dump on slave during shutdown when shutting down replication on some OS) mysql-test/t/rpl_rotate_logs-slave-master-info.opt: Rename: mysql-test/t/rpl_rotate_logs.slave-mi -> mysql-test/t/rpl_rotate_logs-slave-master-info.opt mysql-test/t/rpl000015-slave-master-info.opt: Rename: mysql-test/t/rpl000015.slave-mi -> mysql-test/t/rpl000015-slave-master-info.opt mysql-test/r/bigint.result: New bigint test mysql-test/t/bigint.test: New bigint test netware/mysql_test_run.c: slave-master-info.opt -> .slave-mi --- mysql-test/r/bigint.result | 3 +++ mysql-test/t/bigint.test | 1 + mysys/thr_alarm.c | 2 ++ netware/mysql_test_run.c | 2 +- 4 files changed, 7 insertions(+), 1 deletion(-) diff --git a/mysql-test/r/bigint.result b/mysql-test/r/bigint.result index 8522ef0212f..40d29e17237 100644 --- a/mysql-test/r/bigint.result +++ b/mysql-test/r/bigint.result @@ -7,6 +7,9 @@ select 9223372036854775807,-009223372036854775808; select +9999999999999999999,-9999999999999999999; +9999999999999999999 -9999999999999999999 10000000000000000000 -10000000000000000000 +select cast(9223372036854775808 as unsigned)+1; +cast(9223372036854775808 as unsigned)+1 +9223372036854775809 select 9223372036854775808+1; 9223372036854775808+1 9223372036854775808 diff --git a/mysql-test/t/bigint.test b/mysql-test/t/bigint.test index 0a58fe32d10..287d157e5d6 100644 --- a/mysql-test/t/bigint.test +++ b/mysql-test/t/bigint.test @@ -4,6 +4,7 @@ select 0,256,00000000000000065536,2147483647,-2147483648,2147483648,+4294967296; select 9223372036854775807,-009223372036854775808; select +9999999999999999999,-9999999999999999999; +select cast(9223372036854775808 as unsigned)+1; # # We need to do a REPLACE here as the atof() function returns different diff --git a/mysys/thr_alarm.c b/mysys/thr_alarm.c index 6697b9d3360..add5335a7af 100644 --- a/mysys/thr_alarm.c +++ b/mysys/thr_alarm.c @@ -402,6 +402,8 @@ void end_thr_alarm(void) void thr_alarm_kill(pthread_t thread_id) { uint i; + if (alarm_aborted) + return; pthread_mutex_lock(&LOCK_alarm); for (i=0 ; i < alarm_queue.elements ; i++) { diff --git a/netware/mysql_test_run.c b/netware/mysql_test_run.c index 7392a96cc73..f19cee32e92 100644 --- a/netware/mysql_test_run.c +++ b/netware/mysql_test_run.c @@ -760,7 +760,7 @@ void run_test(char *test) // create files snprintf(master_opt_file, PATH_MAX, "%s/%s-master.opt", test_dir, test); snprintf(slave_opt_file, PATH_MAX, "%s/%s-slave.opt", test_dir, test); - snprintf(slave_master_info_file, PATH_MAX, "%s/%s-slave-master-info.opt", test_dir, test); + snprintf(slave_master_info_file, PATH_MAX, "%s/%s.slave-mi", test_dir, test); snprintf(reject_file, PATH_MAX, "%s/%s%s", result_dir, test, REJECT_SUFFIX); snprintf(out_file, PATH_MAX, "%s/%s%s", result_dir, test, OUT_SUFFIX); snprintf(err_file, PATH_MAX, "%s/%s%s", result_dir, test, ERR_SUFFIX);