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
419d82f8
Commit
419d82f8
authored
Nov 22, 2005
by
serg@serg.mylan
Browse files
Options
Browse Files
Download
Plain Diff
Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into serg.mylan:/usr/home/serg/Abk/mysql-5.0
parents
511fbac4
39cc20a2
Changes
5
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
353 additions
and
114 deletions
+353
-114
mysql-test/r/csv.result
mysql-test/r/csv.result
+24
-0
mysql-test/t/csv.test
mysql-test/t/csv.test
+32
-0
sql/examples/ha_tina.cc
sql/examples/ha_tina.cc
+12
-3
sql/examples/ha_tina.h
sql/examples/ha_tina.h
+1
-0
sql/share/errmsg.txt
sql/share/errmsg.txt
+284
-111
No files found.
mysql-test/r/csv.result
View file @
419d82f8
...
...
@@ -4976,3 +4976,27 @@ c1
4
5
DROP TABLE bug14672;
create table t1 (a int) engine=csv;
insert t1 values (1);
delete from t1;
affected rows: 1
delete from t1;
affected rows: 0
insert t1 values (1),(2);
delete from t1;
affected rows: 2
insert t1 values (1),(2),(3);
flush tables;
delete from t1;
affected rows: 3
insert t1 values (1),(2),(3),(4);
flush tables;
select count(*) from t1;
count(*)
4
delete from t1;
affected rows: 4
insert t1 values (1),(2),(3),(4),(5);
truncate table t1;
affected rows: 0
drop table t1;
mysql-test/t/csv.test
View file @
419d82f8
...
...
@@ -1352,3 +1352,35 @@ SELECT * FROM bug14672;
DROP
TABLE
bug14672
;
# End of 4.1 tests
#
# BUG#13406 - incorrect amount of "records deleted"
#
create
table
t1
(
a
int
)
engine
=
csv
;
insert
t1
values
(
1
);
--
enable_info
delete
from
t1
;
--
delete_row
delete
from
t1
;
--
delete_all_rows
--
disable_info
insert
t1
values
(
1
),(
2
);
--
enable_info
delete
from
t1
;
--
delete_all_rows
--
disable_info
insert
t1
values
(
1
),(
2
),(
3
);
flush
tables
;
--
enable_info
delete
from
t1
;
--
delete_row
--
disable_info
insert
t1
values
(
1
),(
2
),(
3
),(
4
);
flush
tables
;
select
count
(
*
)
from
t1
;
--
enable_info
delete
from
t1
;
--
delete_all_rows
--
disable_info
insert
t1
values
(
1
),(
2
),(
3
),(
4
),(
5
);
--
enable_info
truncate
table
t1
;
--
truncate
--
disable_info
drop
table
t1
;
sql/examples/ha_tina.cc
View file @
419d82f8
...
...
@@ -274,7 +274,8 @@ ha_tina::ha_tina(TABLE *table_arg)
These definitions are found in hanler.h
These are not probably completely right.
*/
current_position
(
0
),
next_position
(
0
),
chain_alloced
(
0
),
chain_size
(
DEFAULT_CHAIN_LENGTH
)
current_position
(
0
),
next_position
(
0
),
chain_alloced
(
0
),
chain_size
(
DEFAULT_CHAIN_LENGTH
),
records_is_known
(
0
)
{
/* Set our original buffers from pre-allocated memory */
buffer
.
set
(
byte_buffer
,
IO_SIZE
,
system_charset_info
);
...
...
@@ -504,6 +505,7 @@ int ha_tina::write_row(byte * buf)
*/
if
(
get_mmap
(
share
,
0
)
>
0
)
DBUG_RETURN
(
-
1
);
records
++
;
DBUG_RETURN
(
0
);
}
...
...
@@ -668,6 +670,7 @@ int ha_tina::rnd_init(bool scan)
current_position
=
next_position
=
0
;
records
=
0
;
records_is_known
=
0
;
chain_ptr
=
chain
;
#ifdef HAVE_MADVISE
if
(
scan
)
...
...
@@ -745,7 +748,7 @@ void ha_tina::info(uint flag)
{
DBUG_ENTER
(
"ha_tina::info"
);
/* This is a lie, but you don't want the optimizer to see zero or 1 */
if
(
records
<
2
)
if
(
!
records_is_known
&&
records
<
2
)
records
=
2
;
DBUG_VOID_RETURN
;
}
...
...
@@ -780,6 +783,8 @@ int ha_tina::rnd_end()
{
DBUG_ENTER
(
"ha_tina::rnd_end"
);
records_is_known
=
1
;
/* First position will be truncate position, second will be increment */
if
((
chain_ptr
-
chain
)
>
0
)
{
...
...
@@ -824,17 +829,21 @@ int ha_tina::rnd_end()
}
/*
Truncate table and others of its ilk call this.
DELETE without WHERE calls it
*/
int
ha_tina
::
delete_all_rows
()
{
DBUG_ENTER
(
"ha_tina::delete_all_rows"
);
if
(
!
records_is_known
)
return
(
my_errno
=
HA_ERR_WRONG_COMMAND
);
int
rc
=
my_chsize
(
share
->
data_file
,
0
,
0
,
MYF
(
MY_WME
));
if
(
get_mmap
(
share
,
0
)
>
0
)
DBUG_RETURN
(
-
1
);
records
=
0
;
DBUG_RETURN
(
rc
);
}
...
...
sql/examples/ha_tina.h
View file @
419d82f8
...
...
@@ -48,6 +48,7 @@ class ha_tina: public handler
tina_set
*
chain_ptr
;
byte
chain_alloced
;
uint32
chain_size
;
bool
records_is_known
;
public:
ha_tina
(
TABLE
*
table_arg
);
...
...
sql/share/errmsg.txt
View file @
419d82f8
This diff is collapsed.
Click to expand it.
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