1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-16 00:42:55 +03:00
Commit Graph

11615 Commits

Author SHA1 Message Date
5410627bce Merge ibm.:/home/alik/Documents/MySQL/devel/5.0
into  ibm.:/home/alik/Documents/MySQL/devel/5.0-rt-merged-5.0
2008-01-19 21:28:21 +03:00
35b035cfcb Merge mhansson@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  lamia.dupka:/home/mhansson/my50-bug33143-again-pushee
2008-01-18 22:45:14 +02:00
c71a6428d8 BUG#33794 "MySQL crashes executing specific query":
The problem occurred when one had a subquery that had an equality X=Y where 
Y referred to a named select list expression from the parent select. MySQL 
crashed when trying to use the X=Y equality for ref-based access. 

Fixed by allowing non-Item_field items in the described case.


mysql-test/r/subselect.result:
  BUG#33794 "MySQL crashes executing specific query"
  - Testcase
mysql-test/t/subselect.test:
  BUG#33794 "MySQL crashes executing specific query"
  - Testcase
sql/sql_select.cc:
  BUG#33794 "MySQL crashes executing specific query"
  get_store_key() assumed that if it got a reference
    t.key=Item_outer_ref(Item_direct_ref(x)) 
  then x was an Item_field object, which is not the case when one refers to a
  named select list expression out ot subquery.
2008-01-18 22:50:36 +03:00
a22d1bf622 Merge mhansson@bk-internal:/home/bk/mysql-5.0-opt
into  linux-st28.site:/home/martin/mysql/src/bug33143/my50-bug33143-again-pushee


sql/item_func.cc:
  Auto merged
mysql-test/r/type_decimal.result:
  Bug#33143: Manual merge
mysql-test/t/type_decimal.test:
  Bug#33143: Manual merge
2008-01-17 18:15:53 +01:00
f9440588f5 Bug#33143: Incorrect ORDER BY for ROUND()/TRUNCATE() result
The ROUND(X, D) function would change the Item::decimals field during
execution to achieve the effect of a dynamic number of decimal digits.
This caused a series of bugs:
Bug #30617:Round() function not working under some circumstances in InnoDB
Bug #33402:ROUND with decimal and non-constant cannot round to 0 decimal places
Bug #30889:filesort and order by with float/numeric crashes server
Fixed by never changing the number of shown digits for DECIMAL when
used with a nonconstant number of decimal digits.


mysql-test/r/type_decimal.result:
  Bug#33143: Test result
mysql-test/t/type_decimal.test:
  Bug#33143: Test case
sql/item_func.cc:
  Bug#33143: 
  - Moved the DECIMAL_MAX_SCALE limitation to fix_length_and_dec.
  - Removed resetting of Item::decimals field.
  - set the frac field of the output value to current scale.
strings/decimal.c:
  Bug#33143: It is necessary to set all digits in the buffer following the 
  rounded one to zero, as they may now be displayed.
2008-01-14 16:16:36 +01:00
ec25326975 Merge mhansson@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  lamia.dupka:/home/mhansson/my50-bug31797-pushee
2008-01-12 18:59:05 +02:00
7bd7e98812 Merge mhansson@bk-internal:/home/bk/mysql-5.0-opt
into  linux-st28.site:/home/martin/mysql/src/bug31797/my50-bug31797-pushee


sql/item.cc:
  Auto merged
mysql-test/r/group_by.result:
  Bug#31797: Manual merge
mysql-test/t/group_by.test:
  Bug#31797: Manual merge
2008-01-11 19:00:26 +01:00
df8e9fc234 Bug#31797: error while parsing subqueries -- WHERE is parsed as HAVING
The name resolution for correlated subqueries and HAVING clauses
failed to distinguish which of two was being performed when there 
was a reference to an outer aliased field.
Fixed by adding the condition that HAVING clause name resulotion
is being performed.


mysql-test/r/group_by.result:
  Bug#31797: Test result
mysql-test/t/group_by.test:
  Bug#31797: Test case
sql/item.cc:
  Bug#31797: 
  Corrected function comment.
  The fix, raising the error is restricted to HAVING name resolution.
2008-01-11 18:50:54 +01:00
72ebb0aada Bug#29477: Not all fields of the target table were checked to have a default
value when inserting into a view.

The mysql_prepare_insert function checks all fields of the target table that
directly or indirectly (through a view) are specified in the INSERT
statement to have a default value. This check can be skipped if the INSERT
statement doesn't mention any insert fields. In case of a view this allows
fields that aren't mentioned in the view to bypass the check.

Now fields of the target table are always checked to have a default value
when insert goes into a view.


