Commit graph

9957 commits

Author SHA1 Message Date
unknown
133e08af14 Merge malff@bk-internal.mysql.com:/home/bk/mysql-5.0-runtime
into  weblab.(none):/home/marcsql/TREE/mysql-5.0-26093


sql/item_func.cc:
  Auto merged
2007-03-01 20:08:58 -07:00
unknown
0a93be2869 Bug#26093 (SELECT BENCHMARK() for SELECT statements does not produce valid
results)

Before this fix, the function BENCHMARK() would fail to evaluate expressions
like "(select avg(a) from t1)" in debug builds (with an assert),
or would report a time of zero in non debug builds.

The root cause is that evaluation of DECIMAL_RESULT expressions was not
supported in Item_func_benchmark::val_int().

This has been fixed by this change.


mysql-test/r/func_misc.result:
  Added support for DECIMAL_RESULT in Item_func_benchmark::val_int()
mysql-test/t/func_misc.test:
  Added support for DECIMAL_RESULT in Item_func_benchmark::val_int()
sql/item_func.cc:
  Added support for DECIMAL_RESULT in Item_func_benchmark::val_int()
2007-03-01 19:20:47 -07:00
unknown
09d82a1a95 Manual merge of 5.0 into 5.0-runtime
mysql-test/r/subselect.result:
  Manual merge
mysql-test/t/subselect.test:
  Manual merge
2007-03-01 15:10:14 -07:00
unknown
57b6c86411 Merge weblab.(none):/home/marcsql/TREE/mysql-5.0-base
into  weblab.(none):/home/marcsql/TREE/mysql-5.0-rt-merge


mysql-test/mysql-test-run.pl:
  Auto merged
mysql-test/t/disabled.def:
  Auto merged
server-tools/instance-manager/instance_options.cc:
  Auto merged
server-tools/instance-manager/mysqlmanager.cc:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_cmpfunc.h:
  Auto merged
sql/item_subselect.cc:
  Auto merged
sql/item_subselect.h:
  Auto merged
sql/sp_head.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2007-03-01 14:06:57 -07:00
unknown
30ece9b060 Fix for wrong replace command. 2007-03-01 12:26:07 +04:00
unknown
ef02cb6305 Renaming recenly added test case, because of name conflict
when merging into 5.1.


mysql-test/t/rpl_loaddata_charset.test:
  Rename: mysql-test/t/rpl_loaddata2.test -> mysql-test/t/rpl_loaddata_charset.test
mysql-test/r/rpl_loaddata_charset.result:
  Rename: mysql-test/r/rpl_loaddata2.result -> mysql-test/r/rpl_loaddata_charset.result
2007-03-01 11:52:25 +04:00
unknown
d93c7f39f8 Additional fix for bug N 15126
Replacing local directory.


mysql-test/r/mysqlbinlog.result:
  Additional fix for bug N 15126
mysql-test/t/mysqlbinlog.test:
  Additional fix for bug N 15126
2007-03-01 11:23:12 +04:00
unknown
d5e983aafc Merge mysql.com:/nfsdisk1/lars/bkroot/mysql-5.0-rpl
into  mysql.com:/nfsdisk1/lars/MERGE/mysql-5.0-merge


sql/mysql_priv.h:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2007-02-28 22:30:40 +01:00
unknown
a2b4f52912 Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-5.0-rpl
into  mysql.com:/home/bar/mysql-5.0.b24478
2007-02-28 18:21:00 +04:00
unknown
4a83cd38ea Additional test changes for
Bug N 15126 character_set_database is not replicated (LOAD DATA INFILE need it)
Positions of some binlog events were changed because of
additional logging of @@collation_database.
2007-02-28 18:13:23 +04:00
unknown
18f1d1a200 After merge fix 2007-02-28 17:32:18 +04:00
unknown
de61d5b0d5 Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-5.0-rpl
into  mysql.com:/home/bar/mysql-5.0.b15126


sql/log_event.cc:
  Auto merged
sql/log_event.h:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_load.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
mysql-test/r/mysqlbinlog.result:
  After merge fix
mysql-test/t/mysqlbinlog.test:
  After merge fix
2007-02-28 17:17:06 +04:00
unknown
c3a3aff54f Bug#15126 character_set_database is not replicated (LOAD DATA INFILE need it)
This patch fixes problem that LOAD DATA could use different
character sets when loading files on master and on slave sides:
- Adding replication of thd->variables.collation_database
- Adding optional character set clause into LOAD DATA

Note, the second way, with explicit CHARACTER SET clause
should be the recommended way to load data using an alternative
character set.
The old way, using "SET @@character_set_database=xxx" should be
gradually depricated.


mysql-test/r/mysqlbinlog.result:
  Adding test case
mysql-test/t/mysqlbinlog.test:
  Adding test case
