Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
mariadb
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
0f660db3
Commit
0f660db3
authored
Jun 10, 2008
by
unknown
Browse files
Options
Browse Files
Download
Plain Diff
merge
parents
3967b6cf
5f26e738
Changes
12
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
171 additions
and
13 deletions
+171
-13
config/ac-macros/plugins.m4
config/ac-macros/plugins.m4
+3
-3
configure.in
configure.in
+1
-1
mysql-test/include/maria_empty_logs.inc
mysql-test/include/maria_empty_logs.inc
+4
-1
mysql-test/r/maria-no-logging.result
mysql-test/r/maria-no-logging.result
+55
-0
mysql-test/r/maria-purge.result
mysql-test/r/maria-purge.result
+2
-0
mysql-test/t/maria-no-logging.test
mysql-test/t/maria-no-logging.test
+81
-0
mysql-test/t/maria-purge.test
mysql-test/t/maria-purge.test
+14
-0
mysql-test/valgrind.supp
mysql-test/valgrind.supp
+1
-1
storage/maria/CMakeLists.txt
storage/maria/CMakeLists.txt
+1
-1
storage/maria/ma_state.c
storage/maria/ma_state.c
+2
-2
storage/maria/plug.in
storage/maria/plug.in
+1
-1
storage/maria/unittest/trnman-t.c
storage/maria/unittest/trnman-t.c
+6
-3
No files found.
config/ac-macros/plugins.m4
View file @
0f660db3
...
...
@@ -280,7 +280,7 @@ dnl ---------------------------------------------------------------------------
dnl Macro: MYSQL_CONFIGURE_PLUGINS
dnl
dnl SYNOPSIS
dnl MYSQL_
PLUGIN_DEPEND
S([name,name...])
dnl MYSQL_
CONFIGURE_PLUGIN
S([name,name...])
dnl
dnl DESCRIPTION
dnl Used last, emits all required shell code to configure the plugins
...
...
@@ -735,13 +735,13 @@ dnl Emits shell script for checking configure arguments
dnl Arguments to this macro is default value for selected plugins
AC_DEFUN([_MYSQL_CHECK_PLUGIN_ARGS],[
__MYSQL_CHECK_PLUGIN_ARGS(m4_default([$1], [
none
]))
__MYSQL_CHECK_PLUGIN_ARGS(m4_default([$1], [
default
]))
])
AC_DEFUN([__MYSQL_CHECK_PLUGIN_ARGS],[
AC_ARG_WITH([plugins],
AS_HELP_STRING([--with-plugins=PLUGIN[[[[[,PLUGIN..]]]]]],
[Plugins to include in mysqld.
(default is: $1)
Must be a
[Plugins to include in mysqld. Must be a
configuration name or a comma separated list of plugins.])
AS_HELP_STRING([],
[Available configurations are:] dnl
...
...
configure.in
View file @
0f660db3
...
...
@@ -2387,7 +2387,7 @@ MYSQL_STORAGE_ENGINE(partition, partition, [Partition Support],
dnl
--
ndbcluster requires partition to be enabled
MYSQL_CONFIGURE_PLUGINS
([
none
]
)
MYSQL_CONFIGURE_PLUGINS
([
default
]
)
# Only build client code?
AC_ARG_WITH
(
server,
...
...
mysql-test/include/maria_empty_logs.inc
View file @
0f660db3
...
...
@@ -4,6 +4,9 @@
# API: set mel_keep_control_file=1 if want to keep control file;
# uses vardir, port and socket.
connection
default
;
let
$default_db
=
`select database()`
;
connection
admin
;
--
echo
*
shut
down
mysqld
,
removed
logs
,
restarted
it
...
...
@@ -71,4 +74,4 @@ EOF
connection
default
;
# the effect of "use" is lost after a restart so we are back into db "test",
# because connection 'default' was created with db "test".
use
mysqltest
;
eval
use
$default_db
;
mysql-test/r/maria-no-logging.result
0 → 100644
View file @
0f660db3
set global maria_log_file_size=4294967295;
drop database if exists mysqltest;
create database mysqltest;
use mysqltest;
set global maria_checkpoint_interval=0;
create table t2 (a varchar(100)) engine=myisam;
insert into t2 select repeat('z',100);
insert into t2 select * from t2;
insert into t2 select * from t2;
insert into t2 select * from t2;
insert into t2 select * from t2;
insert into t2 select * from t2;
insert into t2 select * from t2;
* shut down mysqld, removed logs, restarted it
use mysqltest;
create table t1 (a varchar(100)) engine=maria transactional=1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` varchar(100) DEFAULT NULL
) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 TRANSACTIONAL=1
show engine maria logs;
Type Name Status
MARIA Size 16384 maria_log.00000001 unknown
insert into t1 values('a');
insert into t1 select * from t2;
show engine maria logs;
Type Name Status
MARIA Size 24576 maria_log.00000001 unknown
* shut down mysqld, removed logs, restarted it
use mysqltest;
truncate table t1;
insert into t1 select * from t2;
show engine maria logs;
Type Name Status
MARIA Size 16384 maria_log.00000001 unknown
drop table t1;
* shut down mysqld, removed logs, restarted it
use mysqltest;
create table t1 (a varchar(100)) engine=maria transactional=1;
insert into t1 values('a');
create table if not exists t1 select * from t2;
Warnings:
Note 1050 Table 't1' already exists
show engine maria logs;
Type Name Status
MARIA Size 24576 maria_log.00000001 unknown
* shut down mysqld, removed logs, restarted it
use mysqltest;
drop table t1;
create table t1 engine=maria transactional=1 select * from t2;
show engine maria logs;
Type Name Status
MARIA Size 16384 maria_log.00000001 unknown
drop database mysqltest;
mysql-test/r/maria-purge.result
View file @
0f660db3
* shut down mysqld, removed logs, restarted it
use test;
set global storage_engine=maria;
set session storage_engine=maria;
set global maria_log_file_size=4294967295;
...
...
mysql-test/t/maria-no-logging.test
0 → 100644
View file @
0f660db3
# test of cases where we can safely disable logging
--
source
include
/
have_maria
.
inc
set
global
maria_log_file_size
=
4294967295
;
--
disable_warnings
drop
database
if
exists
mysqltest
;
--
enable_warnings
create
database
mysqltest
;
connect
(
admin
,
127.0
.
0.1
,
root
,,
mysqltest
,,);
--
enable_reconnect
connection
default
;
use
mysqltest
;
--
enable_reconnect
# checkpoints can make log unrepeatable
let
$def_checkinterval
=
`select @@global.maria_checkpoint_interval`
;
set
global
maria_checkpoint_interval
=
0
;
# Prepare table to help for big load
create
table
t2
(
a
varchar
(
100
))
engine
=
myisam
;
insert
into
t2
select
repeat
(
'z'
,
100
);
insert
into
t2
select
*
from
t2
;
insert
into
t2
select
*
from
t2
;
insert
into
t2
select
*
from
t2
;
insert
into
t2
select
*
from
t2
;
insert
into
t2
select
*
from
t2
;
insert
into
t2
select
*
from
t2
;
# INSERT SELECT
# no optimization because table not empty
# SHOW ENGINE MARIA LOGS could be influenced by older logs
--
source
include
/
maria_empty_logs
.
inc
create
table
t1
(
a
varchar
(
100
))
engine
=
maria
transactional
=
1
;
show
create
table
t1
;
--
replace_regex
/
;
.+
maria_log
/
maria_log
/
show
engine
maria
logs
;
insert
into
t1
values
(
'a'
);
insert
into
t1
select
*
from
t2
;
--
replace_regex
/
;
.+
maria_log
/
maria_log
/
show
engine
maria
logs
;
# optimization because table is empty
--
source
include
/
maria_empty_logs
.
inc
truncate
table
t1
;
insert
into
t1
select
*
from
t2
;
--
replace_regex
/
;
.+
maria_log
/
maria_log
/
show
engine
maria
logs
;
drop
table
t1
;
# same for CREATE SELECT
# no optimization because table not empty
--
source
include
/
maria_empty_logs
.
inc
create
table
t1
(
a
varchar
(
100
))
engine
=
maria
transactional
=
1
;
insert
into
t1
values
(
'a'
);
create
table
if
not
exists
t1
select
*
from
t2
;
--
replace_regex
/
;
.+
maria_log
/
maria_log
/
show
engine
maria
logs
;
# optimization because table is empty
--
source
include
/
maria_empty_logs
.
inc
drop
table
t1
;
create
table
t1
engine
=
maria
transactional
=
1
select
*
from
t2
;
--
replace_regex
/
;
.+
maria_log
/
maria_log
/
show
engine
maria
logs
;
drop
database
mysqltest
;
--
disable_result_log
--
disable_query_log
eval
set
global
maria_checkpoint_interval
=
$def_checkinterval
;
--
enable_result_log
--
enable_query_log
mysql-test/t/maria-purge.test
View file @
0f660db3
--
source
include
/
have_maria
.
inc
--
source
include
/
big_test
.
inc
# pre-requisites for maria_empty_logs
connect
(
admin
,
127.0
.
0.1
,
root
,,
test
,,);
--
enable_reconnect
connection
default
;
--
enable_reconnect
# end of pre-requisites
# SHOW ENGINE MARIA LOGS could be influenced by older logs
# Also, possibly automatic checkpoints (see if that happens in
# practice)
--
source
include
/
maria_empty_logs
.
inc
let
$default
=
`select @@global.storage_engine`
;
set
global
storage_engine
=
maria
;
set
session
storage_engine
=
maria
;
...
...
@@ -47,6 +60,7 @@ insert into t2 select * from t1;
insert
into
t1
select
*
from
t2
;
set
global
maria_log_file_size
=
16777216
;
# force a checkpoint to allow log purge
eval
set
global
maria_checkpoint_interval
=
$def_checkinterval
;
--
replace_regex
/
Size
+
[
0
-
9
]
+
;
.+
master
-
data
/
master
-
data
/
SHOW
ENGINE
maria
logs
;
...
...
mysql-test/valgrind.supp
View file @
0f660db3
...
...
@@ -384,7 +384,7 @@
fun:calloc
fun:_dlerror_run
fun:dlclose
fun:plugin_dl_del
fun:plugin_dl_del
(st_mysql_lex_string const*)
}
{
...
...
storage/maria/CMakeLists.txt
View file @
0f660db3
...
...
@@ -24,7 +24,7 @@ INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/zlib
SET
(
MARIA_SOURCES ma_init.c ma_open.c ma_extra.c ma_info.c ma_rkey.c
ma_rnext.c ma_rnext_same.c
ma_search.c ma_page.c ma_key_recover.c ma_key.c
ma_locking.c
ma_locking.c
ma_state.c
ma_rrnd.c ma_scan.c ma_cache.c
ma_statrec.c ma_packrec.c ma_dynrec.c
ma_blockrec.c ma_bitmap.c
...
...
storage/maria/ma_state.c
View file @
0f660db3
...
...
@@ -28,9 +28,9 @@
10 ended transactions since last time it was called.
*/
#include
<maria_def.h>
#include
"maria_def.h"
#include "trnman.h"
#include
<ma_blockrec.h>
#include
"ma_blockrec.h"
/**
@brief Setup initial start-of-transaction state for a table
...
...
storage/maria/plug.in
View file @
0f660db3
MYSQL_STORAGE_ENGINE(maria,, [Maria Storage Engine],
[Crash-safe tables with MyISAM heritage], [max,max-no-ndb])
[Crash-safe tables with MyISAM heritage], [
default,
max,max-no-ndb])
MYSQL_PLUGIN_DIRECTORY(maria, [storage/maria])
MYSQL_PLUGIN_STATIC(maria, [libmaria.a])
# Maria will probably go first into max builds, not all builds,
...
...
storage/maria/unittest/trnman-t.c
View file @
0f660db3
...
...
@@ -111,10 +111,11 @@ void run_test(const char *test, pthread_handler handler, int n, int m)
}
#define ok_read_from(T1, T2, RES) \
i= trnman_can_read_from(trn[T1], tr
n[T2]->trid
); \
i= trnman_can_read_from(trn[T1], tr
id[T2]
); \
ok(i == RES, "trn" #T1 " %s read from trn" #T2, i ? "can" : "cannot")
#define start_transaction(T) \
trn[T]= trnman_new_trn(&mutexes[T], &conds[T], &i + STACK_SIZE)
trn[T]= trnman_new_trn(&mutexes[T], &conds[T], &i + STACK_SIZE); \
trid[T]= trn[T]->trid
#define commit(T) trnman_commit_trn(trn[T])
#define abort(T) trnman_abort_trn(trn[T])
...
...
@@ -122,6 +123,7 @@ void run_test(const char *test, pthread_handler handler, int n, int m)
void
test_trnman_read_from
()
{
TRN
*
trn
[
Ntrns
];
TrID
trid
[
Ntrns
];
pthread_mutex_t
mutexes
[
Ntrns
];
pthread_cond_t
conds
[
Ntrns
];
int
i
;
...
...
@@ -142,6 +144,7 @@ void test_trnman_read_from()
ok_read_from
(
3
,
0
,
1
);
ok_read_from
(
3
,
1
,
0
);
ok_read_from
(
3
,
2
,
0
);
ok_read_from
(
3
,
3
,
1
);
commit
(
1
);
/* commit trn2 */
ok_read_from
(
3
,
1
,
0
);
commit
(
3
);
/* commit trn5 */
...
...
@@ -158,7 +161,7 @@ int main(int argc __attribute__((unused)), char **argv)
MY_INIT
(
argv
[
0
]);
my_init
();
plan
(
6
);
plan
(
7
);
if
(
my_atomic_initialize
())
return
exit_status
();
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment