Commit graph

16775 commits

Author SHA1 Message Date
unknown
b92ad63f99 merge of the changes for bug #18080
mysql-test/t/insert_select.test:
  Auto merged
mysql-test/r/insert_select.result:
  manual merge
2006-06-21 13:03:06 +03:00
unknown
5a3d028776 Merge mysql.com:/home/kgeorge/mysql/5.0/teamclean
into  mysql.com:/home/kgeorge/mysql/5.0/B20482


sql/sql_base.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
2006-06-21 12:59:34 +03:00
unknown
f4e2516a1a after merge fixes
mysql-test/r/partition_error.result:
  result fix
sql/log.cc:
  use open_slow_log() instead of open_query_log() for slow query log
sql/log.h:
  after merge fix
sql/set_var.cc:
  after merge fix
  use open_slow_log() instead of open_query_log() for slow query log
2006-06-21 14:53:40 +05:00
unknown
6c78715161 Bug #20482: failure on Create join view with sources views/tables in different
schemas
The function check_one_table_access() called to check access to tables in 
SELECT/INSERT/UPDATE was doing additional checks/modifications that don't hold
in the context of setup_tables_and_check_access().
That's why the check_one_table() was split into two : the functionality needed by
setup_tables_and_check_access() into check_single_table_access() and the rest of 
the functionality stays in check_one_table_access() that is made to call the new
check_single_table_access() function.


mysql-test/r/view_grant.result:
  Bug #20482: failure on Create join view with sources views/tables in different 
              schemas
  - test suite for the bug
mysql-test/t/view_grant.test:
  Bug #20482: failure on Create join view with sources views/tables in different 
              schemas
  - test suite for the bug
sql/mysql_priv.h:
  Bug #20482: failure on Create join view with sources views/tables in different 
              schemas
  - check_one_table_access split into 2
sql/sql_base.cc:
  Bug #20482: failure on Create join view with sources views/tables in different 
              schemas
  - the new sub-function called
sql/sql_parse.cc:
  Bug #20482: failure on Create join view with sources views/tables in different 
              schemas
  - check_one_table_access() split into two : check_single_table_access() to 
    actually check access to the table(ro) and check_one_table_access() that calls
    check_single_table_access() and checks also the tables belonging to sub selects
    or implicitly opened tables.
2006-06-21 12:12:46 +03:00
unknown
4e138572a0 Bug#20086: Can't get data from key partitioned tables with VARCHAR key
The problem appeared because the same values produced different hash
during INSERT and SELECT for VARCHAR data type.
Fix:
VARCHAR required special treatment to avoid hashing of length bytes
(leftmost one or two bytes) as well as trailing bytes beyond real length,
which could contain garbage. Fix is done by introducing hash() - new method
in the Field class.


mysql-test/r/partition_innodb.result:
  Adding test case
mysql-test/r/partition_pruning.result:
  Fixing test results (results differ due to changes in hash function)
mysql-test/t/partition_innodb.test:
  Adding test case
sql/field.cc:
  Adding generic hash() method, and a special
  method for VARCHAR.
sql/field.h:
  Adding prototypes for new methods
sql/key.cc:
  Mark columns for write before executinf of set_key_image().
  Thanks for Mikael for suggesting this fix.
sql/sql_partition.cc:
  Removing old hash code.
  Using new methid field->hash() instead.
2006-06-21 13:00:19 +05:00
unknown
4891ddc977 Fixed failed automerge 2006-06-21 09:51:08 +02:00
unknown
2b43555b55 Merge mysql.com:/home/marty/MySQL/mysql-5.0-backed
into  mysql.com:/home/marty/MySQL/mysql-5.0


sql/ha_ndbcluster.cc:
  Auto merged
2006-06-21 09:50:41 +02:00
unknown
c977e29c4e Merge mysql.com:/home/marty/MySQL/mysql-5.0-backed
into  mysql.com:/home/marty/MySQL/mysql-5.1