sql/log_event.cc:
  Adding logging of thd->variables.collation_database
sql/log_event.h:
  Adding declarations
sql/sql_class.cc:
  Exchange character set is null by default
sql/sql_class.h:
  Adding character set into sql_exchange
sql/sql_load.cc:
  - Using exchange character set (if it was specified in LOAD DATA syntax)
  - Using thd->variables.collation_database by default
sql/sql_yacc.yy:
  Adding optional character set clause into LOAD DATA syntax
mysql-test/r/rpl_loaddata2.result:
  New BitKeeper file ``mysql-test/r/rpl_loaddata2.result''
mysql-test/std_data/loaddata6.dat:
  New BitKeeper file ``mysql-test/std_data/loaddata6.dat''
mysql-test/t/rpl_loaddata2.test:
  New BitKeeper file ``mysql-test/t/rpl_loaddata2.test''
2007-02-28 17:06:57 +04:00
unknown
e91d273871 Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-5.0-rpl
into  mysql.com:/home/bar/mysql-5.0.b24478


sql/sql_parse.cc:
  Auto merged
sql/sql_trigger.cc:
  Auto merged
sql/sql_trigger.h:
  Auto merged
2007-02-27 12:46:50 +04:00
unknown
1636d00fa7 Merge cbell@bk-internal.mysql.com:/home/bk/mysql-5.0-rpl
into  mysql_cab_desk.:C:/source/c++/mysql-5.0-rpl


sql/item_func.cc:
  Auto merged
sql/log.cc:
  Auto merged
sql/sp_head.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
2007-02-26 14:30:44 -05:00
unknown
de5d4e32fb Merge mysql.com:/home/gluh/MySQL/Merge/5.0
into  mysql.com:/home/gluh/MySQL/Merge/5.0-opt


sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_union.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2007-02-26 16:57:45 +04:00
unknown
7d883c0def Bug#24478 DROP TRIGGER is not caught by replicate-*-table filters
Problem: DROP TRIGGER was not properly handled in combination
with slave filters, which made replication stop
Fix: loading table name before checking slave filters when
dropping a trigger.


mysql-test/r/rpl_replicate_do.result:
  Adding test case
mysql-test/t/rpl_replicate_do.test:
  Adding test case
sql/sql_parse.cc:
  Loading table name when dropping a trigger
  before checking slave filtering rules.
sql/sql_trigger.cc:
  Making add_table_for_trigger() public
sql/sql_trigger.h:
  Making add_table_for_trigger() public
2007-02-26 15:25:43 +04:00
unknown
33dbda5eae Merge mysql.com:/nfsdisk1/lars/bkroot/mysql-5.0-rpl
into  mysql.com:/nfsdisk1/lars/MERGE/mysql-5.0-merge


sql/field.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/log.cc:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/log_event.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/slave.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
2007-02-25 00:10:51 +01:00
unknown
dfb019ea74 Merge mysql.com:/nfsdisk1/lars/bkroot/mysql-5.0-rpl
into  mysql.com:/nfsdisk1/lars/MERGE/mysql-5.0-merge


sql/field.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/slave.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
mysql-test/t/disabled.def:
  Manual merge
2007-02-24 11:41:31 +01:00
unknown
f44759c71d IM test suite fix.
Log messages from shell-scripts were put to var/log/<test id>.log
file. Now, this file is used by mysql-test-run.pl. So, move log
messages to var/log/<test id>.script.log.


mysql-test/t/kill_n_check.sh:
  Log messages from shell-scripts were put to var/log/<test id>.log
  file. Now, this file is used by mysql-test-run.pl. So, move log
  messages to var/log/<test id>.script.log.
mysql-test/t/log.sh:
  Log messages from shell-scripts were put to var/log/<test id>.log
  file. Now, this file is used by mysql-test-run.pl. So, move log
  messages to var/log/<test id>.script.log.
mysql-test/t/wait_for_process.sh:
  Log messages from shell-scripts were put to var/log/<test id>.log
  file. Now, this file is used by mysql-test-run.pl. So, move log
  messages to var/log/<test id>.script.log.
mysql-test/t/wait_for_socket.sh:
  Log messages from shell-scripts were put to var/log/<test id>.log
  file. Now, this file is used by mysql-test-run.pl. So, move log
  messages to var/log/<test id>.script.log.
2007-02-24 13:12:20 +03:00
unknown
3a8a519acb Merge mysql_cab_desk.:C:/source/c++/mysql-5.0-rpl
into  mysql_cab_desk.:C:/source/c++/mysql-5.0_BUG_20141


sql/log.cc:
  Auto merged
2007-02-23 13:00:08 -05:00
unknown
e52ec3e6d5 BUG#20141 "User-defined variables are not replicated properly for SF/
Triggers in SBR mode."
BUG#14914 "SP: Uses of session variables in routines are not always
           replicated"
