Changes per serg to http://lists.mysql.com/internals/30281

Re-enabled --delayed-insert


client/mysqldump.c:
  BUG #7815 
  
  Changes per serg on patch: http://lists.mysql.com/internals/30281
  
  1. Re-enabled --delayed-insert
       - modified options, removed code that was in place until bug was 
         fixed    
  2. Moved the call to get_table_structure to dump_table 
    - Use added 'ignore_flag' variable to determine what exactly is
      being ignored - whole table or just delayed insert ability
  3. Changed return type of ignore_table to char with byte value that
     determines what exactly is being ignored - the whole table, or
     delayed inserts
  4. Added ignore_table flags IGNORE_DATA and IGNORE_INSERT_DELAYED
  5. Added logic in get_table_structure to not append INSERT data text
     if the table's data isn't going to be dumped because the return
     value from ignore_table is IGNORE_DATA
  6. Changed the name of numFields to numfields. Studly caps aren't
     consistent with the rest of the code!
  7. Added inclusive list to check_if_ignore_table to set the flag to
     IGNORE_INSERT_DELAYED if the table type doesn't support delayed
     inserts.
  8. More documentation
mysql-test/r/mysqldump.result:
  BUG #7815 new results
mysql-test/r/mysqldump-max.result:
  BUG #7815
  
  New test results
mysql-test/t/mysqldump-max.test:
  BUG #7815
  New test for testing if insert delayed is applied to tables that support
  it in mysqldump, but only if all storage engines in test have been compiled
  in
This commit is contained in:
unknown 2005-09-26 22:43:09 -07:00
commit f0a9ad917a
4 changed files with 513 additions and 113 deletions

View file

@ -0,0 +1,73 @@
# Embedded server doesn't support external clients
--source include/not_embedded.inc
--source include/have_innodb.inc
--source include/have_archive.inc
--disable-warnings
drop table if exists t1;
drop table if exists t2;
drop table if exists t3;
drop table if exists t4;
drop table if exists t5;
drop table if exists t6;
--enable-warnings
create table t1 (id int(8), name varchar(32));
create table t2 (id int(8), name varchar(32)) ENGINE="MyISAM";
create table t3 (id int(8), name varchar(32)) ENGINE="MEMORY";
create table t4 (id int(8), name varchar(32)) ENGINE="HEAP";
create table t5 (id int(8), name varchar(32)) ENGINE="ARCHIVE";
create table t6 (id int(8), name varchar(32)) ENGINE="InnoDB";
insert into t1 values (1, 'first value');
insert into t1 values (2, 'first value');
insert into t1 values (3, 'first value');
insert into t1 values (4, 'first value');
insert into t1 values (5, 'first value');
insert into t2 values (1, 'first value');
insert into t2 values (2, 'first value');
insert into t2 values (3, 'first value');
insert into t2 values (4, 'first value');
insert into t2 values (5, 'first value');
insert into t3 values (1, 'first value');
insert into t3 values (2, 'first value');
insert into t3 values (3, 'first value');
insert into t3 values (4, 'first value');
insert into t3 values (5, 'first value');
insert into t4 values (1, 'first value');
insert into t4 values (2, 'first value');
insert into t4 values (3, 'first value');
insert into t4 values (4, 'first value');
insert into t4 values (5, 'first value');
insert into t5 values (1, 'first value');
insert into t5 values (2, 'first value');
insert into t5 values (3, 'first value');
insert into t5 values (4, 'first value');
insert into t5 values (5, 'first value');
insert into t6 values (1, 'first value');
insert into t6 values (2, 'first value');
insert into t6 values (3, 'first value');
insert into t6 values (4, 'first value');
insert into t6 values (5, 'first value');
select * from t1;
select * from t2;
select * from t3;
select * from t4;
select * from t5;
select * from t6;
--exec $MYSQL_DUMP --skip-comments --delayed-insert --insert-ignore --databases test
--exec $MYSQL_DUMP --skip-comments --delayed-insert --databases test
drop table t1;
drop table t2;
drop table t3;
drop table t4;
drop table t5;
drop table t6;