Commit graph

21763 commits

Author SHA1 Message Date
unknown
f26196290e Merge pilot.(none):/data/msvensson/mysql/mysql-5.0-maint
into  pilot.(none):/data/msvensson/mysql/mysql-5.1-new-maint


sql/Makefile.am:
  Auto merged
2007-06-28 11:18:58 +02:00
unknown
b98c96e6a1 Bug#29414 HPUX build fails - 'noinst_HEADERS' does not exist
sql/Makefile.am:
  Avoid "noinst_HEADERS" being sucked into mysql_LDADD 
  target if @MYSQLD_EXTRA_IBS@ are empty
2007-06-28 11:13:18 +02:00
unknown
0e5e884b11 Bug#29019
"REPLACE/INSERT IGNORE/UPDATE IGNORE doesn't work"
  Federated does not record neccessary HA_EXTRA flags in order to
  support REPLACE/INSERT IGNORE/UPDATE IGNORE.
  Implement ::extra() to capture flags neccessary for functionality.
New function append_ident() to better escape identifiers consistantly.


mysql-test/r/federated.result:
  test for bug29019
mysql-test/t/federated.test:
  test for bug29019
sql/ha_federated.cc:
  Bug29019
    Federated does not record neccessary HA_EXTRA flags in order to
    support REPLACE/INSERT IGNORE/UPDATE IGNORE.
    Implement ::extra() to capture flags neccessary for functionality.
  New function append_ident() to better escape identifiers consistantly.
sql/ha_federated.h:
  bug29019
    add 2 member values to ha_federated class
      ignore_duplicates and replace_duplicates.
    add 1 member method to ha_federated class
      extra()
2007-06-28 00:23:14 -07:00
unknown
b728d0a65e Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B26642-5.0-opt
2007-06-28 09:27:27 +03:00
unknown
5469978185 Bug #29222 Statement mode replicates both statement and rows when writing to an NDB table
- only log statements locally (changes will not be logged on other servers)


mysql-test/r/ndb_binlog_format.result:
  New BitKeeper file ``mysql-test/r/ndb_binlog_format.result''
mysql-test/t/ndb_binlog_format.test:
  New BitKeeper file ``mysql-test/t/ndb_binlog_format.test''
2007-06-27 22:33:03 +02:00
unknown
a290e0b362 WL#3303
- binlog should always run if opt_bin_log is set
2007-06-27 22:28:18 +02:00
unknown
1685f7480f Merge weblab.(none):/home/marcsql/TREE/mysql-5.1-base
into  weblab.(none):/home/marcsql/TREE/mysql-5.1-rt-merge


sql/sql_class.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_view.cc:
  Auto merged
2007-06-27 09:15:12 -06:00
unknown
6f059005ef Merge weblab.(none):/home/marcsql/TREE/mysql-5.0-base
into  weblab.(none):/home/marcsql/TREE/mysql-5.0-rt-merge
2007-06-27 09:13:01 -06:00
unknown
28187da774 Merge bk@192.168.21.1:mysql-5.1-opt
into  mysql.com:/home/hf/work/29156/my51-29156
2007-06-27 19:11:47 +05:00
unknown
00b3d3c245 Merge mhansson@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  dl145s.mysql.com:/dev/shm/mhansson/my50-bug28677


sql/sql_class.h:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
2007-06-27 14:02:32 +02:00
unknown
0c31d0bbd7 Bug #26642: create index corrupts table definition in .frm
Thanks to Martin Friebe for finding and submitting a fix for this bug!
  
  A table with maximum number of key segments and maximum length key name
  would have a corrupted .frm file, due to an incorrect calculation of the
  complete key length.  Now the key length is computed correctly (I hope) :-)
  
  MyISAM would reject a table with the maximum number of keys and the maximum
  number of key segments in all keys.  It would allow one less than this total
  maximum.  Now MyISAM accepts a table defined with the maximum.  (This is a
  very minor issue.)


myisam/mi_open.c:
  Bug #26642: change >= to > in a comparison (i.e., error 
  only if key_parts_in_table really is greater than 
  MAX_KEY * MAX_KEY_SEG)
mysql-test/r/create.result:
  Bug #26642: test case
