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
34df99ab
Commit
34df99ab
authored
Jun 01, 2005
by
serg@serg.mylan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
more than 64 indexes per table. bugfixes. bug#10995
parent
f72841b4
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
22 additions
and
18 deletions
+22
-18
sql/sql_bitmap.h
sql/sql_bitmap.h
+11
-12
sql/sql_select.cc
sql/sql_select.cc
+1
-0
tests/mysql_client_test.c
tests/mysql_client_test.c
+10
-6
No files found.
sql/sql_bitmap.h
View file @
34df99ab
...
@@ -28,7 +28,7 @@ template <uint default_width> class Bitmap
...
@@ -28,7 +28,7 @@ template <uint default_width> class Bitmap
uchar
buffer
[(
default_width
+
7
)
/
8
];
uchar
buffer
[(
default_width
+
7
)
/
8
];
public:
public:
Bitmap
()
{
init
();
}
Bitmap
()
{
init
();
}
Bitmap
(
Bitmap
&
from
)
{
*
this
=
from
;
}
Bitmap
(
const
Bitmap
&
from
)
{
*
this
=
from
;
}
explicit
Bitmap
(
uint
prefix_to_set
)
{
init
(
prefix_to_set
);
}
explicit
Bitmap
(
uint
prefix_to_set
)
{
init
(
prefix_to_set
);
}
void
init
()
{
bitmap_init
(
&
map
,
buffer
,
default_width
,
0
);
}
void
init
()
{
bitmap_init
(
&
map
,
buffer
,
default_width
,
0
);
}
void
init
(
uint
prefix_to_set
)
{
init
();
set_prefix
(
prefix_to_set
);
}
void
init
(
uint
prefix_to_set
)
{
init
();
set_prefix
(
prefix_to_set
);
}
...
@@ -61,18 +61,17 @@ template <uint default_width> class Bitmap
...
@@ -61,18 +61,17 @@ template <uint default_width> class Bitmap
my_bool
operator
==
(
const
Bitmap
&
map2
)
const
{
return
bitmap_cmp
(
&
map
,
&
map2
.
map
);
}
my_bool
operator
==
(
const
Bitmap
&
map2
)
const
{
return
bitmap_cmp
(
&
map
,
&
map2
.
map
);
}
char
*
print
(
char
*
buf
)
const
char
*
print
(
char
*
buf
)
const
{
{
char
*
s
=
buf
;
int
i
;
char
*
s
=
buf
;
for
(
i
=
sizeof
(
buffer
)
-
1
;
i
>=
0
;
i
--
)
const
uchar
*
e
=
buffer
,
*
b
=
e
+
sizeof
(
buffer
)
-
1
;
while
(
!*
b
&&
b
>
e
)
b
--
;
if
((
*
s
=
_dig_vec_upper
[
*
b
>>
4
])
!=
'0'
)
s
++
;
*
s
++=
_dig_vec_upper
[
*
b
&
15
];
while
(
--
b
>=
e
)
{
{
if
((
*
s
=
_dig_vec_upper
[
buffer
[
i
]
>>
4
])
!=
'0'
)
*
s
++=
_dig_vec_upper
[
*
b
>>
4
];
break
;
*
s
++=
_dig_vec_upper
[
*
b
&
15
];
if
((
*
s
=
_dig_vec_upper
[
buffer
[
i
]
&
15
])
!=
'0'
)
break
;
}
for
(
s
++
,
i
--
;
i
>=
0
;
i
--
)
{
*
s
++=
_dig_vec_upper
[
buffer
[
i
]
>>
4
];
*
s
++=
_dig_vec_upper
[
buffer
[
i
]
&
15
];
}
}
*
s
=
0
;
*
s
=
0
;
return
buf
;
return
buf
;
...
...
sql/sql_select.cc
View file @
34df99ab
...
@@ -5792,6 +5792,7 @@ make_join_readinfo(JOIN *join, uint options)
...
@@ -5792,6 +5792,7 @@ make_join_readinfo(JOIN *join, uint options)
if
(
!
table
->
no_keyread
)
if
(
!
table
->
no_keyread
)
{
{
if
(
tab
->
select
&&
tab
->
select
->
quick
&&
if
(
tab
->
select
&&
tab
->
select
->
quick
&&
tab
->
select
->
quick
->
index
!=
MAX_KEY
&&
//not index_merge
table
->
used_keys
.
is_set
(
tab
->
select
->
quick
->
index
))
table
->
used_keys
.
is_set
(
tab
->
select
->
quick
->
index
))
{
{
table
->
key_read
=
1
;
table
->
key_read
=
1
;
...
...
tests/mysql_client_test.c
View file @
34df99ab
...
@@ -7455,12 +7455,16 @@ static void test_explain_bug()
...
@@ -7455,12 +7455,16 @@ static void test_explain_bug()
verify_prepare_field
(
result
,
5
,
"key"
,
""
,
MYSQL_TYPE_VAR_STRING
,
verify_prepare_field
(
result
,
5
,
"key"
,
""
,
MYSQL_TYPE_VAR_STRING
,
""
,
""
,
""
,
NAME_LEN
,
0
);
""
,
""
,
""
,
NAME_LEN
,
0
);
verify_prepare_field
(
result
,
6
,
"key_len"
,
""
,
if
(
mysql_get_server_version
(
mysql
)
<=
50000
)
(
mysql_get_server_version
(
mysql
)
<=
50000
?
{
MYSQL_TYPE_LONGLONG
:
MYSQL_TYPE_VAR_STRING
),
verify_prepare_field
(
result
,
6
,
"key_len"
,
""
,
MYSQL_TYPE_LONGLONG
,
""
,
""
,
""
,
""
,
""
,
""
,
3
,
0
);
(
mysql_get_server_version
(
mysql
)
<=
50000
?
3
:
4096
),
}
0
);
else
{
verify_prepare_field
(
result
,
6
,
"key_len"
,
""
,
MYSQL_TYPE_VAR_STRING
,
""
,
""
,
""
,
NAME_LEN
*
MAX_KEY
,
0
);
}
verify_prepare_field
(
result
,
7
,
"ref"
,
""
,
MYSQL_TYPE_VAR_STRING
,
verify_prepare_field
(
result
,
7
,
"ref"
,
""
,
MYSQL_TYPE_VAR_STRING
,
""
,
""
,
""
,
NAME_LEN
*
16
,
0
);
""
,
""
,
""
,
NAME_LEN
*
16
,
0
);
...
...
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