1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-11 15:22:09 +03:00
Commit Graph

22189 Commits

Author SHA1 Message Date
99c0b5e10f Bug #34909: mysqldump returns a 0 status on error when using
--master-data

No error code was returned by mysqldump if it detects that binary
logging is not enabled on the server.
Fixed by returning error code.


client/mysqldump.c:
  Bug #34909: add error code
mysql-test/r/mysqldump-no-binlog.result:
  Bug #34909: test case
mysql-test/t/mysqldump-no-binlog-master.opt:
  Bug #34909: test case
mysql-test/t/mysqldump-no-binlog.test:
  Bug #34909: test case
2008-03-07 11:15:49 +02:00
b2a68038ce Bug#28269: FEDERATED engine fails to quote reserved words for \
field names

Add a test that proves the bug is fixed.  This doesn't add any
new server code.


mysql-test/r/federated.result:
  Verifying that one can use federated with keyword and bizarre 
  column names.
mysql-test/t/federated.test:
  Verifying that one can use federated with keyword and bizarre 
  column names.
  
  Eval interprets one level of backslash escaping, so some of this 
  may look strange.
2008-03-06 14:07:49 -05:00
43f15ec126 Merge mysql1000.(none):/home/andrei/MySQL/FIXES/5.1/bug22234-Extra_Slave_Col_Slave_should_stop_on_Error_Field
into  mysql1000.(none):/home/andrei/MySQL/MERGE/5.1


sql/log_event.cc:
  manual merge
2008-03-06 20:35:59 +02:00
b8bf43d59d Merge mysql1000.(none):/home/andrei/MySQL/FIXES/5.1/bug28780_report_host_no_show
into  mysql1000.(none):/home/andrei/MySQL/MERGE/5.1


sql/set_var.cc:
  Auto merged
2008-03-06 20:33:29 +02:00
9526a24b2f Bug #22234 Extra Slave Col: Slave should stop on Error Field d of table
There was a failure in that show slave status displayed a wrong message
when slave stopped at processing a row event inserting to a default-less
column.

The problem seem to have ceased after recent fixes in rbr code.
However, the test was not updated to carry testing of the case commented-out.

Uncommenting and editing the test.
Notice, Bug#23907 is most probably a duplicate of this one.


mysql-test/extra/rpl_tests/rpl_extraSlave_Col.test:
  uncommenting the test that previously failed.
mysql-test/suite/rpl/r/rpl_extraCol_innodb.result:
  results changed due to the correct expected error message of an added test
  is displayed.
mysql-test/suite/rpl/r/rpl_extraCol_myisam.result:
  results changed to reflect the test changes
mysql-test/suite/rpl_ndb/r/rpl_ndb_extraCol.result:
  results changed to reflect the uncommented test
sql/log_event.cc:
  correcting of a merge with bug#12713 to use the correct object holding
  the error code.
2008-03-06 20:32:47 +02:00
8270d9875f Fix for bug #34512: CAST( AVG( double ) AS DECIMAL )
returns wrong results

Casting AVG() to DECIMAL led to incorrect results when the arguments
had a non-DECIMAL type, because in this case
Item_sum_avg::val_decimal() performed the division by the number of
arguments twice.

Fixed by changing Item_sum_avg::val_decimal() to not rely on
Item_sum_sum::val_decimal(), i.e. calculate sum and divide using
DECIMAL arithmetics for DECIMAL arguments, and utilize val_real() with
subsequent conversion to DECIMAL otherwise.


mysql-test/r/func_group.result:
  Added a test case for bug #34512.
mysql-test/t/func_group.test:
  Added a test case for bug #34512.
sql/item_sum.cc:
  Do not use Item_sum_sum::val_decimal() in Item_sum_avg::val_decimal()
  because the first one, depending on the arguments type, may return
  either the sum of the arguments, or the average calculated by the
  virtual val_real() method of Item_sum_avg. Instead, do our own
  calculation based on the arguments type.
2008-03-06 18:19:47 +03:00
04c5af1802 Bug#26622 MASTER_POS_WAIT does not work as documented
MASTER_POS_WAIT return values are different than expected when the server is not a slave. 
It returns -1 instead of NULL.

Fixed with correcting  st_relay_log_info::wait_for_pos() to return the proper
value in the case of rli info is not inited.


mysql-test/r/rpl_master_pos_wait.result:
  results changed
mysql-test/t/rpl_master_pos_wait.test:
  the new test to check that select master_pos_wait() to a server does 
  not have master info returns NULL as specified.
