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
43f98d24
Commit
43f98d24
authored
Jan 17, 2005
by
paul@kite-hub.kitebird.com
Browse files
Options
Browse Files
Download
Plain Diff
Merge paul@bk-internal.mysql.com:/home/bk/mysql-4.1
into kite-hub.kitebird.com:/src/extern/MySQL/bk/mysql-4.1
parents
3b9c5f3a
50e04743
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
112 additions
and
21 deletions
+112
-21
mysql-test/r/func_str.result
mysql-test/r/func_str.result
+1
-1
mysql-test/r/order_by.result
mysql-test/r/order_by.result
+38
-0
mysql-test/r/user_var.result
mysql-test/r/user_var.result
+2
-2
mysql-test/t/order_by.test
mysql-test/t/order_by.test
+34
-0
ndb/tools/restore/Restore.hpp
ndb/tools/restore/Restore.hpp
+19
-14
sql/item_strfunc.cc
sql/item_strfunc.cc
+1
-0
sql/sql_select.cc
sql/sql_select.cc
+17
-4
No files found.
mysql-test/r/func_str.result
View file @
43f98d24
...
@@ -463,7 +463,7 @@ collation(hex(130)) coercibility(hex(130))
...
@@ -463,7 +463,7 @@ collation(hex(130)) coercibility(hex(130))
latin1_swedish_ci 3
latin1_swedish_ci 3
select collation(char(130)), coercibility(hex(130));
select collation(char(130)), coercibility(hex(130));
collation(char(130)) coercibility(hex(130))
collation(char(130)) coercibility(hex(130))
binary
3
latin1_swedish_ci
3
select collation(format(130,10)), coercibility(format(130,10));
select collation(format(130,10)), coercibility(format(130,10));
collation(format(130,10)) coercibility(format(130,10))
collation(format(130,10)) coercibility(format(130,10))
latin1_swedish_ci 3
latin1_swedish_ci 3
...
...
mysql-test/r/order_by.result
View file @
43f98d24
...
@@ -733,3 +733,41 @@ xxxxxxxxxxxxxxxxxxxaa
...
@@ -733,3 +733,41 @@ xxxxxxxxxxxxxxxxxxxaa
xxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxz
xxxxxxxxxxxxxxxxxxxz
drop table t1;
drop table t1;
create table t1 (
`sid` decimal(8,0) default null,
`wnid` varchar(11) not null default '',
key `wnid14` (`wnid`(4)),
key `wnid` (`wnid`)
) engine=myisam default charset=latin1;
insert into t1 (`sid`, `wnid`) values
('10100','01019000000'),('37986','01019000000'),('37987','01019010000'),
('39560','01019090000'),('37989','01019000000'),('37990','01019011000'),
('37991','01019011000'),('37992','01019019000'),('37993','01019030000'),
('37994','01019090000'),('475','02070000000'),('25253','02071100000'),
('25255','02071100000'),('25256','02071110000'),('25258','02071130000'),
('25259','02071190000'),('25260','02071200000'),('25261','02071210000'),
('25262','02071290000'),('25263','02071300000'),('25264','02071310000'),
('25265','02071310000'),('25266','02071320000'),('25267','02071320000'),
('25269','02071330000'),('25270','02071340000'),('25271','02071350000'),
('25272','02071360000'),('25273','02071370000'),('25281','02071391000'),
('25282','02071391000'),('25283','02071399000'),('25284','02071400000'),
('25285','02071410000'),('25286','02071410000'),('25287','02071420000'),
('25288','02071420000'),('25291','02071430000'),('25290','02071440000'),
('25292','02071450000'),('25293','02071460000'),('25294','02071470000'),
('25295','02071491000'),('25296','02071491000'),('25297','02071499000');
explain select * from t1 where wnid like '0101%' order by wnid;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 range wnid14,wnid wnid 11 NULL 10 Using where
select * from t1 where wnid like '0101%' order by wnid;
sid wnid
10100 01019000000
37986 01019000000
37989 01019000000
37987 01019010000
37990 01019011000
37991 01019011000
37992 01019019000
37993 01019030000
39560 01019090000
37994 01019090000
drop table t1;
mysql-test/r/user_var.result
View file @
43f98d24
...
@@ -175,7 +175,7 @@ Log_name Pos Event_type Server_id Orig_log_pos Info
...
@@ -175,7 +175,7 @@ Log_name Pos Event_type Server_id Orig_log_pos Info
master-bin.000001 79 User var 1 79 @`a b`=_latin1 0x68656C6C6F COLLATE latin1_swedish_ci
master-bin.000001 79 User var 1 79 @`a b`=_latin1 0x68656C6C6F COLLATE latin1_swedish_ci
master-bin.000001 120 Query 1 120 use `test`; INSERT INTO t1 VALUES(@`a b`)
master-bin.000001 120 Query 1 120 use `test`; INSERT INTO t1 VALUES(@`a b`)
master-bin.000001 184 User var 1 184 @`var1`=_latin1 0x273B616161 COLLATE latin1_swedish_ci
master-bin.000001 184 User var 1 184 @`var1`=_latin1 0x273B616161 COLLATE latin1_swedish_ci
master-bin.000001 226 User var 1 226 @`var2`=_
binary 0x61 COLLATE binary
master-bin.000001 226 User var 1 226 @`var2`=_
latin1 0x61 COLLATE latin1_swedish_ci
master-bin.000001 264 Query 1 264 use `test`; insert into t1 values (@var1),(@var2)
master-bin.000001 264 Query 1 264 use `test`; insert into t1 values (@var1),(@var2)
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
SET @`a b`:=_latin1 0x68656C6C6F COLLATE `latin1_swedish_ci`;
SET @`a b`:=_latin1 0x68656C6C6F COLLATE `latin1_swedish_ci`;
...
@@ -183,7 +183,7 @@ use test;
...
@@ -183,7 +183,7 @@ use test;
SET TIMESTAMP=10000;
SET TIMESTAMP=10000;
INSERT INTO t1 VALUES(@`a b`);
INSERT INTO t1 VALUES(@`a b`);
SET @`var1`:=_latin1 0x273B616161 COLLATE `latin1_swedish_ci`;
SET @`var1`:=_latin1 0x273B616161 COLLATE `latin1_swedish_ci`;
SET @`var2`:=_
binary 0x61 COLLATE `binary
`;
SET @`var2`:=_
latin1 0x61 COLLATE `latin1_swedish_ci
`;
SET TIMESTAMP=10000;
SET TIMESTAMP=10000;
insert into t1 values (@var1),(@var2);
insert into t1 values (@var1),(@var2);
drop table t1;
drop table t1;
...
...
mysql-test/t/order_by.test
View file @
43f98d24
...
@@ -500,3 +500,37 @@ insert into t1 set a = concat(repeat('x', 19), 'aa');
...
@@ -500,3 +500,37 @@ insert into t1 set a = concat(repeat('x', 19), 'aa');
set
max_sort_length
=
20
;
set
max_sort_length
=
20
;
select
a
from
t1
order
by
a
;
select
a
from
t1
order
by
a
;
drop
table
t1
;
drop
table
t1
;
#
# Bug #7331
#
create
table
t1
(
`sid`
decimal
(
8
,
0
)
default
null
,
`wnid`
varchar
(
11
)
not
null
default
''
,
key
`wnid14`
(
`wnid`
(
4
)),
key
`wnid`
(
`wnid`
)
)
engine
=
myisam
default
charset
=
latin1
;
insert
into
t1
(
`sid`
,
`wnid`
)
values
(
'10100'
,
'01019000000'
),(
'37986'
,
'01019000000'
),(
'37987'
,
'01019010000'
),
(
'39560'
,
'01019090000'
),(
'37989'
,
'01019000000'
),(
'37990'
,
'01019011000'
),
(
'37991'
,
'01019011000'
),(
'37992'
,
'01019019000'
),(
'37993'
,
'01019030000'
),
(
'37994'
,
'01019090000'
),(
'475'
,
'02070000000'
),(
'25253'
,
'02071100000'
),
(
'25255'
,
'02071100000'
),(
'25256'
,
'02071110000'
),(
'25258'
,
'02071130000'
),
(
'25259'
,
'02071190000'
),(
'25260'
,
'02071200000'
),(
'25261'
,
'02071210000'
),
(
'25262'
,
'02071290000'
),(
'25263'
,
'02071300000'
),(
'25264'
,
'02071310000'
),
(
'25265'
,
'02071310000'
),(
'25266'
,
'02071320000'
),(
'25267'
,
'02071320000'
),
(
'25269'
,
'02071330000'
),(
'25270'
,
'02071340000'
),(
'25271'
,
'02071350000'
),
(
'25272'
,
'02071360000'
),(
'25273'
,
'02071370000'
),(
'25281'
,
'02071391000'
),
(
'25282'
,
'02071391000'
),(
'25283'
,
'02071399000'
),(
'25284'
,
'02071400000'
),
(
'25285'
,
'02071410000'
),(
'25286'
,
'02071410000'
),(
'25287'
,
'02071420000'
),
(
'25288'
,
'02071420000'
),(
'25291'
,
'02071430000'
),(
'25290'
,
'02071440000'
),
(
'25292'
,
'02071450000'
),(
'25293'
,
'02071460000'
),(
'25294'
,
'02071470000'
),
(
'25295'
,
'02071491000'
),(
'25296'
,
'02071491000'
),(
'25297'
,
'02071499000'
);
explain
select
*
from
t1
where
wnid
like
'0101%'
order
by
wnid
;
select
*
from
t1
where
wnid
like
'0101%'
order
by
wnid
;
drop
table
t1
;
ndb/tools/restore/Restore.hpp
View file @
43f98d24
...
@@ -187,28 +187,33 @@ public:
...
@@ -187,28 +187,33 @@ public:
};
};
void
update_max_auto_val
(
const
char
*
data
,
int
size
)
{
void
update_max_auto_val
(
const
char
*
data
,
int
size
)
{
Uint64
val
=
0
;
union
{
Uint8
u8
;
Uint16
u16
;
Uint32
u32
;
}
val
;
Uint64
v
;
switch
(
size
){
switch
(
size
){
case
8
:
case
64
:
val
=
*
(
Uint8
*
)
data
;
memcpy
(
&
v
,
data
,
8
);
break
;
case
16
:
val
=
*
(
Uint16
*
)
data
;
break
;
case
24
:
val
=
(
0xffffff
)
&*
(
Uint32
*
)
data
;
break
;
break
;
case
32
:
case
32
:
val
=
*
(
Uint32
*
)
data
;
memcpy
(
&
val
.
u32
,
data
,
4
);
v
=
val
.
u32
;
break
;
break
;
case
64
:
case
16
:
val
=
*
(
Uint64
*
)
data
;
memcpy
(
&
val
.
u16
,
data
,
2
);
v
=
val
.
u16
;
break
;
case
8
:
memcpy
(
&
val
.
u8
,
data
,
1
);
v
=
val
.
u8
;
break
;
break
;
default:
default:
return
;
return
;
};
};
if
(
v
al
>
m_max_auto_val
)
if
(
v
>
m_max_auto_val
)
m_max_auto_val
=
v
al
;
m_max_auto_val
=
v
;
};
};
/**
/**
* Get attribute descriptor
* Get attribute descriptor
...
...
sql/item_strfunc.cc
View file @
43f98d24
...
@@ -1888,6 +1888,7 @@ b1: str->append((char)(num>>8));
...
@@ -1888,6 +1888,7 @@ b1: str->append((char)(num>>8));
#endif
#endif
str
->
append
((
char
)
num
);
str
->
append
((
char
)
num
);
}
}
str
->
set_charset
(
collation
.
collation
);
str
->
realloc
(
str
->
length
());
// Add end 0 (for Purify)
str
->
realloc
(
str
->
length
());
// Add end 0 (for Purify)
return
str
;
return
str
;
}
}
...
...
sql/sql_select.cc
View file @
43f98d24
...
@@ -7153,11 +7153,24 @@ test_if_skip_sort_order(JOIN_TAB *tab,ORDER *order,ha_rows select_limit,
...
@@ -7153,11 +7153,24 @@ test_if_skip_sort_order(JOIN_TAB *tab,ORDER *order,ha_rows select_limit,
}
}
else
else
{
{
select
->
quick
->
file
->
ha_index_end
();
/*
select
->
quick
->
index
=
new_ref_key
;
The range optimizer constructed QUICK_RANGE for ref_key, and
select
->
quick
->
init
();
we want to use instead new_ref_key as the index. We can't
just change the index of the quick select, because this may
result in an incosistent QUICK_SELECT object. Below we
create a new QUICK_SELECT from scratch so that all its
parameres are set correctly by the range optimizer.
*/
key_map
new_ref_key_map
;
new_ref_key_map
.
clear_all
();
/* Force the creation of quick select */
new_ref_key_map
.
set_bit
(
new_ref_key
);
/* only for new_ref_key. */
if
(
select
->
test_quick_select
(
tab
->
join
->
thd
,
new_ref_key_map
,
0
,
(
tab
->
join
->
select_options
&
OPTION_FOUND_ROWS
)
?
HA_POS_ERROR
:
tab
->
join
->
unit
->
select_limit_cnt
)
<=
0
)
DBUG_RETURN
(
0
);
}
}
ref_key
=
new_ref_key
;
ref_key
=
new_ref_key
;
}
}
}
}
/* Check if we get the rows in requested sorted order by using the key */
/* Check if we get the rows in requested sorted order by using the key */
...
...
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