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
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
MariaDB
Commits
9fd95b1f
Commit
9fd95b1f
authored
Apr 18, 2011
by
Georgi Kodinov
Browse files
Options
Browse Files
Download
Plain Diff
Bug #11810224: CORRECT INVALID LGPL NOTICE IN CLUSTER FILES
The 5.1 part of the of the fix.
parents
a1175058
f9931f0a
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
0 additions
and
484 deletions
+0
-484
storage/ndb/test/sql/BANK.sql
storage/ndb/test/sql/BANK.sql
+0
-44
storage/ndb/test/sql/T1.sql
storage/ndb/test/sql/T1.sql
+0
-9
storage/ndb/test/sql/test_create_drop.pl
storage/ndb/test/sql/test_create_drop.pl
+0
-196
storage/ndb/test/sql/test_range_bounds.pl
storage/ndb/test/sql/test_range_bounds.pl
+0
-235
No files found.
storage/ndb/test/sql/BANK.sql
deleted
100644 → 0
View file @
a1175058
CREATE
DATABASE
IF
NOT
EXISTS
BANK
default
charset
=
latin1
default
collate
=
latin1_bin
;
USE
BANK
;
DROP
TABLE
IF
EXISTS
GL
;
CREATE
TABLE
GL
(
TIME
BIGINT
UNSIGNED
NOT
NULL
,
ACCOUNT_TYPE
INT
UNSIGNED
NOT
NULL
,
BALANCE
INT
UNSIGNED
NOT
NULL
,
DEPOSIT_COUNT
INT
UNSIGNED
NOT
NULL
,
DEPOSIT_SUM
INT
UNSIGNED
NOT
NULL
,
WITHDRAWAL_COUNT
INT
UNSIGNED
NOT
NULL
,
WITHDRAWAL_SUM
INT
UNSIGNED
NOT
NULL
,
PURGED
INT
UNSIGNED
NOT
NULL
,
PRIMARY
KEY
USING
HASH
(
TIME
,
ACCOUNT_TYPE
))
ENGINE
=
NDB
;
DROP
TABLE
IF
EXISTS
ACCOUNT
;
CREATE
TABLE
ACCOUNT
(
ACCOUNT_ID
INT
UNSIGNED
NOT
NULL
,
OWNER
INT
UNSIGNED
NOT
NULL
,
BALANCE
INT
UNSIGNED
NOT
NULL
,
ACCOUNT_TYPE
INT
UNSIGNED
NOT
NULL
,
PRIMARY
KEY
USING
HASH
(
ACCOUNT_ID
))
ENGINE
=
NDB
;
DROP
TABLE
IF
EXISTS
TRANSACTION
;
CREATE
TABLE
TRANSACTION
(
TRANSACTION_ID
BIGINT
UNSIGNED
NOT
NULL
,
ACCOUNT
INT
UNSIGNED
NOT
NULL
,
ACCOUNT_TYPE
INT
UNSIGNED
NOT
NULL
,
OTHER_ACCOUNT
INT
UNSIGNED
NOT
NULL
,
TRANSACTION_TYPE
INT
UNSIGNED
NOT
NULL
,
TIME
BIGINT
UNSIGNED
NOT
NULL
,
AMOUNT
INT
UNSIGNED
NOT
NULL
,
PRIMARY
KEY
USING
HASH
(
TRANSACTION_ID
,
ACCOUNT
))
ENGINE
=
NDB
;
DROP
TABLE
IF
EXISTS
SYSTEM_VALUES
;
CREATE
TABLE
SYSTEM_VALUES
(
SYSTEM_VALUES_ID
INT
UNSIGNED
NOT
NULL
,
VALUE
BIGINT
UNSIGNED
NOT
NULL
,
PRIMARY
KEY
USING
HASH
(
SYSTEM_VALUES_ID
))
ENGINE
=
NDB
;
DROP
TABLE
IF
EXISTS
ACCOUNT_TYPE
;
CREATE
TABLE
ACCOUNT_TYPE
(
ACCOUNT_TYPE_ID
INT
UNSIGNED
NOT
NULL
,
DESCRIPTION
CHAR
(
64
)
NOT
NULL
,
PRIMARY
KEY
USING
HASH
(
ACCOUNT_TYPE_ID
))
ENGINE
=
NDB
;
storage/ndb/test/sql/T1.sql
deleted
100644 → 0
View file @
a1175058
create
database
if
not
exists
TEST_DB
;
use
TEST_DB
;
drop
table
if
exists
T1
;
create
table
T1
(
KOL1
int
unsigned
not
null
,
KOL2
int
unsigned
not
null
,
KOL3
int
unsigned
not
null
,
KOL4
int
unsigned
not
null
,
KOL5
int
unsigned
not
null
,
primary
key
using
hash
(
KOL1
))
engine
=
ndb
;
storage/ndb/test/sql/test_create_drop.pl
deleted
100644 → 0
View file @
a1175058
# Copyright (C) 2005 MySQL AB
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU Library 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
# Library General Public License for more details.
#
# You should have received a copy of the GNU Library General Public
# License along with this library; if not, write to the Free
# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
# MA 02111-1307, USA
use
strict
;
use
IO::
Socket
;
use
DBI
;
# mgm info
my
$mgmhost
=
"
localhost
";
my
$mgmport
=
38101
;
# location of ndb_x_fs
my
$datadir
=
"
c2
";
my
@schemafiles
=
<
$datadir
/ndb_*_fs/
D
[
12
]
/DBDICT/
P0
.
SchemaLog
>
;
@schemafiles
or
die
"
no schemafiles in
$datadir
";
my
$dsn
;
$dsn
=
"
dbi:mysql:test:localhost;port=38100
";
# this works better for me
my
$cnf
=
$ENV
{
MYSQL_HOME
}
.
"
/var/my.cnf
";
$dsn
=
"
dbi:mysql:database=test;host=localhost;mysql_read_default_file=
$cnf
";
my
$dbh
;
$dbh
=
DBI
->
connect
(
$dsn
,
'
root
',
undef
,
{
RaiseError
=>
0
,
PrintError
=>
0
});
$dbh
or
die
$
DBI::
errstr
;
# mgm commands
my
$mgm
=
undef
;
sub
mgmconnect
{
$mgm
=
IO::Socket::
INET
->
new
(
Proto
=>
"
tcp
",
PeerHost
=>
$mgmhost
,
PeerPort
=>
$mgmport
);
$mgm
or
die
"
connect to mgm failed: $!
";
$mgm
->
autoflush
(
1
);
};
mgmconnect
();
warn
"
connected to mgm
$mgmhost
$mgmport
\n
";
my
$nodeinfo
=
{};
sub
getnodeinfo
{
$nodeinfo
=
{};
$mgm
->
print
("
get status
\n
");
$mgm
->
print
("
\n
");
while
(
defined
(
$_
=
$mgm
->
getline
))
{
/^node\s+status/
&&
last
;
}
while
(
defined
(
$_
=
$mgm
->
getline
))
{
/^\s*$/
&&
last
;
/^node\.(\d+)\.(\w+):\s*(\S+)/
&&
(
$nodeinfo
->
{
$1
}{
$2
}
=
$3
);
}
}
getnodeinfo
();
my
@dbnode
=
();
for
my
$n
(
keys
%
$nodeinfo
)
{
my
$p
=
$nodeinfo
->
{
$n
};
(
$p
->
{
type
}
eq
'
NDB
')
&&
push
(
@dbnode
,
$n
);
}
@dbnode
=
sort
{
$a
<=>
$b
}
@dbnode
;
@dbnode
or
die
"
mgm error, found no db nodes
";
warn
"
db nodes:
@dbnode
\n
";
sub
restartnode
{
my
(
$n
,
$initialstart
)
=
@_
;
warn
"
restart node
$n
initialstart=
$initialstart
\n
";
$mgm
->
print
("
restart node
\n
");
$mgm
->
print
("
node:
$n
\n
");
$mgm
->
print
("
initialstart:
$initialstart
\n
");
$mgm
->
print
("
\n
");
while
(
1
)
{
sleep
5
;
getnodeinfo
();
my
$status
=
$nodeinfo
->
{
$n
}{
status
};
my
$sp
=
$nodeinfo
->
{
$n
}{
startphase
};
warn
"
node
$n
status:
$status
sp:
$sp
\n
";
last
if
$status
eq
'
STARTED
';
}
}
sub
restartall
{
warn
"
restart all
\n
";
$mgm
->
print
("
restart all
\n
");
$mgm
->
print
("
\n
");
while
(
1
)
{
sleep
5
;
getnodeinfo
();
my
$ok
=
1
;
for
my
$n
(
@dbnode
)
{
my
$status
=
$nodeinfo
->
{
$n
}{
status
};
my
$sp
=
$nodeinfo
->
{
$n
}{
startphase
};
warn
"
node
$n
status:
$status
sp:
$sp
\n
";
$ok
=
0
if
$status
ne
'
STARTED
';
}
last
if
$ok
;
}
}
# the sql stuff
my
$maxtab
=
300
;
my
@tab
=
();
sub
create
{
my
(
$n
)
=
@_
;
my
$sql
=
"
create table t
$n
(a int primary key, b varchar(20), key (b)) engine=ndb
";
warn
"
create t
$n
\n
";
$dbh
->
do
(
$sql
)
or
die
"
$sql
\n
$DBI
::errstr
";
}
sub
drop
{
my
(
$n
)
=
@_
;
my
$sql
=
"
drop table t
$n
";
warn
"
drop t
$n
\n
";
$dbh
->
do
(
$sql
)
or
die
"
$sql
\n
$DBI
::errstr
";
}
sub
dropall
{
for
my
$n
(
0
..
(
$maxtab
-
1
))
{
my
$sql
=
"
drop table if exists t
$n
";
$dbh
->
do
(
$sql
)
or
die
"
$sql
\n
$DBI
::errstr
";
}
}
sub
createdrop
{
my
$n
=
int
(
rand
(
$maxtab
));
if
(
!
$tab
[
$n
])
{
create
(
$n
);
$tab
[
$n
]
=
1
;
}
else
{
drop
(
$n
);
$tab
[
$n
]
=
0
;
}
}
sub
checkschemafiles
{
system
("
printSchemaFile -ce
@schemafiles
");
$?
==
0
or
die
"
schemafiles check failed
";
}
sub
randomrestart
{
my
(
$k
)
=
@_
;
my
$s
=
int
(
rand
(
500
));
if
(
$s
<
2
)
{
my
$i
=
$k
%
scalar
(
@dbnode
);
my
$n
=
$dbnode
[
$i
];
my
$initialstart
=
(
$s
<
1
?
0
:
1
);
restartnode
(
$n
,
$initialstart
);
return
1
;
}
if
(
$s
<
3
)
{
restartall
();
return
1
;
}
return
0
;
}
# deterministic
srand
(
1
);
warn
"
drop any old tables
\n
";
dropall
();
my
$loop
=
1000000
;
for
my
$k
(
0
..
(
$loop
-
1
))
{
warn
"
$k
\n
";
createdrop
();
checkschemafiles
();
if
(
randomrestart
(
$k
))
{
checkschemafiles
();
}
}
$dbh
->
disconnect
or
die
$
DBI::
errstr
;
# vim: set sw=2:
storage/ndb/test/sql/test_range_bounds.pl
deleted
100644 → 0
View file @
a1175058
# Copyright (C) 2005 MySQL AB
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU Library 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
# Library General Public License for more details.
#
# You should have received a copy of the GNU Library General Public
# License along with this library; if not, write to the Free
# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
# MA 02111-1307, USA
#
# test range scan bounds
# give option --all to test all cases
# set MYSQL_HOME to installation top
#
use
strict
;
use
integer
;
use
Getopt::
Long
;
use
DBI
;
my
$opt_all
=
0
;
my
$opt_cnt
=
5
;
my
$opt_verbose
=
0
;
GetOptions
("
all
"
=>
\
$opt_all
,
"
cnt=i
"
=>
\
$opt_cnt
,
"
verbose
"
=>
\
$opt_verbose
)
or
die
"
options are: --all --cnt=N --verbose
";
my
$mysql_home
=
$ENV
{
MYSQL_HOME
};
defined
(
$mysql_home
)
or
die
"
no MYSQL_HOME
";
my
$dsn
=
"
dbi:mysql:database=test;host=localhost;mysql_read_default_file=
$mysql_home
/var/my.cnf
";
my
$opts
=
{
RaiseError
=>
0
,
PrintError
=>
0
,
AutoCommit
=>
1
,
};
my
$dbh
;
my
$sth
;
my
$sql
;
$dbh
=
DBI
->
connect
(
$dsn
,
"
root
",
undef
,
$opts
)
or
die
$
DBI::
errstr
;
my
$table
=
'
t
';
$sql
=
"
drop table if exists
$table
";
$dbh
->
do
(
$sql
)
or
die
$
DBI::
errstr
;
sub
cut
($$$)
{
my
(
$op
,
$key
,
$val
)
=
@_
;
$op
=
'
==
'
if
$op
eq
'
=
';
my
(
@w
)
=
@$val
;
eval
"
\
@w
= grep(
\
$_
$op
$key
,
\
@w
)
";
$@
and
die
$@
;
return
[
@w
];
}
sub
mkdummy
($)
{
my
(
$val
)
=
@_
;
return
{
'
dummy
'
=>
1
,
'
exp
'
=>
'
9 = 9
',
'
res
'
=>
$val
,
};
}
sub
mkone
($$$$)
{
my
(
$col
,
$op
,
$key
,
$val
)
=
@_
;
my
$res
=
cut
(
$op
,
$key
,
$val
);
return
{
'
exp
'
=>
"
$col
$op
$key
",
'
res
'
=>
$res
,
};
}
sub
mktwo
($$$$$$)
{
my
(
$col
,
$op1
,
$key1
,
$op2
,
$key2
,
$val
)
=
@_
;
my
$res
=
cut
(
$op2
,
$key2
,
cut
(
$op1
,
$key1
,
$val
));
return
{
'
exp
'
=>
"
$col
$op1
$key1
and
$col
$op2
$key2
",
'
res
'
=>
$res
,
};
}
sub
mkall
($$$$)
{
my
(
$col
,
$key1
,
$key2
,
$val
)
=
@_
;
my
@a
=
();
my
$p
=
mkdummy
(
$val
);
push
(
@a
,
$p
)
if
$opt_all
;
my
@ops
=
qw(< <= = >= >)
;
for
my
$op
(
@ops
)
{
my
$p
=
mkone
(
$col
,
$op
,
$key1
,
$val
);
push
(
@a
,
$p
)
if
$opt_all
||
@
{
$p
->
{
res
}}
!=
0
;
}
my
@ops1
=
$opt_all
?
@ops
:
qw(= >= >)
;
my
@ops2
=
$opt_all
?
@ops
:
qw(<= <)
;
for
my
$op1
(
@ops1
)
{
for
my
$op2
(
@ops2
)
{
my
$p
=
mktwo
(
$col
,
$op1
,
$key1
,
$op2
,
$key2
,
$val
);
push
(
@a
,
$p
)
if
$opt_all
||
@
{
$p
->
{
res
}}
!=
0
;
}
}
warn
scalar
(
@a
)
.
"
cases
\n
"
if
$opt_verbose
;
return
\
@a
;
}
my
$casecnt
=
0
;
sub
verify
($$$)
{
my
(
$sql
,
$ord
,
$res
)
=
@_
;
warn
"
$sql
\n
"
if
$opt_verbose
;
$sth
=
$dbh
->
prepare
(
$sql
)
or
die
"
prepare:
$sql
:
$DBI
::errstr
";
$sth
->
execute
()
or
die
"
execute:
$sql
:
$DBI
::errstr
";
#
# BUG: execute can return success on error so check again
#
$sth
->
err
and
die
"
execute:
$sql
:
$DBI
::errstr
";
my
@out
=
();
for
my
$b
(
@
{
$res
->
[
0
]})
{
for
my
$c
(
@
{
$res
->
[
1
]})
{
for
my
$d
(
@
{
$res
->
[
2
]})
{
push
(
@out
,
[
$b
,
$c
,
$d
]);
}
}
}
if
(
$ord
)
{
@out
=
sort
{
$ord
*
(
$a
->
[
0
]
-
$b
->
[
0
])
||
$ord
*
(
$a
->
[
1
]
-
$b
->
[
1
])
||
$ord
*
(
$a
->
[
2
]
-
$b
->
[
2
])
||
0
}
@out
;
}
my
$cnt
=
scalar
@out
;
my
$n
=
0
;
while
(
1
)
{
my
$row
=
$sth
->
fetchrow_arrayref
;
$row
||
last
;
@$row
==
3
or
die
"
bad row:
$sql
: @
$row
";
for
my
$v
(
@$row
)
{
$v
=~
s/^\s+|\s+$//g
;
$v
=~
/^\d+$/
or
die
"
bad value:
$sql
:
$v
";
}
if
(
$ord
)
{
my
$out
=
$out
[
$n
];
$row
->
[
0
]
==
$out
->
[
0
]
&&
$row
->
[
1
]
==
$out
->
[
1
]
&&
$row
->
[
2
]
==
$out
->
[
2
]
or
die
"
$sql
: row
$n
: got row @
$row
!= @
$out
";
}
$n
++
;
}
$sth
->
err
and
die
"
fetch:
$sql
:
$DBI
::errstr
";
$n
==
$cnt
or
die
"
verify:
$sql
: got row count
$n
!=
$cnt
";
$casecnt
++
;
}
for
my
$nn
("
bcd
",
"")
{
my
%
nn
;
for
my
$x
(
qw(b c d)
)
{
$nn
{
$x
}
=
$nn
=~
/$x/
?
"
not null
"
:
"
null
";
}
warn
"
create table
\n
";
$sql
=
<<EOF;
create table $table (
a int primary key,
b int $nn{b},
c int $nn{c},
d int $nn{d},
index (b, c, d)
) engine=ndb
EOF
$dbh
->
do
(
$sql
)
or
die
$
DBI::
errstr
;
warn
"
insert
\n
";
$sql
=
"
insert into
$table
values(?, ?, ?, ?)
";
$sth
=
$dbh
->
prepare
(
$sql
)
or
die
$
DBI::
errstr
;
my
@val
=
(
0
..
(
$opt_cnt
-
1
));
my
$v0
=
0
;
for
my
$v1
(
@val
)
{
for
my
$v2
(
@val
)
{
for
my
$v3
(
@val
)
{
$sth
->
bind_param
(
1
,
$v0
)
or
die
$
DBI::
errstr
;
$sth
->
bind_param
(
2
,
$v1
)
or
die
$
DBI::
errstr
;
$sth
->
bind_param
(
3
,
$v2
)
or
die
$
DBI::
errstr
;
$sth
->
bind_param
(
4
,
$v3
)
or
die
$
DBI::
errstr
;
$sth
->
execute
or
die
$
DBI::
errstr
;
$v0
++
;
}
}
}
warn
"
generate cases
\n
";
my
$key1
=
1
;
my
$key2
=
3
;
my
$a1
=
mkall
('
b
',
$key1
,
$key2
,
\
@val
);
my
$a2
=
mkall
('
c
',
$key1
,
$key2
,
\
@val
);
my
$a3
=
mkall
('
d
',
$key1
,
$key2
,
\
@val
);
warn
"
select
\n
";
for
my
$ord
(
0
,
+
1
,
-
1
)
{
my
$orderby
=
$ord
==
0
?
""
:
$ord
==
+
1
?
"
order by b, c, d
"
:
$ord
==
-
1
?
"
order by b desc, c desc, d desc
"
:
die
"
not here
";
for
my
$p1
(
@$a1
)
{
my
$res
=
[
$p1
->
{
res
},
\
@val
,
\
@val
];
$sql
=
"
select b, c, d from
$table
"
.
"
where
$p1
->{exp}
"
.
$orderby
;
verify
(
$sql
,
$ord
,
$res
);
for
my
$p2
(
@$a2
)
{
my
$res
=
[
$p1
->
{
res
},
$p2
->
{
res
},
\
@val
];
$sql
=
"
select b, c, d from
$table
"
.
"
where
$p1
->{exp} and
$p2
->{exp}
"
.
$orderby
;
verify
(
$sql
,
$ord
,
$res
);
for
my
$p3
(
@$a3
)
{
my
$res
=
[
$p1
->
{
res
},
$p2
->
{
res
},
$p3
->
{
res
}
];
$sql
=
"
select b, c, d from
$table
"
.
"
where
$p1
->{exp} and
$p2
->{exp} and
$p3
->{exp}
"
.
$orderby
;
verify
(
$sql
,
$ord
,
$res
);
}
}
}
}
warn
"
drop table
\n
";
$sql
=
"
drop table
$table
";
$dbh
->
do
(
$sql
)
or
die
$
DBI::
errstr
;
}
warn
"
verified
$casecnt
cases
\n
";
warn
"
done
\n
";
# vim: set sw=2:
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