sql/slave.cc:
  changing the return value to correspond the specification.
2008-03-06 14:49:21 +02:00
c184cd6320 Bug#25132 disabled query cache: Qcache_free_blocks = 1
The initial value of free memory blocks in 0. When the query cache is enabled 
a new memory block gets allocated and is assigned number 1. The free memory
block is later split each time query cache memory is allocated for new blocks.
This means that the free memory block counter won't be reduced to zero when
the number of allocated blocks are zero, but rather one. To avoid confusion
this patch changes this behavior so that the free memory block counter is
reset to zero when the query cache is disabled.
Note that when the query cache is enabled and resized the free memory block
counter was still calculated correctly.


mysql-test/r/query_cache.result:
  test case
mysql-test/t/query_cache.test:
  test case
sql/sql_cache.cc:
  Restore the memory block count to 0 for consistency.
2008-03-06 12:40:46 +01:00
c0223de9bb Merge bk-internal:/home/bk/mysql-5.1-rpl
into  pilot.mysql.com:/data/msvensson/mysql/mysql-5.1-rpl


client/mysqltest.c:
  Auto merged
mysql-test/t/disabled.def:
  Auto merged
2008-03-06 08:39:23 +01:00
f2c9483dd5 additional test fixes for bug 27580 2008-03-06 09:58:49 +04:00
89fb97c500 Merge mysql.com:/home/bar/mysql-work/mysql-5.0.b27580
into  mysql.com:/home/bar/mysql-work/mysql-5.0.b27580v2


mysql-test/r/ctype_ucs.result:
  Auto merged
mysql-test/t/ctype_ucs.test:
  Auto merged
mysql-test/include/ctype_common.inc:
  after merge fix
mysql-test/r/ctype_big5.result:
  after merge fix
mysql-test/r/ctype_euckr.result:
  after merge fix
mysql-test/r/ctype_gb2312.result:
  after merge fix
mysql-test/r/ctype_gbk.result:
  after merge fix
mysql-test/r/ctype_uca.result:
  after merge fix
2008-03-06 08:41:05 +04:00
f6d51ae79f Merge zippy.cornsilk.net:/home/cmiller/work/mysql/bug#33464/my51-bug#33464
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-build


mysql-test/r/grant.result:
  Auto merged
mysql-test/t/grant.test:
  Auto merged
2008-03-05 14:22:52 -05:00
2eb6790870 Move test that has more to do with grants than DROP. We shouldn't have
grant warnings on embedded server.


mysql-test/r/drop.result:
  Move test that has more to do with grants than DROP.
mysql-test/r/grant.result:
  Move test that has more to do with grants than DROP.
mysql-test/t/drop.test:
  Move test that has more to do with grants than DROP.
mysql-test/t/grant.test:
  Move test that has more to do with grants than DROP.
2008-03-05 14:18:35 -05:00
97fc693147 Merge zippy.cornsilk.net:/home/cmiller/work/mysql/bug#33464/my51-bug#33464
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-build


sql/sql_acl.cc:
  Auto merged
2008-03-05 09:42:16 -05:00
2b7dda9e9d Bug#33464: DROP FUNCTION caused a crash
The cause of the crash is an assertion failure that we do not emit 
an error message (grant not found) and then return "ok".  The 
assertion is valid, and we were ignoring the buggy behavior prior 
to the "Diagnostics" result-verification.

Use an error handler to mutate innocuous missing-grant errors, when 
removing routines, into warnings.


mysql-test/r/drop.result:
  Show that the crash disappears.  Also prepare for the larger bug to
  be fixed with only minor changes to this test.
mysql-test/t/drop.test:
  Show that the crash disappears.  Also prepare for the larger bug to
  be fixed with only minor changes to this test.
sql/sql_acl.cc:
  Disable a segment of code that makes a faulty assumption
  about the existence of a routine's defining user, until that 
  assumption becomes true.
  
  Push a new handler onto the error-handler stack, so that when 
  removing a routine, a missing ACL grant is now a warning
  instead of an error.  If any unexpected error is raised then tell
  the caller.
2008-03-05 09:33:32 -05:00
41a80039b6 Adding missing drop of view last in test.
mysql-test/suite/binlog/r/binlog_unsafe.result:
  Result change.
mysql-test/suite/binlog/t/binlog_unsafe.test:
  Dropping view created in test.
2008-03-05 14:45:40 +01:00
cc3bf06878 Updating result file.
mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result:
  Result file change.