sql/ha_ndbcluster.h:
  Auto merged
mysql-test/r/ndb_replace.result:
  Merge
sql/ha_ndbcluster.cc:
  Merge
2006-06-21 09:42:15 +02:00
unknown
aedbb330c8 Fix for Bug #19906 REPLACE doesn't update TEXT fields correctly 2006-06-21 09:36:50 +02:00
unknown
7d3f1e7a23 add event_timed.h also to the distribution 2006-06-21 08:58:56 +02:00
unknown
59de72a2bf Merge jamppa@bk-internal.mysql.com:/home/bk/mysql-5.0
into  a193-229-222-105.elisa-laajakaista.fi:/home/jani/mysql-5.0
2006-06-21 02:37:25 +03:00
unknown
72cb1d5049 Fix for Bug#18246 "compilation error with tcp_wrapper"
sql/mysqld.cc:
  Fix for Bug#18246 "compilation error with tcp_wrapper"
  
  Added wrapper functions.
2006-06-21 02:23:18 +03:00
unknown
2346733139 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into moonbone.local:/work/tmp_merge-5.0-opt-mysql


mysql-test/r/insert_select.result:
  Auto merged
mysql-test/t/insert_select.test:
  Auto merged
sql/sql_select.cc:
  Auto merged
2006-06-21 02:21:11 +04:00
unknown
0baf2087a2 Remove deadcode in select_dumpvar::send_data() 2006-06-21 02:21:10 +04:00
unknown
e9452db1c1 Fix for bug#19634 "Re-execution of multi-delete which involve trigger/stored
function crashes server".

Attempts to execute prepared multi-delete statement which involved trigger or
stored function caused server crashes (the same happened for such statements
included in stored procedures in cases when one tried to execute them more
than once).

The problem was caused by yet another incorrect usage of check_table_access()
routine (the latter assumes that table list which it gets as argument
corresponds to value LEX::query_tables_own_last). We solve this problem by
juggling with LEX::query_tables_own_last value when we call
check_table_access() for LEX::auxilliary_table_list (better solution is too
intrusive and should be done in 5.1).


mysql-test/r/sp-prelocking.result:
  Added test for bug#19634 "Re-execution of multi-delete which involve trigger/
  stored function crashes server".
mysql-test/t/sp-prelocking.test:
  Added test for bug#19634 "Re-execution of multi-delete which involve trigger/
  stored function crashes server".
sql/sql_parse.cc:
  To call safely check_table_access() for LEX::auxilliary_table_list we have
  to juggle with LEX::query_tables_own_last value.
2006-06-21 01:50:20 +04:00
unknown
406a7ba992 field.cc, field.h:
Additional fix for #16377 for bigendian platforms
sql_select.cc, select.result, select.test:
  After merge fix


mysql-test/t/select.test:
  After merge fix
mysql-test/r/select.result:
  After merge fix
sql/sql_select.cc:
  After merge fix
sql/field.h:
  Additional fix for #16377 for bigendian platforms
sql/field.cc:
  Additional fix for #16377 for bigendian platforms
2006-06-21 01:14:53 +04:00
unknown
5805bba62c Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0
into moonbone.local:/work/tmp_merge-5.0-opt-mysql
2006-06-21 01:10:59 +04:00
unknown
9fc2ade279 Merge dator5.(none):/home/pappa/clean-mysql-5.1
into  dator5.(none):/home/pappa/bug17138


sql/sql_update.cc:
  Auto merged
2006-06-20 16:59:51 -04:00
unknown
897810e961 BUG#17138: Crash in stored procedure after fatal error that wasn't a real fatal error
sql/handler.h:
  Handle HA_ERR_FOUND_DUPP_KEY and HA_ERR_FOUND_DUPP_UNIQUE similarly
sql/item_sum.cc:
  fix
sql/sql_select.cc:
  fix