BUG#25167 "Dupl. usage of user-variables in trigger/function is not
           replicated correctly"

User-defined variables used inside of stored functions/triggers in
statements which did not update tables directly were not replicated.
We also had problems with replication of user-defined variables which
were used in triggers (or stored functions called from table-updating
statements) more than once.

This patch addresses the first issue by enabling logging of all
references to user-defined variables in triggers/stored functions
and not only references from table-updating statements.

The second issue stemmed from the fact that for user-defined
variables used from triggers or stored functions called from
table-updating statements we were writing binlog events for each
reference instead of only one event for the first reference.
This problem is already solved for stored functions called from
non-updating statements with help of "event unioning" mechanism.
So the patch simply extends this mechanism to the case affected.
It also fixes small problem in this mechanism which caused wrong
logging of references to user-variables in cases when non-updating
statement called several stored functions which used the same
variable and some of these function calls were omitted from binlog
as they were not updating any tables.


mysql-test/r/rpl_user_variables.result:
  BUG#20141 - User-defined variables are not replicated properly for SF/Triggers in SBR mode.
  This patch adds the correct results for execution of the added test procedures to the
  rpl_user_variables test.
mysql-test/t/rpl_user_variables.test:
  BUG#20141 - User-defined variables are not replicated properly for SF/Triggers in SBR mode.
  This patch adds additional tests to the rpl_user_variables test that test many of the
  different ways user-defined variables can be required to be replicated.
sql/item_func.cc:
  BUG#20141 - User-defined variables are not replicated properly for SF/Triggers in SBR mode.
  To properly log accesses to user-defined variables from stored functions/triggers,
  the get_var_with_binlog() method needs to log references to such variables even from 
  non-table-updating statements within them.
sql/log.cc:
  BUG#20141 - User-defined variables are not replicated properly for SF/Triggers in SBR mode.
  This patch modifies the start_union_events method to accept the query id from a parameter.
  This allows callers to set the query_id to the id of the sub statement such as a trigger
  or stored function. Which permits the code to identify when a user defined variable has
  been used by the statement and this already present in THD::user_var_event.
  
  Note:
  The changes to sql_class.cc, sp_head.cc, and log.cc are designed to allow the proper 
  replication of access to user-defined variables under a special test case (the last case 
  shown in rpl_user_variables.test).
sql/sp_head.cc:
  BUG#20141 - User-defined variables are not replicated properly for SF/Triggers in SBR mode.
  This patch modifies the code to allow for cases where events for function calls have
  a separate union for each event and thus cannot use the query_id of the caller as the
  start of the union. Thus, we use an artifically created query_id to set the start of 
  the events.
  
  Note:
  The changes to sql_class.cc, sp_head.cc, and log.cc are designed to allow the proper 
  replication of access to user-defined variables under a special test case (the last case 
  shown in rpl_user_variables.test).
sql/sql_class.cc:
  BUG#20141 - User-defined variables are not replicated properly for SF/Triggers in SBR mode.
  This patch adds the query_id parameter to the calls to mysql_bin_log.start_union_events().
  
  Note:
  The changes to sql_class.cc, sp_head.cc, and log.cc are designed to allow the proper 
  replication of access to user-defined variables under a special test case (the last case 
  shown in rpl_user_variables.test).
sql/sql_class.h:
  BUG#20141 - User-defined variables are not replicated properly for SF/Triggers in SBR mode.
  This patch adds the query_id parameter to the calls to mysql_bin_log.start_union_events().
2007-02-23 12:58:56 -05:00
unknown
49b66418a0 Fix test for views with national characters,
which accidentally got broken during the merge
on 16-Feb-2007.


mysql-test/r/view.result:
  Updated result file.
mysql-test/t/view.test:
  Fix test for views with national characters,
  which accidentally got broken during the merge
  on 16-Feb-2007.
  
  Now view.test is in UTF8 character set,
  so SET NAMES is required.
2007-02-23 20:49:01 +03:00
unknown
df1104ff45 BUG#24415: im_daemon_life_cycle.imtest fails
Fix timeouts. Only test suite is changed.


mysql-test/mysql-test-run.pl:
  Decrease MySQL server shutdown delay.
  Trasactional storage engines are not used here,
  so it should be enough.
mysql-test/t/im_daemon_life_cycle.imtest:
  Increase wait-timeout.
2007-02-23 20:24:32 +03:00
unknown
8c07265ce1 the fix for BUG#24432
"INSERT... ON DUPLICATE KEY UPDATE skips auto_increment values"
didn't make it into 5.0.36 and 5.1.16,
so we need to adjust the bug-detection-based-on-version-number code.
Because the rpl tree has a too old version, rpl_insert_id cannot pass,
so I disable it (like is already the case in 5.1-rpl for the same reason),
and the repl team will re-enable it when they merge 5.0 and 5.1 into
their trees (thus getting the right version number).


