Commit graph

22060 commits

Author SHA1 Message Date
unknown
82d28fada7 WL#3732 Information schema optimization
client/mysqldump.c:
  table type compare is changed to case insensitive
mysql-test/r/information_schema.result:
  test result
mysql-test/r/information_schema_db.result:
  result fix
mysql-test/suite/ndb/r/ndb_alter_table.result:
  result fix
mysql-test/suite/ndb/r/ndb_temporary.result:
  result fix
mysql-test/t/information_schema.test:
  test case
sql/ha_ndbcluster.cc:
  char* variables are changed to LEX_STRING
sql/ha_ndbcluster.h:
  char* variables are changed to LEX_STRING
sql/ha_ndbcluster_binlog.cc:
  char* variables are changed to LEX_STRING
sql/handler.cc:
  char* variables are changed to LEX_STRING
sql/handler.h:
  char* variables are changed to LEX_STRING
sql/sql_base.cc:
  Modified functions which are used during open table process
  according to table opening method and requested_object.
sql/sql_select.cc:
  Add support for I_S tables into select_describe() function
sql/sql_show.cc:
  1. Added initialization of 'open_method' to 'st_field_info' structs.
  2. Added initialization of 'i_s_requested_object' to 'ST_SCHEMA_TABLE' structs.
  3. New function which calculates database name and table name values 
     from 'where' condition if it's possible
     void get_lookup_field_values(THD *thd, COND *cond, TABLE_LIST *table,
                                  LOOKUP_FIELD_VALUES *lookup_field_vals);
  4. New function which set table open method
     setup_table_open_method(TABLE_LIST *tables,
                             ST_SCHEMA_TABLE *schema_table,
                             enum enum_schema_tables schema_table_idx)
  5. New function
     int make_db_list(THD *thd, List<LEX_STRING> *files,
                      LOOKUP_FIELD_VALUES *lookup_field_vals,
                      bool *with_i_schema)
  6. New function
     int make_table_name_list(THD *thd, List<LEX_STRING> *files, LEX *lex,
                              LOOKUP_FIELD_VALUES *lookup_field_vals,
                              bool with_i_schema, LEX_STRING *db_name)
  7. Modified 'get_all_tables' function according to new schema(see wl#3732).
sql/sql_show.h:
  char* variables are changed to LEX_STRING
sql/table.cc:
  Modified functions which are used during open table process
  according to table opening method and requested_object.
sql/table.h:
  1. added new constants(open_method)
  #define SKIP_OPEN_TABLE 0
  #define OPEN_FRM_ONLY   1
  #define OPEN_FULL_TABLE 2
      
  2. Added new field 'open_method' into struct st_field_info;
     uint open_method;
      
  3. Added new field into ST_SCHEMA_TABLE struct
     uint i_s_requested_object;  /* the object we need to open(TABLE | VIEW) */.
  4. Added new field to TABLE_LIST struct.
     uint i_s_requested_object;
     This field is set from ST_SCHEMA_TABLE.i_s_requested_object
     for processed table before opening.
      
  5. Added new fields to TABLE_LIST struct, used for 'explain select' for I_S table
     bool has_db_lookup_value;
     bool has_table_lookup_value;
     uint table_open_method;
sql/unireg.h:
  added new constants
2007-08-03 03:14:05 +05:00
unknown
88a8e461ab Merge trift2.:/MySQL/M51/bug29982-5.1
into  trift2.:/MySQL/M51/push-5.1


BitKeeper/deleted/.del-CMakeLists.txt~5b8836e4:
  Auto merged
BitKeeper/deleted/.del-CMakeLists.txt~fc201a06:
  Auto merged
CMakeLists.txt:
  Auto merged
tests/CMakeLists.txt:
  Auto merged
2007-08-02 20:19:21 +02:00
unknown
2a20aa7f8a Merge mysql.com:/home/ram/work/b30088/b30088.5.0
into  mysql.com:/home/ram/work/b30088/b30088.5.1


sql/mysqld.cc:
  Auto merged
mysql-test/t/show_check.test:
  SCCS merged
2007-08-02 16:56:32 +05:00
unknown
8b9e7c14db Merge mysql.com:/home/ram/work/b30200/b30200.5.0
into  mysql.com:/home/ram/work/b30200/b30200.5.1


sql/item_func.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/item_create.cc:
  manual merge.
2007-08-02 15:26:52 +05:00
unknown
898333f843 Fix for bug #30200: mysqlbinlog.test: connection_id() not restored under ps-protocol
Problem: thd->thread_specific_used flag is not set executing a statement
containig connection_id() function using PS protocol, that leads to 
improper binlog event creation.

Fix: set the flag in the Item_func_connection_id::fix_fields().


sql/item_create.cc:
  Fix for bug #30200: mysqlbinlog.test: connection_id() not restored under ps-protocol
    - set the thd->thread_specific_used flag in the Item_func_connection_id::fix_fields()
      to have it properly set using PS protocol as well.
sql/item_func.cc:
  Fix for bug #30200: mysqlbinlog.test: connection_id() not restored under ps-protocol
    - set the thd->thread_specific_used flag in the Item_func_connection_id::fix_fields()
      to have it properly set using PS protocol as well.
sql/sql_parse.cc:
  Fix for bug #30200: mysqlbinlog.test: connection_id() not restored under ps-protocol
    - reset the thd->thread_specific_used flag in the mysql_reset_thd_for_next_command().
2007-08-02 14:51:03 +05:00
unknown
c7419debba Post-merge fix. Update some test results, and add an InnoDB-only
compatibility hook, thd_mark_transaction_to_rollback().


mysql-test/r/ps.result:
  Post-merge fix.   Changes for WL 3984 (Revise locking
  of mysql.general_log and mysql.slow_log) cause some test
  result differences.
mysql-test/r/show_check.result:
  Post-merge fix.   Changes for WL 3984 (Revise locking
  of mysql.general_log and mysql.slow_log) cause some test
  result differences.
sql/sql_class.cc:
  Post-merge fix, add InnoDB compatibility hook (defined for
  InnoDB only), thd_mark_transaction_to_rollback().
storage/innobase/handler/ha_innodb.cc:
  Post-merge fix, add InnoDB compatibility hook (defined for
  InnoDB only), thd_mark_transaction_to_rollback().
storage/innobase/handler/ha_innodb.h:
  Post-merge fix, add InnoDB compatibility hook (defined for
  InnoDB only), thd_mark_transaction_to_rollback().
2007-08-02 02:22:31 -06:00
unknown
48eb7f8c85 Merge 50 -> 51 (-opt changesets)
sql/handler.cc:
  Auto merged
sql/handler.h:
  Auto merged
sql/sp_head.cc:
  Auto merged
sql/sp_rcontext.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_select.h:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/sql_union.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
sql/table.cc:
  Auto merged
mysql-test/include/read_many_rows.inc:
  Manual merge
mysql-test/r/read_many_rows_innodb.result:
  Manual merge
sql/sql_class.cc:
  Manual merge
sql/sql_class.h:
  Manual merge
storage/innobase/handler/ha_innodb.cc:
  Manual merge
2007-08-01 18:59:41 -06:00
unknown
15835a5693 Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/51


mysql-test/r/show_check.result:
  Auto merged
mysql-test/t/disabled.def:
  Auto merged
mysql-test/t/show_check.test:
  Auto merged
sql/handler.cc:
  Auto merged
sql/handler.h:
  Auto merged
sql/log.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
sql/table.cc:
  Auto merged
2007-08-01 18:40:02 -06:00
unknown
90d6229652 Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/50


sql/handler.h:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
sql/table.cc:
  Auto merged
2007-08-01 18:39:13 -06:00
unknown
c2fa38b930 Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.1-build
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/51


BitKeeper/deleted/.del-CMakeLists.txt~1:
  Auto merged
CMakeLists.txt:
  Auto merged
configure.in:
  Auto merged
sql/sql_parse.cc:
  Auto merged
2007-08-01 18:32:01 -06:00
unknown
4ea92b81a7 Merge ramayana.hindu.god:/home/tsmith/m/bk/51
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/51


mysql-test/include/mix1.inc:
  Auto merged
mysql-test/r/innodb_mysql.result:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
2007-08-01 18:15:24 -06:00
unknown
41ac5d83b2 Merge ramayana.hindu.god:/home/tsmith/m/bk/50
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/50


mysql-test/r/federated.result:
  Auto merged
mysql-test/t/federated.test:
  Auto merged
sql/ha_federated.h:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_table.cc:
  Auto merged
mysql-test/r/innodb_mysql.result:
  Manual merge
mysql-test/t/innodb_mysql.test:
  Manual merge
2007-08-01 18:14:50 -06:00
unknown
ccada6ff95 Fix a valgrind warning. For some reason it never popped up before.
sql/sql_class.cc:
  Fix a valgrind warning (row_count_func is used before it was initialized
  in SQLCOM_CALL)
2007-08-01 22:40:04 +04:00
unknown
1b04b4b113 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  mysql.com:/home/ram/work/b29928.new/b29928.new.5.0
2007-08-01 19:23:39 +05:00
unknown
be4cfe504e After-merge fixup.
- THD::tmp_table_used removed, THD::thread_specific_used used instead.
2007-08-01 19:20:25 +05:00
unknown
d4ba395aa6 Merge mysql.com:/home/ram/work/b29928.new/b29928.new.5.0
into  mysql.com:/home/ram/work/b29928.new/b29928.new.5.1


mysql-test/r/mysqlbinlog.result:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
mysql-test/t/mysqlbinlog.test:
  manual merge
2007-08-01 15:31:20 +05:00
unknown
f87acb594a Fix for bug #29928: INSERT ... VALUES(connection_id(), ...) incorrect
restores from mysqlbinlog out

Problem: using "mysqlbinlog | mysql" for recoveries the connection_id() 
result may differ from what was used when issuing the statement.

Fix: if there is a connection_id() in a statement, write to binlog
SET pseudo_thread_id= XXX; before it and use the value later on.


mysql-test/r/mysqlbinlog.result:
  Fix for bug #29928: INSERT ... VALUES(connection_id(), ...) incorrect 
  restores from mysqlbinlog out
    - test result.
mysql-test/t/mysqlbinlog.test:
  Fix for bug #29928: INSERT ... VALUES(connection_id(), ...) incorrect 
  restores from mysqlbinlog out
    - test case.
sql/item_create.cc:
  Fix for bug #29928: INSERT ... VALUES(connection_id(), ...) incorrect 
  restores from mysqlbinlog out
    - set thread_specific_used flag for the connection_id() function.
sql/item_func.cc:
  Fix for bug #29928: INSERT ... VALUES(connection_id(), ...) incorrect 
  restores from mysqlbinlog out
    - always return thd->variables.pseudo_thread_id as a connection_id() 
  result, as it contains a proper value for both master and slave.
sql/log_event.cc:
  Fix for bug #29928: INSERT ... VALUES(connection_id(), ...) incorrect 
  restores from mysqlbinlog out
    - set LOG_EVENT_THREAD_SPECIFIC_F event flag if thread_specific_used
  is set.
sql/sql_class.cc:
  Fix for bug #29928: INSERT ... VALUES(connection_id(), ...) incorrect 
  restores from mysqlbinlog out
    - thd->thread_specific_used introduced, which is set if thread specific 
  value(s) used in a statement.
sql/sql_class.h:
  Fix for bug #29928: INSERT ... VALUES(connection_id(), ...) incorrect 
  restores from mysqlbinlog out
    - thd->thread_specific_used introduced, which is set if thread specific 
  value(s) used in a statement.
2007-08-01 15:27:03 +05:00
unknown
1281fbc58c Fix for bug #30088: Can't disable myisam-recover by a value of "".
- test result.

Problem: we don't proper handle "" value of the --myisam-recover option.

Fix: turn off myisam recovering if --myisam-recover="" is set.


mysql-test/r/show_check.result:
  Fix for bug #30088: Can't disable myisam-recover by a value of "".
    - test result.
mysql-test/t/show_check-master.opt:
  Fix for bug #30088: Can't disable myisam-recover by a value of "".
    - test case.
mysql-test/t/show_check.test:
  Fix for bug #30088: Can't disable myisam-recover by a value of "".
    - test case.
sql/mysqld.cc:
  Fix for bug #30088: Can't disable myisam-recover by a value of "".
    - turn off myisam recovering if --myisam-recover="" is passed.
2007-08-01 11:41:13 +05:00
unknown
82fbe7a418 Merge ramayana.hindu.god:/home/tsmith/m/bk/51
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/jul31/51


mysql-test/r/federated.result:
  Auto merged
mysql-test/t/federated.test:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
storage/federated/ha_federated.h:
  Auto merged
storage/innobase/handler/ha_innodb.cc:
  Auto merged
mysql-test/include/mix1.inc:
  Manual merge
mysql-test/r/innodb_mysql.result:
  Manual merge
2007-07-31 17:36:19 -06:00
unknown
d0e8d1ab54 Bug #29419 "Specifying a join_buffer > 4GB on 64 bit machines not possible."
Use size_t instead of uint when calculating join buffer size, because uint can be overflown on 64-bit platforms and join_buffer_size > 4 GB.
  
The test case for this bug is a part of the test suite for bug #5731.


sql/sql_select.cc:
  Use size_t instead of uint when calculating join buffer size, because uint can be overflown on 64-bit platforms and join_buffer_size > 4G.
2007-07-31 16:36:29 -04:00
unknown
2914bad6ac Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into  bodhi.(none):/opt/local/work/mysql-5.1-runtime


client/mysqldump.c:
  Auto merged
mysql-test/r/mysqldump.result:
  Auto merged
mysql-test/t/disabled.def:
  Auto merged
mysql-test/t/mysqldump.test:
  Auto merged
sql/handler.cc:
  Auto merged
sql/lock.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/table.cc:
  Auto merged
sql/table.h:
  Auto merged
mysql-test/include/mix1.inc:
  Manual merge.
mysql-test/r/innodb_mysql.result:
  Manual merge.
2007-07-31 23:47:38 +04:00
unknown
a250e2b453 Fix a bad BitKeeper dependency structure for the "CMakeLists.txt" files.
They had been introduced in 5.1 and were only later backported to 5.0;
as a consequence, the files in the 5.1 tree do not depend on the 5.0 ones,
and changes in 5.0 do not propagate into the 5.1 files.

To fix this, the (previous) files in 5.1 now are deleted ("bk rm"),
and the previously deleted files depending on 5.0 are now moved to the 
respective source directories ("bk mv").
The current 5.1 contents is restored in these files.

If you need the previous history of the 5.1 files ("bk revtool"),
access those in "BitKeeper/deleted".

Contrary to the original plan, I did not introduce the name
"CMakeLists.historic" - mostly in order not to clutter the source tree.

This fixes bug#29982.


BitKeeper/deleted/.del-CMakeLists.txt~2eb9019b:
  Delete: client/CMakeLists.txt
BitKeeper/deleted/.del-CMakeLists.txt~5b8836e4:
  Delete: CMakeLists.txt
BitKeeper/deleted/.del-CMakeLists.txt~93f0d646:
  Delete: dbug/CMakeLists.txt
dbug/CMakeLists.txt:
  Rename: BitKeeper/deleted/.del-CMakeLists.txt~9 -> dbug/CMakeLists.txt
BitKeeper/deleted/.del-CMakeLists.txt~57492bba:
  Delete: extra/CMakeLists.txt
BitKeeper/deleted/.del-CMakeLists.txt~8c35983c:
  Delete: extra/yassl/CMakeLists.txt
BitKeeper/deleted/.del-CMakeLists.txt~c3563d5f:
  Delete: extra/yassl/taocrypt/CMakeLists.txt
extra/yassl/CMakeLists.txt:
  Rename: BitKeeper/deleted/.del-CMakeLists.txt~11 -> extra/yassl/CMakeLists.txt
extra/yassl/taocrypt/CMakeLists.txt:
  Rename: BitKeeper/deleted/.del-CMakeLists.txt~12 -> extra/yassl/taocrypt/CMakeLists.txt
BitKeeper/deleted/.del-CMakeLists.txt~99a50df6:
  Delete: libmysql/CMakeLists.txt
BitKeeper/deleted/.del-CMakeLists.txt~86a68ea1:
  Delete: mysys/CMakeLists.txt
BitKeeper/deleted/.del-CMakeLists.txt~9e206e11:
  Delete: regex/CMakeLists.txt
BitKeeper/deleted/.del-CMakeLists.txt~95969b72:
  Delete: server-tools/instance-manager/CMakeLists.txt
BitKeeper/deleted/.del-CMakeLists.txt~fdec1f01:
  Delete: sql/CMakeLists.txt
BitKeeper/deleted/.del-CMakeLists.txt~1960eb07:
  Delete: storage/innobase/CMakeLists.txt
BitKeeper/deleted/.del-CMakeLists.txt~96726c3b:
  Delete: storage/myisam/CMakeLists.txt
BitKeeper/deleted/.del-CMakeLists.txt~bb293bb4:
  Delete: storage/heap/CMakeLists.txt
BitKeeper/deleted/.del-CMakeLists.txt~5fa65a12:
  Delete: strings/CMakeLists.txt
BitKeeper/deleted/.del-CMakeLists.txt~fb3a3a47:
  Delete: storage/myisammrg/CMakeLists.txt
BitKeeper/deleted/.del-CMakeLists.txt~fc201a06:
  Delete: tests/CMakeLists.txt
tests/CMakeLists.txt:
  Rename: BitKeeper/deleted/.del-CMakeLists.txt~5 -> tests/CMakeLists.txt
BitKeeper/deleted/.del-CMakeLists.txt~2a609d33:
  Delete: vio/CMakeLists.txt
vio/CMakeLists.txt:
  Rename: BitKeeper/deleted/.del-CMakeLists.txt~6 -> vio/CMakeLists.txt
BitKeeper/deleted/.del-CMakeLists.txt~ef945345:
  Delete: zlib/CMakeLists.txt
zlib/CMakeLists.txt:
  Rename: BitKeeper/deleted/.del-CMakeLists.txt~8 -> zlib/CMakeLists.txt
CMakeLists.txt:
  Restore the current 5.1 contents into the 5.0-dependent file.
  
  For the previous 5.1 history of this file, see the one in "BitKeeper/deleted".
client/CMakeLists.txt:
  Restore the current 5.1 contents into the 5.0-dependent file.
  
  For the previous 5.1 history of this file, see the one in "BitKeeper/deleted".
extra/CMakeLists.txt:
  Restore the current 5.1 contents into the 5.0-dependent file.
  
  For the previous 5.1 history of this file, see the one in "BitKeeper/deleted".
libmysql/CMakeLists.txt:
  Restore the current 5.1 contents into the 5.0-dependent file.
  
  For the previous 5.1 history of this file, see the one in "BitKeeper/deleted".
mysys/CMakeLists.txt:
  Restore the current 5.1 contents into the 5.0-dependent file.
  
  For the previous 5.1 history of this file, see the one in "BitKeeper/deleted".
regex/CMakeLists.txt:
  Restore the current 5.1 contents into the 5.0-dependent file.
  
  For the previous 5.1 history of this file, see the one in "BitKeeper/deleted".
server-tools/instance-manager/CMakeLists.txt:
  Restore the current 5.1 contents into the 5.0-dependent file.
  
  For the previous 5.1 history of this file, see the one in "BitKeeper/deleted".
sql/CMakeLists.txt:
  Restore the current 5.1 contents into the 5.0-dependent file.
  
  For the previous 5.1 history of this file, see the one in "BitKeeper/deleted".
storage/heap/CMakeLists.txt:
  Restore the current 5.1 contents into the 5.0-dependent file.
  
  For the previous 5.1 history of this file, see the one in "BitKeeper/deleted".
storage/innobase/CMakeLists.txt:
  Restore the current 5.1 contents into the 5.0-dependent file.
  
  For the previous 5.1 history of this file, see the one in "BitKeeper/deleted".
storage/myisam/CMakeLists.txt:
  Restore the current 5.1 contents into the 5.0-dependent file.
  
  For the previous 5.1 history of this file, see the one in "BitKeeper/deleted".
storage/myisammrg/CMakeLists.txt:
  Restore the current 5.1 contents into the 5.0-dependent file.
  
  For the previous 5.1 history of this file, see the one in "BitKeeper/deleted".
strings/CMakeLists.txt:
  Restore the current 5.1 contents into the 5.0-dependent file.
  
  For the previous 5.1 history of this file, see the one in "BitKeeper/deleted".
2007-07-31 19:35:13 +02:00
unknown
5404ba422e Post-merge fixes.
sql/sql_base.cc:
  Fix an incorrect manual merge.
2007-07-31 20:52:43 +04:00
unknown
91f54bf1f7 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  bodhi.(none):/opt/local/work/mysql-5.0-runtime


client/mysqldump.c:
  Auto merged
mysql-test/r/mysqldump.result:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/table.cc:
  Auto merged
mysql-test/r/innodb_mysql.result:
  Manual merge.
mysql-test/t/innodb_mysql.test:
  Manual merge.
sql/sql_table.cc:
  Manual merge.
2007-07-31 20:03:52 +04:00
unknown
4c11e05ad2 Merge bodhi.(none):/opt/local/work/mysql-5.0-runtime
into  bodhi.(none):/opt/local/work/mysql-5.1-runtime


sql/mysql_priv.h:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_lex.cc:
  Auto merged
mysql-test/include/mix1.inc:
  Manual merge.
mysql-test/r/innodb_mysql.result:
  Manual merge.
sql/handler.h:
  Manual merge.
sql/lock.cc:
  Manual merge.
sql/opt_range.cc:
  Manual merge.
sql/sql_base.cc:
  Manual merge.
sql/sql_table.cc:
  Manual merge.
2007-07-31 20:00:05 +04:00
unknown
ed4836857e Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  moonbone.local:/mnt/gentoo64/work/24989-bug-5.0-opt-mysql
2007-07-31 17:43:54 +04:00
unknown
a0af9b7e63 ha_innodb.cc:
Warning fixed.


sql/ha_innodb.cc:
  Warning fixed.
2007-07-31 17:42:48 +04:00
unknown
125bc936ac Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B27417-5.0-opt


sql/handler.cc:
  Auto merged
sql/sp_head.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
2007-07-31 15:23:25 +03:00
unknown
6c589f9084 Post-merge fixes 2007-07-31 16:15:56 +04:00
unknown
1f6088cc8b Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B27417-5.1-opt


sql/sp_head.cc:
  Auto merged
2007-07-31 14:59:52 +03:00
unknown
8e1ec7ab5e merge of the fix for bug 17417 5.0-opt->5.1-opt 2007-07-31 14:58:04 +03:00
unknown
86d9a7f92a Merge magare.gmz:/home/kgeorge/mysql/work/B27417-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/work/B27417-5.1-opt


sql/sql_update.cc:
  Auto merged
2007-07-31 14:48:57 +03:00
unknown
21d639e573 addendum for the fix for bug 27417:
extend the assert so it will run the testsuite
2007-07-31 14:42:56 +03:00
unknown
a66cb1f27a Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  mysql.com:/home/psergey/mysql-5.0-bug29582


sql/sql_select.cc:
  Auto merged
sql/sql_select.h:
  Auto merged
2007-07-31 15:24:22 +04:00
unknown
8a68e7d2dc BUG#29582: huge memory consumption with union, subselect, joins:
- Don't call mysql_select() several times for the select that enumerates
  a temporary table with the results of the UNION. Making this call for
  every subquery execution caused O(#enumerated-rows-in-the-outer-query) 
  memory allocations.
- Instead, call join->reinit() and join->exec(), and
  = disable constant table detection for such joins,  
  = provide special handling for table-less constant subqueries.


sql/sql_select.cc:
  BUG#29582: huge memory consumption with union, subselect, joins:
   - Don't mark tables as constant if JOIN::no_const_tables flag is set
sql/sql_select.h:
  BUG#29582: huge memory consumption with union, subselect, joins:
   - Don't mark tables as constant if JOIN::no_const_tables flag is set
sql/sql_union.cc:
  BUG#29582: huge memory consumption with union, subselect, joins:
  - Don't call mysql_select() several times for the select that enumerates
    a temporary table with UNION results. 
  - Instead, call join->reinit() and join->exec().
  - Provide special handling for table-less constant subqueries.
2007-07-31 15:19:06 +04:00
unknown
23fec91b65 Merge gshchepa@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into  gleb.loc:/home/uchum/work/bk/5.1-opt
2007-07-31 13:23:56 +05:00
unknown
124ad9c640 sql_yacc.yy, sp.result, disabled.def:
Post-merge fix.


mysql-test/t/disabled.def:
  Post-merge fix.
mysql-test/r/sp.result:
  Post-merge fix.
sql/sql_yacc.yy:
  Post-merge fix.
2007-07-31 13:22:01 +05:00
unknown
6312042ca7 Merge gleb.loc:/home/uchum/work/bk/5.0-opt-30120
into  gleb.loc:/home/uchum/work/bk/5.1-opt


sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/sp_head.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
mysql-test/r/sp.result:
  Merge with 5.0-opt.
mysql-test/t/sp.test:
  Merge with 5.0-opt.
2007-07-31 12:09:59 +05:00
unknown
a9610aa0e1 Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  mysql.com:/home/hf/work/29717/my50-29717
2007-07-31 11:53:56 +05:00
unknown
465c3ef060 Merge gleb.loc:/home/uchum/work/bk/5.0-opt-30120
into  gleb.loc:/home/uchum/work/bk/5.0-opt
2007-07-31 11:16:11 +05:00
unknown
f1ed9bc67e Merge mysql.com:/home/hf/work/29717/my50-29717
into  mysql.com:/home/hf/work/29717/my51-29717


mysql-test/r/group_by.result:
  Auto merged
mysql-test/r/insert_select.result:
  Auto merged
mysql-test/t/group_by.test:
  Auto merged
mysql-test/t/insert_select.test:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_select.h:
  Auto merged
2007-07-31 11:12:23 +05:00
unknown
2dc02f2424 Merge mysql.com:/home/hf/work/29717/my41-29717
into  mysql.com:/home/hf/work/29717/my50-29717


mysql-test/t/insert_select.test:
  Auto merged
sql/sql_select.cc:
  Auto merged
mysql-test/r/group_by.result:
  merging
mysql-test/r/insert_select.result:
  merging
mysql-test/t/group_by.test:
  merging
sql/sql_select.h:
  merging
2007-07-31 11:03:31 +05:00
unknown
6b745cf601 Merge mysql.com:/home/hf/work/029717/my41-29717
into  mysql.com:/home/hf/work/29717/my41-29717


sql/sql_select.cc:
  Auto merged
2007-07-31 11:00:19 +05:00
unknown
791584ae0d Bug #29717 INSERT INTO SELECT inserts values even if
SELECT statement itself returns empty.

As a result of this bug 'SELECT AGGREGATE_FUNCTION(fld) ... GROUP BY'
can return one row instead of an empty result set.

When GROUP BY only has fields of constant tables
(with a single row), the optimizer deletes the group_list.
After that we lose the information about whether we had an
GROUP BY statement. Though it's important
as SELECT min(x) from empty_table; and
   SELECT min(x) from empty_table GROUP BY y; have to return
different results - the first query should return one row,
second - an empty result set.
So here we add the 'group_optimized_away' flag to remember this case
when GROUP BY exists in the query and is removed
by the optimizer, and check this flag in end_send_group()


mysql-test/r/group_by.result:
  Bug #29717 INSERT INTO SELECT inserts values even if
   SELECT statement itself returns empty.
  
  test result
mysql-test/r/insert_select.result:
  Bug #29717 INSERT INTO SELECT inserts values even if
   SELECT statement itself returns empty.
  
  test result
mysql-test/t/group_by.test:
  Bug #29717 INSERT INTO SELECT inserts values even if
   SELECT statement itself returns empty.
  
  This is additional testcase that is more basic than the
  original bug's testcase and has the same reason.
mysql-test/t/insert_select.test:
  Bug #29717 INSERT INTO SELECT inserts values even if
   SELECT statement itself returns empty.
  
  test case
sql/sql_select.cc:
  Bug #29717 INSERT INTO SELECT inserts values even if
   SELECT statement itself returns empty.
  
  Remember the 'GROUP BY was optimized away' case in the JOIN::group_optimized
  and check this in the end_send_group()
sql/sql_select.h:
  Bug #29717 INSERT INTO SELECT inserts values even if
   SELECT statement itself returns empty.
  
  JOIN::group_optimized member added to remember the 'GROUP BY optimied away'
  case
2007-07-31 10:46:04 +05:00
unknown
1ac6e95483 Merge malff@bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
into  weblab.(none):/home/marcsql/TREE/mysql-5.1-cleanup


sql/log.cc:
  Auto merged
2007-07-30 23:04:07 -06:00
unknown
7a47324e11 Fixed ressource leak when activation of LOGGER failed. 2007-07-30 23:01:44 -06:00
unknown
d9037b26e4 handler::ha_write_row_no_binlog() hack removed,
existing table->no_replicate code is used instead
2007-07-30 19:56:02 +02:00
unknown
e5fd6b3c71 (Pushing for Andrei)
Merge magare.gmz:/home/kgeorge/mysql/work/B27417-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/work/B27417-5.1-opt


mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/handler.cc:
  Auto merged
sql/handler.h:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_table.cc:
  Auto merged
mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test:
  merge of bug 27471 from 5.0-opt to 5.1-opt
sql/log.cc:
  merge of bug 27471 from 5.0-opt to 5.1-opt
sql/set_var.cc:
  merge of bug 27471 from 5.0-opt to 5.1-opt
sql/sp_head.cc:
  merge of bug 27471 from 5.0-opt to 5.1-opt
sql/sql_delete.cc:
  merge of bug 27471 from 5.0-opt to 5.1-opt
sql/sql_insert.cc:
  merge of bug 27471 from 5.0-opt to 5.1-opt
sql/sql_load.cc:
  merge of bug 27471 from 5.0-opt to 5.1-opt
sql/sql_parse.cc:
  merge of bug 27471 from 5.0-opt to 5.1-opt
sql/sql_update.cc:
  merge of bug 27471 from 5.0-opt to 5.1-opt
2007-07-30 19:02:21 +03:00
unknown
1307d3b803 (pushing for Andrei)
Bug #27417 thd->no_trans_update.stmt lost value inside of SF-exec-stack
  
Once had been set the flag might later got reset inside of a stored routine 
execution stack.
The reason was in that there was no check if a new statement started at time 
of resetting.
The artifact affects most of binlogable DML queries. Notice, that multi-update 
is wrapped up within
  bug@27716 fix, multi-delete bug@29136.
  
Fixed with saving parent's statement flag of whether the statement modified 
non-transactional table, and unioning (merging) the value with that was gained 
in mysql_execute_command.
  
Resettling thd->no_trans_update members into thd->transaction.`member`;
Asserting code;
Effectively the following properties are held.
  
1. At the end of a substatement thd->transaction.stmt.modified_non_trans_table
   reflects the fact if such a table got modified by the substatement.
   That also respects THD::really_abort_on_warnin() requirements.
2. Eventually thd->transaction.stmt.modified_non_trans_table will be computed as
   the union of the values of all invoked sub-statements.
   That fixes this bug#27417;

Computing of thd->transaction.all.modified_non_trans_table is refined to base to 
the stmt's value for all the case including insert .. select statement which 
before the patch had an extra issue bug@28960.
Minor issues are covered with mysql_load, mysql_delete, and binloggin of insert in
to temp_table select. 
  
The supplied test verifies limitely, mostly asserts. The ultimate testing is defered
for bug@13270, bug@23333.


mysql-test/r/mix_innodb_myisam_binlog.result:
  results changed
mysql-test/t/mix_innodb_myisam_binlog.test:
  regression test incl the related bug#28960.
sql/ha_ndbcluster.cc:
  thd->transaction.{all,stmt}.modified_non_trans_table
  instead of
  thd->no_trans_update.{all,stmt}
sql/handler.cc:
  thd->transaction.{all,stmt}.modified_non_trans_table
  instead of
  thd->no_trans_update.{all,stmt}
sql/handler.h:
  new member added
sql/log.cc:
  thd->transaction.{all,stmt}.modified_non_trans_table
  instead of
  thd->no_trans_update.{all,stmt}
sql/set_var.cc:
  thd->transaction.{all,stmt}.modified_non_trans_table
  instead of
  thd->no_trans_update.{all,stmt}
sql/sp_head.cc:
  thd->transaction.{all,stmt}.modified_non_trans_table
  instead of
  thd->no_trans_update.{all,stmt}
  
  and saving and merging stmt's flag at the end of a substatement.
sql/sql_class.cc:
  thd->transaction.{all,stmt}.modified_non_trans_table
  instead of
  thd->no_trans_update.{all,stmt}
sql/sql_class.h:
  thd->transaction.{all,stmt}.modified_non_trans_table
  instead of
  thd->no_trans_update.{all,stmt}
sql/sql_delete.cc:
  correcting basic delete incl truncate branch and multi-delete queries to set
  stmt.modified_non_trans_table;
  optimization to set the flag at the end of per-row loop;
  multi-delete still has an extra issue similar to bug#27716 of multi-update 
  - to be address with bug_29136 fix.
sql/sql_insert.cc:
  thd->transaction.{all,stmt}.modified_non_trans_table
  instead of
  thd->no_trans_update.{all,stmt}
sql/sql_load.cc:
  eliminating a separate issue where the stmt flag was saved and re-stored after 
  write_record that actually could change it and the change would be lost but 
  should remain permanent;
  thd->transaction.{all,stmt}.modified_non_trans_table
  instead of
  thd->no_trans_update.{all,stmt}
sql/sql_parse.cc:
  initialization to transaction.stmt.modified_non_trans_table at the common part 
  of all types of statements processing - mysql_execute_command().
sql/sql_table.cc:
  moving the reset up to the mysql_execute_command() caller
sql/sql_update.cc:
  correcting update query case (multi-update part of the issues covered by other 
  bug#27716 fix)
  thd->transaction.{all,stmt}.modified_non_trans_table
  instead of
  thd->no_trans_update.{all,stmt}
2007-07-30 18:27:36 +03:00
unknown
3887705e09 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  moonbone.local:/mnt/gentoo64/work/24989-bug-5.0-opt-mysql


sql/ha_innodb.cc:
  Auto merged
sql/handler.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
2007-07-30 18:10:34 +04:00