mariadb/storage/maria/ma_init.c
unknown 8373b4deac Fixed core dump when running myisamchk (as this doesn't call translog_init)
Added option --transaction-log to maria_chk


storage/maria/ma_init.c:
  Fixed core dump when running maria_chk (as this doesn't call translog_init)
storage/maria/ma_test_all.sh:
  Added testing of --transaction-log
storage/maria/maria_chk.c:
  Enable logging of repair commands if run with --transaction-log
2007-12-10 03:23:15 +02:00

69 lines
1.7 KiB
C

/* Copyright (C) 2006 MySQL AB & MySQL Finland AB & TCX DataKonsult 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
the Free Software Foundation; version 2 of the License.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
/* Initialize an maria-database */
#include "maria_def.h"
#include <ft_global.h>
#include "ma_blockrec.h"
#include "trnman_public.h"
#include "ma_checkpoint.h"
my_bool maria_inited= FALSE;
pthread_mutex_t THR_LOCK_maria;
/*
Initialize maria
SYNOPSIS
maria_init()
TODO
Open log files and do recovery if need
RETURN
0 ok
# error number
*/
int maria_init(void)
{
if (!maria_inited)
{
maria_inited= TRUE;
pthread_mutex_init(&THR_LOCK_maria,MY_MUTEX_INIT_SLOW);
_ma_init_block_record_data();
my_handler_error_register();
}
return 0;
}
void maria_end(void)
{
if (maria_inited)
{
maria_inited= maria_multi_threaded= FALSE;
ft_free_stopwords();
ma_checkpoint_end();
trnman_destroy();
if (translog_inited)
translog_destroy();
end_pagecache(maria_log_pagecache, TRUE);
end_pagecache(maria_pagecache, TRUE);
ma_control_file_end();
pthread_mutex_destroy(&THR_LOCK_maria);
}
}