mysql-test/t/disabled.def:
      rpl_insert_id tests statement-based replication of INSERT ON
      DUPLICATE KEY UPDATE. This type of INSERT had BUG#24432, which is
      fixed in 5.0.38; we made the slave detect if it is connected to a
      <5.0.38 master and if so refuse to replicate.
      The problem is that this 5.0-rpl tree, even though it will produce
      the 5.0.38 release, still has a 5.0.36 version in configure.in.
      Thus rpl_insert_id fails. So I disable it. As soon as the 5.0-rpl
      tree gets the changesets from the main 5.0, its version will change
      to 5.0.38 and so the repl team will re-enable the test.
sql/slave.cc:
  the fix for BUG#24432 didn't make it into 5.0.36 and 5.1.16,
  so we need to adjust the bug-detection-based-on-version-number code.
2007-02-23 15:32:51 +01:00
unknown
1f93b0c83a Merge mhansson@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  dl145s.mysql.com:/users/mhansson/mysql/autopush/5.0o-bug24010
2007-02-22 14:29:00 +01:00
unknown
ddb5a5636c Bug : INSERT INTO ... SELECT fails on unique constraint with data
it doesn't select.

This bug was fixed along with bug : User defined variable can 
have a wrong value if a tmp table was used.

There the fix consisted of Item_func_set_user_var overloading the method
Item::save_in_field. Consider the query from the test case:


INSERT INTO foo( bar, baz )
SELECT 
  bar,
  @newBaz := 1 + baz
FROM 
  foo
WHERE 
  quux <= 0.1;

Here the assignment expression '@newBaz := 1 + baz' is represented by an 
Item_func_set_user_var. Its member method save_in_field, which writes the 
value of this assignment into the result field, writes the val_xxx() value, 
which is not updated at this point. In the fix introduced by the patch,
the save_in_field method reads the actual variable value instead.

See also comment for 
ChangeSet@1.2368.1.3, 2007-01-09 23:24:56+03:00, evgen@moonbone.local +4 -0
and comment for
Item_func_set_user_var::save_in_field (item_func.cc)


mysql-test/r/update.result:
  BUG#24010
  The correct, and expected, result
mysql-test/t/update.test:
  BUG#24010
  The test case for this bug. When the bug is active, the INSERT ... SELECT 
  statement will try to insert the values <1, 2> which gives an error
2007-02-22 14:11:01 +01:00
unknown
a1234294c6 Merge moonbone.local:/mnt/gentoo64/work/bk-trees/mysql-5.0-opt
into  moonbone.local:/mnt/gentoo64/work/23800-bug1-5.0-opt-mysql


sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_select.cc:
  Auto merged
2007-02-21 23:18:17 +03:00
unknown
f8855142d7 Bug#23800: Outer fields in correlated subqueries is used in a temporary table
created for sorting.

Any outer reference in a subquery was represented by an Item_field object.
If the outer select employs a temporary table all such fields should be
replaced with fields from that temporary table in order to point to the 
actual data. This replacement wasn't done and that resulted in a wrong
subquery evaluation and a wrong result of the whole query.

Now any outer field is represented by two objects - Item_field placed in the
outer select and Item_outer_ref in the subquery. Item_field object is
processed as a normal field and the reference to it is saved in the
ref_pointer_array. Thus the Item_outer_ref is always references the correct
field. The original field is substituted for a reference in the
Item_field::fix_outer_field() function.

New function called fix_inner_refs() is added to fix fields referenced from
inner selects and to fix references (Item_ref objects) to these fields.

The new Item_outer_ref class is a descendant of the Item_direct_ref class.
It additionally stores a reference to the original field and designed to
behave more like a field.


sql/item.cc:
  Bug#23800: Correlated sub query returning incorrect results when operated upon.
  Now all outer fields are substituted with references to them (Item_outer_ref objects)
  in the Item_field::fix_outer_field() function.
  The original field is saved in the Item_outer_ref object.
sql/item.h:
  Bug#23800: Correlated sub query returning incorrect results when operated upon.
  Added the Item_outer_ref class.
sql/mysql_priv.h:
  Bug#23800: Correlated sub query returning incorrect results when operated upon.
  Added the fix_inner_refs() function prototype.
sql/sql_delete.cc:
  Bug#23800: Correlated sub query returning incorrect results when operated upon.
  Added call to the fix_inner_refs() function.
sql/sql_select.cc:
  Bug#23800: Correlated sub query returning incorrect results when operated upon.
  The new function called fix_inner_refs() is added.
mysql-test/r/subselect.result:
  Added a test case for bug#23800: Correlated sub query returning incorrect results when
  operated upon.