2006-06-20 16:52:40 -04:00
unknown
68d4c991e1 Merge dator5.(none):/home/pappa/bug16000
into  dator5.(none):/home/pappa/bug19281


mysql-test/t/partition_mgm.test:
  Auto merged
2006-06-20 16:43:25 -04:00
unknown
7f272a495f Merge dator5.(none):/home/pappa/clean-mysql-5.1
into  dator5.(none):/home/pappa/bug16000
2006-06-20 16:07:55 -04:00
unknown
b6a416ff26 Manually merged
mysql-test/t/select.test:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
2006-06-20 23:22:51 +04:00
unknown
b5e4391142 Merge dator5.(none):/home/pappa/bug19309
into  dator5.(none):/home/pappa/bug19281
2006-06-20 15:18:16 -04:00
unknown
5efea6a0a0 Merge dator5.(none):/home/pappa/clean-mysql-5.1
into  dator5.(none):/home/pappa/bug19309


sql/sql_table.cc:
  Auto merged
mysql-test/r/partition.result:
  manual merge
mysql-test/t/partition.test:
  manual merge
2006-06-20 15:13:44 -04:00
unknown
d73b5b68df Merge dator5.(none):/home/pappa/clean-mysql-5.1
into  dator5.(none):/home/pappa/bug19281
2006-06-20 15:09:48 -04:00
unknown
3e7d68b11c select.result:
Added test case for bug#18759 Incorrect string to numeric conversion.  
select.test:
  Added test case for bug#18759 Incorrect string to numeric conversion.
item_cmpfunc.cc:
  Cleanup after fix for bug#18360 removal


sql/item_cmpfunc.cc:
  Cleanup after fix for bug#18360 removal
mysql-test/t/select.test:
  Added test case for bug#18759 Incorrect string to numeric conversion.
mysql-test/r/select.result:
  Added test case for bug#18759 Incorrect string to numeric conversion.
2006-06-20 23:05:55 +04:00
unknown
dad508ea1a Bug#19437 (Connection refused by server: "2002 Can't connect... /master.sock"):
Clearing active VIO before calling mysql_close() in the slave I/O
thread. 


sql/slave.cc:
  Clearing active VIO before calling mysql_close() in the slave I/O thread.
2006-06-20 20:46:45 +02:00
unknown
4d3803f0ed Manually merged
mysql-test/r/insert_select.result:
  Auto merged
mysql-test/t/insert_select.test:
  Auto merged
2006-06-20 22:22:14 +04:00
unknown
b250722087 Applying patch from SergeyV
Fixes bug#17264, for alter table on win32 for successfull operation completion
it is used TL_WRITE(=10) lock instead of TL_WRITE_ALLOW_READ(=6), however here
in innodb handler TL_WRTIE is lifted to TL_WRITE_ALLOW_WRITE, which causes
race condition when several clients do alter table simultaneously.


mysql-test/r/lock_multi.result:
  Test case for bug#17264.
mysql-test/t/lock_multi.test:
  Test case for bug#17264
2006-06-20 13:43:13 -04:00
unknown
3d04972974 BUG#16000: .par file not removed plus errors to error log for normal errors
sql/table.cc:
  Remove error printouts when error occurs during open frm as part of
  CREATE/ALTER TABLE
sql/unireg.cc:
  Ensure .par file is removed after error
2006-06-20 13:24:30 -04:00
unknown
4ea947bf91 Merge bk-internal.mysql.com:/data0/bk/mysql-5.1
into  bk-internal.mysql.com:/data0/bk/mysql-5.1-kt


sql/mysqld.cc:
  Auto merged
sql/sql_lex.cc:
  Auto merged
2006-06-20 18:06:22 +02:00
unknown
d898972dc0 manual merge
BitKeeper/etc/ignore:
  auto-union
libmysqld/Makefile.am:
  Auto merged