2008-03-05 13:59:32 +01:00
657ef27076 Bug #28780 report_host is not available through SELECT @@report_host
There was no way to see if report-{host,port,user,password} were set up.

Fixed with introducing new global variables.
The variables are made read-only because of a possible need to change them
most probably require the slave server restart.

Todo: transform the startup options to be CHANGE master parameters - i.e
to deprecate `report-' options, and to change the new vars 
to be updatable at time of CHANGE master executes with new
values.


sql/set_var.cc:
  Adding associations of the server init arguments with the new global read-only
  variables.
mysql-test/suite/rpl/r/rpl_report.result:
  new results file
mysql-test/suite/rpl/t/rpl_report-slave.opt:
  options initialize the new global variables.
mysql-test/suite/rpl/t/rpl_report.test:
  The new test to check SHOW-ability and SELECT-ablity for the report
  global vars.
2008-03-05 12:25:55 +02:00
00ee3b4594 Merge trift2.:/MySQL/M51/mysql-5.1
into  trift2.:/MySQL/M51/push-5.1


configure.in:
  Auto merged
2008-03-05 10:28:41 +01:00
d9833dc41f Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.1
into  dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl


mysql-test/r/mysqldump.result:
  Auto merged
mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result:
  Auto merged
mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result:
  Auto merged
mysql-test/t/mysqldump.test:
  Auto merged
sql/log.cc:
  Auto merged
sql/slave.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/handler.cc:
  Manual merge.
sql/sql_update.cc:
  Manual merge.
2008-03-05 10:16:20 +01:00
d20bfbbef6 Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.0
into  dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rpl
2008-03-05 09:42:26 +01:00
0769fe5590 Use the same name for mysql_client_test output file in all branches.
mysql-test/t/mysql_client_test.test:
  Rename mysql_client_test output file to mysql_client_test.out.log
2008-03-04 10:32:30 -03:00
0fa2ee981b Bug#35009 Results of mysql_client_test are discarded upon failure
It's impossible to determine which test inside mysql_client_test
failed if the log file is overwritten by mysqltest when dumping
the test case results. Redirect mysql_client_test output to a
separate file.


mysql-test/t/mysql_client_test.test:
  Redirect mysql_client_test output to a separate log file so
  it doesn't get overwritten by mysqltest.
2008-03-04 10:17:49 -03:00
45eab6d350 Merge mkindahl@bk-internal.mysql.com:/home/bk/mysql-5.1-new-rpl
into  dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl
2008-03-04 13:44:54 +01:00
adeac5cabe Adding code to ignore warning from error log.
mysql-test/lib/mtr_report.pl:
  Filtering out benign warning that can be generated during server shutdown.
2008-03-04 13:21:15 +01:00
cd9f2d1c28 BUG#34945: "ref_or_null queries that are null_rejecting and have a null value crash mysql"
- Apply Eric Bergen's patch: in join_read_always_key(), move ha_index_init() call
  to before the late NULLs filtering code.
- Backport function comments from 6.0.


mysql-test/r/null_key.result:
  BUG#34945: "ref_or_null queries that are null_rejecting and have a null value crash mysql"
  - Testcase
mysql-test/t/null_key.test:
  BUG#34945: "ref_or_null queries that are null_rejecting and have a null value crash mysql"
  - Testcase
sql/sql_select.cc:
  BUG#34945: "ref_or_null queries that are null_rejecting and have a null value crash mysql"
  - Apply Eric Bergen's patch: in join_read_always_key(), move ha_index_init() call
    to before the late NULLs filtering code.
  - Backport function comments from 6.0
2008-03-03 20:35:44 +03:00
28dc3ac696 fixed test case problem on win
mysql-test/r/partition.result:
  the test is moved to 'partition_not_windows' test case
mysql-test/r/partition_not_windows.result:
  the test is moved from 'partition' test case
mysql-test/t/partition.test:
  the test is moved to 'partition_not_windows' test case
mysql-test/t/partition_not_windows.test:
  the test is moved from 'partition' test case
2008-03-03 20:29:58 +04:00
40eef79f9d As result of WL#4204 all charset tests are now disabled. 2008-03-03 15:58:56 +01:00
6153c248cf Bug#34995 mysql-test-run doesn't allow client lib/binary selection
mysql-test/mysql-test-run.pl:
  Add support for spcifying --client-libdir=s and --client-bindir=s
2008-03-03 12:47:05 +01:00
8a176c559b test case fix
mysql-test/r/partition.result:
  the test is moved to 'partition_not_windows' test
mysql-test/r/partition_not_windows.result:
  the test is moved from 'partition' test
mysql-test/t/partition.test:
  the test is moved to 'partition_not_windows' test
mysql-test/t/partition_not_windows.test:
  the test is moved from 'partition' test
2008-03-03 15:38:18 +04:00
2cb35cd680 test case fix 2008-03-03 15:02:34 +04:00
f7458e075d Bug #32801 wait_timeout.test fails randomly
wait_timeout test enabled


mysql-test/t/disabled.def:
  Bug #32801 wait_timeout.test fails randomly
  
  wait_timeout enabled
2008-03-03 12:16:43 +04:00
9ffaa74535 Bug#22438
mysql-test/r/mysqldump.result:
  updated result
mysql-test/t/mysqldump.test:
  hide master_log_pos number
2008-03-02 21:20:36 +03:00
6c0d316d16 WL#4091, fix for rpl_flushlog_loop for windows platforms
mysql-test/suite/rpl/t/rpl_flushlog_loop.test:
  added waiting for CREATE TABLE
2008-03-02 20:17:39 +03:00
ee10d69714 WL#4091, enable rpl_flushlog_loop.test and fix for rpl_drop_temp.test
mysql-test/suite/rpl/t/disabled.def:
  enable test
mysql-test/suite/rpl/t/rpl_drop_temp.test:
  added sync slave with master
mysql-test/suite/rpl/t/rpl_flushlog_loop.test:
  added sync slave with master
2008-03-01 00:05:23 +03:00
f39817ce47 fixed problem with embedded server
mysql-test/r/symlink.result:
  test result fix
2008-02-29 17:58:35 +04:00
1ed34fed33 Bug#23924 general_log truncates queries with character set introducers.
Problem: logging of utf8-incompatible binary strings didn't work
Fix: hex-encoding of incompatible sequences.


mysql-test/r/log_tables.result:
  Adding test
mysql-test/t/log_tables.test:
  Adding test
sql/field.cc:
  Copying with hex escaping
sql/field.h:
  New field flag
sql/log.cc:
  Marking the column "general_log.argument" as hex-escaping field.
sql/sql_string.cc:
  New function to copy strings with hex-encoding of incompatible characters.
sql/sql_string.h:
  Prototype for the new function
2008-02-29 17:56:50 +04:00
4460f5a5b1 Merge mysql.com:/home/gluh/MySQL/Merge/4.1-opt
into  mysql.com:/home/gluh/MySQL/Merge/5.0-opt


mysql-test/t/symlink.test:
  Auto merged
mysql-test/r/symlink.result:
  after merge fix
2008-02-29 16:58:20 +04:00
be59a0ea7f test fix
mysql-test/r/symlink.result:
  result fix
2008-02-29 16:56:41 +04:00
fa9e35b48d after merge fix 2008-02-29 15:04:00 +04:00
8bdb243fd7 Merge mysql.com:/home/gluh/MySQL/Merge/4.1-opt
into  mysql.com:/home/gluh/MySQL/Merge/5.0-opt


sql/mysql_priv.h:
  Auto merged
mysql-test/r/symlink.result:
  manual merge
mysql-test/t/symlink.test:
  manual merge
sql/mysqld.cc:
  manual merge
sql/sql_parse.cc:
  manual merge
2008-02-29 14:05:38 +04:00
ab60425901 Bug#32167 another privilege bypass with DATA/INDEX DIRECORY(ver 4.1,5.0)
added new function test_if_data_home_dir() which checks that
path does not contain mysql data home directory.
Using of mysql data home directory in
DATA DIRECTORY & INDEX DIRECTORY is disallowed.


mysql-test/r/symlink.result:
  test result
mysql-test/t/symlink.test:
  test case
sql/mysql_priv.h:
  new variable mysql_unpacked_real_data_home
sql/mysqld.cc:
  new variable mysql_unpacked_real_data_home
sql/sql_parse.cc:
  added new function test_if_data_home_dir() which checks that
  path does not contain mysql data home directory.
  Using of mysql data home directory in
  DATA DIRECTORY & INDEX DIRECTORY is disallowed.
2008-02-29 13:55:00 +04:00
fa3fb2f6ca Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into  mysql.com:/home/gluh/MySQL/Merge/5.1-opt
2008-02-29 13:00:45 +04:00
88cb8bba27 additional test fix for Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY 2008-02-29 12:52:50 +04:00
05480a8863 Merge buzz.(none):/home/davi/mysql-5.0-runtime
into  buzz.(none):/home/davi/mysql-5.1-runtime


mysql-test/r/ps.result:
  Auto merged
mysql-test/t/limit.test:
  Auto merged
mysql-test/t/ps.test:
  Auto merged
sql/item.h:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/item.cc:
  Auto merged
mysql-test/suite/rpl/r/rpl_user_variables.result:
  Manual merge
mysql-test/suite/rpl/t/rpl_user_variables.test:
  Manual merge
sql/sql_yacc.yy:
  Manual merge
2008-02-28 20:22:50 -03:00
caf604282f Bug#32663, Bug#33045, Bug#23533, WL#4091
mysql-test/suite/binlog/r/binlog_multi_engine.result:
  updated result
mysql-test/suite/binlog/t/binlog_multi_engine.test:
  fix for bug#32663
mysql-test/suite/binlog/t/disabled.def:
  updated
mysql-test/suite/rpl/r/rpl_invoked_features.result:
  updated result
mysql-test/suite/rpl/t/disabled.def:
  updated
mysql-test/suite/rpl/t/rpl_invoked_features.test:
  fix for bug#33045
mysql-test/suite/bugs/r/rpl_bug23533.result:
  result file
mysql-test/suite/bugs/t/rpl_bug23533.test:
  test case for bug#23533
2008-02-29 00:50:15 +03:00
ee51eeb6de Merge host.loc:/home/uchum/work/PP/5.0-opt-34620
into  host.loc:/home/uchum/work/5.1-opt


mysql-test/r/row.result:
  Auto merged
sql/item.h:
  Auto merged
2008-02-28 23:01:22 +04:00
7f572871ad Merge host.loc:/home/uchum/work/PP/5.0-opt-34620
into  host.loc:/home/uchum/work/5.0-opt
2008-02-28 22:57:22 +04:00
d40ca16156 Fixed bug #34620: item_row.cc:50: Item_row::illegal_method_call(const char*):
Assertion `0' failed