sql/sql_update.cc:
  Bug#23800: Correlated sub query returning incorrect results when operated upon.
  Added call to the fix_inner_refs() function.
mysql-test/r/subselect3.result:
  Corrected test cases result after fix for bug#23800: Correlated sub query returning
  incorrect results when operated upon.
mysql-test/t/subselect.test:
  Added a test case for bug#23800: Correlated sub query returning incorrect results when
  operated upon.
sql/sql_lex.cc:
  Bug#23800: Correlated sub query returning incorrect results when operated upon.
  Added cleanup of the inner_refs_list.
sql/sql_lex.h:
  Bug#23800: Correlated sub query returning incorrect results when operated upon.
  The inner_refs_list is added to the SELECT_LEX class.
2007-02-21 23:00:32 +03:00
unknown
1384e64005 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/my/mysql-5.0


BitKeeper/etc/ignore:
  auto-union
BUILD/SETUP.sh:
  Auto merged
Makefile.am:
  Auto merged
client/mysql.cc:
  Auto merged
cmd-line-utils/readline/display.c:
  Auto merged
configure.in:
  Auto merged
extra/yassl/include/buffer.hpp:
  Auto merged
extra/yassl/include/crypto_wrapper.hpp:
  Auto merged
extra/yassl/include/yassl_imp.hpp:
  Auto merged
extra/yassl/include/yassl_int.hpp:
  Auto merged
extra/yassl/src/crypto_wrapper.cpp:
  Auto merged
extra/yassl/taocrypt/include/algebra.hpp:
  Auto merged
extra/yassl/taocrypt/include/des.hpp:
  Auto merged
extra/yassl/taocrypt/include/hash.hpp:
  Auto merged
extra/yassl/taocrypt/include/hmac.hpp:
  Auto merged
extra/yassl/taocrypt/include/modarith.hpp:
  Auto merged
extra/yassl/taocrypt/include/modes.hpp:
  Auto merged
extra/yassl/taocrypt/include/rsa.hpp:
  Auto merged
extra/yassl/taocrypt/include/type_traits.hpp:
  Auto merged
extra/yassl/taocrypt/mySTL/list.hpp:
  Auto merged
extra/yassl/taocrypt/src/aes.cpp:
  Auto merged
extra/yassl/taocrypt/src/algebra.cpp:
  Auto merged
extra/yassl/testsuite/testsuite.cpp:
  Auto merged
include/my_global.h:
  Auto merged
include/my_pthread.h:
  Auto merged
libmysqld/lib_sql.cc:
  Auto merged
myisam/mi_open.c:
  Auto merged
mysql-test/mysql-test-run.pl:
  Auto merged
mysql-test/r/mysqltest.result:
  Auto merged
mysql-test/t/mysqltest.test:
  Auto merged
mysys/default.c:
  Auto merged
ndb/src/common/transporter/Transporter.cpp:
  Auto merged
ndb/src/common/util/File.cpp:
  Auto merged
ndb/src/common/util/SocketClient.cpp:
  Auto merged
ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp:
  Auto merged
ndb/src/kernel/blocks/dbtc/Dbtc.hpp:
  Auto merged
ndb/src/kernel/blocks/qmgr/Qmgr.hpp:
  Auto merged
ndb/src/kernel/blocks/qmgr/QmgrMain.cpp:
  Auto merged
ndb/src/mgmapi/mgmapi.cpp:
  Auto merged
ndb/src/mgmclient/CommandInterpreter.cpp:
  Auto merged
ndb/src/mgmsrv/ConfigInfo.cpp:
  Auto merged
ndb/src/mgmsrv/MgmtSrvr.cpp:
  Auto merged
ndb/src/ndbapi/ClusterMgr.hpp:
  Auto merged
ndb/src/ndbapi/Ndb.cpp:
  Auto merged
ndb/src/ndbapi/NdbScanOperation.cpp:
  Auto merged
ndb/src/ndbapi/SignalSender.cpp:
  Auto merged
sql/field.cc:
  Auto merged
sql/filesort.cc:
  Auto merged
sql/ha_myisammrg.cc:
  Auto merged
sql/handler.cc:
  Auto merged
sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/item_cmpfunc.h:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/item_subselect.h:
  Auto merged
sql/item_sum.cc:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/net_serv.cc:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/opt_range.h:
  Auto merged
sql/repl_failsafe.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/set_var.h:
  Auto merged
sql/slave.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/sql_union.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
sql-common/client.c:
  Auto merged
sql/sql_view.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
sql/table.cc:
  Auto merged
sql/unireg.cc:
  Auto merged
extra/yassl/taocrypt/src/asn.cpp:
  Manual merge (Fix shadowed variable name)
extra/yassl/taocrypt/test/test.cpp:
  No changes
ndb/src/common/util/ConfigValues.cpp:
  Manual merge (Fix shadowed variable name)