sql/Makefile.am:
  Auto merged
sql/events.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_db.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
sql/time.cc:
  Auto merged
2006-06-20 17:14:36 +02:00
unknown
7daf362e24 forgot to event_timed.h
STRING_WITH_LEN -> C_STRING_WITH_LEN


sql/time.cc:
  use C_STRING_WITH_LEN
2006-06-20 17:05:41 +02:00
unknown
46845cf357 Merge mysql.com:/home/alik/MySQL/devel/5.0-to-be-merged
into  mysql.com:/home/alik/MySQL/devel/5.1-merged


BitKeeper/deleted/.del-im_life_cycle-im.opt:
  Delete: mysql-test/t/im_life_cycle-im.opt
BitKeeper/deleted/.del-im_utils-im.opt:
  Delete: mysql-test/t/im_utils-im.opt
mysql-test/lib/mtr_process.pl:
  Auto merged
mysql-test/mysql-test-run.pl:
  Auto merged
mysql-test/r/im_daemon_life_cycle.result:
  Auto merged
mysql-test/r/im_utils.result:
  Auto merged
mysql-test/r/trigger.result:
  Auto merged
mysql-test/t/im_daemon_life_cycle-im.opt:
  Auto merged
mysql-test/t/trigger.test:
  Auto merged
server-tools/instance-manager/instance_map.cc:
  Auto merged
mysql-test/r/im_life_cycle.result:
  Manually merged.
mysql-test/r/insert.result:
  Manually merged.
mysql-test/t/im_daemon_life_cycle.imtest:
  Manually merged.
mysql-test/t/im_life_cycle.imtest:
  Manually merged.
mysql-test/t/im_utils.imtest:
  Manually merged.
mysql-test/t/insert.test:
  Manually merged.
server-tools/instance-manager/guardian.cc:
  Manually merged.
server-tools/instance-manager/manager.cc:
  Manually merged.
sql/sql_insert.cc:
  Manually merged.
2006-06-20 18:28:28 +04:00
unknown
df09526a0b Merge dator5.(none):/home/pappa/clean-mysql-5.1
into  dator5.(none):/home/pappa/bug19281


sql/ha_partition.cc:
  Auto merged
2006-06-20 10:08:30 -04:00
unknown
a70567c1cf Merge dator5.(none):/home/pappa/clean-mysql-5.1
into  dator5.(none):/home/pappa/bug17138
2006-06-20 08:53:12 -04:00
unknown
32d4a36069 Merge bk-internal.mysql.com:/data0/bk/mysql-5.1
into  bk-internal.mysql.com:/data0/bk/mysql-5.1-kt


sql/mysqld.cc:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
2006-06-20 14:51:32 +02:00
unknown
c072416c47 bug #19672 (paths in embedded server are trucated in error messages)
It fact, filenames are truncated in normal server as well, just we
get bigger filenames in embedded server tests, but that can potentially
get some problems in both cases.
I modified file-related error messages to allow longer filenames


sql/share/errmsg.txt:
  error messages fixed to keep longer filenames uncut
2006-06-20 17:06:35 +05:00
unknown
89fc7fdb05 Merge may.pils.ru:/home/svoj/devel/mysql/BUG18036/mysql-5.0
into  may.pils.ru:/home/svoj/devel/mysql/BUG18036/mysql-5.1


configure.in:
  Auto merged
include/my_global.h:
  Auto merged
mysql-test/mysql-test-run.pl:
  Auto merged
mysql-test/r/myisam.result:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
tests/mysql_client_test.c:
  Auto merged
mysql-test/t/myisam.test:
  Manual merge.
2006-06-20 16:45:51 +05:00
unknown
739248f9c7 item_cmpfunc.cc:
After merge fix


sql/item_cmpfunc.cc:
  After merge fix
2006-06-20 15:40:10 +04:00
unknown
f3a56a17da SHOW STATUS does not anymore change local status variables (except com_show_status). Global status variables are still updated.
SHOW STATUS are not anymore put in slow query log because of no index usage.

