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
61140f04
Commit
61140f04
authored
Mar 01, 2007
by
msvensson@pilot.blaudden
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Bug#25262 Auto Increment lost when changing Engine type
- Try to copy the autoincrement value when altering the table
parent
0ee93fdb
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
131 additions
and
0 deletions
+131
-0
mysql-test/r/alter_table.result
mysql-test/r/alter_table.result
+24
-0
mysql-test/r/bdb_notembedded.result
mysql-test/r/bdb_notembedded.result
+35
-0
mysql-test/t/alter_table.test
mysql-test/t/alter_table.test
+28
-0
mysql-test/t/bdb_notembedded.test
mysql-test/t/bdb_notembedded.test
+38
-0
sql/sql_table.cc
sql/sql_table.cc
+6
-0
No files found.
mysql-test/r/alter_table.result
View file @
61140f04
...
@@ -826,3 +826,27 @@ create table t1 (t varchar(255) default null, key t (t(80)))
...
@@ -826,3 +826,27 @@ create table t1 (t varchar(255) default null, key t (t(80)))
engine=myisam default charset=latin1;
engine=myisam default charset=latin1;
alter table t1 change t t text;
alter table t1 change t t text;
drop table t1;
drop table t1;
create table t1(id int(8) primary key auto_increment) engine=heap;
insert into t1 values (null);
insert into t1 values (null);
select * from t1;
id
1
2
alter table t1 auto_increment = 50;
alter table t1 engine = myisam;
insert into t1 values (null);
select * from t1;
id
1
2
50
alter table t1 engine = heap;
insert into t1 values (null);
select * from t1;
id
1
2
50
51
drop table t1;
mysql-test/r/bdb_notembedded.result
0 → 100644
View file @
61140f04
set autocommit=1;
reset master;
create table bug16206 (a int);
insert into bug16206 values(1);
start transaction;
insert into bug16206 values(2);
commit;
show binlog events;
Log_name Pos Event_type Server_id End_log_pos Info
f n Format_desc 1 n Server ver: VERSION, Binlog ver: 4
f n Query 1 n use `test`; create table bug16206 (a int)
f n Query 1 n use `test`; insert into bug16206 values(1)
f n Query 1 n use `test`; insert into bug16206 values(2)
drop table bug16206;
reset master;
create table bug16206 (a int) engine= bdb;
insert into bug16206 values(0);
insert into bug16206 values(1);
start transaction;
insert into bug16206 values(2);
commit;
insert into bug16206 values(3);
show binlog events;
Log_name Pos Event_type Server_id End_log_pos Info
f n Format_desc 1 n Server ver: VERSION, Binlog ver: 4
f n Query 1 n use `test`; create table bug16206 (a int) engine= bdb
f n Query 1 n use `test`; insert into bug16206 values(0)
f n Query 1 n use `test`; insert into bug16206 values(1)
f n Query 1 n use `test`; BEGIN
f n Query 1 n use `test`; insert into bug16206 values(2)
f n Query 1 n use `test`; COMMIT
f n Query 1 n use `test`; insert into bug16206 values(3)
drop table bug16206;
set autocommit=0;
End of 5.0 tests
mysql-test/t/alter_table.test
View file @
61140f04
...
@@ -613,3 +613,31 @@ create table t1 (t varchar(255) default null, key t (t(80)))
...
@@ -613,3 +613,31 @@ create table t1 (t varchar(255) default null, key t (t(80)))
engine
=
myisam
default
charset
=
latin1
;
engine
=
myisam
default
charset
=
latin1
;
alter
table
t1
change
t
t
text
;
alter
table
t1
change
t
t
text
;
drop
table
t1
;
drop
table
t1
;
#
# Bug#25262 Auto Increment lost when changing Engine type
#
create
table
t1
(
id
int
(
8
)
primary
key
auto_increment
)
engine
=
heap
;
insert
into
t1
values
(
null
);
insert
into
t1
values
(
null
);
select
*
from
t1
;
# Set auto increment to 50
alter
table
t1
auto_increment
=
50
;
# Alter to myisam
alter
table
t1
engine
=
myisam
;
# This insert should get id 50
insert
into
t1
values
(
null
);
select
*
from
t1
;
# Alter to heap again
alter
table
t1
engine
=
heap
;
insert
into
t1
values
(
null
);
select
*
from
t1
;
drop
table
t1
;
mysql-test/t/bdb_notembedded.test
0 → 100644
View file @
61140f04
--
source
include
/
not_embedded
.
inc
--
source
include
/
have_bdb
.
inc
#
# Bug #16206: Superfluous COMMIT event in binlog when updating BDB in autocommit mode
#
set
autocommit
=
1
;
let
$VERSION
=
`select version()`
;
reset
master
;
create
table
bug16206
(
a
int
);
insert
into
bug16206
values
(
1
);
start
transaction
;
insert
into
bug16206
values
(
2
);
commit
;
--
replace_result
$VERSION
VERSION
--
replace_column
1
f
2
n
5
n
show
binlog
events
;
drop
table
bug16206
;
reset
master
;
create
table
bug16206
(
a
int
)
engine
=
bdb
;
insert
into
bug16206
values
(
0
);
insert
into
bug16206
values
(
1
);
start
transaction
;
insert
into
bug16206
values
(
2
);
commit
;
insert
into
bug16206
values
(
3
);
--
replace_result
$VERSION
VERSION
--
replace_column
1
f
2
n
5
n
show
binlog
events
;
drop
table
bug16206
;
set
autocommit
=
0
;
--
echo
End
of
5.0
tests
sql/sql_table.cc
View file @
61140f04
...
@@ -3274,6 +3274,12 @@ view_err:
...
@@ -3274,6 +3274,12 @@ view_err:
create_info
->
avg_row_length
=
table
->
s
->
avg_row_length
;
create_info
->
avg_row_length
=
table
->
s
->
avg_row_length
;
if
(
!
(
used_fields
&
HA_CREATE_USED_DEFAULT_CHARSET
))
if
(
!
(
used_fields
&
HA_CREATE_USED_DEFAULT_CHARSET
))
create_info
->
default_table_charset
=
table
->
s
->
table_charset
;
create_info
->
default_table_charset
=
table
->
s
->
table_charset
;
if
(
!
(
used_fields
&
HA_CREATE_USED_AUTO
)
&&
table
->
found_next_number_field
)
{
/* Table has an autoincrement, copy value to new table */
table
->
file
->
info
(
HA_STATUS_AUTO
);
create_info
->
auto_increment_value
=
table
->
file
->
auto_increment_value
;
}
restore_record
(
table
,
s
->
default_values
);
// Empty record for DEFAULT
restore_record
(
table
,
s
->
default_values
);
// Empty record for DEFAULT
List_iterator
<
Alter_drop
>
drop_it
(
alter_info
->
drop_list
);
List_iterator
<
Alter_drop
>
drop_it
(
alter_info
->
drop_list
);
...
...
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