sql/field.h:
  manual merge
sql/ha_myisam.cc:
  manual merge
sql/ha_ndbcluster.cc:
  manual merge
sql/item_cmpfunc.cc:
  manual merge
sql/item_subselect.cc:
  Manual merge (Fix shadowed variable name)
sql/mysqld.cc:
  no changes
2007-02-21 14:07:08 +02:00
unknown
2f3a17b63e Fixed unsafe define of uint4korr()
Fixed that --extern works with mysql-test-run.pl
Small trivial cleanups


include/my_global.h:
  Fixed unsafe define of uint4korr()
mysql-test/lib/mtr_report.pl:
  Removed wrong messages when using --extern
mysql-test/mysql-test-run.pl:
  Fixed that --extern works
  Print help on stdout instead of stderr (make it easier to pipe it to less)
mysql-test/t/ndb_lock.test:
  Added other possible error code
sql/sql_prepare.cc:
  Removed not needed casts
2007-02-21 13:02:57 +02:00
unknown
4bb9efa610 Fix for BUG#24415: Instance manager test im_daemon_life_cycle fails randomly.
The cause of im_daemon_life_cycle.imtest random failures was the following
behaviour of some implementations of LINUX threads: let's suppose that a
process has several threads (in LINUX threads, there is a separate process for
each thread). When the main process gets killed, the parent receives SIGCHLD
before all threads (child processes) die. In other words, the parent receives
SIGCHLD, when its child is not completely dead.

In terms of IM, that means that IM-angel receives SIGCHLD when IM-main is not dead
and still holds some resources. After receiving SIGCHLD, IM-angel restarts
IM-main, but IM-main failed to initialize, because previous instance (copy) of
IM-main still holds server socket (TCP-port).

Another problem here was that IM-angel restarted IM-main only if it was killed
by signal. If it exited with error, IM-angel thought it's intended / graceful
shutdown and exited itself.

So, when the second instance of IM-main failed to initialize, IM-angel thought
it's intended shutdown and quit.

The fix is
  1. to change IM-angel so that it restarts IM-main if it exited with error code;
  2. to change IM-main so that it returns proper exit code in case of failure.


mysql-test/t/disabled.def:
  Enable im_daemon_life_cycle.
server-tools/instance-manager/listener.cc:
  Set error status if Listener failed to initialize.
server-tools/instance-manager/manager.cc:
  Return exit code from the manager.
server-tools/instance-manager/manager.h:
  Return exit code from the manager.
server-tools/instance-manager/mysqlmanager.cc:
  1. Restart IM-main if exit code is not EXIT_SUCCESS (0).
  2. Log IM-main exit code in case of failure.
server-tools/instance-manager/thread_registry.cc:
  Add support for exit code.
server-tools/instance-manager/thread_registry.h:
  Add support for exit code.
2007-02-20 22:31:50 +03:00
unknown
a06fe4abde Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  rakia.gmz:/home/kgeorge/mysql/autopush/B19717-5.0-opt
2007-02-19 17:35:19 +02:00
unknown
a3be5294e6 Merge kpdesk.mysql.com:/home/thek/dev/bug23240/my50-bug23240
into  kpdesk.mysql.com:/home/thek/dev/mysql-5.0-runtime


sql/sql_parse.cc:
  Auto merged
2007-02-19 15:24:01 +01:00
unknown
3f9876d77e Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  rakia.gmz:/home/kgeorge/mysql/autopush/B19717-5.0-opt
2007-02-19 15:45:01 +02:00
unknown
6d537f01fd Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  rakia.gmz:/home/kgeorge/mysql/autopush/B25831-5.0-opt


sql/item.h:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2007-02-19 14:47:16 +02:00
unknown
a97fd19371 Bug : Deficiencies in INSERT ... SELECT ... field name resolving.
Several problems fixed: 
  1. There was a "catch-all" context initialization in setup_tables()
    that was causing the table that we insert into to be visible in the 
    SELECT part of an INSERT .. SELECT .. statement with no tables in
    its FROM clause. This was making sure all the under-initialized
    contexts in various parts of the code are not left uninitialized.
    Fixed by removing the "catch-all" statement and initializing the 
    context in the parser.
  2. Incomplete name resolution context when resolving the right-hand
    values in the ON DUPLICATE KEY UPDATE ... part of an INSERT ... SELECT ...
    caused columns from NATURAL JOIN/JOIN USING table references in the
    FROM clause of the select to be unavailable.
    Fixed by establishing a proper name resolution context.
  3. When setting up the special name resolution context for problem 2
    there was no check for cases where an aggregate function without a
    GROUP BY effectively takes the column from the SELECT part of an 
    INSERT ... SELECT unavailable for ON DUPLICATE KEY UPDATE.
    Fixed by checking for that condition when setting up the name 
    resolution context.


