sql/ha_myisam.cc:
  merged
sql/share/russian/errmsg.txt:
  merged
This commit is contained in:
unknown 2000-11-28 18:46:07 +01:00
commit c1fdd5b55a
7 changed files with 48 additions and 29 deletions

View File

@ -158,6 +158,7 @@ FT_DOCLIST * ft_init_search(void *info, uint keynr, byte *key,
ALL_IN_ONE aio;
FT_DOCLIST *dlist;
FT_DOC *dptr;
my_off_t saved_lastpos=((MI_INFO *)info)->lastpos;
/* black magic ON */
if ((int) (keynr = _mi_check_index((MI_INFO *)info,keynr)) < 0)
@ -204,6 +205,7 @@ err:
delete_tree(&aio.dtree);
delete_tree(wtree);
my_free((char*) wtree,MYF(0));
((MI_INFO *)info)->lastpos=saved_lastpos;
return dlist;
}

View File

@ -1094,7 +1094,17 @@ int ha_myisam::ft_read(byte * buf)
if (error=ft_read_next((FT_DOCLIST *) ft_handler,(char*) buf))
ft_handler=NULL; // Magic here ! See Item_func_match::val()
// and ha_myisam::index_init()
table->status=error ? STATUS_NOT_FOUND: 0;
return error;
}
int ha_myisam::index_init(uint idx)
{
if (idx != active_index)
ft_handler=NULL; // Magic here !
active_index=idx;
return 0;
}

View File

@ -71,6 +71,7 @@ class ha_myisam: public handler
int index_first(byte * buf);
int index_last(byte * buf);
int index_next_same(byte *buf, const byte *key, uint keylen);
int index_init(uint idx);
int ft_init()
{ if(!ft_handler) return 1; ft_reinit_search(ft_handler); return 0; }
void *ft_init_ext(uint inx,const byte *key, uint keylen, bool presort)

View File

