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
10b96ec4
Commit
10b96ec4
authored
Feb 17, 2006
by
jimw@mysql.com
Browse files
Options
Browse Files
Download
Plain Diff
Merge mysql.com:/home/jimw/my/mysql-5.1-17169
into mysql.com:/home/jimw/my/mysql-5.1-clean
parents
b2a13dd7
d30dbf6e
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
19 additions
and
14 deletions
+19
-14
mysql-test/r/partition.result
mysql-test/r/partition.result
+3
-0
mysql-test/t/partition.test
mysql-test/t/partition.test
+7
-0
sql/sql_table.cc
sql/sql_table.cc
+9
-14
No files found.
mysql-test/r/partition.result
View file @
10b96ec4
...
@@ -312,4 +312,7 @@ partition by hash(f_int1) partitions 2;
...
@@ -312,4 +312,7 @@ partition by hash(f_int1) partitions 2;
insert into t1 values (1,1),(2,2);
insert into t1 values (1,1),(2,2);
replace into t1 values (1,1),(2,2);
replace into t1 values (1,1),(2,2);
drop table t1;
drop table t1;
create table t1 (s1 int, unique (s1)) partition by list (s1) (partition x1 VALUES in (10), partition x2 values in (20));
alter table t1 add partition (partition x3 values in (30));
drop table t1;
End of 5.1 tests
End of 5.1 tests
mysql-test/t/partition.test
View file @
10b96ec4
...
@@ -401,4 +401,11 @@ insert into t1 values (1,1),(2,2);
...
@@ -401,4 +401,11 @@ insert into t1 values (1,1),(2,2);
replace
into
t1
values
(
1
,
1
),(
2
,
2
);
replace
into
t1
values
(
1
,
1
),(
2
,
2
);
drop
table
t1
;
drop
table
t1
;
#
# Bug #17169: Partitions: out of memory if add partition and unique
#
create
table
t1
(
s1
int
,
unique
(
s1
))
partition
by
list
(
s1
)
(
partition
x1
VALUES
in
(
10
),
partition
x2
values
in
(
20
));
alter
table
t1
add
partition
(
partition
x3
values
in
(
30
));
drop
table
t1
;
--
echo
End
of
5.1
tests
--
echo
End
of
5.1
tests
sql/sql_table.cc
View file @
10b96ec4
...
@@ -50,11 +50,6 @@ static int mysql_prepare_table(THD *thd, HA_CREATE_INFO *create_info,
...
@@ -50,11 +50,6 @@ static int mysql_prepare_table(THD *thd, HA_CREATE_INFO *create_info,
handler
*
file
,
KEY
**
key_info_buffer
,
handler
*
file
,
KEY
**
key_info_buffer
,
uint
*
key_count
,
int
select_field_count
);
uint
*
key_count
,
int
select_field_count
);
static
int
mysql_copy_create_lists
(
List
<
create_field
>
*
orig_create_list
,
List
<
Key
>
*
orig_key
,
List
<
create_field
>
*
new_create_list
,
List
<
Key
>
*
new_key
);
#define MYSQL50_TABLE_NAME_PREFIX "#mysql50#"
#define MYSQL50_TABLE_NAME_PREFIX "#mysql50#"
#define MYSQL50_TABLE_NAME_PREFIX_LENGTH 9
#define MYSQL50_TABLE_NAME_PREFIX_LENGTH 9
...
@@ -164,8 +159,7 @@ uint build_tmptable_filename(THD* thd, char *buff, size_t bufflen)
...
@@ -164,8 +159,7 @@ uint build_tmptable_filename(THD* thd, char *buff, size_t bufflen)
*/
*/
static
int
mysql_copy_create_list
(
List
<
create_field
>
*
orig_create_list
,
static
int
mysql_copy_create_list
(
List
<
create_field
>
*
orig_create_list
,
List
<
create_field
>
*
new_create_list
)
List
<
create_field
>
*
new_create_list
)
{
{
List_iterator
<
create_field
>
prep_field_it
(
*
orig_create_list
);
List_iterator
<
create_field
>
prep_field_it
(
*
orig_create_list
);
create_field
*
prep_field
;
create_field
*
prep_field
;
...
@@ -205,7 +199,7 @@ static int mysql_copy_key_list(List<Key> *orig_key,
...
@@ -205,7 +199,7 @@ static int mysql_copy_key_list(List<Key> *orig_key,
{
{
List_iterator
<
Key
>
prep_key_it
(
*
orig_key
);
List_iterator
<
Key
>
prep_key_it
(
*
orig_key
);
Key
*
prep_key
;
Key
*
prep_key
;
DBUG_ENTER
(
"mysql_copy_
create_lists
"
);
DBUG_ENTER
(
"mysql_copy_
key_list
"
);
while
((
prep_key
=
prep_key_it
++
))
while
((
prep_key
=
prep_key_it
++
))
{
{
...
@@ -217,7 +211,8 @@ static int mysql_copy_key_list(List<Key> *orig_key,
...
@@ -217,7 +211,8 @@ static int mysql_copy_key_list(List<Key> *orig_key,
while
((
prep_col
=
prep_col_it
++
))
while
((
prep_col
=
prep_col_it
++
))
{
{
key_part_spec
*
prep_key_part
;
key_part_spec
*
prep_key_part
;
if
(
prep_key_part
=
new
key_part_spec
(
*
prep_col
))
if
(
!
(
prep_key_part
=
new
key_part_spec
(
*
prep_col
)))
{
{
mem_alloc_error
(
sizeof
(
key_part_spec
));
mem_alloc_error
(
sizeof
(
key_part_spec
));
DBUG_RETURN
(
TRUE
);
DBUG_RETURN
(
TRUE
);
...
@@ -228,11 +223,11 @@ static int mysql_copy_key_list(List<Key> *orig_key,
...
@@ -228,11 +223,11 @@ static int mysql_copy_key_list(List<Key> *orig_key,
DBUG_RETURN
(
TRUE
);
DBUG_RETURN
(
TRUE
);
}
}
}
}
if
((
temp_key
=
new
Key
(
prep_key
->
type
,
prep_key
->
name
,
if
(
!
(
temp_key
=
new
Key
(
prep_key
->
type
,
prep_key
->
name
,
prep_key
->
algorithm
,
prep_key
->
algorithm
,
prep_key
->
generated
,
prep_key
->
generated
,
prep_columns
,
prep_columns
,
prep_key
->
parser_name
)))
prep_key
->
parser_name
)))
{
{
mem_alloc_error
(
sizeof
(
Key
));
mem_alloc_error
(
sizeof
(
Key
));
DBUG_RETURN
(
TRUE
);
DBUG_RETURN
(
TRUE
);
...
...
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