mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 03:52:35 +01:00
Merge work:/home/bk/mysql-4.0
into sergbook.mysql.com:/usr/home/serg/Abk/mysql-4.0
This commit is contained in:
commit
79bdeb9df8
7 changed files with 40 additions and 15 deletions
|
@ -522,11 +522,13 @@ typedef struct _my_rw_lock_t {
|
|||
#define rw_unlock(A) my_rw_unlock((A))
|
||||
#define rwlock_destroy(A) my_rwlock_destroy((A))
|
||||
|
||||
extern int my_rwlock_init( my_rw_lock_t *, void * );
|
||||
extern int my_rwlock_destroy( my_rw_lock_t * );
|
||||
extern int my_rw_rdlock( my_rw_lock_t * );
|
||||
extern int my_rw_wrlock( my_rw_lock_t * );
|
||||
extern int my_rw_unlock( my_rw_lock_t * );
|
||||
extern int my_rwlock_init(my_rw_lock_t *, void *);
|
||||
extern int my_rwlock_destroy(my_rw_lock_t *);
|
||||
extern int my_rw_rdlock(my_rw_lock_t *);
|
||||
extern int my_rw_wrlock(my_rw_lock_t *);
|
||||
extern int my_rw_unlock(my_rw_lock_t *);
|
||||
extern int my_rw_tryrdlock(my_rw_lock_t *);
|
||||
extern int my_rw_trywrlock(my_rw_lock_t *);
|
||||
#endif /* USE_MUTEX_INSTEAD_OF_RW_LOCKS */
|
||||
|
||||
#define GETHOSTBYADDR_BUFF_SIZE 2048
|
||||
|
|
|
@ -1351,7 +1351,8 @@ innobase_shutdown_for_mysql(void)
|
|||
srv_conc_n_threads);
|
||||
}
|
||||
|
||||
#ifdef NOT_WORKING_YET
|
||||
ut_free_all_mem();
|
||||
|
||||
#endif
|
||||
return((int) DB_SUCCESS);
|
||||
}
|
||||
|
|
|
@ -2503,6 +2503,10 @@ static int sort_key_read(MI_SORT_PARAM *sort_param, void *key)
|
|||
(info->s->rec_reflength+
|
||||
_mi_make_key(info, sort_param->key, (uchar*) key,
|
||||
sort_param->record, sort_param->filepos));
|
||||
#ifdef HAVE_purify
|
||||
bzero(key+sort_param->real_key_length,
|
||||
(sort_param->key_length-sort_param->real_key_length));
|
||||
#endif
|
||||
DBUG_RETURN(sort_write_record(sort_param));
|
||||
} /* sort_key_read */
|
||||
|
||||
|
@ -2536,8 +2540,14 @@ static int sort_ft_key_read(MI_SORT_PARAM *sort_param, void *key)
|
|||
wptr=(FT_WORD*)(sort_param->wordptr);
|
||||
}
|
||||
|
||||
sort_param->real_key_length=info->s->rec_reflength+_ft_make_key(info,
|
||||
sort_param->key,key,wptr++,sort_param->filepos);
|
||||
sort_param->real_key_length=(info->s->rec_reflength+
|
||||
_ft_make_key(info, sort_param->key,
|
||||
key, wptr++, sort_param->filepos));
|
||||
#ifdef HAVE_purify
|
||||
if (sort_param->key_length > sort_param->real_key_length)
|
||||
bzero(key+sort_param->real_key_length,
|
||||
(sort_param->key_length-sort_param->real_key_length));
|
||||
#endif
|
||||
if (!wptr->pos)
|
||||
{
|
||||
my_free((char*) sort_param->wordlist, MYF(0));
|
||||
|
@ -2546,10 +2556,10 @@ static int sort_ft_key_read(MI_SORT_PARAM *sort_param, void *key)
|
|||
else
|
||||
sort_param->wordptr=(void*)wptr;
|
||||
|
||||
|
||||
DBUG_RETURN(error);
|
||||
} /* sort_ft_key_read */
|
||||
|
||||
|
||||
/* Read next record from file using parameters in sort_info */
|
||||
/* Return -1 if end of file, 0 if ok and > 0 if error */
|
||||
|
||||
|
|
|
@ -96,4 +96,7 @@ INSERT INTO t1 (post_text) VALUES ('ceci est un test'),('ceci est un test'),('ce
|
|||
REPAIR TABLE t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 repair status OK
|
||||
CHECK TABLE t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check status OK
|
||||
drop table t1;
|
||||
|
|
|
@ -91,5 +91,5 @@ CREATE TABLE `t1` (
|
|||
INSERT INTO t1 (post_text) VALUES ('ceci est un test'),('ceci est un test'),('ceci est un test'),('ceci est un test'),('ceci est un test');
|
||||
|
||||
REPAIR TABLE t1;
|
||||
CHECK TABLE t1;
|
||||
drop table t1;
|
||||
|
||||
|
|
|
@ -468,9 +468,11 @@ static int lock_io_cache(IO_CACHE *info)
|
|||
very beginning, that is returns 1 and does not unlock the mutex.
|
||||
*/
|
||||
if (++(info->share->count))
|
||||
return pthread_mutex_unlock(&info->share->mutex);
|
||||
else
|
||||
return 1;
|
||||
{
|
||||
pthread_mutex_unlock(&info->share->mutex);
|
||||
return 0;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
static void unlock_io_cache(IO_CACHE *info)
|
||||
|
@ -479,6 +481,7 @@ static void unlock_io_cache(IO_CACHE *info)
|
|||
pthread_mutex_unlock(&info->share->mutex);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
Read from IO_CACHE when it is shared between several threads.
|
||||
It works as follows: when a thread tries to read from a file
|
||||
|
@ -488,6 +491,7 @@ static void unlock_io_cache(IO_CACHE *info)
|
|||
returns 1, the thread does actual IO and unlock_io_cache(),
|
||||
which signals all the waiting threads that data is in the buffer.
|
||||
*/
|
||||
|
||||
int _my_b_read_r(register IO_CACHE *info, byte *Buffer, uint Count)
|
||||
{
|
||||
my_off_t pos_in_file;
|
||||
|
@ -1068,8 +1072,9 @@ int _flush_io_cache(IO_CACHE *info, int need_append_buffer_lock)
|
|||
if ((length=(uint) (info->write_pos - info->write_buffer)))
|
||||
{
|
||||
pos_in_file=info->pos_in_file;
|
||||
/* if we have append cache, we always open the file with
|
||||
O_APPEND which moves the pos to EOF automatically on every write
|
||||
/*
|
||||
If we have append cache, we always open the file with
|
||||
O_APPEND which moves the pos to EOF automatically on every write
|
||||
*/
|
||||
if (!append_cache && info->seek_not_done)
|
||||
{ /* File touched, do seek */
|
||||
|
|
|
@ -229,7 +229,11 @@ SHOW_COMP_OPTION have_openssl=SHOW_OPTION_YES;
|
|||
#else
|
||||
SHOW_COMP_OPTION have_openssl=SHOW_OPTION_NO;
|
||||
#endif
|
||||
#ifdef HAVE_BROKEN_REALPATH
|
||||
SHOW_COMP_OPTION have_symlink=SHOW_OPTION_NO;
|
||||
#else
|
||||
SHOW_COMP_OPTION have_symlink=SHOW_OPTION_YES;
|
||||
#endif
|
||||
#ifdef HAVE_QUERY_CACHE
|
||||
SHOW_COMP_OPTION have_query_cache=SHOW_OPTION_YES;
|
||||
#else
|
||||
|
|
Loading…
Reference in a new issue