mysql-test/r/insert_update.result:
  Bug : Deficiencies in INSERT ... SELECT ... field name resolving.
   - test case
mysql-test/t/insert_update.test:
  Bug : Deficiencies in INSERT ... SELECT ... field name resolving.
   - test case
sql/item.h:
  Bug : Deficiencies in INSERT ... SELECT ... field name resolving.
   - save_next_local is not referenced any more outside class methods
sql/sql_base.cc:
  Bug : Deficiencies in INSERT ... SELECT ... field name resolving.
   - removed a "catch-all" code to cater for correct context initialization
sql/sql_help.cc:
  Bug : Deficiencies in INSERT ... SELECT ... field name resolving.
   - fixed the name resolution context initialization
sql/sql_insert.cc:
  Bug : Deficiencies in INSERT ... SELECT ... field name resolving.
   - Fixed the context of resolving the values in INSERT SELECT ON UPDATE
sql/sql_prepare.cc:
  Bug : Deficiencies in INSERT ... SELECT ... field name resolving.
   - Correct context for name resolution of prepared INSERT .. SELECT
sql/sql_union.cc:
  Bug : Deficiencies in INSERT ... SELECT ... field name resolving.
   - fixed the name resolution context initialization
sql/sql_yacc.yy:
  Bug : Deficiencies in INSERT ... SELECT ... field name resolving.
   - Set the context here instead of setup_tables()
2007-02-19 14:39:37 +02:00
unknown
663b9cad82 Merge kpdesk.mysql.com:/home/thek/dev/bug23240/my41-bug23240
into  kpdesk.mysql.com:/home/thek/dev/bug23240/my50-bug23240


mysql-test/t/init_file.test:
  Auto merged
BitKeeper/deleted/.del-init_file.result:
  Auto merged
mysql-test/std_data/init_file.dat:
  Null merge
sql/sql_parse.cc:
  Null merge
2007-02-19 10:08:27 +01:00
unknown
114e5b8ddb Bug#23240 --init-file statements with NOW() reports '1970-01-01 11:00:00'as the date time
- Starting time of a query sent by file bootstrapping wasn't initialized
  and starting time defaulted to 0. This later used value by the Now-
  item and is translated to 1970-01-01 11:00:00.
- marking the time with thd->set_time() before the call to 
  mysql_parse resolves this issue.


mysql-test/r/init_file.result:
  Appended test case
mysql-test/std_data/init_file.dat:
  Appended test case
mysql-test/t/init_file.test:
  Appended test case
2007-02-19 09:37:34 +01:00
unknown
4386278e61 Manual merge 2007-02-16 13:42:52 -07:00
unknown
4b51bbde8c Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  olga.mysql.com:/home/igor/mysql-5.0-opt


sql/sql_select.cc:
  Auto merged
2007-02-16 09:39:08 -08:00
unknown
98f87d9702 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  moonbone.local:/mnt/gentoo64/work/16630-bug-5.0-opt-mysql


sql/item.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
2007-02-16 19:44:54 +03:00
unknown
d5813a06f6 Bug#16630: The update fields of the INSERT .. SELECT .. ON DUPLICATE KEY
UPDATE contains wrong data if the SELECT employs a temporary table.

If the UPDATE values of the INSERT .. SELECT .. ON DUPLICATE KEY UPDATE
statement contains fields from the SELECT part and the select employs a
temporary table then those fields will contain wrong values because they
aren't corrected to get data from the temporary table.

The solution is to add these fields to the selects all_fields list,
to store pointers to those fields in the selects ref_pointer_array and
to access them via Item_ref objects.

The substitution for Item_ref objects is done in the new function called 
Item_field::update_value_transformer(). It is called through the
item->transform() mechanism at the end of the select_insert::prepare()
function.


sql/item.cc:
  Bug#16630: The update fields of the INSERT .. SELECT .. ON DUPLICATE KEY
  UPDATE contains wrong data if the SELECT employs a temporary table.
  The new method Item_field::update_value_transformer() is added. It
  substitutes fields in the update values list for references 
  (Item_ref objects) to them.
sql/item.h:
  Bug#16630: The update fields of the INSERT .. SELECT .. ON DUPLICATE KEY
  UPDATE contains wrong data if the SELECT employs a temporary table.
  The update_value_transformer() method is added to the Item and to the
  Item_field classes.
sql/sql_insert.cc:
  Bug#16630: The update fields of the INSERT .. SELECT .. ON DUPLICATE KEY
  UPDATE contains wrong data if the SELECT employs a temporary table.
  Traverse update values and substitute fields from the select for
  references (Item_ref objects) to them.
sql/sql_select.cc:
  Bug#16630: The update fields of the INSERT .. SELECT .. ON DUPLICATE KEY
  UPDATE contains wrong data if the SELECT employs a temporary table.
  Traverse update values and substitute fields from the select for
  references (Item_ref objects) to them.
