Commit b0829011 authored by unknown's avatar unknown
Browse files

Fix Bug#14672 Bug in deletion


mysql-test/r/csv.result:
  correct result file
mysql-test/t/csv.test:
  Add test for a bug
sql/examples/ha_tina.cc:
  Add O_APPEND flag to my_open. We should always add rows to the end of file
parent 1b65c704
Loading
Loading
Loading
Loading
+27 −0
Original line number Diff line number Diff line
@@ -4949,3 +4949,30 @@ val
6
6
DROP TABLE bug13894;
DROP TABLE IF EXISTS bug14672;
CREATE TABLE bug14672 (c1 integer) engine = CSV;
INSERT INTO bug14672 VALUES (1), (2), (3);
SELECT * FROM bug14672;
c1
1
2
3
DELETE FROM bug14672 WHERE c1 = 2;
SELECT * FROM bug14672;
c1
1
3
INSERT INTO bug14672 VALUES (4);
SELECT * FROM bug14672;
c1
1
3
4
INSERT INTO bug14672 VALUES (5);
SELECT * FROM bug14672;
c1
1
3
4
5
DROP TABLE bug14672;
+19 −0
Original line number Diff line number Diff line
@@ -1332,4 +1332,23 @@ UPDATE bug13894 SET val=6 WHERE val=10;
SELECT * FROM bug13894;
DROP TABLE bug13894;

#
# Bug #14672    Bug in deletion
#

--disable_warnings
DROP TABLE IF EXISTS bug14672;
--enable_warnings

CREATE TABLE bug14672 (c1 integer) engine = CSV;   
INSERT INTO bug14672 VALUES (1), (2), (3);
SELECT * FROM bug14672;  
DELETE FROM bug14672 WHERE c1 = 2;   
SELECT * FROM bug14672;  
INSERT INTO bug14672 VALUES (4);   
SELECT * FROM bug14672;  
INSERT INTO bug14672 VALUES (5);   
SELECT * FROM bug14672;  
DROP TABLE bug14672;

# End of 4.1 tests
+2 −1
Original line number Diff line number Diff line
@@ -166,7 +166,8 @@ static TINA_SHARE *get_share(const char *table_name, TABLE *table)
    thr_lock_init(&share->lock);
    pthread_mutex_init(&share->mutex,MY_MUTEX_INIT_FAST);

    if ((share->data_file= my_open(data_file_name, O_RDWR, MYF(0))) == -1)
    if ((share->data_file= my_open(data_file_name, O_RDWR|O_APPEND,
                                   MYF(0))) == -1)
      goto error2;

    /* We only use share->data_file for writing, so we scan to the end to append */