If ROW item is a part of an expression that also has
aggregate function calls (COUNT/SUM/AVG...), a
"splitting" with an Item::split_sum_func2 function
is applied to that ROW item.
Current implementation of Item::split_sum_func2
replaces this Item_row with a newly created
Item_aggregate_ref reference to it.
Then the row cache tries to work with the
Item_aggregate_ref object as with the Item_row object:
row cache calls row-emulation methods such as cols and
element_index. Item_aggregate_ref (like it's parent
Item_ref) inherits dummy implementations of those
methods from the hierarchy root Item, and call to
them leads to failed assertions and wrong data
output.

Row-emulation virtual functions (cols, element_index, addr,
check_cols, null_inside and bring_value) of Item_ref have
been overloaded to forward calls to an underlying item
reference.




mysql-test/r/row.result:
  Added test case for bug #34620.
mysql-test/t/row.test:
  Added test case for bug #34620.
sql/item.h:
  Fixed bug #34620.
  Row-emulation virtual functions (cols, element_index, addr,
  check_cols, null_inside and bring_value) of Item_ref have
  been overloaded to forward calls to an underlying item
  reference.
2008-02-28 22:53:31 +04:00
1164e2bc7a Bug#33851 Passing UNSIGNED param to EXECUTE returns ERROR 1210
The problem is that passing anything other than a integer to a limit
clause in a prepared statement would fail. This limitation was introduced
to avoid replication problems (e.g: replicating the statement with a
string argument would cause a parse failure in the slave).

The solution is to convert arguments to the limit clause to a integer
value and use this converted value when persisting the query to the log.


mysql-test/r/limit.result:
  Update test case result.
mysql-test/r/ps.result:
  Add test case result for Bug#33851
mysql-test/r/rpl_user_variables.result:
  Test case result for replication of prepared statement with
  limit clause.
mysql-test/t/limit.test:
  Test parameters to limit clause.
mysql-test/t/ps.test:
  Add test case for Bug#33851
mysql-test/t/rpl_user_variables.test:
  Test replication of a parameter which value is converted.
sql/item.cc:
  Convert value to integer if it's a parameter to a limit clause.
sql/item.h:
  Flag signal that item is a parameter to a limit clause.
sql/item_func.cc:
  Const member functions, object is not mutated.
sql/sql_class.h:
  Const member functions, object is not mutated.
sql/sql_yacc.yy:
  Flag that item is a parameter to a limit clause.
2008-02-28 11:34:08 -03:00