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
9ae442c3
Commit
9ae442c3
authored
Aug 19, 2005
by
unknown
Browse files
Options
Browse Files
Download
Plain Diff
Merge joreland@bk-internal.mysql.com:/home/bk/mysql-5.0
into eel.(none):/home/jonas/src/mysql-5.0-push
parents
81a54a79
1568be58
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
49 additions
and
10 deletions
+49
-10
innobase/btr/btr0sea.c
innobase/btr/btr0sea.c
+7
-0
mysql-test/r/row.result
mysql-test/r/row.result
+7
-1
mysql-test/r/rpl_delete_all.result
mysql-test/r/rpl_delete_all.result
+1
-1
mysql-test/r/subselect.result
mysql-test/r/subselect.result
+2
-2
mysql-test/t/row.test
mysql-test/t/row.test
+6
-0
mysql-test/t/rpl_delete_all.test
mysql-test/t/rpl_delete_all.test
+1
-1
sql/item_cmpfunc.cc
sql/item_cmpfunc.cc
+22
-4
sql/item_cmpfunc.h
sql/item_cmpfunc.h
+3
-1
No files found.
innobase/btr/btr0sea.c
View file @
9ae442c3
...
...
@@ -964,6 +964,13 @@ btr_search_drop_page_hash_index(
heap
=
NULL
;
offsets
=
NULL
;
if
(
block
->
index
==
NULL
)
{
mem_analyze_corruption
((
byte
*
)
block
);
ut_a
(
block
->
index
!=
NULL
);
}
while
(
!
page_rec_is_supremum
(
rec
))
{
/* FIXME: in a mixed tree, not all records may have enough
ordering fields: */
...
...
mysql-test/r/row.result
View file @
9ae442c3
...
...
@@ -58,7 +58,7 @@ SELECT (1,2,3)=(1,NULL,3);
NULL
SELECT (1,2,3)=(1,NULL,0);
(1,2,3)=(1,NULL,0)
NULL
0
SELECT ROW(1,2,3)=ROW(1,2,3);
ROW(1,2,3)=ROW(1,2,3)
1
...
...
@@ -175,3 +175,9 @@ ROW(2,10) <=> ROW(3,4)
SELECT ROW(NULL,10) <=> ROW(3,NULL);
ROW(NULL,10) <=> ROW(3,NULL)
0
SELECT ROW(1,1,1) = ROW(1,1,1) as `1`, ROW(1,1,1) = ROW(1,2,1) as `0`, ROW(1,NULL,1) = ROW(2,2,1) as `0`, ROW(1,NULL,1) = ROW(1,2,2) as `0`, ROW(1,NULL,1) = ROW(1,2,1) as `null` ;
1 0 0 0 null
1 0 0 0 NULL
select row(NULL,1)=(2,0);
row(NULL,1)=(2,0)
0
mysql-test/r/rpl_delete_all.result
View file @
9ae442c3
...
...
@@ -9,7 +9,7 @@ drop database if exists mysqltest;
Warnings:
Note 1008 Can't drop database 'mysqltest'; database doesn't exist
show tables from mysqltest;
ERROR
HY000: Can't read dir of './mysqltest/' (Errcode: X)
ERROR
42000: Unknown database 'mysqltest'
create table t1 (a int);
drop table if exists t1;
Warnings:
...
...
mysql-test/r/subselect.result
View file @
9ae442c3
...
...
@@ -923,7 +923,7 @@ select a, (select a,b,c from t1 where t1.a=t2.a) = ROW(a,2,'a'),(select c from t
a (select a,b,c from t1 where t1.a=t2.a) = ROW(a,2,'a') (select c from t1 where a=t2.a)
1 1 a
2 0 b
NULL
NULL
NULL
NULL
0
NULL
select a, (select a,b,c from t1 where t1.a=t2.a) = ROW(a,3,'b'),(select c from t1 where a=t2.a) from t2;
a (select a,b,c from t1 where t1.a=t2.a) = ROW(a,3,'b') (select c from t1 where a=t2.a)
1 0 a
...
...
@@ -933,7 +933,7 @@ select a, (select a,b,c from t1 where t1.a=t2.a) = ROW(a,4,'c'),(select c from t
a (select a,b,c from t1 where t1.a=t2.a) = ROW(a,4,'c') (select c from t1 where a=t2.a)
1 0 a
2 0 b
NULL
NULL
NULL
NULL
0
NULL
drop table t1,t2;
create table t1 (a int, b real, c varchar(10));
insert into t1 values (1, 1, 'a'), (2,2,'b'), (NULL, 2, 'b');
...
...
mysql-test/t/row.test
View file @
9ae442c3
...
...
@@ -86,3 +86,9 @@ SELECT ROW(2,10) <=> ROW(3,4);
SELECT
ROW
(
NULL
,
10
)
<=>
ROW
(
3
,
NULL
);
# End of 4.1 tests
#
# Correct NULL handling in row comporison (BUG#12509)
#
SELECT
ROW
(
1
,
1
,
1
)
=
ROW
(
1
,
1
,
1
)
as
`1`
,
ROW
(
1
,
1
,
1
)
=
ROW
(
1
,
2
,
1
)
as
`0`
,
ROW
(
1
,
NULL
,
1
)
=
ROW
(
2
,
2
,
1
)
as
`0`
,
ROW
(
1
,
NULL
,
1
)
=
ROW
(
1
,
2
,
2
)
as
`0`
,
ROW
(
1
,
NULL
,
1
)
=
ROW
(
1
,
2
,
1
)
as
`null`
;
select
row
(
NULL
,
1
)
=
(
2
,
0
);
mysql-test/t/rpl_delete_all.test
View file @
9ae442c3
...
...
@@ -7,7 +7,7 @@ drop database if exists mysqltest;
sync_slave_with_master
;
# can't read dir
--
replace_result
"Errcode: 1"
"Errcode: X"
"Errcode: 2"
"Errcode: X"
\\
/
--
error
1
2
--
error
1
049
show
tables
from
mysqltest
;
connection
slave
;
...
...
sql/item_cmpfunc.cc
View file @
9ae442c3
...
...
@@ -614,17 +614,35 @@ int Arg_comparator::compare_e_int_diff_signedness()
int
Arg_comparator
::
compare_row
()
{
int
res
=
0
;
bool
was_null
=
0
;
(
*
a
)
->
bring_value
();
(
*
b
)
->
bring_value
();
uint
n
=
(
*
a
)
->
cols
();
for
(
uint
i
=
0
;
i
<
n
;
i
++
)
{
if
((
res
=
comparators
[
i
].
compare
()))
return
res
;
res
=
comparators
[
i
].
compare
();
if
(
owner
->
null_value
)
return
-
1
;
{
// NULL was compared
if
(
owner
->
abort_on_null
)
return
-
1
;
// We do not need correct NULL returning
was_null
=
1
;
owner
->
null_value
=
0
;
res
=
0
;
// continue comparison (maybe we will meet explicit difference)
}
if
(
res
)
return
res
;
}
return
res
;
if
(
was_null
)
{
/*
There was NULL(s) in comparison in some parts, but there was not
explicit difference in other parts, so we have to return NULL
*/
owner
->
null_value
=
1
;
return
-
1
;
}
return
0
;
}
int
Arg_comparator
::
compare_e_row
()
...
...
sql/item_cmpfunc.h
View file @
9ae442c3
...
...
@@ -193,10 +193,11 @@ class Item_bool_func2 :public Item_int_func
protected:
Arg_comparator
cmp
;
String
tmp_value1
,
tmp_value2
;
bool
abort_on_null
;
public:
Item_bool_func2
(
Item
*
a
,
Item
*
b
)
:
Item_int_func
(
a
,
b
),
cmp
(
tmp_arg
,
tmp_arg
+
1
)
{}
:
Item_int_func
(
a
,
b
),
cmp
(
tmp_arg
,
tmp_arg
+
1
)
,
abort_on_null
(
FALSE
)
{}
void
fix_length_and_dec
();
void
set_cmp_func
()
{
...
...
@@ -210,6 +211,7 @@ class Item_bool_func2 :public Item_int_func
bool
is_bool_func
()
{
return
1
;
}
CHARSET_INFO
*
compare_collation
()
{
return
cmp
.
cmp_collation
.
collation
;
}
uint
decimal_precision
()
const
{
return
1
;
}
void
top_level_item
()
{
abort_on_null
=
1
;
}
friend
class
Arg_comparator
;
};
...
...
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