mysql-test/t/create.test:
  Bug #26642: test case
sql/table.cc:
  Bug #26642: In create_frm(), fix formula for key_length; 
  it was too small by (keys * 2) bytes
2007-06-27 14:35:49 +03:00
unknown
6e3bed6a65 Bug#22540: Incorrect value in column End_log_pos of SHOW BINLOG EVENTS using InnoDB
windows fixies
2007-06-27 13:23:58 +02:00
unknown
5d7082e1b2 Bug#22540: Incorrect value in column End_log_pos of SHOW BINLOG EVENTS using InnoDB
Windows fixies
2007-06-27 13:19:28 +02:00
unknown
a38b1ae7c9 BUG#29207 - archive table reported as corrupt by check table (P1)
CHECK TABLE against ARCHIVE table may falsely report table corruption,
or cause server crash.

Fixed by using proper buffer for CHECK TABLE.

Affects both 5.0 and 5.1.


mysql-test/r/archive.result:
  A test case for BUG#28916.
mysql-test/t/archive.test:
  A test case for BUG#28916.
sql/ha_archive.cc:
  We call Field::get_length() from get_row(). Field::get_length() assumes
  that the row was read into table->record[0] buffer, which is not the
  case when we check a table. As a result we get wrongly initialized
  blob length.
  
  Use table->record[0] as record buffer for check table instead.
2007-06-27 13:19:34 +05:00
unknown
50f38f417d Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.1-maint
into  sin.intern.azundris.com:/home/tnurnberg/22540/51-22540
2007-06-27 09:48:46 +02:00
unknown
56b463a95c Bug#22540: Incorrect value in column End_log_pos of SHOW BINLOG EVENTS using InnoDB
windows fixies
2007-06-27 09:31:47 +02:00
unknown
4fa62524a4 Bug#22540: Incorrect value in column End_log_pos of SHOW BINLOG EVENTS using InnoDB
windows fixies
2007-06-27 09:30:29 +02:00
unknown
7dafa50a77 Merge pilot.(none):/data/msvensson/mysql/bug29133/my51-bug29133
into  pilot.(none):/data/msvensson/mysql/mysql-5.1-new-maint


sql/mysqld.cc:
  Auto merged
2007-06-27 09:15:17 +02:00
unknown
3a42a50fd8 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  mysql.com:/home/ram/work/b29079/b29079.5.0
---
Bug #22540: Incorrect value in column End_log_pos of SHOW BINLOG EVENTS using InnoDB