mysql-test/t/view.test:
  Added a test case for the bug#29477: Not all fields of the target table were 
  checked to have a default value when inserting into a view.
mysql-test/r/view.result:
  Added a test case for the bug#29477: Not all fields of the target table were 
  checked to have a default value when inserting into a view.
sql/sql_insert.cc:
  Bug#29477: Not all fields of the target table were checked to have a default
  value when inserting into a view.
  Now fields of the target table are always checked to have a default value
  when insert goes into a view.
2008-01-11 20:10:54 +03:00
84762ce2cb Merge kaamos.(none):/data/src/mysql-5.0
into  kaamos.(none):/data/src/opt/mysql-5.0-opt


client/mysql.cc:
  Auto merged
2008-01-10 20:43:05 +03:00
da11be8106 Merge dev3-221.dev.cn.tlan:/home/ngb/mysql/mysql-5.0/mysql-5.0-ndb
into  dev3-221.dev.cn.tlan:/home/ngb/mysql/mysql-5.0/mysql-5.0-ndb-bj


mysql-test/r/view.result:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
2008-01-10 20:04:21 +08:00
7085583c51 Merge kaamos.(none):/data/src/opt/bug33305/my50-bug33305
into  kaamos.(none):/data/src/opt/mysql-5.0-opt
2008-01-10 13:45:11 +03:00
3dba2ea82a Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  moonbone.local:/work/33675-bug-5.0-opt-mysql
2008-01-09 23:19:46 +03:00
693f81f0f3 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B33133-5.0-opt


sql/sql_base.cc:
  Auto merged
2008-01-09 16:52:11 +02:00
06b68454ea Bug #33133: Views are not transparent
When resolving references we need to take into consideration
the view "fields" and allow qualified access to them.
Fixed by extending the reference resolution to process view
fields correctly.


mysql-test/r/func_group.result:
  Bug #33133: test case
mysql-test/t/func_group.test:
  Bug #33133: test case
sql/sql_base.cc:
  Bug #33133: allow qualified alias refs to view fields
2008-01-09 16:49:13 +02:00
64f02f7db4 Merge gni@bk-internal.mysql.com:/home/bk/mysql-5.0-ndb-bj
into  dev3-221.dev.cn.tlan:/home/ngb/mysql/mysql-5.0/bug29851


sql/ha_ndbcluster.cc:
  Auto merged
2008-01-09 11:17:50 +08:00
8845553a81 Bug#33675: Usage of an uninitialized memory by filesort in a subquery caused
server crash.

The filesort implementation has an optimization for subquery execution which
consists of reusing previously allocated buffers. In particular the call to
the read_buffpek_from_file function might be skipped when a big enough buffer
for buffer descriptors (buffpeks) is already allocated. Beside allocating
memory for buffpeks this function fills allocated buffer with data read from
disk. Skipping it might led to using an arbitrary memory as fields' data and
finally to a crash.

Now the read_buffpek_from_file function is always called. It allocates
new buffer only when necessary, but always fill it with correct data.


sql/filesort.cc:
  Bug#33675: Usage of an uninitialized memory by filesort in a subquery caused
  server crash.Now the read_buffpek_from_file function is always called. It allocates
  new buffer only when necessary, but always fill it with correct data.
mysql-test/r/subselect.result:
  Added a test case for the bug#33675: Usage of an uninitialized memory by
  filesort in a subquery caused server crash.
mysql-test/t/subselect.test:
  Added a test case for the bug#33675: Usage of an uninitialized memory by
  filesort in a subquery caused server crash.
2008-01-09 00:40:41 +03:00
4abbaf31df Post-merge fixes to make tests pass.
mysql-test/r/blackhole.result:
  Result change.
mysql-test/r/mysqlbinlog2.result:
  Result change.
mysql-test/t/blackhole.test:
  Fixing test to ignore file_id for exec_load_file events.
2008-01-08 22:22:40 +01:00
10b009d2bb Bug#29770 Two handlers are allowed to catch an error in an stored procedure.
Add test case.


mysql-test/r/sp.result:
  Add test case result for Bug#29770
mysql-test/t/sp.test:
  Add test case for Bug#29770
2008-01-08 18:43:25 -02:00
bbbb77770b Merge mail.hezx.com:/media/sda3/work/mysql/bkwork/bug#32205/5.0
into  mail.hezx.com:/media/sda3/work/mysql/bkwork/bug#32205/mysql-5.0-rpl
2008-01-06 15:39:46 +08:00
7c136ed959 Fixed some test case after push of BUG#32205
mysql-test/r/binlog_start_comment.result:
  Drop tables used in the test case when done