@ -1840,9 +1840,12 @@ err:
double Item_func_match::val()
{
// Don't know how to return an error from val(), so NULL will be returned
if ((null_value=(ft_handler==NULL)))
return 0.0;
/* If called uninitialized we should return neither NULL nor 0 (important
for const_tables) so, let's return -1, which is obviously incorrect
for normal operation, and could be easily spotted */
if (ft_handler==NULL)
return -1.0;
if (join_key)
{

View File

@ -393,7 +393,7 @@ QUICK_SELECT::QUICK_SELECT(TABLE *table,uint key_nr,bool no_alloc)
else
bzero((char*) &alloc,sizeof(alloc));
file=head->file;
error=file->index_init(index);
// error=file->index_init(index);
record=head->record[0];
}
@ -403,13 +403,16 @@ QUICK_SELECT::~QUICK_SELECT()
free_root(&alloc,MYF(0));
}
int QUICK_SELECT::init()
{
return error=file->index_init(index);
}
QUICK_RANGE::QUICK_RANGE()
:min_key(0),max_key(0),min_length(0),max_length(0),
flag(NO_MIN_RANGE | NO_MAX_RANGE)
{}
SEL_ARG::SEL_ARG(SEL_ARG &arg) :Sql_alloc()
{
type=arg.type;

View File

@ -73,7 +73,7 @@ public:
QUICK_SELECT(TABLE *table,uint index_arg,bool no_alloc=0);
virtual ~QUICK_SELECT();
void reset(void) { next=0; it.rewind(); }
virtual int init() { return 0; }
virtual int init();
virtual int get_next();
int cmp_next(QUICK_RANGE *range);
bool unique_key_range();

View File

@ -163,7 +163,7 @@
"ðÏÌÕÞÅÎ ÐÁËÅÔ × ÎÅÐÒÁ×ÉÌØÎÏÍ ÐÏÒÑÄËÅ",
"îÅ ÍÏÇÕ ÒÁÓÐÁËÏ×ÁÔØ ÐÁËÅÔ",
"ïÛÉÂËÁ ÐÒÉ ÞÔÅÎÉÉ ÐÁËÅÔÏ×"
"Timeout ÐÒÉ ÞÔÅÎÉÉ ÐÁËÅÔÏ×",
"Таймаут при чтении пакетов",
"ïÛÉÂËÁ ÐÒÉ ÏÔÐÒÁ×ËÅ ÐÁËÅÔÏ×",
"ïÛÉÂËÁ ÐÒÉ ÏÔÐÒÁ×ËÅ ÐÁËÅÔÏ×",
"òÅÚÕÌØÔÉÒÕÀÝÁÑ ÓÔÒÏËÁ ÂÏÌØÛÅ ÞÅÍ max_allowed_packet",
@ -171,25 +171,25 @@
"éÓÐÏÌØÚÕÅÍÁÑ ÔÁÂÌÉÃÁ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔ ÐÏÌÑ AUTO_INCREMENT",
"INSERT DELAYED ÎÅ ÍÏÖÅÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ Ó ÔÁÂÌÉÃÅÊ '%-.64s', ÏÎÁ ÚÁÎÑÔÁ ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ LOCK TABLES",
"îÅ×ÅÒÎÏÅ ÉÍÑ ÐÏÌÑ '%-.100s'",
"éÓÐÏÌØÚÕÅÍÙÊ table handler ÎÅ ÍÏÖÅÔ ÉÎÄÅËÓÉÒÏ×ÁÔØ ÐÏÌÅ '%-.64s'",
"All tables in the MERGE table are not defined identically",
"Can't write, because of unique constraint, to table '%-.64s'",
"BLOB column '%-.64s' used in key specification without a key length",
"All parts of a PRIMARY KEY must be NOT NULL; If you need NULL in a key, use UNIQUE instead",
"Result consisted of more than one row",
"This table type requires a primary key",
"This version of MySQL is not compiled with RAID support",
"Таблица используемого типа не может индексировать поле '%-.64s'",
"Не все таблицы в MERGE определены одинаково",
"Не могу писать в таблицу '%-.64s' из-за UNIQUE условий",
"Поле типа BLOB '%-.64s' в определении индекса без указания длины",
"Все части PRIMARY KEY должны быть NOT NULL; если NULL в индексе необходим, используйте UNIQUE",
"Результат содержит больше одной строки",
"Таблица этого типа обязана иметь PRIMARY KEY",
"Эта копия MySQL скомпилирована без поддержки RAID",
"You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column",
"Key '%-.64s' doesn't exist in table '%-.64s'",
"Can't open table",
"The handler for the table doesn't support 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",
"Индекс '%-.64s' не найден в таблице '%-.64s'",
"Не могу открыть таблицу",
"Данный тип таблиц не поддерживает check/repair",
"Эта команда внутри транзакции запрещена",
"Ошибка %d во время COMMIT",
"Ошибка %d во время ROLLBACK",
"Ошибка %d во время FLUSH_LOGS",
"Ошибка %d во время CHECKPOINT",
"Прерванное соединение %ld к базе данных: '%-.64s' пользователь: '%-.32s' хост: `%-.64s' (%-.64s)",
"Этот тип таблиц не поддерживает binary table dump",
"Binlog closed while trying to FLUSH MASTER",
"Failed rebuilding the index of dumped table '%-.64s'",
"Error from master: '%-.64s'",
@ -197,7 +197,7 @@
"Net error writing to master",
"FULLTEXT ÉÎÄÅËÓ, ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÊ ÚÁÄÁÎÎÏÍÕ ÓÐÉÓËÕ ÓÔÏÌÂÃÏ×, ÎÅ ÎÁÊÄÅÎ",
"Can't execute the given command because you have active locked tables or an active transaction",
"Unknown system variable '%-.64'",
"Table '%-.64s' is marked as crashed and should be repaired",
"Table '%-.64s' is marked as crashed and last (automatic?) repair failed",
"Неизвестная системная переменная '%-.64'",
"Таблица '%-.64s' помечена как испорченная и должна быть исправлена",
"Таблица '%-.64s' помечена как испорченная и последняя попытка исправления (автоматическая?) не удалась",
"Warning: Some non-transactional changed tables couldn't be rolled back",