fix binlog-writing so that end_log_pos is given correctly even
within transactions for both SHOW BINLOG and SHOW MASTER STATUS,
that is as absolute values (from log start) rather than relative
values (from transaction's start).
---
Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  sin.intern.azundris.com:/home/tnurnberg/22540/50-22540
---
Bug#22540: Incorrect value in column End_log_pos of SHOW BINLOG EVENTS using InnoDB

end_log_pos data within a transaction are relative to
the start of the transaction rather than absolute.
we fix those groups in situ before writing the log out.

additional comments and handling for groups with very
large single events, as suggested by Guilhem.
---
Merge bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  amd64.(none):/src/bug24732/my50-bug24732
---
Merge maint1.mysql.com:/data/localhome/tsmith/bk/50
into  maint1.mysql.com:/data/localhome/tsmith/bk/maint/50
---
Bug#22540: Incorrect value in column End_log_pos of SHOW BINLOG EVENTS using InnoDB
 
end_log_pos data within a transaction are relative to
the start of the transaction rather than absolute.
we fix those groups in situ before writing the log out.
 
additional comments and handling for groups with very
large single events, as suggested by Guilhem.
---
Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  sin.intern.azundris.com:/home/tnurnberg/22540/50-22540
---
Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.1-maint
into  sin.intern.azundris.com:/home/tnurnberg/22540/51-22540
---
Merge sin.intern.azundris.com:/home/tnurnberg/22540/50-22540
into  sin.intern.azundris.com:/home/tnurnberg/22540/51-22540


mysql-test/r/rpl_truncate_7ndb.result:
  Bug #22540: Incorrect value in column End_log_pos of SHOW BINLOG EVENTS using InnoDB
  
  fix output for SHOW BINLOG EVENTS so that end_log_pos is given correctly
  even within transactions. do this by rewriting the commit-buffer in place.
  ---
  Bug#22540: Incorrect value in column End_log_pos of SHOW BINLOG EVENTS using InnoDB
  
  end_log_pos data within a transaction are relative to
  the start of the transaction rather than absolute.
  we fix those groups in situ before writing the log out.
  
  additional comments and handling for groups with very
  large single events, as suggested by Guilhem.
  ---
  Bug#22540: Incorrect value in column End_log_pos of SHOW BINLOG EVENTS using InnoDB
   
  end_log_pos data within a transaction are relative to
  the start of the transaction rather than absolute.
  we fix those groups in situ before writing the log out.
   
  additional comments and handling for groups with very
  large single events, as suggested by Guilhem.
  ---
  manual merge
sql/log.cc:
  Bug #22540: Incorrect value in column End_log_pos of SHOW BINLOG EVENTS using InnoDB
  
  show that output for SHOW BINLOG EVENTS is no correct
  even within transactions.
2007-06-27 08:18:24 +02:00
unknown
9ee3b4b7dd Bug #29156 events crash server in test suite
don't free thd->lex->sphead if we didn't do lex_start(),
as we can have garbage there


mysql-test/r/events_bugs.result:
  Bug #29156 events crash server in test suite
  
  test result added
mysql-test/t/events_bugs.test:
  Bug #29156 events crash server in test suite
  
  testcase
2007-06-27 11:06:37 +05:00
unknown
c000df3dc1 Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  sin.intern.azundris.com:/home/tnurnberg/22540/50-22540
2007-06-27 04:55:37 +02:00
unknown
7fbf6303d2 Fixed bug #29251.
Sometimes special 0 ENUM values was ALTERed to normal
empty string ENUM values.

Special 0 ENUM value has the same string representation
as normal ENUM value defined as '' (empty string).
The do_field_string function was used to convert
ENUM data at an ALTER TABLE request, but this
function doesn't care about numerical "indices" of
ENUM values, i.e. do_field_string doesn't distinguish
a special 0 value from an empty string value.

A new copy function called do_field_enum has been added to
copy special 0 ENUM values without conversion to an empty
string.


sql/field_conv.cc:
  Fixed bug #29251.
  The Copy_field::get_copy_func method has been modified to
  return a pointer to the do_field_enum function if a conversion
  between two columns of incompatible enum types is required.
  The do_field_enum function has been added for the correct
  conversion of special 0 enum values.
mysql-test/t/type_enum.test:
  Updated test case for bug #29251.
mysql-test/r/type_enum.result:
  Updated test case for bug #29251.
2007-06-27 03:41:50 +05:00
unknown
565179812a Merge maint1.mysql.com:/data/localhome/tsmith/bk/51
into  maint1.mysql.com:/data/localhome/tsmith/bk/maint/51
2007-06-27 00:01:44 +02:00
unknown
cfd57501ae Merge maint1.mysql.com:/data/localhome/tsmith/bk/50
into  maint1.mysql.com:/data/localhome/tsmith/bk/maint/50
2007-06-26 23:58:48 +02:00
unknown
865ac1a2b3 Bug #29133 mysqld does not exit during shutdown
- Fix faulty merge by adding back the 'pthread_kill' call that
 wakes up the select thread


sql/mysqld.cc:
  Wake up the select thread from 'close_connections', caused by 
  faulty merge
2007-06-26 14:18:53 +02:00
unknown
ae398d995a Bug #29245: Bad Merge Caused Error Codes Conflict between 5.0/5.1
Fix some error messages so that all error codes are equivalent in 5.0 and 5.1


mysql-test/r/backup.result:
  Fix some error messages so that all error codes are equivalent in 5.0 and 5.1
mysql-test/r/events_bugs.result:
  Fix some error messages so that all error codes are equivalent in 5.0 and 5.1
mysql-test/r/events_trans.result:
  Fix some error messages so that all error codes are equivalent in 5.0 and 5.1
mysql-test/r/ndb_dd_basic.result:
  Fix some error messages so that all error codes are equivalent in 5.0 and 5.1
mysql-test/r/ndb_dd_ddl.result:
  Fix some error messages so that all error codes are equivalent in 5.0 and 5.1
mysql-test/r/ndb_gis.result:
  Fix some error messages so that all error codes are equivalent in 5.0 and 5.1
mysql-test/r/ndb_row_format.result:
  Fix some error messages so that all error codes are equivalent in 5.0 and 5.1
mysql-test/r/rpl_extraCol_innodb.result:
  Fix some error messages so that all error codes are equivalent in 5.0 and 5.1
mysql-test/r/rpl_extraCol_myisam.result:
  Fix some error messages so that all error codes are equivalent in 5.0 and 5.1
mysql-test/r/rpl_incident.result:
  Fix some error messages so that all error codes are equivalent in 5.0 and 5.1
mysql-test/r/rpl_ndb_extraCol.result:
  Fix some error messages so that all error codes are equivalent in 5.0 and 5.1
mysql-test/r/rpl_row_tabledefs_2myisam.result:
  Fix some error messages so that all error codes are equivalent in 5.0 and 5.1
mysql-test/r/rpl_row_tabledefs_3innodb.result:
  Fix some error messages so that all error codes are equivalent in 5.0 and 5.1
mysql-test/r/rpl_sp.result:
  Fix some error messages so that all error codes are equivalent in 5.0 and 5.1
mysql-test/r/select.result:
  Fix some error messages so that all error codes are equivalent in 5.0 and 5.1
mysql-test/r/show_check.result:
  Fix some error messages so that all error codes are equivalent in 5.0 and 5.1
mysql-test/r/sp.result:
  Fix some error messages so that all error codes are equivalent in 5.0 and 5.1
mysql-test/r/sp_gis.result:
  Fix some error messages so that all error codes are equivalent in 5.0 and 5.1
mysql-test/r/sp_trans.result:
  Fix some error messages so that all error codes are equivalent in 5.0 and 5.1
mysql-test/r/type_timestamp.result:
  Fix some error messages so that all error codes are equivalent in 5.0 and 5.1
mysql-test/r/warnings.result:
  Fix some error messages so that all error codes are equivalent in 5.0 and 5.1
mysql-test/r/xml.result:
  Fix some error messages so that all error codes are equivalent in 5.0 and 5.1
mysql-test/t/grant.test:
  Fix some error messages so that all error codes are equivalent in 5.0 and 5.1
mysql-test/t/partition_grant.test:
  Fix some error messages so that all error codes are equivalent in 5.0 and 5.1
sql/mysql_priv.h:
  Fix some error messages so that all error codes are equivalent in 5.0 and 5.1
sql/share/errmsg.txt:
  Fix some error messages so that all error codes are equivalent in 5.0 and 5.1
2007-06-26 13:15:43 +02:00
unknown
e2af383d70 Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into  mysql.com:/home/hf/work/28430/my51-28430
2007-06-26 15:37:24 +05:00
unknown
f01095d15d Bug #28430 Failure in replication of innodb partitioned tables on row/mixed format.
In the ha_partition::position we don't calculate the number of
the partition of the record. We use m_last_part_value instead relying on
that it is set in other place like previous calls of ::write_row().
In replication we do neither of these calls before ::position().
Delete_row_log_event::do_exec_row calls find_and_fetch_row() where
we used position() & rnd_pos() calls to find the record for the
PARTITION/INNODB table as it posesses InnoDB table flags.
Fixed by removing HA_PRIMARY_KEY_REQUIRED_FOR_POSITION flag from PARTITION


sql/ha_partition.cc:
  Bug #28430 Failure in replication of innodb partitioned tables on row/mixed format.
  
  add HA_PRIMARY_KEY_REQUIRED_FOR_POSITION flag added to PRTITION engine
mysql-test/r/rpl_partition.result:
  New BitKeeper file ``mysql-test/r/rpl_partition.result''
mysql-test/t/rpl_partition.test:
  New BitKeeper file ``mysql-test/t/rpl_partition.test''
2007-06-26 15:36:38 +05:00
unknown
b535307ce3 Merge mhansson@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into  dl145s.mysql.com:/dev/shm/mhansson/my51-bug28677
2007-06-26 09:31:12 +02:00
unknown
0f719e7407 Merge weblab.(none):/home/marcsql/TREE/mysql-5.1-base
into  weblab.(none):/home/marcsql/TREE/mysql-5.1-rt-merge


sql/Makefile.am:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_view.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2007-06-25 11:02:17 -06:00
unknown
fa6ae59d1d Bug#22540: Incorrect value in column End_log_pos of SHOW BINLOG EVENTS using InnoDB
end_log_pos data within a transaction are relative to
the start of the transaction rather than absolute.
we fix those groups in situ before writing the log out.

additional comments and handling for groups with very
large single events, as suggested by Guilhem.
2007-06-25 18:41:17 +02:00
unknown
c5ebbb6571 Merge weblab.(none):/home/marcsql/TREE/mysql-5.0-base
into  weblab.(none):/home/marcsql/TREE/mysql-5.0-rt-merge


sql/sql_yacc.yy:
  Auto merged
2007-06-25 10:32:38 -06:00
unknown
7c434896b4 Merge trift2.:/MySQL/M50/clone-5.0
into  trift2.:/MySQL/M51/push-5.1


configure.in:
  Auto merged
libmysql/libmysql.c:
  Auto merged
sql/field.cc:
  Auto merged
sql/field.h:
  Auto merged
server-tools/instance-manager/listener.cc:
  C++ fix of 5.0 is not needed, 5.1 has a different approach.
2007-06-25 13:22:34 +02:00
unknown
25f0844386 Merge mhansson@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into  dl145s.mysql.com:/dev/shm/mhansson/my51-bug28677


sql/sql_class.h:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
2007-06-25 12:50:12 +02:00
unknown
b2de7a6ee6 BUG#28026 - Falcon: crash if partitions and select for update
Assertion failure may happen with falcon + partition + select for
update. This may affect other engines as well.

Though assertion failure is fixed with this patch, falcon still
deadlocks when running falcon_bug_28026.test.


sql/ha_partition.cc:
  In case rnd_next fails, we must call ha_rnd_end. This is done
  conditionally (NO_CURRENT_PART_ID != m_part_spec.start_part)
  in ha_partition::ha_rnd_end. Thus we may not reset
  m_part_spec.start_part in case rnd is not ended.
2007-06-25 14:42:35 +05:00
unknown
afa96081ab Bug #22540: Incorrect value in column End_log_pos of SHOW BINLOG EVENTS using InnoDB
fix binlog-writing so that end_log_pos is given correctly even
within transactions for both SHOW BINLOG and SHOW MASTER STATUS,
that is as absolute values (from log start) rather than relative
values (from transaction's start).
---
Merge sin.intern.azundris.com:/home/tnurnberg/22540/50-22540
into  sin.intern.azundris.com:/home/tnurnberg/22540/51-22540
---
Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.1-maint
into  sin.intern.azundris.com:/home/tnurnberg/22540/51-22540


mysql-test/extra/binlog_tests/binlog.test:
  Bug #22540: Incorrect value in column End_log_pos of SHOW BINLOG EVENTS using InnoDB
  
  show that end_log_pos in SHOW BINLOG EVENTS is correct even in transactions.
  show that SHOW MASTER STATUS returns correct values while in transactions
  (so that mysqldump --master-data will work correctly).
  also remove bdb dependency.
  
  manual merge
mysql-test/r/binlog_stm_binlog.result:
  Bug #22540: Incorrect value in column End_log_pos of SHOW BINLOG EVENTS using InnoDB
  
  show that end_log_pos in SHOW BINLOG EVENTS is correct even in transactions.
  show that SHOW MASTER STATUS returns correct values while in transactions
  (so that mysqldump --master-data will work correctly).
  also remove bdb dependency.
  
  manual merge
sql/log.cc:
  Bug #22540: Incorrect value in column End_log_pos of SHOW BINLOG EVENTS using InnoDB
  
  fix output for SHOW BINLOG EVENTS so that end_log_pos is given correctly
  even within transactions. do this by rewriting the commit-buffer in place.
  
  manual merge
2007-06-25 11:37:10 +02:00
unknown
279529c11c Bug #22540: Incorrect value in column End_log_pos of SHOW BINLOG EVENTS using InnoDB
fix binlog-writing so that end_log_pos is given correctly even
within transactions for both SHOW BINLOG and SHOW MASTER STATUS,
that is as absolute values (from log start) rather than relative
values (from transaction's start).
---
Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  sin.intern.azundris.com:/home/tnurnberg/22540/50-22540


mysql-test/r/binlog.result:
  Bug #22540: Incorrect value in column End_log_pos of SHOW BINLOG EVENTS using InnoDB
  
  show that end_log_pos in SHOW BINLOG EVENTS is correct even in transactions.
  show that SHOW MASTER STATUS returns correct values while in transactions
  (so that mysqldump --master-data will work correctly).
  also remove bdb dependency.
  ---
  manual merge
mysql-test/t/binlog.test:
  Bug #22540: Incorrect value in column End_log_pos of SHOW BINLOG EVENTS using InnoDB
  
  show that end_log_pos in SHOW BINLOG EVENTS is correct even in transactions.
  show that SHOW MASTER STATUS returns correct values while in transactions
  (so that mysqldump --master-data will work correctly).
  also remove bdb dependency.
sql/log.cc:
  Bug #22540: Incorrect value in column End_log_pos of SHOW BINLOG EVENTS using InnoDB
  
  fix output for SHOW BINLOG EVENTS so that end_log_pos is given correctly
  even within transactions. do this by rewriting the commit-buffer in place.
2007-06-25 11:34:23 +02:00
unknown
7a310d3234 Merge bk@192.168.21.1:mysql-5.1-opt
into  mysql.com:/home/hf/work/27084/my51-27084


sql/item_cmpfunc.cc:
  Auto merged
sql/item_cmpfunc.h:
  Auto merged
sql/sql_partition.h:
  Auto merged
sql/table.cc:
  Auto merged
mysql-test/r/partition.result:
  merging
mysql-test/t/partition.test:
  merging
sql/sql_partition.cc:
  SCCS merged
2007-06-25 14:28:30 +05:00
unknown
be684dc0ee Merge gleb.loc:/home/uchum/work/bk/4.1
into  gleb.loc:/home/uchum/work/bk/4.1-opt
2007-06-25 14:08:53 +05:00
unknown
eea61b1888 Bug #29252 Assertion 'table->file || table->file->inited == handler::NONE' failed
when index_init() or rnd_init() return an error, we still set
handler->inited to INDEX or RND in ha_index_init and ha_rnd_init.
As caller doesn't call ha_*_end() in this case, we get DBUG_ASSERT
failed.


sql/handler.h:
  Bug #29252 Assertion 'table->file || table->file->inited == handler::NONE' failed.
  
  make sure that 'inited' is handler::NONE if index_init() or rnd_init()
  returned an error
2007-06-25 13:31:34 +05:00
unknown
4ea2eb4a75 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B29154-5.0-opt
2007-06-25 11:00:58 +03:00
unknown
39459397cd Bug #29154: LOCK TABLES is not atomic when >1 InnoDB tables are locked
LOCK TABLES takes a list of tables to lock. It may lock several 
  tables successfully and then encounter a tables that it can't lock, 
  e.g. because it's locked. In such case it needs to undo the locks on
  the already locked tables. And it does that. But it has also notified
  the relevant table storage engine handlers that they should lock.
  The only reliable way to ensure that the table handlers will give up
  their locks is to end the transaction. This is what UNLOCK TABLE 
  does : it ends the transaction if there were locked tables by LOCK 
  tables.
  It is possible to end the transaction when the lock fails in 
  LOCK TABLES because LOCK TABLES ends the transaction at its start 
  already. 
  Fixed by ending (again) the transaction when LOCK TABLES fails to
  lock a table.


mysql-test/r/innodb_mysql.result:
  Bug #29154: test case
mysql-test/t/innodb_mysql.test:
  Bug #29154: test case
sql/sql_parse.cc:
  Bug #29154: end the trasaction at a failing 
  LOCK TABLES so the handler can free its locks.
2007-06-25 10:44:52 +03:00
unknown
1dad2a0a44 Merge olga.mysql.com:/home/igor/mysql-5.0-opt
into  olga.mysql.com:/home/igor/mysql-5.1-opt


mysql-test/r/group_min_max.result:
  Auto merged
mysql-test/t/group_min_max.test:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
2007-06-24 19:06:09 -07:00
unknown
362852ba80 Merge gleb.loc:/home/uchum/work/bk/5.1
into  gleb.loc:/home/uchum/work/bk/5.1-opt


sql/item.h:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/sp.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_trigger.cc:
  Auto merged
sql/sql_view.cc:
  Auto merged
mysql-test/r/rpl_change_master.result:
  Merge with 5.1.
mysql-test/t/rpl_change_master.test:
  Merge with 5.1.
sql/sql_acl.cc:
  Merge with 5.1.
2007-06-25 03:40:30 +05:00
unknown
f30db30991 Merge olga.mysql.com:/home/igor/mysql-5.0-opt
into  olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug25602


sql/sql_select.cc:
  Auto merged
2007-06-24 10:50:24 -07:00
unknown
b3b8d5165d BUG#15787 - MySQL crashes when archive table exceeds 2GB
Max compressed file size was calculated incorretly causing server
crash on INSERT.

With this patch we use proper max file size provided by zlib.

Affects 5.0 only.


sql/ha_archive.cc:
  When calculating max compressed file size, use the real offset size
  that is provided by zlib, instead of sizeof(z_off_t), which may be
  different from actual offset size.
  
  When we're about to write and the data file is almost full flush gzio
  buffer to get accurate real file size.
mysql-test/r/archive-big.result:
  New BitKeeper file ``mysql-test/r/archive-big.result''
mysql-test/t/archive-big.test:
  New BitKeeper file ``mysql-test/t/archive-big.test''
2007-06-24 19:44:54 +05:00
unknown
fec835f1eb Merge gleb.loc:/home/uchum/work/bk/5.0
into  gleb.loc:/home/uchum/work/bk/5.0-opt


sql/log_event.cc:
  Auto merged
2007-06-24 12:58:45 +05:00
unknown
e009b764b9 Fixed bug #25602. A query with DISTINCT in the select list to which
the loose scan optimization for grouping queries was applied returned 
a wrong result set when the query was used with the SQL_BIG_RESULT
option.

The SQL_BIG_RESULT option forces to use sorting algorithm for grouping
queries instead of employing a suitable index. The current loose scan
optimization is applied only for one table queries when the suitable
index is covering. It does not make sense to use sort algorithm in this
case. However the create_sort_index function does not take into account
the possible choice of the loose scan to implement the DISTINCT operator
which makes sorting unnecessary. Moreover the current implementation of
the loose scan for queries with distinct assumes that sorting will
never happen. Thus in this case create_sort_index should not call
the function filesort.


mysql-test/r/group_min_max.result:
  Added a test case for bug #25602.
mysql-test/t/group_min_max.test:
  Added a test case for bug #25602.
2007-06-23 23:33:55 -07:00
unknown
26b526dc60 Merge gleb.loc:/home/uchum/work/bk/5.0-opt
into  gleb.loc:/home/uchum/work/bk/5.1-opt


libmysql/libmysql.c:
  Merge with 5.0-opt.
mysql-test/r/insert_select.result:
  Merge with 5.0-opt.
mysql-test/r/mysqlbinlog.result:
  Merge with 5.0-opt.
mysql-test/r/rpl_change_master.result:
  Merge with 5.0-opt.
mysql-test/r/view.result:
  Merge with 5.0-opt.
mysql-test/t/insert_select.test:
  Merge with 5.0-opt.
mysql-test/t/mysqlbinlog.test:
  Merge with 5.0-opt.
mysql-test/t/rpl_change_master.test:
  Merge with 5.0-opt.
mysql-test/t/view.test:
  Merge with 5.0-opt.
sql/item.cc:
  Merge with 5.0-opt.
sql/item.h:
  Merge with 5.0-opt.
sql/log_event.cc:
  Merge with 5.0-opt.
sql/sql_select.cc:
  Merge with 5.0-opt.
2007-06-24 03:35:27 +05:00
unknown
d37471b4ef Merge gleb.loc:/home/uchum/work/bk/5.0-opt-29095
into  gleb.loc:/home/uchum/work/bk/5.0-opt
2007-06-24 01:22:25 +05:00