mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
RENAME TABLE table_name TO new_table_name ; Faster Alloc
Small bug fixes
This commit is contained in:
111
Docs/manual.texi
111
Docs/manual.texi
@ -275,7 +275,7 @@ Is there anything special to do when upgrading/downgrading MySQL?
|
||||
How standards-compatible is MySQL?
|
||||
|
||||
* Extensions to ANSI:: @strong{MySQL} extensions to ANSI SQL92
|
||||
* Ansi mode:: Running @strong{MySQL} in ANSI mode
|
||||
* Ansi mode:: Runnning @strong{MySQL} in ANSI mode
|
||||
* Differences from ANSI:: @strong{MySQL} differences compared to ANSI SQL92
|
||||
* Missing functions:: Functionality missing from @strong{MySQL}
|
||||
* Standards:: What standards does @strong{MySQL} follow?
|
||||
@ -323,6 +323,7 @@ MySQL language reference
|
||||
* DROP DATABASE:: @code{DROP DATABASE} syntax
|
||||
* CREATE TABLE:: @code{CREATE TABLE} syntax
|
||||
* ALTER TABLE:: @code{ALTER TABLE} syntax
|
||||
* RENAME TABLE::
|
||||
* DROP TABLE:: @code{DROP TABLE} syntax
|
||||
* OPTIMIZE TABLE:: @code{OPTIMIZE TABLE} syntax
|
||||
* CHECK TABLE:: @code{CHECK TABLE} syntax
|
||||
@ -608,7 +609,7 @@ Using @code{MySQL} with some common programs
|
||||
|
||||
Problems and common errors
|
||||
|
||||
* What is crashing:: How to determine what is causing problems
|
||||
* What is crashing:: How to determinate what is causing problems
|
||||
* Crashing:: What to do if @strong{MySQL} keeps crashing
|
||||
* Link errors:: Problems when linking with the @strong{MySQL} client library
|
||||
* Common errors:: Some common errors when using @strong{MySQL}
|
||||
@ -720,7 +721,7 @@ C API function descriptions
|
||||
* mysql_store_result:: @code{mysql_store_result()}
|
||||
* mysql_thread_id:: @code{mysql_thread_id()}
|
||||
* mysql_use_result:: @code{mysql_use_result()}
|
||||
* NULL mysql_store_result:: Why is it that after @code{mysql_query()} returns success, @code{mysql_store_result()} sometimes returns @code{NULL}?
|
||||
* NULL mysql_store_result:: Why is it that after @code{mysql_query()} returns success, @code{mysql_store_result()} sometimes returns @code{NULL?}
|
||||
* Query results:: What results can I get from a query?
|
||||
* Getting unique ID:: How can I get the unique ID for the last inserted row?
|
||||
* C API linking problems:: Problems linking with the C API
|
||||
@ -1826,7 +1827,7 @@ Apart from the following links, you can find and download a lot of
|
||||
@strong{MySQL} programs, tools and APIs from the
|
||||
@uref{http://www.mysql.com/Contrib/, Contrib directory}.
|
||||
|
||||
@subheading Tutorials and manuals
|
||||
@subheading Tutorials and Manuals
|
||||
@itemize @bullet
|
||||
|
||||
@c just forwards to the devshed link below.. (jcole)
|
||||
@ -2026,6 +2027,11 @@ reviewing.
|
||||
@item
|
||||
@uref{http://www.omnis-software.com/products/studio/studio.html, OMNIS}
|
||||
OMNIS Studio is a rapid application development (RAD) tool.
|
||||
@item
|
||||
@uref{http://www.webplus.com, talentsoft Web+ 4.6}
|
||||
Web+ is a powerful and comprehensive development language for use in
|
||||
creating web-based client/server applications without writing complicated,
|
||||
low-level and time-consuming CGI programs.
|
||||
@end itemize
|
||||
|
||||
@subheading Database design tools with MySQL support
|
||||
@ -8959,6 +8965,7 @@ comparisons to be done according to the ASCII order used on the
|
||||
@strong{MySQL} maps each database to a directory under the @strong{MySQL}
|
||||
data directory, and tables within a database to filenames in the database
|
||||
directory.
|
||||
|
||||
This has two implications:
|
||||
|
||||
@itemize @minus
|
||||
@ -9015,11 +9022,12 @@ Use of @code{TEMPORARY} or @code{IF NOT EXISTS} with @code{CREATE TABLE}.
|
||||
Use of @code{COUNT(DISTINCT list)} where 'list' is more than one element.
|
||||
|
||||
@item
|
||||
Use of @code{CHANGE col_name}, @code{DROP col_name} or @code{DROP INDEX}
|
||||
in an @code{ALTER TABLE} statement. @xref{ALTER TABLE, , @code{ALTER TABLE}}.
|
||||
Use of @code{CHANGE col_name}, @code{DROP col_name} or @code{DROP
|
||||
INDEX}, @code{IGNORE} or @code{RENAME} in an @code{ALTER TABLE}
|
||||
statement. @xref{ALTER TABLE, , @code{ALTER TABLE}}.
|
||||
|
||||
@item
|
||||
Use of @code{IGNORE} in an @code{ALTER TABLE} statement.
|
||||
Use of @code{RENAME TABLE}. @xref{RENAME TABLE, , @code{RENAME TABLE}}.
|
||||
|
||||
@item
|
||||
Use of multiple @code{ADD}, @code{ALTER}, @code{DROP} or @code{CHANGE}
|
||||
@ -11636,6 +11644,7 @@ to restart @code{mysqld} with @code{--skip-grant-tables} to be able to run
|
||||
* DROP DATABASE:: @code{DROP DATABASE} syntax
|
||||
* CREATE TABLE:: @code{CREATE TABLE} syntax
|
||||
* ALTER TABLE:: @code{ALTER TABLE} syntax
|
||||
* RENAME TABLE::
|
||||
* DROP TABLE:: @code{DROP TABLE} syntax
|
||||
* OPTIMIZE TABLE:: @code{OPTIMIZE TABLE} syntax
|
||||
* CHECK TABLE:: @code{CHECK TABLE} syntax
|
||||
@ -15973,15 +15982,16 @@ mysql> select COUNT(*) from student;
|
||||
@findex COUNT(DISTINCT)
|
||||
@findex DISTINCT
|
||||
@item COUNT(DISTINCT expr,[expr...])
|
||||
Returns a count of the number of different values.
|
||||
Returns a count of the number of different not @code{NULL} values.
|
||||
|
||||
@example
|
||||
mysql> select COUNT(DISTINCT results) from student;
|
||||
@end example
|
||||
|
||||
In @strong{MySQL} you can get the number of distinct expressions combinations
|
||||
by giving a list of expressions. In ANSI SQL you would have to do a
|
||||
concatenation of all expressions inside @code{CODE(DISTINCT ..)}.
|
||||
In @strong{MySQL} you can get the number of distinct expressions
|
||||
combinations that doesn't contain NULL by giving a list of expressions.
|
||||
In ANSI SQL you would have to do a concatenation of all expressions
|
||||
inside @code{CODE(DISTINCT ..)}.
|
||||
|
||||
@findex AVG()
|
||||
@item AVG(expr)
|
||||
@ -16547,7 +16557,7 @@ Certain other column type changes may occur if you compress a table
|
||||
using @code{myisampack}. @xref{Compressed format}.
|
||||
|
||||
@findex ALTER TABLE
|
||||
@node ALTER TABLE, DROP TABLE, CREATE TABLE, Reference
|
||||
@node ALTER TABLE, RENAME TABLE, CREATE TABLE, Reference
|
||||
@section @code{ALTER TABLE} syntax
|
||||
|
||||
@example
|
||||
@ -16565,7 +16575,7 @@ alter_specification:
|
||||
or DROP [COLUMN] col_name
|
||||
or DROP PRIMARY KEY
|
||||
or DROP INDEX index_name
|
||||
or RENAME [AS] new_tbl_name
|
||||
or RENAME [TO] new_tbl_name
|
||||
or table_options
|
||||
@end example
|
||||
|
||||
@ -16621,9 +16631,10 @@ INDEX} are @strong{MySQL} extensions to ANSI SQL92.
|
||||
The optional word @code{COLUMN} is a pure noise word and can be omitted.
|
||||
|
||||
@item
|
||||
If you use @code{ALTER TABLE tbl_name RENAME AS new_name} without any other
|
||||
If you use @code{ALTER TABLE tbl_name RENAME TO new_name} without any other
|
||||
options, @strong{MySQL} simply renames the files that correspond to the table
|
||||
@code{tbl_name}. There is no need to create the temporary table.
|
||||
@xref{RENAME TABLE,, @code{RENAME TABLE}}.
|
||||
|
||||
@item
|
||||
@code{create_definition} clauses use the same syntax for @code{ADD} and
|
||||
@ -16775,8 +16786,47 @@ sequence number be executing @code{SET INSERT_ID=#} before
|
||||
|
||||
See also @xref{ALTER TABLE problems, , @code{ALTER TABLE} problems}.
|
||||
|
||||
@findex RENAME TABLE
|
||||
@node RENAME TABLE, DROP TABLE, ALTER TABLE, Reference
|
||||
@section @code{RENAME TABLE} syntax
|
||||
|
||||
@example
|
||||
RENAME TABLE tbl_name as new_table_name[, tbl_name2 as new_table_name2,...]
|
||||
@end example
|
||||
|
||||
The rename is done atomic, which means that if no other thread can
|
||||
access any of the tables while the rename is running. This makes it
|
||||
possible to replace a table with an empty one:
|
||||
|
||||
@example
|
||||
CREATE TABLE new_table (...);
|
||||
RENAME TABLE old_table TO backup_table, new_table as old_table;
|
||||
@end example
|
||||
|
||||
The rename is done from left to right, which means that if you want to
|
||||
swap two tables names, you have to do:
|
||||
|
||||
@example
|
||||
RENAME TABLE old_table TO backup_table, new_table as old_table, backup_table as old_table;
|
||||
@end example
|
||||
|
||||
Is long as two databases are on the same disk you can also do a rename
|
||||
from a database to another:
|
||||
|
||||
@example
|
||||
RENAME TABLE current_database.table_name TO other_database.table_name;
|
||||
@end example
|
||||
|
||||
When you execute @code{RENAME}, you can't have any locked tables or active
|
||||
transactions. You must also have the @code{ALTER TABLE} privilege on both
|
||||
the old and the new table.
|
||||
|
||||
If @strong{MySQL} encounters any errors in a multiple table rename, it
|
||||
will do a reverse rename for all renamed tables to get everything back
|
||||
to the original state.
|
||||
|
||||
@findex DROP TABLE
|
||||
@node DROP TABLE, OPTIMIZE TABLE, ALTER TABLE, Reference
|
||||
@node DROP TABLE, OPTIMIZE TABLE, RENAME TABLE, Reference
|
||||
@section @code{DROP TABLE} syntax
|
||||
|
||||
@example
|
||||
@ -19172,9 +19222,8 @@ may be a column name or a string containing the SQL @samp{%} and @samp{_}
|
||||
wildcard characters.
|
||||
|
||||
If the column types are different than you expect them to be based on a
|
||||
@code{CREATE TABLE} statement, note that @strong{MySQL} sometimes changes column
|
||||
types.
|
||||
@xref{Silent column changes}.
|
||||
@code{CREATE TABLE} statement, note that @strong{MySQL} sometimes
|
||||
changes column types. @xref{Silent column changes}.
|
||||
|
||||
@cindex Oracle compatibility
|
||||
@cindex Compatibility, with Oracle
|
||||
@ -35350,6 +35399,10 @@ and will soon be declared beta, gamma and release.
|
||||
@appendixsubsec Changes in release 3.23.23
|
||||
@itemize @bullet
|
||||
@item
|
||||
Added atomic @code{RENAME} command.
|
||||
@item
|
||||
Don't count entries with @code{NULL} in @code{COUNT(DISTINCT ..)}.
|
||||
@item
|
||||
Changed @code{ALTER TABLE}, @code{LOAD DATA INFILE} on empty tables and
|
||||
@code{INSERT ... SELECT...} on empty tables to create non-unique indexs
|
||||
in a separate batch with sorting. This will make the above calls much
|
||||
@ -35372,7 +35425,9 @@ that don't have the @code{pthread_rwlock_rdlock} code.
|
||||
When deleting rows with a non-unique key in a HEAP table, all rows weren't
|
||||
always deleted.
|
||||
@item
|
||||
Fixed that BDB tables work on part keys.
|
||||
Fixed that @code{SELECT} on part keys works with BDB tables.
|
||||
@item
|
||||
Fixed that @code{INSERT INTO bdb_table ... SELECT} works with BDB tables.
|
||||
@item
|
||||
Check table now updates key statistics for the table.
|
||||
@item
|
||||
@ -35382,11 +35437,18 @@ will not be marked to be analyzed until they are updated in any way with
|
||||
3.23.23 or newer. For older tables, you have to do @code{CHECK TABLE}
|
||||
to update the key distribution.
|
||||
@item
|
||||
Fixed some minor privilege problems with @code{CHECK}, @code{ANALYZE},
|
||||
@code{REPAIR} and @code{SHOW CREATE} commands.
|
||||
@item
|
||||
Added @code{CHANGE MASTER TO} command
|
||||
@item
|
||||
Added @code{FAST}, @code{QUICK} @code{EXTENDED} check types to
|
||||
@code{CHECK TABLES}.
|
||||
@item
|
||||
Changed @code{myisamchk} so that @code{--fast} and
|
||||
@code{--check-changed-tables} are also honored with @code{--sort-index} and
|
||||
@code{--analyze}.
|
||||
@item
|
||||
Fixed fatal bug in @code{LOAD TABLE FROM MASTER} that did not lock the table during index re-build
|
||||
@item
|
||||
@code{LOAD DATA INFILE} broke replication if the database was excluded from replication
|
||||
@ -38130,7 +38192,7 @@ Added new commands @code{CREATE DATABASE db_name} and @code{DROP
|
||||
DATABASE db_name}.
|
||||
@item
|
||||
Added @code{RENAME} option to @code{ALTER TABLE}: @code{ALTER TABLE name
|
||||
RENAME AS new_name}.
|
||||
RENAME TO new_name}.
|
||||
@item
|
||||
@code{make_binary_distribution} now includes @file{libgcc.a} in
|
||||
@file{libmysqlclient.a}. This should make linking work for people who don't
|
||||
@ -39474,7 +39536,7 @@ Fail safe replication.
|
||||
@item
|
||||
Optimize, test and document transactions safe tables
|
||||
@item
|
||||
@code{RENAME table as table, table as table [,...]}
|
||||
@code{RENAME table to table, table to table [,...]}
|
||||
@item
|
||||
Allow users to change startup options.
|
||||
@item
|
||||
@ -39656,6 +39718,13 @@ A logfile analyzer that could parsed out information about which tables
|
||||
are hit most often, how often multi-table joins are executed, etc. It
|
||||
should help users identify areas or table design that could be optimized
|
||||
to execute much more efficient queries.
|
||||
@item
|
||||
Add @code{SUM(DISTINCT)}
|
||||
@item
|
||||
Add @code{ANY()},@code{EVERY()} and @code{SOME()} group functions. In
|
||||
ANSI SQL these only works on boolean columns, but we can extend these to
|
||||
work on any columns/expressions by applying: value == 0 -> FALSE and
|
||||
value <> 0 -> TRUE.
|
||||
@end itemize
|
||||
|
||||
@node TODO sometime, TODO unplanned, TODO future, TODO
|
||||
|
@ -1709,10 +1709,10 @@ CHARSET_COMP_CS_INIT="$CHARSET_COMP_CS_INIT
|
||||
{
|
||||
0, /* end-of-list marker */
|
||||
NullS,
|
||||
\"\",
|
||||
\"\",
|
||||
\"\",
|
||||
\"\",
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
0,
|
||||
NULL,
|
||||
NULL,
|
||||
|
@ -113,6 +113,12 @@
|
||||
#define HAVE_ATOMIC_SUB
|
||||
#endif
|
||||
|
||||
/* In Linux-ia64 including atomic.h will give us an error */
|
||||
#if defined(HAVE_LINUXTHREADS) && defined(__GNUC__) && defined(__ia64__)
|
||||
#undef HAVE_ATOMIC_ADD
|
||||
#undef HAVE_ATOMIC_SUB
|
||||
#endif
|
||||
|
||||
#if defined(_lint) && !defined(lint)
|
||||
#define lint
|
||||
#endif
|
||||
@ -207,6 +213,7 @@
|
||||
#endif
|
||||
|
||||
/* Define void to stop lint from generating "null effekt" comments */
|
||||
#ifndef DONT_DEFINE_VOID
|
||||
#ifdef _lint
|
||||
int __void__;
|
||||
#define VOID(X) (__void__ = (int) (X))
|
||||
@ -214,6 +221,7 @@ int __void__;
|
||||
#undef VOID
|
||||
#define VOID(X) (X)
|
||||
#endif
|
||||
#endif /* DONT_DEFINE_VOID */
|
||||
|
||||
#if defined(_lint) || defined(FORCE_INIT_OF_VARS)
|
||||
#define LINT_INIT(var) var=0 /* No uninitialize-warning */
|
||||
@ -515,6 +523,8 @@ typedef long my_ptrdiff_t;
|
||||
#define NEAR /* Who needs segments ? */
|
||||
#define FAR /* On a good machine */
|
||||
#define HUGE_PTR
|
||||
#endif
|
||||
#ifndef STDCALL
|
||||
#define STDCALL
|
||||
#endif
|
||||
|
||||
|
@ -192,4 +192,5 @@
|
||||
#define ER_MASTER_NET_READ 1189
|
||||
#define ER_MASTER_NET_WRITE 1190
|
||||
#define ER_FT_MATCHING_KEY_NOT_FOUND 1191
|
||||
#define ER_ERROR_MESSAGES 192
|
||||
#define ER_LOCK_OR_ACTIVE_TRANSACTION 1192
|
||||
#define ER_ERROR_MESSAGES 193
|
||||
|
@ -190,7 +190,7 @@ static struct option long_options[] =
|
||||
|
||||
static void print_version(void)
|
||||
{
|
||||
printf("%s Ver 1.29 for %s at %s\n",my_progname,SYSTEM_TYPE,
|
||||
printf("%s Ver 1.30 for %s at %s\n",my_progname,SYSTEM_TYPE,
|
||||
MACHINE_TYPE);
|
||||
}
|
||||
|
||||
@ -295,7 +295,7 @@ static void get_options(register int *argc,register char ***argv)
|
||||
set_all_changeable_vars(changeable_vars);
|
||||
if (isatty(fileno(stdout)))
|
||||
check_param.testflag|=T_WRITE_LOOP;
|
||||
while ((c=getopt_long(*argc,*argv,"acCdeif?lqrmosSTuUvVw#:b:D:k:O:R:A::t:",
|
||||
while ((c=getopt_long(*argc,*argv,"acCdeifF?lqrmosSTuUvVw#:b:D:k:O:R:A::t:",
|
||||
long_options, &option_index)) != EOF)
|
||||
{
|
||||
switch(c) {
|
||||
@ -520,10 +520,30 @@ static int myisamchk(MI_CHECK *param, my_string filename)
|
||||
We are using --fast and the table is closed properly
|
||||
We are using --check-only-changed-tables and the table hasn't changed
|
||||
*/
|
||||
if (((param->testflag & T_CHECK_ONLY_CHANGED) &&
|
||||
if (param->testflag & (T_FAST | T_CHECK_ONLY_CHANGED))
|
||||
{
|
||||
my_bool need_to_check= mi_is_crashed(info) || share->state.open_count != 0;
|
||||
|
||||
if ((param->testflag & (T_REP_BY_SORT | T_REP | T_SORT_RECORDS)) &&
|
||||
((share->state.changed & (STATE_CHANGED | STATE_CRASHED |
|
||||
STATE_CRASHED_ON_REPAIR) ||
|
||||
!(param->testflag & T_CHECK_ONLY_CHANGED))))
|
||||
need_to_check=1;
|
||||
|
||||
if ((param->testflag & T_STATISTICS) &&
|
||||
(share->state.changed & STATE_NOT_ANALYZED))
|
||||
need_to_check=1;
|
||||
if ((param->testflag & T_SORT_INDEX) &&
|
||||
(share->state.changed & STATE_NOT_SORTED_PAGES))
|
||||
need_to_check=1;
|
||||
if ((param->testflag & T_REP_BY_SORT) &&
|
||||
(share->state.changed & STATE_NOT_OPTIMIZED_KEYS))
|
||||
need_to_check=1;
|
||||
if ((param->testflag & T_CHECK_ONLY_CHANGED) &&
|
||||
(share->state.changed & (STATE_CHANGED | STATE_CRASHED |
|
||||
STATE_CRASHED_ON_REPAIR))) ||
|
||||
(param->testflag & T_FAST) && share->state.open_count == 0)
|
||||
STATE_CRASHED_ON_REPAIR)))
|
||||
need_to_check=1;
|
||||
if (!need_to_check)
|
||||
{
|
||||
if (!(param->testflag & T_SILENT) || param->testflag & T_INFO)
|
||||
printf("MyISAM file: %s is already checked\n",filename);
|
||||
@ -535,7 +555,7 @@ static int myisamchk(MI_CHECK *param, my_string filename)
|
||||
}
|
||||
DBUG_RETURN(0);
|
||||
}
|
||||
|
||||
}
|
||||
if ((param->testflag & (T_REP_BY_SORT | T_REP | T_STATISTICS |
|
||||
T_SORT_RECORDS | T_SORT_INDEX)) &&
|
||||
(((param->testflag & T_UNPACK) &&
|
||||
|
@ -48,5 +48,6 @@ int _myrg_init_queue(MYRG_INFO *info,int inx,enum ha_rkey_function search_flag)
|
||||
info->open_tables->table->s->keyinfo[inx].seg))
|
||||
return my_errno;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -25,6 +25,9 @@
|
||||
SerG
|
||||
*/
|
||||
|
||||
int _mi_rkey(MI_INFO *info, byte *buf, int inx, const byte *key, uint key_len,
|
||||
enum ha_rkey_function search_flag, bool raw_key);
|
||||
|
||||
int myrg_rkey(MYRG_INFO *info,byte *record,int inx, const byte *key,
|
||||
uint key_len, enum ha_rkey_function search_flag)
|
||||
{
|
||||
|
@ -224,7 +224,7 @@ if ($limits->{'unique_index'})
|
||||
$tmpvar^= ((($tmpvar + 63) + $i)*3 % $opt_loop_count);
|
||||
$tmp=$tmpvar % ($total_rows);
|
||||
$tmpquery = "$query ($tmp,1,2,'D')";
|
||||
if ($dbh->do($tmpquery))
|
||||
if (!$dbh->do($tmpquery))
|
||||
{
|
||||
die "Didn't get an error when inserting duplicate record $tmp\n";
|
||||
}
|
||||
|
@ -1,3 +1,8 @@
|
||||
2000-08-20 Michael Widenius <monty@mysql.com>
|
||||
|
||||
* Added memory as inline functions to THD to get them a bit faster
|
||||
* Don't count entries with NULL in COUNT(DISTINCT ..)
|
||||
|
||||
2000-08-08 Michael Widenius <monty@mysql.com>
|
||||
|
||||
* Changed ALTER TABLE and LOAD DATA INFILE to create non unique, small keys
|
||||
|
@ -66,7 +66,7 @@ mysqld_SOURCES = sql_lex.cc \
|
||||
records.cc filesort.cc handler.cc \
|
||||
ha_isam.cc ha_isammrg.cc ha_heap.cc \
|
||||
ha_myisam.cc ha_myisammrg.cc ha_berkeley.cc \
|
||||
sql_db.cc sql_table.cc sql_crypt.cc \
|
||||
sql_db.cc sql_table.cc sql_rename.cc sql_crypt.cc \
|
||||
sql_load.cc mf_iocache.cc field_conv.cc sql_show.cc \
|
||||
sql_udf.cc sql_analyse.cc sql_analyse.h sql_cache.cc \
|
||||
slave.cc \
|
||||
|
@ -839,6 +839,10 @@ bool Item_sum_count_distinct::add()
|
||||
copy_fields(tmp_table_param);
|
||||
copy_funcs(tmp_table_param->funcs);
|
||||
|
||||
for (Field **field=table->field ; *field ; field++)
|
||||
if ((*field)->is_real_null(0))
|
||||
return 0; // Don't count NULL
|
||||
|
||||
if ((error=table->file->write_row(table->record[0])))
|
||||
{
|
||||
if (error != HA_ERR_FOUND_DUPP_KEY &&
|
||||
|
84
sql/lock.cc
84
sql/lock.cc
@ -384,3 +384,87 @@ static MYSQL_LOCK *get_lock_data(THD *thd, TABLE **table_ptr, uint count,
|
||||
}
|
||||
return sql_lock;
|
||||
}
|
||||
|
||||
/*****************************************************************************
|
||||
** Lock table based on the name.
|
||||
** This is used when we need total access to a closed, not open table
|
||||
*****************************************************************************/
|
||||
|
||||
/*
|
||||
Put a not open table with an old refresh version in the table cache.
|
||||
This will force any other threads that uses the table to release it
|
||||
as soon as possible.
|
||||
One must have a lock on LOCK_open !
|
||||
Return values:
|
||||
< 0 error
|
||||
== 0 table locked
|
||||
> 0 table locked, but someone is using it
|
||||
*/
|
||||
|
||||
|
||||
int lock_table_name(THD *thd, TABLE_LIST *table_list)
|
||||
{
|
||||
TABLE *table;
|
||||
char key[MAX_DBKEY_LENGTH];
|
||||
uint key_length;
|
||||
key_length=(uint) (strmov(strmov(key,table_list->db)+1,table_list->name)-key)+
|
||||
1;
|
||||
|
||||
/* Only insert the table if we haven't insert it already */
|
||||
for (table=(TABLE*) hash_search(&open_cache,(byte*) key,key_length) ;
|
||||
table ;
|
||||
table = (TABLE*) hash_next(&open_cache,(byte*) key,key_length))
|
||||
if (table->in_use == thd)
|
||||
return 0;
|
||||
|
||||
/* Create a table entry with the right key and with an old refresh version */
|
||||
if (!(table= (TABLE*) thd->calloc(sizeof(*table)+key_length)))
|
||||
return -1;
|
||||
memcpy((table->table_cache_key= (char*) (table+1)), key, key_length);
|
||||
table->key_length=key_length;
|
||||
table->in_use=thd;
|
||||
table_list->table=table;
|
||||
|
||||
if (hash_insert(&open_cache, (byte*) table))
|
||||
return -1;
|
||||
if (remove_table_from_cache(thd, table_list->db, table_list->name))
|
||||
return 1; // Table is in use
|
||||
return 0;
|
||||
}
|
||||
|
||||
void unlock_table_name(THD *thd, TABLE_LIST *table_list)
|
||||
{
|
||||
if (table_list->table)
|
||||
hash_delete(&open_cache, (gptr) table_list->table);
|
||||
}
|
||||
|
||||
static bool locked_named_table(THD *thd, TABLE_LIST *table_list)
|
||||
{
|
||||
for ( ; table_list ; table_list=table_list->next)
|
||||
{
|
||||
if (table_list->table && table_is_used(table_list->table))
|
||||
return 1;
|
||||
}
|
||||
return 0; // All tables are locked
|
||||
}
|
||||
|
||||
|
||||
bool wait_for_locked_table_names(THD *thd, TABLE_LIST *table_list)
|
||||
{
|
||||
bool result=0;
|
||||
|
||||
while (locked_named_table(thd,table_list))
|
||||
{
|
||||
if (thd->killed)
|
||||
{
|
||||
result=1;
|
||||
break;
|
||||
}
|
||||
wait_for_refresh(thd);
|
||||
}
|
||||
pthread_mutex_lock(&thd->mysys_var->mutex);
|
||||
thd->mysys_var->current_mutex=0;
|
||||
thd->mysys_var->current_cond=0;
|
||||
pthread_mutex_unlock(&thd->mysys_var->mutex);
|
||||
return result;
|
||||
}
|
||||
|
Binary file not shown.
@ -1,13 +1,13 @@
|
||||
/* Copyright Abandoned 1997 TCX DataKonsult AB & Monty Program KB & Detron HB
|
||||
This file is public domain and comes with NO WARRANTY of any kind */
|
||||
|
||||
/* Modifikoval Petr <20>najdr, snajdr@pvt.net, snajdr@cpress.cz v.0.01
|
||||
/* Modifikoval Petr -B<EFBFBD>najdr, snajdr@pvt.net, snajdr@cpress.cz v.0.01 -A
|
||||
ISO LATIN-8852-2
|
||||
Upravil Jan Pazdziora, adelton@fi.muni.cz
|
||||
Tue Nov 18 17:53:55 MET 1997 verze 0.02
|
||||
Roz<6F><7A><EFBFBD>eno podle 3.21.15c Jan Pazdziora, adelton@fi.muni.cz
|
||||
Roz-B<EFBFBD><EFBFBD><EFBFBD>eno podle 3.21.15c Jan Pazdziora, adelton@fi.muni.cz-A
|
||||
Tue Dec 2 19:08:54 MET 1997 verze 0.03
|
||||
Roz<6F><7A><EFBFBD>eno podle 3.21.29 Jan Pazdziora, adelton@fi.muni.cz
|
||||
Roz-B<EFBFBD><EFBFBD><EFBFBD>eno podle 3.21.29 Jan Pazdziora, adelton@fi.muni.cz-A
|
||||
Thu May 7 17:40:49 MET DST 1998 verze 0.04
|
||||
Podle verze 3.22.20 upravil Jan Pazdziora, adelton@fi.muni.cz
|
||||
Thu Apr 1 20:49:57 CEST 1999
|
||||
@ -19,191 +19,192 @@
|
||||
"isamchk",
|
||||
"NE",
|
||||
"ANO",
|
||||
"Nemohu vytvo<76>it soubor '%-.64s' (chybov<6F> k<>d: %d)",
|
||||
"Nemohu vytvo<76>it tabulku '%-.64s' (chybov<6F> k<>d: %d)",
|
||||
"Nemohu vytvo<76>it datab<61>zi '%-.64s', chyba %d",
|
||||
"Nemohu vytvo<76>it datab<61>zi '%-.64s', datab<61>ze ji<6A> existuje",
|
||||
"Nemohu zru<72>it datab<61>zi '%-.64s', datab<61>ze neexistuje",
|
||||
"Chyba p<>i ru<72>en<65> datab<61>ze (nemohu vymazat '%-.64s', chyba %d)",
|
||||
"Chyba p<>i ru<72>en<65> datab<61>ze (nemohu vymazat adres<65><73> '%-.64s', chyba %d)",
|
||||
"Chyba p<>i v<>mazu '%-.64s' (chybov<6F> k<>d: %d)",
|
||||
"Nemohu <20><>st z<>znam v syst<73>mov<6F> tabulce",
|
||||
"Nemohu z<>skat stav '%-.64s' (chybov<6F> k<>d: %d)",
|
||||
"Chyba p<>i zji<6A><69>ov<6F>n<EFBFBD> pracovn<76> adres<65><73> (chybov<6F> k<>d: %d)",
|
||||
"Nemohu uzamknout soubor (chybov<6F> k<>d: %d)",
|
||||
"Nemohu otev<65><76>t soubor '%-.64s' (chybov<6F> k<>d: %d)",
|
||||
"Nemohu naj<61>t soubor '%-.64s' (chybov<6F> k<>d: %d)",
|
||||
"Nemohu <20><>st adres<65><73> '%-.64s' (chybov<6F> k<>d: %d)",
|
||||
"Nemohu zm<7A>nit adres<65><73> na '%-.64s' (chybov<6F> k<>d: %d)",
|
||||
"Z<>znam byl zm<7A>n<EFBFBD>n od posledn<64>ho <20>ten<65> v tabulce '%-.64s'",
|
||||
"Disk je pln<6C> (%s), <20>ek<65>m na uvoln<6C>n<EFBFBD> n<>jak<61>ho m<>sta ...",
|
||||
"Nemohu zapsat, zdvojen<65> kl<6B><6C> v tabulce '%-.64s'",
|
||||
"Chyba p<>i zav<61>r<EFBFBD>n<EFBFBD> '%-.64s' (chybov<6F> k<>d: %d)",
|
||||
"Chyba p<>i <20>ten<65> souboru '%-.64s' (chybov<6F> k<>d: %d)",
|
||||
"Chyba p<>i p<>ejmenov<6F>n<EFBFBD> '%-.64s' na '%-.64s' (chybov<6F> k<>d: %d)",
|
||||
"Chyba p<>i z<>pisu do souboru '%-.64s' (chybov<6F> k<>d: %d)",
|
||||
"'%-.64s' je zam<61>en proti zm<7A>n<EFBFBD>m",
|
||||
"T<><54>d<EFBFBD>n<EFBFBD> p<>eru<72>eno",
|
||||
"Nemohu vytvo-B<EFBFBD>it soubor '%-.64s' (chybov<6F> k<>d: %d)",-A
|
||||
"Nemohu vytvo-B<EFBFBD>it tabulku '%-.64s' (chybov<6F> k<>d: %d)",-A
|
||||
"Nemohu vytvo-B<EFBFBD>it datab<61>zi '%-.64s', chyba %d",-A
|
||||
"Nemohu vytvo-B<EFBFBD>it datab<61>zi '%-.64s', datab<61>ze ji<6A> existuje",-A
|
||||
"Nemohu zru-B<EFBFBD>it datab<61>zi '%-.64s', datab<61>ze neexistuje",-A
|
||||
"Chyba p-B<EFBFBD>i ru<72>en<65> datab<61>ze (nemohu vymazat '%-.64s', chyba %d)",-A
|
||||
"Chyba p-B<EFBFBD>i ru<72>en<65> datab<61>ze (nemohu vymazat adres<65><73> '%-.64s', chyba %d)",-A
|
||||
"Chyba p-B<EFBFBD>i v<>mazu '%-.64s' (chybov<6F> k<>d: %d)",-A
|
||||
"Nemohu -B<EFBFBD><EFBFBD>st z<>znam v syst<73>mov<6F> tabulce",-A
|
||||
"Nemohu z-B<EFBFBD>skat stav '%-.64s' (chybov<6F> k<>d: %d)",-A
|
||||
"Chyba p-B<EFBFBD>i zji<6A><69>ov<6F>n<EFBFBD> pracovn<76> adres<65><73> (chybov<6F> k<>d: %d)",-A
|
||||
"Nemohu uzamknout soubor (chybov-B<EFBFBD> k<>d: %d)",-A
|
||||
"Nemohu otev-B<EFBFBD><EFBFBD>t soubor '%-.64s' (chybov<6F> k<>d: %d)",-A
|
||||
"Nemohu naj-B<EFBFBD>t soubor '%-.64s' (chybov<6F> k<>d: %d)",-A
|
||||
"Nemohu -B<EFBFBD><EFBFBD>st adres<65><73> '%-.64s' (chybov<6F> k<>d: %d)",-A
|
||||
"Nemohu zm-B<EFBFBD>nit adres<65><73> na '%-.64s' (chybov<6F> k<>d: %d)",-A
|
||||
"Z-B<EFBFBD>znam byl zm<7A>n<EFBFBD>n od posledn<64>ho <20>ten<65> v tabulce '%-.64s'",-A
|
||||
"Disk je pln-B<EFBFBD> (%s), <20>ek<65>m na uvoln<6C>n<EFBFBD> n<>jak<61>ho m<>sta ...",-A
|
||||
"Nemohu zapsat, zdvojen-B<EFBFBD> kl<6B><6C> v tabulce '%-.64s'",-A
|
||||
"Chyba p-B<EFBFBD>i zav<61>r<EFBFBD>n<EFBFBD> '%-.64s' (chybov<6F> k<>d: %d)",-A
|
||||
"Chyba p-B<EFBFBD>i <20>ten<65> souboru '%-.64s' (chybov<6F> k<>d: %d)",-A
|
||||
"Chyba p-B<EFBFBD>i p<>ejmenov<6F>n<EFBFBD> '%-.64s' na '%-.64s' (chybov<6F> k<>d: %d)",-A
|
||||
"Chyba p-B<EFBFBD>i z<>pisu do souboru '%-.64s' (chybov<6F> k<>d: %d)",-A
|
||||
"'%-.64s' je zam-B<EFBFBD>en proti zm<7A>n<EFBFBD>m",-A
|
||||
"T-B<EFBFBD><EFBFBD>d<EFBFBD>n<EFBFBD> p<>eru<72>eno",-A
|
||||
"Pohled '%-.64s' pro '%-.64s' neexistuje",
|
||||
"Obsluha tabulky vr<76>tila chybu %d",
|
||||
"Obsluha tabulky '%-.64s' nem<65> tento parametr",
|
||||
"Nemohu naj<61>t z<>znam v '%-.64s'",
|
||||
"Nespr<70>vn<76> informace v souboru '%-.64s'",
|
||||
"Nespr<70>vn<76> kl<6B><6C> pro tabulku '%-.64s'. Pokuste se ho opravit",
|
||||
"Star<61> kl<6B><6C>ov<6F> soubor pro '%-.64s'. Opravte ho.",
|
||||
"'%-.64s' je jen pro <20>ten<65>",
|
||||
"M<>lo pam<61>ti. P<>estartujte daemona a zkuste znovu (je pot<6F>eba %d byt<79>)",
|
||||
"M<>lo pam<61>ti pro t<><74>d<EFBFBD>n<EFBFBD>. Zvy<76>te velikost t<><74>d<EFBFBD>c<EFBFBD>ho bufferu",
|
||||
"Neo<65>ek<65>van<61> konec souboru p<>i <20>ten<65> '%-.64s' (chybov<6F> k<>d: %d)",
|
||||
"P<><50>li<6C> mnoho spojen<65>",
|
||||
"M<>lo prostoru/pam<61>ti pro thread",
|
||||
"Nemohu zjistit jm<6A>no stroje pro Va<56>i adresu",
|
||||
"Chyba p<>i ustavov<6F>n<EFBFBD> spojen<65>",
|
||||
"P<><50>stup pro u<>ivatele '%-.32s@%-.64s' k datab<61>zi '%-.64s' nen<65> povolen",
|
||||
"P<><50>stup pro u<>ivatele '%-.32s@%-.64s' (s heslem %s)",
|
||||
"Nebyla vybr<62>na <20><>dn<64> datab<61>ze",
|
||||
"Nezn<7A>m<EFBFBD> p<><70>kaz",
|
||||
"Sloupec '%-.64s' nem<65><6D>e b<>t null",
|
||||
"Nezn<7A>m<EFBFBD> datab<61>ze '%-.64s'",
|
||||
"Tabulka '%-.64s' ji<6A> existuje",
|
||||
"Nezn<7A>m<EFBFBD> tabulka '%-.64s'",
|
||||
"Sloupec '%-.64s' v %s nen<65> zcela jasn<73>",
|
||||
"Prob<6F>h<EFBFBD> ukon<6F>ov<6F>n<EFBFBD> pr<70>ce serveru",
|
||||
"Nezn<7A>m<EFBFBD> sloupec '%-.64s' v %s",
|
||||
"Pou<6F>it<69> '%-.64s' nebylo v group by",
|
||||
"Nemohu pou<6F><75>t group na '%-.64s'",
|
||||
"P<><50>kaz obsahuje z<>rove<76> funkci sum a sloupce",
|
||||
"Po<50>et sloupc<70> neodpov<6F>d<EFBFBD> zadan<61> hodnot<6F>",
|
||||
"Jm<4A>no identifik<69>toru '%-.64s' je p<><70>li<6C> dlouh<75>",
|
||||
"Zdvojen<65> jm<6A>no sloupce '%-.64s'",
|
||||
"Zdvojen<65> jm<6A>no kl<6B><6C>e '%-.64s'",
|
||||
"Zvojen<65> kl<6B><6C> '%-.64s' (<28><>slo kl<6B><6C>e %d)",
|
||||
"Chybn<62> specifikace sloupce '%-.64s'",
|
||||
"%s bl<62>zko '%-.64s' na <20><>dku %d",
|
||||
"V<>sledek dotazu je pr<70>zdn<64>",
|
||||
"Nejednozna<6E>n<EFBFBD> tabulka/alias: '%-.64s'",
|
||||
"Chybn<62> defaultn<74> hodnota pro '%-.64s'",
|
||||
"Definov<6F>no v<>ce prim<69>rn<72>ch kl<6B><6C><EFBFBD>",
|
||||
"Zad<61>no p<><70>li<6C> mnoho kl<6B><6C><EFBFBD>, je povoleno nejv<6A>ce %d kl<6B><6C><EFBFBD>",
|
||||
"Zad<61>no p<><70>li<6C> mnoho <20><>st kl<6B><6C><EFBFBD>, je povoleno nejv<6A>ce %d <20><>st<73>",
|
||||
"Zadan<61> kl<6B><6C> byl p<><70>li<6C> dlouh<75>, nejv<6A>t<EFBFBD><74> d<>lka kl<6B><6C>e je %d",
|
||||
"Kl<4B><6C>ov<6F> sloupec '%-.64s' v tabulce neexistuje",
|
||||
"Blob sloupec '%-.64s' nem<65><6D>e b<>t pou<6F>it jako kl<6B><6C>",
|
||||
"P<><50>li<6C> velk<6C> d<>lka sloupce '%-.64s' (nejv<6A>ce %d). Pou<6F>ijte BLOB",
|
||||
"M<><4D>ete m<>t pouze jedno AUTO pole a to mus<75> b<>t definov<6F>no jako kl<6B><6C>",
|
||||
"%s: p<>ipraven na spojen<65>\n",
|
||||
"%s: norm<72>ln<6C> ukon<6F>en<65>\n",
|
||||
"%s: p<>ijat signal %d, kon<6F><6E>m\n",
|
||||
"%s: ukon<6F>en<65> pr<70>ce hotovo\n",
|
||||
"%s: n<>siln<6C> uzav<61>en<65> threadu %ld u<>ivatele '%-.64s'\n",
|
||||
"Nemohu vytvo<76>it IP socket",
|
||||
"Tabulka '%-.64s' nem<65> index odpov<6F>daj<61>c<EFBFBD> CREATE INDEX. Vytvo<76>te tabulku znovu",
|
||||
"Argument separ<61>toru polo<6C>ek nebyl o<>ek<65>v<EFBFBD>n. P<>e<EFBFBD>t<EFBFBD>te si manu<6E>l",
|
||||
"Nen<65> mo<6D>n<EFBFBD> pou<6F><75>t pevn<76> rowlength s BLOBem. Pou<6F>ijte 'fields terminated by'.",
|
||||
"Soubor '%-.64s' mus<75> b<>t v adres<65><73>i datab<61>ze nebo <20>iteln<6C> pro v<>echny",
|
||||
"Soubor '%-.64s' ji<6A> existuje",
|
||||
"Z<>znam<61>: %ld Vymaz<61>no: %ld P<>esko<6B>eno: %ld Varov<6F>n<EFBFBD>: %ld",
|
||||
"Z<>znam<61>: %ld Zdvojen<65>ch: %ld",
|
||||
"Chybn<62> pod<6F><64>st kl<6B><6C>e -- nen<65> to <20>et<65>zec nebo je del<65><6C> ne<6E> d<>lka <20><>sti kl<6B><6C>e",
|
||||
"Nen<65> mo<6D>n<EFBFBD> vymazat v<>echny polo<6C>ky s ALTER TABLE. Pou<6F>ijte DROP TABLE",
|
||||
"Nemohu zru<72>it '%-.64s' (prov<6F>st DROP). Zkontrolujte, zda neexistuj<75> z<>znamy/kl<6B><6C>e",
|
||||
"Z<>znam<61>: %ld Zdvojen<65>ch: %ld Varov<6F>n<EFBFBD>: %ld",
|
||||
"INSERT TABLE '%-.64s' nen<65> dovoleno v seznamu tabulek FROM",
|
||||
"Nezn<7A>m<EFBFBD> identifikace threadu: %lu",
|
||||
"Nejste vlastn<74>kem threadu %lu",
|
||||
"Nejsou pou<6F>ity <20><>dn<64> tabulky",
|
||||
"P<><50>li<6C> mnoho <20>et<65>zc<7A> pro sloupec %s a SET",
|
||||
"Nemohu vytvo<76>it jednozna<6E>n<EFBFBD> jm<6A>no logovac<61>ho souboru %s.(1-999)\n",
|
||||
"Tabulka '%-.64s' byla zam<61>ena s READ a nem<65><6D>e b<>t zm<7A>n<EFBFBD>na",
|
||||
"Tabulka '%-.64s' nebyla zam<61>ena s LOCK TABLES",
|
||||
"Blob polo<6C>ka '%-.64s' nem<65><6D>e m<>t defaultn<74> hodnotu",
|
||||
"Nep<65><70>pustn<74> jm<6A>no datab<61>ze '%-.64s'",
|
||||
"Nep<65><70>pustn<74> jm<6A>no tabulky '%-.64s'",
|
||||
"Zadan<61> SELECT by proch<63>zel p<><70>li<6C> mnoho z<>znam<61> a trval velmi dlouho. Zkontrolujte tvar WHERE a je-li SELECT v po<70><6F>dku, pou<6F>ijte SET OPTION SQL_BIG_SELECTS=1",
|
||||
"Nezn<7A>m<EFBFBD> chyba",
|
||||
"Nezn<7A>m<EFBFBD> procedura %s",
|
||||
"Chybn<62> po<70>et parametr<74> procedury %s",
|
||||
"Chybn<62> parametry procedury %s",
|
||||
"Nezn<7A>m<EFBFBD> tabulka '%-.64s' v %s",
|
||||
"Polo<6C>ka '%-.64s' je zad<61>na dvakr<6B>t",
|
||||
"Nespr<70>vn<76> pou<6F>it<69> funkce group",
|
||||
"Tabulka '%-.64s' pou<6F><75>v<EFBFBD> roz<6F><7A><EFBFBD>en<65>, kter<65> v t<>to verzi MySQL nen<65>",
|
||||
"Tabulka mus<75> m<>t alespo<70> jeden sloupec",
|
||||
"Tabulka '%-.64s' je pln<EFBFBD>",
|
||||
"Nezn<7A>m<EFBFBD> znakov<6F> sada: '%-.64s'",
|
||||
"P<><50>li<6C> mnoho tabulek, MySQL jich m<><6D>e m<>t v joinu jen %d",
|
||||
"P<><50>li<6C> mnoho polo<6C>ek",
|
||||
"<22><>dek je p<><70>li<6C> velk<6C>. Maxim<69>ln<6C> velikost <20><>dku, nepo<70><6F>taje polo<6C>ky blob, je %d. Mus<75>te zm<7A>nit n<>kter<65> polo<6C>ky na blob",
|
||||
"P<>ete<74>en<65> z<>sobn<62>ku threadu: pou<6F>ito %ld z %ld. Pou<6F>ijte 'mysqld -O thread_stack=#' k zad<61>n<EFBFBD> v<>t<EFBFBD><74>ho z<>sobn<62>ku",
|
||||
"V OUTER JOIN byl nalezen k<><6B><EFBFBD>ov<6F> odkaz. Prov<6F><76>te ON podm<64>nky",
|
||||
"Sloupec '%-.32s' je pou<6F>it s UNIQUE nebo INDEX, ale nen<65> definov<6F>n jako NOT NULL",
|
||||
"Nemohu na<6E><61>st funkci '%-.64s'",
|
||||
"Obsluha tabulky vr-B<EFBFBD>tila chybu %d",-A
|
||||
"Obsluha tabulky '%-.64s' nem-B<EFBFBD> tento parametr",-A
|
||||
"Nemohu naj-B<EFBFBD>t z<>znam v '%-.64s'",-A
|
||||
"Nespr-B<EFBFBD>vn<EFBFBD> informace v souboru '%-.64s'",-A
|
||||
"Nespr-B<EFBFBD>vn<EFBFBD> kl<6B><6C> pro tabulku '%-.64s'. Pokuste se ho opravit",-A
|
||||
"Star-B<EFBFBD> kl<6B><6C>ov<6F> soubor pro '%-.64s'. Opravte ho.",-A
|
||||
"'%-.64s' je jen pro -B<EFBFBD>ten<EFBFBD>",-A
|
||||
"M-B<EFBFBD>lo pam<61>ti. P<>estartujte daemona a zkuste znovu (je pot<6F>eba %d byt<79>)",-A
|
||||
"M-B<EFBFBD>lo pam<61>ti pro t<><74>d<EFBFBD>n<EFBFBD>. Zvy<76>te velikost t<><74>d<EFBFBD>c<EFBFBD>ho bufferu",-A
|
||||
"Neo-B<EFBFBD>ek<EFBFBD>van<EFBFBD> konec souboru p<>i <20>ten<65> '%-.64s' (chybov<6F> k<>d: %d)",-A
|
||||
"P-B<EFBFBD><EFBFBD>li<EFBFBD> mnoho spojen<65>",-A
|
||||
"M-B<EFBFBD>lo prostoru/pam<61>ti pro thread",-A
|
||||
"Nemohu zjistit jm-B<EFBFBD>no stroje pro Va<56>i adresu",-A
|
||||
"Chyba p-B<EFBFBD>i ustavov<6F>n<EFBFBD> spojen<65>",-A
|
||||
"P-B<EFBFBD><EFBFBD>stup pro u<>ivatele '%-.32s@%-.64s' k datab<61>zi '%-.64s' nen<65> povolen",-A
|
||||
"P-B<EFBFBD><EFBFBD>stup pro u<>ivatele '%-.32s@%-.64s' (s heslem %s)",-A
|
||||
"Nebyla vybr-B<EFBFBD>na <20><>dn<64> datab<61>ze",-A
|
||||
"Nezn-B<EFBFBD>m<EFBFBD> p<><70>kaz",-A
|
||||
"Sloupec '%-.64s' nem-B<EFBFBD><EFBFBD>e b<>t null",-A
|
||||
"Nezn-B<EFBFBD>m<EFBFBD> datab<61>ze '%-.64s'",-A
|
||||
"Tabulka '%-.64s' ji-B<EFBFBD> existuje",-A
|
||||
"Nezn-B<EFBFBD>m<EFBFBD> tabulka '%-.64s'",-A
|
||||
"Sloupec '%-.64s' v %s nen-B<EFBFBD> zcela jasn<73>",-A
|
||||
"Prob-B<EFBFBD>h<EFBFBD> ukon<6F>ov<6F>n<EFBFBD> pr<70>ce serveru",-A
|
||||
"Nezn-B<EFBFBD>m<EFBFBD> sloupec '%-.64s' v %s",-A
|
||||
"Pou-B<EFBFBD>it<EFBFBD> '%-.64s' nebylo v group by",-A
|
||||
"Nemohu pou-B<EFBFBD><EFBFBD>t group na '%-.64s'",-A
|
||||
"P-B<EFBFBD><EFBFBD>kaz obsahuje z<>rove<76> funkci sum a sloupce",-A
|
||||
"Po-B<EFBFBD>et sloupc<70> neodpov<6F>d<EFBFBD> zadan<61> hodnot<6F>",-A
|
||||
"Jm-B<EFBFBD>no identifik<69>toru '%-.64s' je p<><70>li<6C> dlouh<75>",-A
|
||||
"Zdvojen-B<EFBFBD> jm<6A>no sloupce '%-.64s'",-A
|
||||
"Zdvojen-B<EFBFBD> jm<6A>no kl<6B><6C>e '%-.64s'",-A
|
||||
"Zvojen-B<EFBFBD> kl<6B><6C> '%-.64s' (<28><>slo kl<6B><6C>e %d)",-A
|
||||
"Chybn-B<EFBFBD> specifikace sloupce '%-.64s'",-A
|
||||
"%s bl-B<EFBFBD>zko '%-.64s' na <20><>dku %d",-A
|
||||
"V-B<EFBFBD>sledek dotazu je pr<70>zdn<64>",-A
|
||||
"Nejednozna-B<EFBFBD>n<EFBFBD> tabulka/alias: '%-.64s'",-A
|
||||
"Chybn-B<EFBFBD> defaultn<74> hodnota pro '%-.64s'",-A
|
||||
"Definov-B<EFBFBD>no v<>ce prim<69>rn<72>ch kl<6B><6C><EFBFBD>",-A
|
||||
"Zad-B<EFBFBD>no p<><70>li<6C> mnoho kl<6B><6C><EFBFBD>, je povoleno nejv<6A>ce %d kl<6B><6C><EFBFBD>",-A
|
||||
"Zad-B<EFBFBD>no p<><70>li<6C> mnoho <20><>st kl<6B><6C><EFBFBD>, je povoleno nejv<6A>ce %d <20><>st<73>",-A
|
||||
"Zadan-B<EFBFBD> kl<6B><6C> byl p<><70>li<6C> dlouh<75>, nejv<6A>t<EFBFBD><74> d<>lka kl<6B><6C>e je %d",-A
|
||||
"Kl-B<EFBFBD><EFBFBD>ov<EFBFBD> sloupec '%-.64s' v tabulce neexistuje",-A
|
||||
"Blob sloupec '%-.64s' nem-B<EFBFBD><EFBFBD>e b<>t pou<6F>it jako kl<6B><6C>",-A
|
||||
"P-B<EFBFBD><EFBFBD>li<EFBFBD> velk<6C> d<>lka sloupce '%-.64s' (nejv<6A>ce %d). Pou<6F>ijte BLOB",-A
|
||||
"M-B<EFBFBD><EFBFBD>ete m<>t pouze jedno AUTO pole a to mus<75> b<>t definov<6F>no jako kl<6B><6C>",-A
|
||||
"%s: p-B<EFBFBD>ipraven na spojen<65>\n",-A
|
||||
"%s: norm-B<EFBFBD>ln<EFBFBD> ukon<6F>en<65>\n",-A
|
||||
"%s: p-B<EFBFBD>ijat signal %d, kon<6F><6E>m\n",-A
|
||||
"%s: ukon-B<EFBFBD>en<EFBFBD> pr<70>ce hotovo\n",-A
|
||||
"%s: n-B<EFBFBD>siln<EFBFBD> uzav<61>en<65> threadu %ld u<>ivatele '%-.64s'\n",-A
|
||||
"Nemohu vytvo-B<EFBFBD>it IP socket",-A
|
||||
"Tabulka '%-.64s' nem-B<EFBFBD> index odpov<6F>daj<61>c<EFBFBD> CREATE INDEX. Vytvo<76>te tabulku znovu",-A
|
||||
"Argument separ-B<EFBFBD>toru polo<6C>ek nebyl o<>ek<65>v<EFBFBD>n. P<>e<EFBFBD>t<EFBFBD>te si manu<6E>l",-A
|
||||
"Nen-B<EFBFBD> mo<6D>n<EFBFBD> pou<6F><75>t pevn<76> rowlength s BLOBem. Pou<6F>ijte 'fields terminated by'.",-A
|
||||
"Soubor '%-.64s' mus-B<EFBFBD> b<>t v adres<65><73>i datab<61>ze nebo <20>iteln<6C> pro v<>echny",-A
|
||||
"Soubor '%-.64s' ji-B<EFBFBD> existuje",-A
|
||||
"Z-B<EFBFBD>znam<EFBFBD>: %ld Vymaz<61>no: %ld P<>esko<6B>eno: %ld Varov<6F>n<EFBFBD>: %ld",-A
|
||||
"Z-B<EFBFBD>znam<EFBFBD>: %ld Zdvojen<65>ch: %ld",-A
|
||||
"Chybn-B<EFBFBD> pod<6F><64>st kl<6B><6C>e -- nen<65> to <20>et<65>zec nebo je del<65><6C> ne<6E> d<>lka <20><>sti kl<6B><6C>e",-A
|
||||
"Nen-B<EFBFBD> mo<6D>n<EFBFBD> vymazat v<>echny polo<6C>ky s ALTER TABLE. Pou<6F>ijte DROP TABLE",-A
|
||||
"Nemohu zru-B<EFBFBD>it '%-.64s' (prov<6F>st DROP). Zkontrolujte, zda neexistuj<75> z<>znamy/kl<6B><6C>e",-A
|
||||
"Z-B<EFBFBD>znam<EFBFBD>: %ld Zdvojen<65>ch: %ld Varov<6F>n<EFBFBD>: %ld",-A
|
||||
"INSERT TABLE '%-.64s' nen-B<EFBFBD> dovoleno v seznamu tabulek FROM",-A
|
||||
"Nezn-B<EFBFBD>m<EFBFBD> identifikace threadu: %lu",-A
|
||||
"Nejste vlastn-B<EFBFBD>kem threadu %lu",-A
|
||||
"Nejsou pou-B<EFBFBD>ity <20><>dn<64> tabulky",-A
|
||||
"P-B<EFBFBD><EFBFBD>li<EFBFBD> mnoho <20>et<65>zc<7A> pro sloupec %s a SET",-A
|
||||
"Nemohu vytvo-B<EFBFBD>it jednozna<6E>n<EFBFBD> jm<6A>no logovac<61>ho souboru %s.(1-999)\n",-A
|
||||
"Tabulka '%-.64s' byla zam-B<EFBFBD>ena s READ a nem<65><6D>e b<>t zm<7A>n<EFBFBD>na",-A
|
||||
"Tabulka '%-.64s' nebyla zam-B<EFBFBD>ena s LOCK TABLES",-A
|
||||
"Blob polo-B<EFBFBD>ka '%-.64s' nem<65><6D>e m<>t defaultn<74> hodnotu",-A
|
||||
"Nep-B<EFBFBD><EFBFBD>pustn<EFBFBD> jm<6A>no datab<61>ze '%-.64s'",-A
|
||||
"Nep-B<EFBFBD><EFBFBD>pustn<EFBFBD> jm<6A>no tabulky '%-.64s'",-A
|
||||
"Zadan-B<EFBFBD> SELECT by proch<63>zel p<><70>li<6C> mnoho z<>znam<61> a trval velmi dlouho. Zkontrolujte tvar WHERE a je-li SELECT v po<70><6F>dku, pou<6F>ijte SET OPTION SQL_BIG_SELECTS=1",-A
|
||||
"Nezn-B<EFBFBD>m<EFBFBD> chyba",-A
|
||||
"Nezn-B<EFBFBD>m<EFBFBD> procedura %s",-A
|
||||
"Chybn-B<EFBFBD> po<70>et parametr<74> procedury %s",-A
|
||||
"Chybn-B<EFBFBD> parametry procedury %s",-A
|
||||
"Nezn-B<EFBFBD>m<EFBFBD> tabulka '%-.64s' v %s",-A
|
||||
"Polo-B<EFBFBD>ka '%-.64s' je zad<61>na dvakr<6B>t",-A
|
||||
"Nespr-B<EFBFBD>vn<EFBFBD> pou<6F>it<69> funkce group",-A
|
||||
"Tabulka '%-.64s' pou-B<EFBFBD><EFBFBD>v<EFBFBD> roz<6F><7A><EFBFBD>en<65>, kter<65> v t<>to verzi MySQL nen<65>",-A
|
||||
"Tabulka mus-B<EFBFBD> m<>t alespo<70> jeden sloupec",-A
|
||||
"Tabulka '%-.64s' je pln-B<>",-A
|
||||
"Nezn-B<EFBFBD>m<EFBFBD> znakov<6F> sada: '%-.64s'",-A
|
||||
"P-B<EFBFBD><EFBFBD>li<EFBFBD> mnoho tabulek, MySQL jich m<><6D>e m<>t v joinu jen %d",-A
|
||||
"P-B<EFBFBD><EFBFBD>li<EFBFBD> mnoho polo<6C>ek",-A
|
||||
"-B<EFBFBD><EFBFBD>dek je p<><70>li<6C> velk<6C>. Maxim<69>ln<6C> velikost <20><>dku, nepo<70><6F>taje polo<6C>ky blob, je %d. Mus<75>te zm<7A>nit n<>kter<65> polo<6C>ky na blob",-A
|
||||
"P-B<EFBFBD>ete<EFBFBD>en<EFBFBD> z<>sobn<62>ku threadu: pou<6F>ito %ld z %ld. Pou<6F>ijte 'mysqld -O thread_stack=#' k zad<61>n<EFBFBD> v<>t<EFBFBD><74>ho z<>sobn<62>ku",-A
|
||||
"V OUTER JOIN byl nalezen k-B<EFBFBD><EFBFBD><EFBFBD>ov<EFBFBD> odkaz. Prov<6F><76>te ON podm<64>nky",-A
|
||||
"Sloupec '%-.32s' je pou-B<EFBFBD>it s UNIQUE nebo INDEX, ale nen<65> definov<6F>n jako NOT NULL",-A
|
||||
"Nemohu na-B<EFBFBD><EFBFBD>st funkci '%-.64s'",-A
|
||||
"Nemohu inicializovat funkci '%-.64s'; %-.80s",
|
||||
"Pro sd<73>lenou knihovnu nejsou povoleny cesty",
|
||||
"Funkce '%-.64s' ji<6A> existuje",
|
||||
"Nemohu otev<65><76>t sd<73>lenou knihovnu '%-.64s' (errno: %d %s)",
|
||||
"Nemohu naj<61>t funkci '%-.64s' v knihovn<76>'",
|
||||
"Funkce '%-.64s' nen<65> definov<6F>na",
|
||||
"Stroj '%-.64s' je zablokov<6F>n kv<6B>li mnoha chyb<79>m p<>i p<>ipojov<6F>n<EFBFBD>. Odblokujete pou<6F>it<69>m 'mysqladmin flush-hosts'",
|
||||
"Stroj '%-.64s' nem<65> povoleno se k tomuto MySQL serveru p<>ipojit",
|
||||
"Pou<6F><75>v<EFBFBD>te MySQL jako anonymn<6D> u<>ivatel a anonymn<6D> u<>ivatel<65> nemaj<61> povoleno m<>nit hesla",
|
||||
"Na zm<7A>nu hesel ostatn<74>m mus<75>te m<>t pr<70>vo prov<6F>st update tabulek v datab<61>zi mysql",
|
||||
"V tabulce user nen<65> <20><>dn<64> odpov<6F>daj<61>c<EFBFBD> <20><>dek",
|
||||
"Nalezen<65>ch <20><>dk<64>: %ld Zm<5A>n<EFBFBD>no: %ld Varov<6F>n<EFBFBD>: %ld",
|
||||
"Nemohu vytvo<76>it nov<6F> thread (errno %d). Pokud je je<6A>t<EFBFBD> n<>jak<61> voln<6C> pam<61><6D>, pod<6F>vejte se do manu<6E>lu na <20><>st o chyb<79>ch specifick<63>ch pro jednotliv<69> opera<72>n<EFBFBD> syst<73>my",
|
||||
"Po<50>et sloupc<70> neodpov<6F>d<EFBFBD> po<70>tu hodnot na <20><>dku %ld",
|
||||
"Nemohu znovuotev<65><76>t tabulku: '%-.64s',
|
||||
"Neplatn<74> u<>it<69> hodnoty NULL",
|
||||
"Regul<75>rn<72> v<>raz vr<76>til chybu '%-.64s'",
|
||||
"Pokud nen<65> <20><>dn<64> GROUP BY klauzule, nen<65> dovoleno sou<6F>asn<73> pou<6F>it<69> GROUP polo<6C>ek (MIN(),MAX(),COUNT()...) s ne GROUP polo<6C>kami",
|
||||
"Neexistuje odpov<6F>daj<61>c<EFBFBD> grant pro u<>ivatele '%-.32s' na stroji '%-.64s'",
|
||||
"%-.16s p<><70>kaz nep<65><70>stupn<70> pro u<>ivatele: '%-.32s@%-.64s' pro tabulku '%-.64s'",
|
||||
"%-.16s p<><70>kaz nep<65><70>stupn<70> pro u<>ivatele: '%-.32s@%-.64s' pro sloupec '%-.64s' v tabulce '%-.64s'",
|
||||
"Neplatn<74> p<><70>kaz GRANT/REVOKE. Pros<6F>m, p<>e<EFBFBD>t<EFBFBD>te si v manu<6E>lu, jak<61> privilegia je mo<6D>n<EFBFBD> pou<6F><75>t.",
|
||||
"Argument p<><70>kazu GRANT u<>ivatel nebo stroj je p<><70>li<6C> dlouh<75>",
|
||||
"Pro sd-B<EFBFBD>lenou knihovnu nejsou povoleny cesty",-A
|
||||
"Funkce '%-.64s' ji-B<EFBFBD> existuje",-A
|
||||
"Nemohu otev-B<EFBFBD><EFBFBD>t sd<73>lenou knihovnu '%-.64s' (errno: %d %s)",-A
|
||||
"Nemohu naj-B<EFBFBD>t funkci '%-.64s' v knihovn<76>'",-A
|
||||
"Funkce '%-.64s' nen-B<EFBFBD> definov<6F>na",-A
|
||||
"Stroj '%-.64s' je zablokov-B<EFBFBD>n kv<6B>li mnoha chyb<79>m p<>i p<>ipojov<6F>n<EFBFBD>. Odblokujete pou<6F>it<69>m 'mysqladmin flush-hosts'",-A
|
||||
"Stroj '%-.64s' nem-B<EFBFBD> povoleno se k tomuto MySQL serveru p<>ipojit",-A
|
||||
"Pou-B<EFBFBD><EFBFBD>v<EFBFBD>te MySQL jako anonymn<6D> u<>ivatel a anonymn<6D> u<>ivatel<65> nemaj<61> povoleno m<>nit hesla",-A
|
||||
"Na zm-B<EFBFBD>nu hesel ostatn<74>m mus<75>te m<>t pr<70>vo prov<6F>st update tabulek v datab<61>zi mysql",-A
|
||||
"V tabulce user nen-B<EFBFBD> <20><>dn<64> odpov<6F>daj<61>c<EFBFBD> <20><>dek",-A
|
||||
"Nalezen-B<EFBFBD>ch <20><>dk<64>: %ld Zm<5A>n<EFBFBD>no: %ld Varov<6F>n<EFBFBD>: %ld",-A
|
||||
"Nemohu vytvo-B<EFBFBD>it nov<6F> thread (errno %d). Pokud je je<6A>t<EFBFBD> n<>jak<61> voln<6C> pam<61><6D>, pod<6F>vejte se do manu<6E>lu na <20><>st o chyb<79>ch specifick<63>ch pro jednotliv<69> opera<72>n<EFBFBD> syst<73>my",-A
|
||||
"Po-B<EFBFBD>et sloupc<70> neodpov<6F>d<EFBFBD> po<70>tu hodnot na <20><>dku %ld",-A
|
||||
"Nemohu znovuotev-B<EFBFBD><EFBFBD>t tabulku: '%-.64s',-A
|
||||
"Neplatn-B<EFBFBD> u<>it<69> hodnoty NULL",-A
|
||||
"Regul-B<EFBFBD>rn<EFBFBD> v<>raz vr<76>til chybu '%-.64s'",-A
|
||||
"Pokud nen-B<EFBFBD> <20><>dn<64> GROUP BY klauzule, nen<65> dovoleno sou<6F>asn<73> pou<6F>it<69> GROUP polo<6C>ek (MIN(),MAX(),COUNT()...) s ne GROUP polo<6C>kami",-A
|
||||
"Neexistuje odpov-B<EFBFBD>daj<EFBFBD>c<EFBFBD> grant pro u<>ivatele '%-.32s' na stroji '%-.64s'",-A
|
||||
"%-.16s p-B<EFBFBD><EFBFBD>kaz nep<65><70>stupn<70> pro u<>ivatele: '%-.32s@%-.64s' pro tabulku '%-.64s'",-A
|
||||
"%-.16s p-B<EFBFBD><EFBFBD>kaz nep<65><70>stupn<70> pro u<>ivatele: '%-.32s@%-.64s' pro sloupec '%-.64s' v tabulce '%-.64s'",-A
|
||||
"Neplatn-B<EFBFBD> p<><70>kaz GRANT/REVOKE. Pros<6F>m, p<>e<EFBFBD>t<EFBFBD>te si v manu<6E>lu, jak<61> privilegia je mo<6D>n<EFBFBD> pou<6F><75>t.",-A
|
||||
"Argument p-B<EFBFBD><EFBFBD>kazu GRANT u<>ivatel nebo stroj je p<><70>li<6C> dlouh<75>",-A
|
||||
"Tabulka '%-64s.%s' neexistuje",
|
||||
"Neexistuje odpov<6F>daj<61>c<EFBFBD> grant pro u<>ivatele '%-.32s' na stroji '%-.64s' pro tabulku '%-.64s'",
|
||||
"Pou<6F>it<69> p<><70>kaz nen<65> v t<>to verzi MySQL povolen",
|
||||
"Va<56>e syntaxe je n<>jak<61> divn<76>",
|
||||
"Zpo<70>d<EFBFBD>n<EFBFBD> insert threadu nebyl schopen z<>skat po<70>adovan<61> z<>mek pro tabulku %-.64s",
|
||||
"P<><50>li<6C> mnoho zpo<70>d<EFBFBD>n<EFBFBD>ch thread<61>",
|
||||
"Zru<72>eno spojen<65> %ld do datab<61>ze: '%-.64s' u<>ivatel: '%-.64s' (%s)",
|
||||
"Zji<6A>t<EFBFBD>n p<><70>choz<6F> packet del<65><6C> ne<6E> 'max_allowed_packet'",
|
||||
"Zji<6A>t<EFBFBD>na chyba p<>i <20>ten<65> z roury spojen<65>",
|
||||
"Zji<6A>t<EFBFBD>na chyba fcntl()",
|
||||
"P<><50>choz<6F> packety v chybn<62>m po<70>ad<61>",
|
||||
"Nemohu rozkomprimovat komunika<6B>n<EFBFBD> packet",
|
||||
"Zji<6A>t<EFBFBD>na chyba p<>i <20>ten<65> komunika<6B>n<EFBFBD>ho packetu",
|
||||
"Zji<6A>t<EFBFBD>n timeout p<>i <20>ten<65> komunika<6B>n<EFBFBD>ho packetu",
|
||||
"Zji<6A>t<EFBFBD>na chyba p<>i z<>pisu komunika<6B>n<EFBFBD>ho packetu",
|
||||
"Zji<6A>t<EFBFBD>n timeout p<>i z<>pisu komunika<6B>n<EFBFBD>ho packetu",
|
||||
"V<>sledn<64> <20>et<65>zec je del<65><6C> ne<6E> max_allowed_packet",
|
||||
"Typ pou<6F>it<69> tabulky nepodporuje BLOB/TEXT sloupce",
|
||||
"Typ pou<6F>it<69> tabulky nepodporuje AUTO_INCREMENT sloupce",
|
||||
"INSERT DELAYED nen<65> mo<6D>no s tabulkou '%-.64s' pou<6F><75>t, proto<74>e je zam<61>en<65> pomoc<6F> LOCK TABLES",
|
||||
"Nespr<70>vn<76> jm<6A>no sloupce '%-.100s'",
|
||||
"Handler pou<6F>it<69> tabulky neum<75> indexovat sloupce '%-.64s'",
|
||||
"V<>echny tabulky v MERGE tabulce nejsou definov<6F>ny stejn<6A>",
|
||||
"Kv<4B>li unique constraintu nemozu zapsat do tabulky '%-.64s'",
|
||||
"BLOB sloupec '%-.64s' je pou<6F>it ve specifikaci kl<6B><6C>e bez d<>lky",
|
||||
+"V-B<>echny <20><>sti prim<69>rn<72>ho kl<6B><6C>e musej<65> b<>t NOT NULL; pokud pot<6F>ebujete NULL, pou<6F>ijte UNIQUE",-A
|
||||
+"V-B<>sledek obsahuje v<>ce ne<6E> jeden <20><>dek",-A
|
||||
+"Tento typ tabulky vy-B<>aduje prim<69>rn<72> kl<6B><6C>",-A
|
||||
+"Tato verze MySQL nen-B<> zkompilov<6F>na s podporou RAID",-A
|
||||
+"Update tabulky bez WHERE s kl-B<><42>em nen<65> v m<>du bezpe<70>n<EFBFBD>ch update dovoleno",-A
|
||||
+"Kl-B<><42> '%-.64s' v tabulce '%-.64s' neexistuje",-A
|
||||
+"Nemohu otev-B<><42>t tabulku",-A
|
||||
+"Handler tabulky nepodporuje check/repair",
|
||||
"You are not allowed to execute this command in a transaction",
|
||||
"Got error %d during COMMIT",
|
||||
"Got error %d during ROLLBACK",
|
||||
"Got error %d during FLUSH_LOGS",
|
||||
"Got error %d during CHECKPOINT",
|
||||
"Aborted connection %ld to db: '%-.64s' user: '%-.32s' host: `%-.64s' (%-.64s)",
|
||||
"The handler for the table does not support binary table dump",
|
||||
"Binlog closed while trying to FLUSH MASTER",
|
||||
"Failed rebuilding the index of dumped table '%-.64s'",
|
||||
"Error from master: '%-.64s'",
|
||||
"Net error reading from master",
|
||||
"Net error writing to master",
|
||||
"Can't find FULLTEXT index matching the column list",
|
||||
"Neexistuje odpov-B<EFBFBD>daj<EFBFBD>c<EFBFBD> grant pro u<>ivatele '%-.32s' na stroji '%-.64s' pro tabulku '%-.64s'",-A
|
||||
"Pou-B<EFBFBD>it<EFBFBD> p<><70>kaz nen<65> v t<>to verzi MySQL povolen",-A
|
||||
"Va-B<EFBFBD>e syntaxe je n<>jak<61> divn<76>",-A
|
||||
"Zpo-B<EFBFBD>d<EFBFBD>n<EFBFBD> insert threadu nebyl schopen z<>skat po<70>adovan<61> z<>mek pro tabulku %-.64s",-A
|
||||
"P-B<EFBFBD><EFBFBD>li<EFBFBD> mnoho zpo<70>d<EFBFBD>n<EFBFBD>ch thread<61>",-A
|
||||
"Zru-B<EFBFBD>eno spojen<65> %ld do datab<61>ze: '%-.64s' u<>ivatel: '%-.64s' (%s)",-A
|
||||
"Zji-B<EFBFBD>t<EFBFBD>n p<><70>choz<6F> packet del<65><6C> ne<6E> 'max_allowed_packet'",-A
|
||||
"Zji-B<EFBFBD>t<EFBFBD>na chyba p<>i <20>ten<65> z roury spojen<65>",-A
|
||||
"Zji-B<EFBFBD>t<EFBFBD>na chyba fcntl()",-A
|
||||
"P-B<EFBFBD><EFBFBD>choz<EFBFBD> packety v chybn<62>m po<70>ad<61>",-A
|
||||
"Nemohu rozkomprimovat komunika-B<EFBFBD>n<EFBFBD> packet",-A
|
||||
"Zji-B<EFBFBD>t<EFBFBD>na chyba p<>i <20>ten<65> komunika<6B>n<EFBFBD>ho packetu",-A
|
||||
"Zji-B<EFBFBD>t<EFBFBD>n timeout p<>i <20>ten<65> komunika<6B>n<EFBFBD>ho packetu",-A
|
||||
"Zji-B<EFBFBD>t<EFBFBD>na chyba p<>i z<>pisu komunika<6B>n<EFBFBD>ho packetu",-A
|
||||
"Zji-B<EFBFBD>t<EFBFBD>n timeout p<>i z<>pisu komunika<6B>n<EFBFBD>ho packetu",-A
|
||||
"V-B<EFBFBD>sledn<EFBFBD> <20>et<65>zec je del<65><6C> ne<6E> max_allowed_packet",-A
|
||||
"Typ pou-B<EFBFBD>it<EFBFBD> tabulky nepodporuje BLOB/TEXT sloupce",-A
|
||||
"Typ pou-B<EFBFBD>it<EFBFBD> tabulky nepodporuje AUTO_INCREMENT sloupce",-A
|
||||
"INSERT DELAYED nen-B<EFBFBD> mo<6D>no s tabulkou '%-.64s' pou<6F><75>t, proto<74>e je zam<61>en<65> pomoc<6F> LOCK TABLES",-A
|
||||
"Nespr-B<EFBFBD>vn<EFBFBD> jm<6A>no sloupce '%-.100s'",-A
|
||||
"Handler pou-B<EFBFBD>it<EFBFBD> tabulky neum<75> indexovat sloupce '%-.64s'",-A
|
||||
"V-B<EFBFBD>echny tabulky v MERGE tabulce nejsou definov<6F>ny stejn<6A>",-A
|
||||
"Kv-B<EFBFBD>li unique constraintu nemozu zapsat do tabulky '%-.64s'",-A
|
||||
"BLOB sloupec '%-.64s' je pou-B<EFBFBD>it ve specifikaci kl<6B><6C>e bez d<>lky",-A
|
||||
"V-B<>echny <20><>sti prim<69>rn<72>ho kl<6B><6C>e musej<65> b<>t NOT NULL; pokud pot<6F>ebujete NULL, pou<6F>ijte UNIQUE",-A
|
||||
"V-B<>sledek obsahuje v<>ce ne<6E> jeden <20><>dek",-A
|
||||
"Tento typ tabulky vy-B<>aduje prim<69>rn<72> kl<6B><6C>",-A
|
||||
"Tato verze MySQL nen-B<> zkompilov<6F>na s podporou RAID",-A
|
||||
"Update tabulky bez WHERE s kl-B<><42>em nen<65> v m<>du bezpe<70>n<EFBFBD>ch update dovoleno",-A
|
||||
"Kl-B<><42> '%-.64s' v tabulce '%-.64s' neexistuje",-A
|
||||
"Nemohu otev-B<><42>t tabulku",-A
|
||||
"Handler tabulky nepodporuje check/repair",
|
||||
"Proveden-B<> tohoto p<><70>kazu nen<65> 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<EFBFBD>ze: '%-.64s' u<EFBFBD>ivatel: '%-.32s' stroj: `%-.64s' (%-.64s) bylo p<>eru<72>eno",-A
|
||||
"Handler tabulky nepodporuje bin-B<>rn<72> dump",-A
|
||||
"Binlog uzav-B<>en p<>i pokusu o FLUSH MASTER",-A
|
||||
"P-B<>ebudov<6F>n<EFBFBD> indexu dumpnut<EFBFBD> tabulky '%-.64s' nebylo <20>sp<73><70>n<EFBFBD>",-A
|
||||
"Chyba masteru: '%-.64s'",
|
||||
"S-B<><42>ov<6F> chyba p<>i <20>ten<65> z masteru",-A
|
||||
"S-B<><42>ov<6F> chyba p<>i z<>pisu na master",-A
|
||||
"-B<><42>dn<64> sloupec nem<65> vytvo<76>en fulltextov<6F> index",-A
|
||||
"Can't execute the given command because you have active locked tables or an active transaction",
|
||||
|
Binary file not shown.
@ -196,3 +196,4 @@
|
||||
"Net error reading from master",
|
||||
"Net error writing to master",
|
||||
"Can't find FULLTEXT index matching the column list",
|
||||
"Can't execute the given command because you have active locked tables or an active transaction",
|
||||
|
Binary file not shown.
@ -193,3 +193,4 @@
|
||||
"Net error reading from master",
|
||||
"Net error writing to master",
|
||||
"Can't find FULLTEXT index matching the column list",
|
||||
"Can't execute the given command because you have active locked tables or an active transaction",
|
||||
|
Binary file not shown.
@ -193,3 +193,4 @@
|
||||
"Net error reading from master",
|
||||
"Net error writing to master",
|
||||
"Can't find FULLTEXT index matching the column list",
|
||||
"Can't execute the given command because you have active locked tables or an active transaction",
|
||||
|
Binary file not shown.
@ -197,3 +197,4 @@
|
||||
"Net error reading from master",
|
||||
"Net error writing to master",
|
||||
"Can't find FULLTEXT index matching the column list",
|
||||
"Can't execute the given command because you have active locked tables or an active transaction",
|
||||
|
Binary file not shown.
@ -193,3 +193,4 @@
|
||||
"Net error reading from master",
|
||||
"Net error writing to master",
|
||||
"Can't find FULLTEXT index matching the column list",
|
||||
"Can't execute the given command because you have active locked tables or an active transaction",
|
||||
|
Binary file not shown.
@ -196,3 +196,4 @@
|
||||
"Net error reading from master",
|
||||
"Net error writing to master",
|
||||
"Can't find FULLTEXT index matching the column list",
|
||||
"Can't execute the given command because you have active locked tables or an active transaction",
|
||||
|
Binary file not shown.
@ -193,3 +193,4 @@
|
||||
"Net error reading from master",
|
||||
"Net error writing to master",
|
||||
"Can't find FULLTEXT index matching the column list",
|
||||
"Can't execute the given command because you have active locked tables or an active transaction",
|
||||
|
Binary file not shown.
@ -195,3 +195,4 @@
|
||||
"Net error reading from master",
|
||||
"Net error writing to master",
|
||||
"Can't find FULLTEXT index matching the column list",
|
||||
"Can't execute the given command because you have active locked tables or an active transaction",
|
||||
|
Binary file not shown.
@ -193,3 +193,4 @@
|
||||
"Errore di rete ricevendo dal master",
|
||||
"Errore di rete inviando al master",
|
||||
"Impossibile trovare un indice FULLTEXT che corrisponda all'elenco delle colonne",
|
||||
"Can't execute the given command because you have active locked tables or an active transaction",
|
||||
|
Binary file not shown.
@ -195,3 +195,4 @@
|
||||
"Net error reading from master",
|
||||
"Net error writing to master",
|
||||
"Can't find FULLTEXT index matching the column list",
|
||||
"Can't execute the given command because you have active locked tables or an active transaction",
|
||||
|
Binary file not shown.
@ -193,3 +193,4 @@
|
||||
"Net error reading from master",
|
||||
"Net error writing to master",
|
||||
"Can't find FULLTEXT index matching the column list",
|
||||
"Can't execute the given command because you have active locked tables or an active transaction",
|
||||
|
@ -195,3 +195,4 @@
|
||||
"Net error reading from master",
|
||||
"Net error writing to master",
|
||||
"Can't find FULLTEXT index matching the column list",
|
||||
"Can't execute the given command because you have active locked tables or an active transaction",
|
||||
|
@ -195,3 +195,4 @@
|
||||
"Net error reading from master",
|
||||
"Net error writing to master",
|
||||
"Can't find FULLTEXT index matching the column list",
|
||||
"Can't execute the given command because you have active locked tables or an active transaction",
|
||||
|
Binary file not shown.
@ -197,3 +197,4 @@
|
||||
"Net error reading from master",
|
||||
"Net error writing to master",
|
||||
"Can't find FULLTEXT index matching the column list",
|
||||
"Can't execute the given command because you have active locked tables or an active transaction",
|
||||
|
Binary file not shown.
@ -193,3 +193,4 @@
|
||||
"Net error reading from master",
|
||||
"Net error writing to master",
|
||||
"Can't find FULLTEXT index matching the column list",
|
||||
"Can't execute the given command because you have active locked tables or an active transaction",
|
||||
|
Binary file not shown.
@ -197,3 +197,4 @@
|
||||
"Net error reading from master",
|
||||
"Net error writing to master",
|
||||
"Can't find FULLTEXT index matching the column list",
|
||||
"Can't execute the given command because you have active locked tables or an active transaction",
|
||||
|
Binary file not shown.
@ -196,3 +196,4 @@
|
||||
"Net error reading from master",
|
||||
"Net error writing to master",
|
||||
"FULLTEXT <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
||||
"Can't execute the given command because you have active locked tables or an active transaction",
|
||||
|
Binary file not shown.
@ -201,3 +201,4 @@
|
||||
"Net error reading from master",
|
||||
"Net error writing to master",
|
||||
"Can't find FULLTEXT index matching the column list",
|
||||
"Can't execute the given command because you have active locked tables or an active transaction",
|
||||
|
Binary file not shown.
@ -194,3 +194,4 @@
|
||||
"Net error reading from master",
|
||||
"Net error writing to master",
|
||||
"Can't find FULLTEXT index matching the column list",
|
||||
"Can't execute the given command because you have active locked tables or an active transaction",
|
||||
|
@ -193,3 +193,5 @@
|
||||
"Fick n<>tverksfel vid l<>sning fr<66>n master",
|
||||
"Fick n<>tverksfel vid skrivning till master",
|
||||
"Hittar inte ett FULLTEXT index i kolumnlist",
|
||||
#ER_LOCK_OR_ACTIVE_TRANSACTION
|
||||
"Can't execute the given command because you have active locked tables or an active transaction",
|
||||
|
Binary file not shown.
@ -193,3 +193,4 @@
|
||||
"Fick n<>tverksfel vid l<>sning fr<66>n master",
|
||||
"Fick n<>tverksfel vid skrivning till master",
|
||||
"Hittar inte ett FULLTEXT index i kolumnlist",
|
||||
"Can't execute the given command because you have active locked tables or an active transaction",
|
||||
|
12
sql/slave.cc
12
sql/slave.cc
@ -406,7 +406,7 @@ static int init_slave_thread(THD* thd)
|
||||
|
||||
if (init_thr_lock() ||
|
||||
my_pthread_setspecific_ptr(THR_THD, thd) ||
|
||||
my_pthread_setspecific_ptr(THR_MALLOC, &thd->alloc) ||
|
||||
my_pthread_setspecific_ptr(THR_MALLOC, &thd->mem_root) ||
|
||||
my_pthread_setspecific_ptr(THR_NET, &thd->net))
|
||||
{
|
||||
close_connection(&thd->net,ER_OUT_OF_RESOURCES); // is this needed?
|
||||
@ -422,7 +422,7 @@ static int init_slave_thread(THD* thd)
|
||||
VOID(pthread_sigmask(SIG_UNBLOCK,&set,&thd->block_signals));
|
||||
#endif
|
||||
|
||||
thd->alloc.free=thd->alloc.used=0;
|
||||
thd->mem_root.free=thd->mem_root.used=0; // Probably not needed
|
||||
if (thd->max_join_size == (ulong) ~0L)
|
||||
thd->options |= OPTION_BIG_SELECTS;
|
||||
|
||||
@ -557,7 +557,7 @@ static int exec_event(THD* thd, NET* net, MASTER_INFO* mi, int event_len)
|
||||
{
|
||||
Query_log_event* qev = (Query_log_event*)ev;
|
||||
int q_len = qev->q_len;
|
||||
init_sql_alloc(&thd->alloc, 8192);
|
||||
init_sql_alloc(&thd->mem_root, 8192);
|
||||
thd->db = (char*)qev->db;
|
||||
if(db_ok(thd->db, replicate_do_db, replicate_ignore_db))
|
||||
{
|
||||
@ -602,8 +602,8 @@ static int exec_event(THD* thd, NET* net, MASTER_INFO* mi, int event_len)
|
||||
thd->db = 0;// prevent db from being freed
|
||||
thd->query = 0; // just to be sure
|
||||
close_thread_tables(thd);
|
||||
free_root(&thd->alloc);
|
||||
if(thd->query_error)
|
||||
free_root(&thd->mem_root);
|
||||
if (thd->query_error)
|
||||
{
|
||||
sql_print_error("Slave: error running query '%s' ",
|
||||
qev->query);
|
||||
@ -626,7 +626,7 @@ static int exec_event(THD* thd, NET* net, MASTER_INFO* mi, int event_len)
|
||||
case LOAD_EVENT:
|
||||
{
|
||||
Load_log_event* lev = (Load_log_event*)ev;
|
||||
init_sql_alloc(&thd->alloc, 8192);
|
||||
init_sql_alloc(&thd->mem_root, 8192);
|
||||
thd->db = (char*)lev->db;
|
||||
thd->query = 0;
|
||||
thd->query_error = 0;
|
||||
|
@ -29,8 +29,6 @@
|
||||
#include <io.h>
|
||||
#endif
|
||||
|
||||
#define MAX_DBKEY_LENGTH (FN_LEN*2+2)
|
||||
|
||||
static int key_cache_used=0;
|
||||
TABLE *unused_tables; /* Used by mysql_test */
|
||||
HASH open_cache; /* Used by mysql_test */
|
||||
@ -120,7 +118,7 @@ static byte *cache_key(const byte *record,uint *length,
|
||||
|
||||
void table_cache_init(void)
|
||||
{
|
||||
VOID(hash_init(&open_cache,table_cache_size,0,0,cache_key,
|
||||
VOID(hash_init(&open_cache,table_cache_size+16,0,0,cache_key,
|
||||
(void (*)(void*)) free_cache_entry,0));
|
||||
mysql_rm_tmp_tables();
|
||||
}
|
||||
@ -1234,7 +1232,7 @@ void close_old_data_files(THD *thd, TABLE *table, bool abort_locks)
|
||||
if the table is closed
|
||||
*/
|
||||
|
||||
static bool table_is_used(TABLE *table)
|
||||
bool table_is_used(TABLE *table)
|
||||
{
|
||||
do
|
||||
{
|
||||
@ -2171,4 +2169,3 @@ int setup_ftfuncs(THD *thd,TABLE_LIST *tables, List<Item_func_match> &ftfuncs)
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -109,7 +109,7 @@ THD::THD()
|
||||
net.vio=0;
|
||||
ull=0;
|
||||
system_thread=0;
|
||||
bzero((char*) &alloc,sizeof(alloc));
|
||||
bzero((char*) &mem_root,sizeof(mem_root));
|
||||
#ifdef __WIN__
|
||||
real_id = 0 ;
|
||||
#endif
|
||||
@ -154,7 +154,7 @@ THD::~THD()
|
||||
safeFree(user);
|
||||
safeFree(db);
|
||||
safeFree(ip);
|
||||
free_root(&alloc);
|
||||
free_root(&mem_root);
|
||||
mysys_var=0; // Safety (shouldn't be needed)
|
||||
DBUG_VOID_RETURN;
|
||||
}
|
||||
@ -165,11 +165,10 @@ THD::~THD()
|
||||
bool THD::store_globals()
|
||||
{
|
||||
return (my_pthread_setspecific_ptr(THR_THD, this) ||
|
||||
my_pthread_setspecific_ptr(THR_MALLOC, &alloc) ||
|
||||
my_pthread_setspecific_ptr(THR_MALLOC, &mem_root) ||
|
||||
my_pthread_setspecific_ptr(THR_NET, &net));
|
||||
}
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
** Functions to provide a interface to select results
|
||||
*****************************************************************************/
|
||||
|
@ -223,7 +223,7 @@ class THD :public ilink {
|
||||
public:
|
||||
NET net;
|
||||
LEX lex;
|
||||
MEM_ROOT alloc;
|
||||
MEM_ROOT mem_root;
|
||||
HASH user_vars;
|
||||
String packet; /* Room for 1 row */
|
||||
struct sockaddr_in remote;
|
||||
@ -287,6 +287,19 @@ public:
|
||||
}
|
||||
return last_insert_id;
|
||||
}
|
||||
inline bool active_transaction() { return transaction.bdb_tid != 0; }
|
||||
inline gptr alloc(unsigned int size) { return alloc_root(&mem_root,size); }
|
||||
inline gptr calloc(unsigned int size)
|
||||
{
|
||||
gptr ptr;
|
||||
if ((ptr=alloc_root(&mem_root,size)))
|
||||
bzero((char*) ptr,size);
|
||||
return ptr;
|
||||
}
|
||||
inline char *strdup(const char *str)
|
||||
{ return strdup_root(&mem_root,str); }
|
||||
inline char *memdup(const char *str, unsigned int size)
|
||||
{ return memdup_root(&mem_root,str,size); }
|
||||
};
|
||||
|
||||
|
||||
|
@ -1215,14 +1215,19 @@ void select_insert::send_error(uint errcode,const char *err)
|
||||
::send_error(&thd->net,errcode,err);
|
||||
table->file->extra(HA_EXTRA_NO_CACHE);
|
||||
table->file->activate_all_index(thd);
|
||||
ha_rollback(thd);
|
||||
}
|
||||
|
||||
|
||||
bool select_insert::send_eof()
|
||||
{
|
||||
int error;
|
||||
if ((error=table->file->extra(HA_EXTRA_NO_CACHE)) ||
|
||||
(error=table->file->activate_all_index(thd)))
|
||||
int error,error2;
|
||||
if (!(error=table->file->extra(HA_EXTRA_NO_CACHE)))
|
||||
error=table->file->activate_all_index(thd);
|
||||
if ((error2=ha_autocommit_or_rollback(thd,error)) && ! error)
|
||||
error=error2;
|
||||
|
||||
if (error)
|
||||
{
|
||||
table->file->print_error(error,MYF(0));
|
||||
::send_error(&thd->net);
|
||||
|
@ -46,7 +46,8 @@ enum enum_sql_command {
|
||||
SQLCOM_FLUSH, SQLCOM_KILL, SQLCOM_SHOW_GRANTS, SQLCOM_ANALYZE,
|
||||
SQLCOM_ROLLBACK, SQLCOM_COMMIT, SQLCOM_SLAVE_START, SQLCOM_SLAVE_STOP,
|
||||
SQLCOM_BEGIN, SQLCOM_LOAD_MASTER_TABLE, SQLCOM_SHOW_CREATE,
|
||||
SQLCOM_SHOW_MASTER_STAT, SQLCOM_SHOW_SLAVE_STAT, SQLCOM_CHANGE_MASTER
|
||||
SQLCOM_SHOW_MASTER_STAT, SQLCOM_SHOW_SLAVE_STAT, SQLCOM_CHANGE_MASTER,
|
||||
SQLCOM_RENAME_TABLE
|
||||
};
|
||||
|
||||
enum lex_states { STATE_START, STATE_CHAR, STATE_IDENT,
|
||||
|
@ -773,9 +773,9 @@ make_join_statistics(JOIN *join,TABLE_LIST *tables,COND *conds,
|
||||
DBUG_ENTER("make_join_statistics");
|
||||
|
||||
table_count=join->tables;
|
||||
stat=(JOIN_TAB*) sql_calloc(sizeof(JOIN_TAB)*table_count);
|
||||
stat_ref=(JOIN_TAB**) sql_alloc(sizeof(JOIN_TAB*)*MAX_TABLES);
|
||||
table_vector=(TABLE**) sql_alloc(sizeof(TABLE**)*(table_count*2));
|
||||
stat=(JOIN_TAB*) join->thd->calloc(sizeof(JOIN_TAB)*table_count);
|
||||
stat_ref=(JOIN_TAB**) join->thd->alloc(sizeof(JOIN_TAB*)*MAX_TABLES);
|
||||
table_vector=(TABLE**) join->thd->alloc(sizeof(TABLE**)*(table_count*2));
|
||||
if (!stat || !stat_ref || !table_vector)
|
||||
DBUG_RETURN(1); // Eom /* purecov: inspected */
|
||||
select=0;
|
||||
@ -1832,7 +1832,7 @@ get_best_combination(JOIN *join)
|
||||
|
||||
table_count=join->tables;
|
||||
if (!(join->join_tab=join_tab=
|
||||
(JOIN_TAB*) sql_alloc(sizeof(JOIN_TAB)*table_count)))
|
||||
(JOIN_TAB*) join->thd->alloc(sizeof(JOIN_TAB)*table_count)))
|
||||
return TRUE;
|
||||
|
||||
join->const_tables=0; /* for checking */
|
||||
@ -2056,8 +2056,8 @@ make_simple_join(JOIN *join,TABLE *tmp_table)
|
||||
TABLE **tableptr;
|
||||
JOIN_TAB *join_tab;
|
||||
|
||||
if (!(tableptr=(TABLE**) sql_alloc(sizeof(TABLE*))) ||
|
||||
!(join_tab=(JOIN_TAB*) sql_alloc(sizeof(JOIN_TAB))))
|
||||
if (!(tableptr=(TABLE**) join->thd->alloc(sizeof(TABLE*))) ||
|
||||
!(join_tab=(JOIN_TAB*) join->thd->alloc(sizeof(JOIN_TAB))))
|
||||
return TRUE;
|
||||
join->join_tab=join_tab;
|
||||
join->table=tableptr; tableptr[0]=tmp_table;
|
||||
|
@ -55,7 +55,7 @@ mysqld_show_dbs(THD *thd,const char *wild)
|
||||
char *file_name;
|
||||
DBUG_ENTER("mysqld_show_dbs");
|
||||
|
||||
field->name=(char*) sql_alloc(20+ (wild ? strlen(wild)+4: 0));
|
||||
field->name=(char*) thd->alloc(20+ (wild ? strlen(wild)+4: 0));
|
||||
field->max_length=NAME_LEN;
|
||||
end=strmov(field->name,"Database");
|
||||
if (wild && wild[0])
|
||||
@ -92,7 +92,7 @@ int mysqld_show_tables(THD *thd,const char *db,const char *wild)
|
||||
char *file_name;
|
||||
DBUG_ENTER("mysqld_show_tables");
|
||||
|
||||
field->name=(char*) sql_alloc(20+strlen(db)+(wild ? strlen(wild)+4:0));
|
||||
field->name=(char*) thd->alloc(20+strlen(db)+(wild ? strlen(wild)+4:0));
|
||||
end=strxmov(field->name,"Tables_in_",db,NullS);
|
||||
if (wild && wild[0])
|
||||
strxmov(end," (",wild,")",NullS);
|
||||
@ -170,7 +170,7 @@ mysql_find_files(THD *thd,List<char> *files, const char *db,const char *path,
|
||||
if (check_grant(thd,TABLE_ACLS,&table_list,1))
|
||||
continue;
|
||||
}
|
||||
if (files->push_back(sql_strdup(file->name)))
|
||||
if (files->push_back(thd->strdup(file->name)))
|
||||
{
|
||||
my_dirend(dirp);
|
||||
DBUG_RETURN(-1);
|
||||
@ -868,12 +868,12 @@ void mysqld_list_processes(THD *thd,const char *user, bool verbose)
|
||||
thread_info *thd_info=new thread_info;
|
||||
|
||||
thd_info->thread_id=tmp->thread_id;
|
||||
thd_info->user=sql_strdup(tmp->user ? tmp->user : (tmp->system_thread ?
|
||||
thd_info->user=thd->strdup(tmp->user ? tmp->user : (tmp->system_thread ?
|
||||
"system user" : "unauthenticated user"));
|
||||
thd_info->host=sql_strdup(tmp->host ? tmp->host : (tmp->ip ? tmp->ip :
|
||||
thd_info->host=thd->strdup(tmp->host ? tmp->host : (tmp->ip ? tmp->ip :
|
||||
(tmp->system_thread ? "none" : "connecting host")));
|
||||
if ((thd_info->db=tmp->db)) // Safe test
|
||||
thd_info->db=sql_strdup(thd_info->db);
|
||||
thd_info->db=thd->strdup(thd_info->db);
|
||||
thd_info->command=(int) tmp->command;
|
||||
if (tmp->mysys_var)
|
||||
pthread_mutex_lock(&tmp->mysys_var->mutex);
|
||||
@ -902,7 +902,7 @@ void mysqld_list_processes(THD *thd,const char *user, bool verbose)
|
||||
uint length=strlen(tmp->query);
|
||||
if (length > max_query_length)
|
||||
length=max_query_length;
|
||||
thd_info->query=(char*) sql_memdup(tmp->query,length+1);
|
||||
thd_info->query=(char*) thd->memdup(tmp->query,length+1);
|
||||
thd_info->query[length]=0;
|
||||
}
|
||||
thread_infos.append(thd_info);
|
||||
|
@ -644,7 +644,7 @@ TABLE *create_table_from_items(THD *thd, HA_CREATE_INFO *create_info,
|
||||
** Alter a table definition
|
||||
****************************************************************************/
|
||||
|
||||
static bool
|
||||
bool
|
||||
mysql_rename_table(enum db_type base,
|
||||
const char *old_db,
|
||||
const char * old_name,
|
||||
@ -659,9 +659,17 @@ mysql_rename_table(enum db_type base,
|
||||
(void) sprintf(to,"%s/%s/%s",mysql_data_home,new_db,new_name);
|
||||
fn_format(from,from,"","",4);
|
||||
fn_format(to,to, "","",4);
|
||||
if (file->rename_table((const char*) from,(const char *) to) ||
|
||||
rename_file_ext(from,to,reg_ext))
|
||||
if (file->rename_table((const char*) from,(const char *) to))
|
||||
error=1;
|
||||
else
|
||||
{
|
||||
if (rename_file_ext(from,to,reg_ext))
|
||||
{
|
||||
error=1;
|
||||
/* Restore old file name */
|
||||
file->rename_table((const char*) to,(const char *) from);
|
||||
}
|
||||
}
|
||||
delete file;
|
||||
DBUG_RETURN(error);
|
||||
}
|
||||
@ -1412,7 +1420,7 @@ int mysql_alter_table(THD *thd,char *new_db, char *new_name,
|
||||
|
||||
#ifdef __WIN__
|
||||
// Win32 can't rename an open table, so we must close the org table!
|
||||
table_name=sql_strdup(table_name); // must be saved
|
||||
table_name=thd->strdup(table_name); // must be saved
|
||||
if (close_cached_table(thd,table))
|
||||
{ // Aborted
|
||||
VOID(quick_rm_table(new_db_type,new_db,tmp_name));
|
||||
|
@ -488,7 +488,8 @@ bool my_yyoverflow(short **a, YYSTYPE **b,int *yystacksize);
|
||||
query verb_clause create change select drop insert replace insert2
|
||||
insert_values update delete show describe load alter optimize flush
|
||||
begin commit rollback slave master_def master_defs
|
||||
repair analyze check field_list field_list_item field_spec kill
|
||||
repair analyze check rename
|
||||
field_list field_list_item field_spec kill
|
||||
select_item_list select_item values_list no_braces
|
||||
limit_clause delete_limit_clause fields opt_values values
|
||||
procedure_list procedure_list2 procedure_item
|
||||
@ -504,6 +505,7 @@ bool my_yyoverflow(short **a, YYSTYPE **b,int *yystacksize);
|
||||
flush_options flush_option insert_lock_option replace_lock_option
|
||||
equal optional_braces opt_key_definition key_usage_list2
|
||||
opt_mi_check_type opt_to mi_check_types normal_join
|
||||
table_to_table_list table_to_table
|
||||
END_OF_INPUT
|
||||
|
||||
%type <NONE>
|
||||
@ -539,6 +541,7 @@ verb_clause:
|
||||
| lock
|
||||
| kill
|
||||
| optimize
|
||||
| rename
|
||||
| repair
|
||||
| replace
|
||||
| revoke
|
||||
@ -1078,6 +1081,7 @@ opt_place:
|
||||
opt_to:
|
||||
/* empty */ {}
|
||||
| TO_SYM {}
|
||||
| AS {}
|
||||
|
||||
slave:
|
||||
SLAVE START_SYM
|
||||
@ -1134,6 +1138,24 @@ optimize:
|
||||
YYABORT;
|
||||
}
|
||||
|
||||
rename:
|
||||
RENAME table_or_tables
|
||||
{
|
||||
Lex->sql_command=SQLCOM_RENAME_TABLE;
|
||||
}
|
||||
table_to_table_list
|
||||
|
||||
table_to_table_list:
|
||||
table_to_table
|
||||
| table_to_table_list ',' table_to_table
|
||||
|
||||
table_to_table:
|
||||
table_ident TO_SYM table_ident
|
||||
{ if (add_table_to_list($1,NULL,TL_IGNORE) ||
|
||||
add_table_to_list($3,NULL,TL_IGNORE))
|
||||
YYABORT;
|
||||
}
|
||||
|
||||
/*
|
||||
** Select : retrieve data from table
|
||||
*/
|
||||
|
@ -23,6 +23,7 @@ extern "C" {
|
||||
void sql_alloc_error_handler(void)
|
||||
{
|
||||
current_thd->fatal_error=1; /* purecov: inspected */
|
||||
sql_print_error(ER(ER_OUT_OF_RESOURCES));
|
||||
}
|
||||
}
|
||||
|
||||
@ -37,10 +38,6 @@ gptr sql_alloc(uint Size)
|
||||
{
|
||||
MEM_ROOT *root=my_pthread_getspecific_ptr(MEM_ROOT*,THR_MALLOC);
|
||||
char *ptr= (char*) alloc_root(root,Size);
|
||||
if (!ptr)
|
||||
{
|
||||
sql_print_error(ER(ER_OUT_OF_RESOURCES));
|
||||
}
|
||||
return ptr;
|
||||
}
|
||||
|
||||
|
@ -40,6 +40,7 @@
|
||||
|
||||
#define ERRMAPP 1 /* Errormap f|r my_error */
|
||||
#define LIBLEN FN_REFLEN-FN_LEN /* Max l{ngd p} dev */
|
||||
#define MAX_DBKEY_LENGTH (FN_LEN*2+2)
|
||||
#define MAX_FIELD_NAME 34 /* Max colum name length +2 */
|
||||
#define MAX_KEY 32 /* Max used keys */
|
||||
#define MAX_REF_PARTS 16 /* Max parts used as ref */
|
||||
|
@ -224,7 +224,8 @@ int my_strnncoll_sjis(const uchar *s1, int len1, const uchar *s2, int len2)
|
||||
|
||||
int my_strcoll_sjis(const uchar *s1, const uchar *s2)
|
||||
{
|
||||
return (uint) my_strnncoll_sjis(s1,(uint) strlen(s1), s2,(uint) strlen(s2));
|
||||
return (uint) my_strnncoll_sjis(s1,(uint) strlen((char*) s1),
|
||||
s2,(uint) strlen((char*) s2));
|
||||
}
|
||||
|
||||
int my_strnxfrm_sjis(uchar *dest, uchar *src, int len, int srclen)
|
||||
@ -245,7 +246,7 @@ int my_strnxfrm_sjis(uchar *dest, uchar *src, int len, int srclen)
|
||||
|
||||
int my_strxfrm_sjis(uchar *dest, uchar *src, int len)
|
||||
{
|
||||
return my_strnxfrm_sjis(dest, src, len, (uint) strlen(src));
|
||||
return my_strnxfrm_sjis(dest, src, len, (uint) strlen((char*) src));
|
||||
}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user