Implemntation done by removing orig_sql_command and moving logic of SHOW STATUS to mysql_excute_command()
This simplifies code and allows us to remove some if statements all over the code.

Upgraded uc_update_queries[] to sql_command_flags and added more bitmaps to better categorize commands.
This allowed some overall simplifaction when testing sql_command.

Fixes bugs:
Bug#10210: running SHOW STATUS increments counters it shouldn't
Bug#19764: SHOW commands end up in the slow log as table scans


mysql-test/r/grant_cache.result:
  Fixed results after SHOW STATUS doesn't anymore affect status variables
mysql-test/r/information_schema.result:
  Added extra test to cover more code
mysql-test/r/query_cache.result:
  Remove resuts from previous tests
mysql-test/r/status.result:
  Added more tests for testing of last_query_cost and how SHOW STATUS affects status variables.
  (Bug#10210)
mysql-test/r/temp_table.result:
  Fixed results after SHOW STATUS doesn't anymore affect status variables
mysql-test/r/union.result:
  Fixed results after SHOW STATUS is not logged to slow query log
  (Bug#19764)
mysql-test/t/events_microsec.test:
  Disable warnings at init
mysql-test/t/information_schema.test:
  Added extra test to cover more code
mysql-test/t/query_cache.test:
  Remove resuts from previous tests
mysql-test/t/status.test:
  Added more tests for testing of last_query_cost and how SHOW STATUS affects status variables.
  (Bug #10210)
sql/mysql_priv.h:
  Added 'sql_command_flags'
sql/sql_class.cc:
  New function add_diff_to_status(), used to update global status variables when using SHOW STATUS
sql/sql_class.h:
  New function 'fill_information_schema_tables()'
  (One could not anymore use fill_derived_tables() for this as only_view_structures() is not relevant for information schema tables)
  Added defines for bit flags in sql_command_flags[]
sql/sql_lex.cc:
  Remove orig_sql_command
sql/sql_lex.h:
  Remove orig_sql_command
sql/sql_parse.cc:
  Rename uc_update_queries -> sql_command_flags.
  Enhanced 'sql_command_flags' to better classify SQL commands
  uc_update_queries[] != 0 is changed to (sql_command_flags[] & CF_CHANGES_DATA)
  lex->orig_sql_command == SQLCOM_END is changed to (sql_command_flags[lex->sql_command] & CF_STATUS_COMMAND) == 0)
  
  Simplify incrementing of thd->status_var.com_stat[] as we don't have to do special handling for SHOW commands.
  
  Split SQLCOM_SELECT handling in mysql_execute_command() to a separate function.
  Added special handling of SHOW STATUS commands in mysql_execute_command() and call common SQLCOM_SELECT handling.
  These changes allows us to easily fix that we save and restore status variables during execution of a SHOW STATUS command.
  Don't log SHOW STATUS commands to slow query log.
  
  This fixes Bug#10210 and Bug#19764 without adding additional 'if' code.
  (The new code is faster than the original as we now have fewer if's than before)
sql/sql_prepare.cc:
  Clean up prepare-check handling of SQLCOM commands by using sql_command_flags[]
  This simplifes code and ensures that code works even if someone forgets to put a new status commands into the switch statement.
sql/sql_select.cc:
  Remove special handling of SHOW STATUS.
  (This is now done in SQLCOM_SHOW_STATUS part in mysql_execute_command())
sql/sql_show.cc:
  Remove orig_sql_command
  Only change sql_command during 'open_normal_and_derived_tables()' (for views) and not for the full duration of generating data.
  Changed 'show status' to use thd->initial_status_var to ensure that the current statement is not affecting the to-be-used values.
  Use thd->fill_information_schema_tables() instead of 'thd->fill_derived_tables()' as the later wrongly checks the value of sql_command.
sql/sql_yacc.yy:
  Remove usage of orig_sql_command.
  One side effect of this is that we need to test for cursors if the current command is a SELECT or a SHOW command.
sql/structs.h:
  Updated comment
2006-06-20 13:20:32 +03:00
unknown
339deb0c07 Fix for BUG#20522 "RBR: CREATE TEMPORARY TABLE SELECT writes to binlog
though unneeded". It's indeed unneeded, as slave is only interested in
permanent tables, and permanent tables don't depend on temporary tables
when in row-based binlogging mode. And other CREATE TEMPORARY TABLE
(referring no table or with LIKE) already don't write the CREATE to
binlog in row-based mode. 


mysql-test/r/rpl_row_create_table.result:
  result update (note that no lines appear in SHOW BINLOG EVENTS further below, which is how we
  see the bug is fixed)
mysql-test/t/rpl_row_create_table.test:
  testing if a CREATE TEMPORARY TABLE SELECT goes to binlog (it should not)
  when in row-based binlogging mode. A few lines after, there is a SHOW
  BINLOG EVENTS; before the bugfix it showed the CREATE TEMPORARY TABLE.
sql/sql_class.h:
  a method to access select_create::create_info from outside of select_create
  ("read-only" access). Making get_thd() "read-only" too.
sql/sql_insert.cc:
  The function (hook) which writes CREATE TABLE to binlog when in row-based
  binlogging mode, for CREATE TABLE SELECT, now does nothing if the table
  is temporary (as in row-based mode, temp tables are not replicated).
  This is consistent with CREATE TEMPORARY TABLE LIKE and
  CREATE TEMPORARY TABLE, which don't write any CREATE to binlog in row-based
  mode.
2006-06-20 10:40:36 +02:00
unknown
7751eeaf3c wrong merge of bug9676 from 4.1 to 5.0 corrected 2006-06-20 11:28:59 +03:00
unknown
c361f3c6d4 Merge dator5.(none):/home/pappa/clean-mysql-5.1
into  dator5.(none):/home/pappa/bug17138


mysql-test/t/partition.test:
  Auto merged
sql/handler.h:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
2006-06-19 22:52:31 -04:00
unknown
7ac2e509cc Fixes 2006-06-19 22:49:00 -04:00
unknown
d90d673daf BUG#17138: Error in stored procedure due to fatal error when not really
a fatal error. New handling of ignore error in place.


mysql-test/t/partition.test:
  New test case
sql/ha_ndbcluster.h:
  New handler method to check if error can be ignored
sql/ha_partition.h:
  New handler method to check if error can be ignored
sql/handler.h:
  New handler method to check if error can be ignored
sql/sql_acl.cc:
  Use new handler method
sql/sql_insert.cc:
  Use new handler method
sql/sql_table.cc:
  Use new handler method
sql/sql_union.cc:
  Use new handler method
sql/sql_update.cc:
  Use new handler method
2006-06-19 20:56:50 -04:00
unknown
846c46ea4d Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-4.1-opt
into moonbone.local:/work/tmp_merge-4.1-opt-mysql
2006-06-20 02:04:36 +04:00
unknown
495c6b13d1 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-4.1
into moonbone.local:/work/tmp_merge-4.1-opt-mysql
2006-06-20 01:56:33 +04:00
unknown
0c4182bc46 Merge
mysql-test/t/func_in.test:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
mysql-test/r/func_in.result:
  SCCS merged
2006-06-20 00:52:26 +04:00
unknown
028fa1e454 item_cmpfunc.cc, func_in.result, func_in.test:
Reverted fix for bug#18360


mysql-test/t/func_in.test:
  Reverted fix for bug#18360
mysql-test/r/func_in.result:
  Reverted fix for bug#18360
sql/item_cmpfunc.cc:
  Reverted fix for bug#18360
2006-06-20 00:50:09 +04:00