mysql-test/r/blackhole.result:
  Mask out file_id in show binlog events output
mysql-test/r/case.result:
  Drop table t2 too if it exists at the start of the test
mysql-test/t/blackhole.test:
  Mask out file_id in show binlog events output
mysql-test/t/case.test:
  Drop table t2 too if it exists at the start of the test
2008-01-06 15:27:42 +08:00
bd2a1ae07c Merge mail.hezx.com:/media/sda3/work/mysql/bkwork/bug#32205/5.0
into  mail.hezx.com:/media/sda3/work/mysql/bkwork/bug#32205/mysql-5.0-rpl
2008-01-06 13:20:52 +08:00
48c7c1268a Merge ramayana.hindu.god:/home/tsmith/m/bk/50
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/50


mysql-test/mysql-test-run.pl:
  Auto merged
2008-01-04 19:59:01 -07:00
8b15e4f37a Merge ssandberg@bk-internal.mysql.com:/home/bk/mysql-5.0-rpl
into  riska.(none):/home/sven/bk/b26395-autocommit-xa/5.0-rpl
2008-01-02 14:23:14 +01:00
bdad41bace Fix for bug #33305: Test case in 'skip_grants' file need dynamic loading
to be compiled in

The problem was that on a statically built server an attempt to create
a UDF resulted in a different, but reasonable error ("Can't open shared
library" instead of "UDFs are unavailable with the --skip-grant-tables
option"), which caused a failure for the test case for bug #32020.

Fixed by moving the test case for bug #32020 from skip_grants.test to a
separate test to ensure that it is only run when the server is built
with support for dynamically loaded libraries.


mysql-test/r/skip_grants.result:
  Moved the test case for bug #32020 to a separate test.
mysql-test/t/skip_grants.test:
  Moved the test case for bug #32020 to a separate test.
mysql-test/r/udf_skip_grants.result:
  Moved the test case for bug #32020 to a separate test.
mysql-test/t/udf_skip_grants-master.opt:
  Moved the test case for bug #32020 to a separate test.
mysql-test/t/udf_skip_grants.test:
  Moved the test case for bug #32020 to a separate test.
2007-12-24 17:42:13 +03:00
8be249064a Merge mail.hezx.com:/media/sda3/work/mysql/bkwork/bug#28908/5.0
into  mail.hezx.com:/media/sda3/work/mysql/bkwork/bug#28908/mysql-5.0-rpl
2007-12-24 11:08:39 +08:00
46bfdbcac0 bug#30435
changes due to non-determinism in value of read_buffer_size.


mysql-test/r/rpl_loaddata_map.result:
  results changed
mysql-test/t/rpl_loaddata_map.test:
  showing only the fact that the buffer size is larger than the packet size.
mysql-test/std_data/bug30435_10k_items.txt:
  data for bug#30435 regression testing
mysql-test/std_data/bug30435_5k.txt:
  data for bug#30435 regression testing
2007-12-23 11:18:46 +02:00
ff84f4047e bug#30435
refining the test after it failed on pb.


mysql-test/r/rpl_loaddata_map.result:
  results changed
mysql-test/t/rpl_loaddata_map.test:
  refining the test
2007-12-22 19:59:47 +02:00
ce187c0dc4 Merge aelkin@bk-internal.mysql.com:/home/bk/mysql-5.0-rpl
into  koti.dsl.inet.fi:/home/elkin/MySQL/TEAM/FIXES/5.0/bug33435-load_data_read_buffer_size


sql/sql_repl.cc:
  Auto merged
2007-12-21 22:37:10 +02:00
40d89c44ea BUG#30435 loading large LOAD DATA INFILE breaks slave with
read_buffer_size set on master
BUG#33413 show binlog events fails if binlog has event size of close
          to max_allowed_packet


The size of Append_block replication event was determined solely by
read_buffer_size whereas the rest of replication code deals with
max_allowed_packet.
When the former parameter was set to larger than the latter there were
two artifacts: the master could not read events from binlog;
show master events did not show.

Fixed with 
- fragmenting the used io-cached buffer into pieces each size of less
  than max_allowed_packet (bug#30435)
- incrementing show-binlog-events handling thread's max_allowed_packet
  with the max estimated for the replication header size


include/my_sys.h:
  accessor-macros added in order not to mess with the io cache's implementation
  details in code that merely exploits the io-cache.
sql/sql_repl.cc:
  BUG#33413: incrementing thd->variables.max_allowed_packet with 
  the max estimation for the replication header size (from bug#19402);
  refactoring log_loaded_block() to fragment the io_cache buffer in case
   read_buffer_size > max_allowed_packet.
mysql-test/r/rpl_loaddata_map.result:
  New BitKeeper file ``mysql-test/r/rpl_loaddata_map.result''
mysql-test/t/rpl_loaddata_map-master.opt:
  specific options to trigger  BUG#30435,  BUG#33413 situations
mysql-test/t/rpl_loaddata_map-slave.opt:
  max_allowed_packet to be compatible with the master's version.
mysql-test/t/rpl_loaddata_map.test:
  regression tests for two bugs.
2007-12-21 22:34:43 +02:00
b5d95f021f BUG#26395: if crash during autocommit update to transactional table on master, slave fails
Now, every transaction (including autocommit transactions) start with
a BEGIN and end with a COMMIT/ROLLBACK in the binlog.
Added a test case, and updated lots of test case result files.


mysql-test/t/rpl_transaction-master.opt:
  BitKeeper file /home/sven/bk/b26395-autocommit-xa/5.0-rpl/mysql-test/t/rpl_transaction-master.opt
mysql-test/t/rpl_transaction-slave.opt:
  BitKeeper file /home/sven/bk/b26395-autocommit-xa/5.0-rpl/mysql-test/t/rpl_transaction-slave.opt
mysql-test/r/mix_innodb_myisam_binlog.result:
  Updated result file
mysql-test/r/multi_update.result:
  Updated result file
mysql-test/r/rpl_transaction.result:
  New result file for new test case.
mysql-test/r/sp_trans_log.result:
  Updated result file
mysql-test/r/variables-big.result:
  Updated result file
mysql-test/t/rpl_transaction.test:
  New test case.
sql/log.cc:
   - Always write BEGIN and COMMIT around statements, even in autocommit
     mode.
   - Added comments for binlog_commit and binlog_rollback.
sql/log_event.cc:
  Added debug trigger to avoid writing xid events to the binlog.
2007-12-21 20:30:23 +01:00
76159fdfcc Merge mail.hezx.com:/media/sda3/work/mysql/bkroot/mysql-5.0-rpl
into  mail.hezx.com:/media/sda3/work/mysql/bkwork/bug#28908/5.0
2007-12-21 17:52:25 +08:00
9d7c0dda31 Merge capulet.kindahl.net:/home/mats/devel/b12691-mysql-5.0-rpl
into  capulet.kindahl.net:/home/mats/devel/fix-mysql-5.0-rpl
2007-12-21 07:52:07 +01:00
e2937d7f43 BUG#28908 Replication: set global server_id is not setting the session server_id
When set the server-id dynamically, the server_id member of current thread is not updated.

Update the server_id member of current thread after updated the global variable value.


sql/set_var.cc:
  Update server_id of current thread
mysql-test/r/rpl_server_id.result:
  Add test for BUG#28908
mysql-test/t/rpl_server_id.test:
  Add test for BUG#28908
2007-12-21 11:02:48 +08:00
150590a0bc BUG#12691 (Exec_master_log_pos corrupted with SQL_SLAVE_SKIP_COUNTER):
Complementary patch since LOAD DATA INFILE was not covered in
the previous patch.

This patch adds a check so that the slave skip counter is not
decreased to zero if seeing a BEGIN_LOAD_QUERY_EVENT,
APPEND_BLOCK_EVENT, or CREATE_FILE_EVENT since these cannot
end a group. The group is terminated by an EXECUTE_LOAD_QUERY_
EVENT or DELETE_FILE_EVENT.


mysql-test/r/rpl_slave_skip.result:
  Result change.
mysql-test/t/rpl_slave_skip.test:
  Adding tests to test that the first event of a LOAD DATA INFILE
  can be skipped safely for both transactional and non-transactional
  tables. Also include a case that will generate a DELETE_FILE event
  last in the group, and this should be properly skipped as well.
sql/slave.cc:
  Not decrementing slave skip counter to zero when seeing a
  BEGIN_LOAD_QUERY_EVENT, APPEND_BLOCK_EVENT, or CREATE_FILE_EVENT
  since these cannot end a group.
2007-12-20 16:07:54 +01:00
8ba2819f96 Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  mysql.com:/misc/mysql/31990/50-31990


mysql-test/r/cast.result:
  Auto merged
mysql-test/r/type_date.result:
  Auto merged
mysql-test/t/cast.test:
  Auto merged
sql/field.cc:
  Auto merged
sql/field.h:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql/item_timefunc.h:
  Auto merged
mysql-test/t/type_date.test:
  manual merge
2007-12-20 08:35:52 +01:00
154933ec02 correct invalid values in SET GLOBAL var=DEFAULT
bug#33382


mysql-test/r/variables.result:
  typo in a test case
mysql-test/t/variables.test:
  typo in a test case
sql/set_var.cc:
  correct invalid values in SET GLOBAL var=DEFAULT
2007-12-19 21:31:04 +01:00
5480cbd69e Merge mhansson@bk-internal:/home/bk/mysql-5.0-opt
into  linux-st28.site:/home/martin/mysql/src/bug32848/my50-bug32848


sql/field.cc:
  Auto merged
sql/field.h:
  Auto merged
sql/item.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
mysql-test/r/union.result:
  Bug#32848: Manual merge
mysql-test/t/union.test:
  Bug#32848: Manual merge
2007-12-19 15:59:05 +01:00
f216615633 Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rpl
into  dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rpl-merge


sql/sql_string.cc:
  Auto merged
2007-12-19 14:49:04 +01:00
55d284d424 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B19390-5.0-opt
2007-12-18 10:45:05 +02:00
024d783177 Fixed some test case for BUG#32205
mysql-test/r/binlog_start_comment.result:
  update result
mysql-test/r/mysqlbinlog2.result:
  Update result for BUG#32205
mysql-test/t/binlog_start_comment.test:
  Reset master at the start of test, use a file instead of a pipe, do clean up
2007-12-18 15:43:51 +08:00
6b5b44c677 Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb-merge
2007-12-18 07:13:59 +01:00
3e61561a9a Bug #19390: Test 'rpl_trigger' fails, might be random
The checks in the test for bug #12480 were too wide and
made the test to depend on the procedures and triggers
present in the server.
Corrected the test to check only for the procedure and 
trigger it creates.


mysql-test/r/rpl_trigger.result:
  Bug #19390: corrected the test to check for its procedure only
mysql-test/t/rpl_trigger.test:
  Bug #19390: corrected the test to check for its procedure only
2007-12-17 18:56:39 +02:00
abae2dcc48 Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  mysql.com:/misc/mysql/32770/50-32770


sql/item_timefunc.cc:
  Auto merged
2007-12-17 07:54:32 +01:00
fe28526ba1 Merge mhansson@bk-internal:/home/bk/mysql-5.0-opt
into  linux-st28.site:/home/martin/mysql/src/bug32798-united/my50-bug32798-united-push
2007-12-15 16:45:21 +01:00
81dda2e701 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  bodhi.(none):/opt/local/work/mysql-5.0-runtime
2007-12-15 17:00:18 +03:00
590350633c BUG#32205 Replaying statements from mysqlbinlog fails with a syntax error, replicates fine
The reason of this bug is that when mysqlbinlog dumps a query, the query is written to
output with a delimeter appended right after it, if the query string ends with a '--'
comment, then the delimeter would be considered as part of the comment, if there are any
statements after this query, then it will cause a syntax error.

Start a newline before appending delimiter after a query string


mysql-test/r/ctype_ucs_binlog.result:
  Update test result for BUG#32205
mysql-test/r/mix_innodb_myisam_binlog.result:
  Update test result for BUG#32205
mysql-test/r/mysqlbinlog.result:
  Update test result for BUG#32205
mysql-test/r/rpl_charset.result:
  Update test result for BUG#32205
mysql-test/r/rpl_timezone.result:
  Update test result for BUG#32205
mysql-test/r/user_var-binlog.result:
  Update test result for BUG#32205
mysql-test/t/mix_innodb_myisam_binlog.test:
  Fixed for BUG#32205
sql/log_event.cc:
  Start a newline before appending delimiter after a query string
mysql-test/r/binlog_start_comment.result:
  Add test for BUG#32205
mysql-test/t/binlog_start_comment.test:
  Add test for BUG#32205
2007-12-15 19:50:23 +08:00
30b17b997f Merge mhansson@bk-internal:/home/bk/mysql-5.0-opt
into  linux-st28.site:/home/martin/mysql/src/bug32858/my50-bug32858-push


sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
mysql-test/r/union.result:
  Bug#32858: Manual merge
mysql-test/t/union.test:
  Bug#32858: Manual merge
2007-12-15 12:07:33 +01:00
4f44d701b8 Merge mhansson@bk-internal:/home/bk/mysql-5.0-opt
into  linux-st28.site:/home/martin/mysql/src/bug32798-united/my50-bug32798-united-push


sql/item_sum.cc:
  Auto merged
mysql-test/r/func_gconcat.result:
  Bug#32798: Manual merge.
mysql-test/t/func_gconcat.test:
  Bug#32798: Manual merge.
2007-12-15 12:02:33 +01:00
0143b695ea Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb-merge
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
2007-12-15 09:20:41 +01:00