mysql-test/r/insert_select.result:
  Added a test case for bug#16630: The update fields of the INSERT .. SELECT ..
  ON DUPLICATE KEY UPDATE contains wrong data if the SELECT employs a 
  temporary table.
mysql-test/t/insert_select.test:
  Added a test case for bug#16630: The update fields of the INSERT .. SELECT ..
  ON DUPLICATE KEY UPDATE contains wrong data if the SELECT employs a 
  temporary table.
2007-02-16 19:39:28 +03:00
unknown
a858d8e84a Merge weblab.(none):/home/marcsql/TREE/mysql-5.0-base
into  weblab.(none):/home/marcsql/TREE/mysql-5.0-rt-merge


sql/item_cmpfunc.cc:
  Auto merged
sql/item_cmpfunc.h:
  Auto merged
sql/item_subselect.cc:
  Auto merged
sql/item_subselect.h:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2007-02-16 09:02:02 -07:00
unknown
f6834c02ca Fix for BUG#25507 "multi-row insert delayed + auto increment causes
duplicate key entries on slave" (two concurrrent connections doing
multi-row INSERT DELAYED to insert into an auto_increment column,
caused replication slave to stop with "duplicate key error" (and
binlog was wrong)), and BUG#26116 "If multi-row INSERT
DELAYED has errors, statement-based binlogging breaks" (the binlog
was not accounting for all rows inserted, or slave could stop).
The fix is that: if (statement-based) binlogging is on, a multi-row
INSERT DELAYED is silently converted to a non-delayed INSERT.
Note: it is not possible to test BUG#25507 in 5.0 (requires mysqlslap),
so it is tested only in the changeset for 5.1. However, BUG#26116
is tested here, and the fix for BUG#25507 is the same code change.


mysql-test/r/innodb-replace.result:
  result update
mysql-test/t/innodb-replace.test:
  now that multi-row delayed inserts are converted to normal inserts
  if the statement-based binlog is enabled,
  no error is issued even if this engine does not support INSERT DELAYED,
  as the insert does not go through the INSERT DELAYED code.
  To preserve the goal of this test, we change the statements to single-
  row inserts.
sql/sql_insert.cc:
  A multi-row INSERT DELAYED cannot be recorded to a statement-based
  binlog in a way that describes the insertions actually done;
  in that case we fallback to a non-delayed INSERT.
mysql-test/r/rpl_insert_delayed.result:
  result. Master and slave match.
mysql-test/t/rpl_insert_delayed.test:
  Test for BUG#26116 (see if one error at first row on master makes the
  slave's data incorrect, see if one error at second row on master
  makes slave stop).
2007-02-15 15:39:03 +01:00
unknown
6ae94723ca Fixed bug : indexes on text columns were ignored when ref accesses
were evaluated.
According to the new rules for string comparison partial indexes on text
columns can be used in the same cases when partial indexes on varchar
columns can be used.


mysql-test/r/endspace.result:
  Adjusted results after the fix for bug .
mysql-test/r/innodb.result:
  Adjusted results after the fix for bug .
mysql-test/r/myisam.result:
  Adjusted results after the fix for bug .
mysql-test/r/select.result:
  Added a test case for bug .
mysql-test/r/type_blob.result:
  Adjusted results after the fix for bug .
mysql-test/t/select.test:
  Added a test case for bug .
2007-02-14 22:06:41 -08:00
unknown
6c8b5256c6 Bug#19717: The blackhole engine is returning an OK flag in
index_read(), whereas it must return HA_ERR_END_OF_FILE
instead (as there are by definition no rows in a table of 
that engine.


mysql-test/r/blackhole.result:
  Bug#19717: test case
mysql-test/t/blackhole.test:
  Bug#19717: test case
sql/ha_blackhole.cc:
  Bug#19717: return no rows instead of success.
2007-02-14 18:35:59 +02:00
unknown
4036bd9e03 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  chilla.local:/home/mydev/mysql-5.0-axmrg


mysys/my_pthread.c:
  SCCS merged
2007-02-14 12:02:58 +01:00
unknown
c039eed82c Post-merge fix 2007-02-13 15:49:42 -08:00
unknown
579c926de0 Merge bk-internal.mysql.com:/data0/bk/mysql-5.0
into  bk-internal.mysql.com:/data0/bk/mysql-5.0-opt


BitKeeper/etc/gone:
  auto-union
mysys/my_getopt.c:
  Auto merged
sql/field.h:
  Auto merged
sql/item.cc:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_cmpfunc.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/table.cc:
  Auto merged
mysql-test/r/select.result:
  Manual merge
mysql-test/t/select.test:
  Manual merge
2007-02-13 23:35:06 +01:00