Commit graph

67 commits

Author SHA1 Message Date
unknown
e19dcfa91f user_var.result:
Corrected test case result for the bug#28494.
item_func.h, item_func.cc:
  Corrected function names after fix for the bug#28494.


mysql-test/r/user_var.result:
  Corrected test case result for the bug#28494.
sql/item_func.h:
  Corrected function names after fix for the bug#28494.
sql/item_func.cc:
  Corrected function names after fix for the bug#28494.
2007-06-03 15:56:48 +04:00
unknown
4ef028600a user_var.result, user_var.test:
Extended test case for the bug#28494.


mysql-test/t/user_var.test:
  Extended test case for the bug#28494.
mysql-test/r/user_var.result:
  Extended test case for the bug#28494.
2007-06-03 14:46:09 +04:00
unknown
8ab1830f9a Bug#28494: Grouping by Item_func_set_user_var produces incorrect result.
This is an additional fix.
Item::val_xxx methods are supposed to use original data source and
Item::val_xxx_result methods to use the item's result field. But for the
Item_func_set_user_var class val_xxx_result methods were mapped to val_xxx
methods. This leads, in particular, to producing bad sort keys and thus
wrong order of the result set of queries with group by/order by clauses.

The set of val_xxx_result methods is added to the Item_func_set_user_var
class. It's the same as the val_xxx set of method but uses the result_field
to return a value.


mysql-test/t/user_var.test:
  Corrected test case for hte bug#28494.
mysql-test/r/user_var.result:
  Corrected test case for hte bug#28494.
sql/item_func.cc:
  Bug#28494: Grouping by Item_func_set_user_var produces incorrect result.
  The set of val_xxx_result methods is added to the Item_func_set_user_var
  class. It's the same as the val_xxx set of method but uses the result_field
  to return a value.
sql/item_func.h:
  Bug#28494: Grouping by Item_func_set_user_var produces incorrect result.
  The set of val_xxx_result methods is added to the Item_func_set_user_var
  class.
2007-06-02 23:17:46 +04:00
unknown
b4a35cd76e Bug#28494: Grouping by Item_func_set_user_var produces incorrect result.
The end_update() function uses the Item::save_org_in_field() function to
save original values of items into the group buffer. But for the 
Item_func_set_user_var this method was mapped to the save_in_field method.
The latter function wrongly decides to use the result_field. This leads to
saving incorrect value in the grouping buffer and wrong result of the whole
query.

The can_use_result_field argument of the bool type is added to the
Item_func_set_user_var::save_in_field() function. If it is set to FALSE
then the item's result field won't be used. Otherwise it will be detected
whether the result field will be used (old behaviour).
Two wrapping functions for the function above are added to the 
Item_func_set_user_var class:
the save_in_field(Field *field, bool no_conversions) - it calls the above
function with the can_use_result_field set to TRUE.
the save_org_in_field(Field *field) - same, but the can_use_result_field
is set to FALSE.


mysql-test/t/user_var.test:
  Added a test case for the bug#28494: Grouping by Item_func_set_user_var
  produces incorrect result.
mysql-test/r/user_var.result:
  Added a test case for the bug#28494: Grouping by Item_func_set_user_var
  produces incorrect result.
sql/item_func.cc:
  Bug#28494: Grouping by Item_func_set_user_var produces incorrect result.
  The can_use_result_field argument of the bool type is added to the
  Item_func_set_user_var::save_in_field() function. If it is set to FALSE
  then the item's result field won't be used. Otherwise it will be detected
  whether the result field will be used (old behaviour).
sql/item_func.h:
  Bug#28494: Grouping by Item_func_set_user_var produces incorrect result.
  The can_use_result_field argument of the bool type is added to the
  Item_func_set_user_var::save_in_field() function.
  Two wrapping functions for the function above are added to the 
  Item_func_set_user_var class:
  the save_in_field(Field *field, bool no_conversions) - it calls the above
  function with the can_use_result_field set to TRUE.
  the save_org_in_field(Field *field) - same, but the can_use_result_field
  is set to FALSE.
2007-06-01 01:17:14 +04:00
unknown
f094fe551a Fixed bug#16861: User defined variable can have a wrong value if a tmp table was
used.

The Item::save_in_field() function is called from fill_record() to fill the 
new row with data while execution of the CREATE TABLE ... SELECT statement.
Item::save_in_field() calls val_xxx() methods in order to get values.
val_xxx() methods do not take into account the result field. Due to this
Item_func_set_user_var::val_xxx() methods returns values from the original
table, not from the temporary one.

The save_in_field() member function is added to the Item_func_set_user_var
class. It detects whether the result field should be used and properly updates
the value of the user variable.


sql/item_func.cc:
  Bug#16861: User defined variable can have a wrong value if a tmp table was used.
  Added the save_in_field() member function to the Item_func_set_user_var class.
sql/item_func.h:
  Bug#16861: User defined variable can have a wrong value if a tmp table was used.
  Added the save_in_field() member function to the Item_func_set_user_var class.
mysql-test/r/user_var.result:
  Extended the test case for bug#18681: User defined variable can have a wrong value if
  a tmp table was used.
mysql-test/t/user_var.test:
  Extended the test case for bug#18681: User defined variable can have a wrong value if
  a tmp table was used.
2007-01-09 23:24:56 +03:00
unknown
aaef575f9f Bug #19024- SHOW COUNT(*) WARNINGS not return Errors
The server variable warning_count should include the number of warnings, errors and notes according to the manual


mysql-test/r/user_var.result:
  Added warning_count results.
mysql-test/t/user_var.test:
  Added test case for warning_count.
sql/set_var.cc:
  Added number errors to warning_count.
2006-10-04 10:49:39 -04:00
unknown
c623e54fb8 Fixed bug#16861: User defined variable can have a wrong value if a tmp table was
used.

Sorting by RAND() uses a temporary table in order to get a correct results.
User defined variable was set during filling the temporary table and later
on it is substituted for its value from the temporary table. Due to this
it contains the last value stored in the temporary table.

Now if the result_field is set for the Item_func_set_user_var object it 
updates variable from the result_field value when being sent to a client.

The Item_func_set_user_var::check() now accepts a use_result_field
parameter. Depending on its value the result_field or the args[0] is used
to get current value.


mysql-test/r/user_var.result:
  Added a test case for bug#16861: User defined variable can have a wrong value if a tmp table was used.
mysql-test/t/user_var.test:
  Added a test case for bug#16861: User defined variable can have a wrong value if a tmp table was used.
sql/item_func.cc:
  Fixed bug#16861: User defined variable can have a wrong value if a tmp table was used.
  Now if the result_field is set for the Item_func_set_user_var object it 
  updates variable from the result_field value when being sent to a client.
  
  The Item_func_set_user_var::check() now accepts a use_result_field
  parameter. Depending on its value the result_field or the args[0] is used
  to get current value.
sql/item_func.h:
  Fixed bug#16861: User defined variable can have a wrong value if a tmp table was used.
  Added a new SUSERVAR_FUNC function type.
  Updated the Item_func_set_user_var::check() function declaration.
  Added the Item_func_set_user_var::send() member function.
sql/set_var.cc:
  Fixed bug#16861: User defined variable can have a wrong value if a tmp table was used.
  Modified to use updated Item_func_set_user_var::check() function.
sql/sql_class.cc:
  Fixed bug#16861: User defined variable can have a wrong value if a tmp table was used.
  Modified to use updated Item_func_set_user_var::check() function.
sql/sql_select.cc:
  Fixed bug#16861: User defined variable can have a wrong value if a tmp table was used.
  Now an Item_func_set_user_var object isn't substituted for an Item_field object after filling a temporary table.
2006-08-22 17:37:41 +04:00
unknown
f067dfe1c6 Bug #7498 User variable SET saves SIGNED BIGINT as UNSIGNED BIGINT
- Add unsigned flag to user_var_entry, used when 'type' is INT_RESULT
- Propagate unsigned flag from the query executed by Item_single_row_subselect


mysql-test/r/user_var.result:
  Update test results
mysql-test/t/user_var.test:
  Add test case
sql/item_func.cc:
  Add unsigned_flag to user_var_entry. Used when 'type' is INT_RESULT
  Pass unsigned_flag to 'update_hash' if type is INT_RESULT
sql/item_func.h:
  Removed unused variable save_buff
  Add parameter unsigned_arg to 'update_hash'
sql/item_subselect.cc:
  Propagate unsigned_flag to Item_singlerow_subselect from the items in the select to the cached items.
sql/sql_class.h:
  Add unsigned_flag to user_var_entry. Used when 'type' is INT_RESULT
2006-06-09 19:35:54 +02:00
unknown
47ce2876b5 Remove obsolete test
mysql-test/r/user_var.result:
  Update results
mysql-test/t/user_var.test:
  Remove unnecessary test
2006-04-26 17:09:41 -07:00
unknown
ee380a0777 Reverting patch for BUG #14009 (use of abs() on null value causes problems with filesort
Fix for bug #14536: SELECT @a,@a:=... fails with prepared statements


mysql-test/r/func_sapdb.result:
  Correct tests after reverting patch for BUG #14009 (use of abs() on null value causes problems with filesort)
mysql-test/r/type_newdecimal.result:
  Correct tests after reverting patch for BUG #14009 (use of abs() on null value causes problems with filesort)
mysql-test/r/user_var.result:
  More test with SELECT @a:=
mysql-test/t/disabled.def:
  Enable user_var.test for
mysql-test/t/user_var.test:
  More test with SELECT @a:=
sql/item.cc:
  Simple optimization during review of new code
sql/item_func.cc:
  Reverting patch for BUG #14009 (use of abs() on null value causes problems with filesort)
sql/item_timefunc.h:
  timediff() can return NULL for not NULL arguments
sql/sql_base.cc:
  Remove usage of current_thd() in mysql_make_view()
sql/sql_lex.h:
  Remove usage of current_thd() in mysql_make_view()
sql/sql_select.cc:
  Fix for bug #14536: SELECT @a,@a:=... fails with prepared statements
sql/sql_view.cc:
  Remove usage of current_thd() in mysql_make_view()
  Simple optimization of new code
sql/sql_view.h:
  Remove usage of current_thd() in mysql_make_view()
sql/table.cc:
  Simple optimization of new code
2005-11-01 15:54:30 +02:00
unknown
421dd5f1c2 Fix two test results that were merged out-of-order.
mysql-test/r/func_math.result:
  Fix incorrect merge of test results
mysql-test/r/user_var.result:
  Fix incorrect merge
2005-08-01 19:21:56 -07:00
unknown
d083e4ac1b Merge mysql.com:/home/jimw/my/mysql-4.1-clean
into  mysql.com:/home/jimw/my/mysql-5.0-clean


mysql-test/r/key_cache.result:
  Auto merged
mysql-test/r/ps_1general.result:
  Auto merged
mysql-test/r/variables.result:
  Auto merged
mysql-test/r/func_math.result:
  Resolve conflicts
mysql-test/r/user_var.result:
  Resolve conflicts
mysql-test/t/func_math.test:
  Resolve conflicts
mysql-test/t/user_var.test:
  Resolve conflicts
sql/item_func.cc:
  Resolve conflicts
sql/sql_parse.cc:
  Resolve conflicts
2005-08-01 17:54:57 -07:00
unknown
f8a6e9d369 Don't force column header to @@session.var_name if @@local.var_name
was used. (Bug #10724)


mysql-test/r/key_cache.result:
  Updated results
mysql-test/r/ps_1general.result:
  Updated results
mysql-test/r/user_var.result:
  Add new results
mysql-test/r/variables.result:
  Update results
mysql-test/t/user_var.test:
  Add new regression test
sql/item_func.cc:
  Don't set name explicitly in get_system_var(), let it get set by the
  select_item: rule in sql_parse.yy or other callers of get_system_var().
sql/sql_parse.cc:
  Set the name on the Item returned by get_system_var().
2005-07-25 11:25:28 -07:00
unknown
74b93e57b5 Fix for bug #9286: SESSION/GLOBAL should be disallowed for user variables(for 5.0) 2005-05-18 12:47:45 +05:00
unknown
ac82a2d5eb Setting a variable to CAST(NULL as X) set the result type of the variable to X. (Bug #6598)
mysql-test/r/bigint.result:
  Test to show show that the parser threats big longlong values as unsigned
mysql-test/r/user_var.result:
  Test of CAST(NULL as SIGNED/UNSIGNED)
mysql-test/t/bigint.test:
  Test to show show that the parser threats big longlong values as unsigned
mysql-test/t/user_var.test:
  Test of CAST(NULL as SIGNED/UNSIGNED)
sql/item_func.cc:
  Setting a variable to CAST(NULL as X) set the result type of the variable to X. (Bug #6598)
  Setting a variable to NULL doesn't change the old result type.
sql/item_func.h:
  Detect setting a variable to NULL
sql/unireg.cc:
  Safety fix
2005-04-30 03:14:42 +03:00
unknown
1fcebd5549 after merge fix
mysql-test/r/user_var.result:
  after merge fixes - old (erroneous) results restored.
  Should be corrected when the fix is applied
mysql-test/t/user_var.test:
  after merge fixes - old (erroneous) results restored.
  Should be corrected when the fix is applied
2005-04-06 23:12:10 +02:00
unknown
3960c84f12 manually merged
Gluh's SESSION/GLOBAL for @variables fix in sql_yacc.yy and
Bar's well_formed_len() changes in ndb code
did not make it and should be re-applied manually


BitKeeper/etc/logging_ok:
  auto-union
include/m_ctype.h:
  Auto merged
innobase/btr/btr0pcur.c:
  Auto merged
innobase/include/btr0pcur.h:
  Auto merged
innobase/include/os0file.h:
  Auto merged
innobase/os/os0file.c:
  Auto merged
innobase/row/row0sel.c:
  Auto merged
innobase/srv/srv0start.c:
  Auto merged
mysql-test/r/user_var.result:
  Auto merged
mysql-test/t/user_var.test:
  Auto merged
ndb/include/ndbapi/NdbTransaction.hpp:
  Auto merged
ndb/src/ndbapi/NdbTransaction.cpp:
  Auto merged
ndb/tools/desc.cpp:
  Auto merged
strings/ctype-big5.c:
  Auto merged
strings/ctype-mb.c:
  Auto merged
strings/ctype-simple.c:
  Auto merged
strings/ctype-sjis.c:
  Auto merged
strings/ctype-ucs2.c:
  Auto merged
strings/ctype-ujis.c:
  Auto merged
BitKeeper/deleted/.del-NdbResultSet.cpp~84d192cf3f42600d:
  ul
ndb/include/ndbapi/NdbScanOperation.hpp:
  ul
ndb/src/ndbapi/NdbIndexOperation.cpp:
  ul
ndb/src/ndbapi/NdbOperationDefine.cpp:
  ul
ndb/src/ndbapi/NdbOperationSearch.cpp:
  ul
ndb/src/ndbapi/NdbScanOperation.cpp:
  ul
sql/field.cc:
  manually merged, because bk messed it up
sql/sql_yacc.yy:
  merged
2005-04-06 21:19:20 +02:00
unknown
31d15c3f76 Fix for bug #9286: SESSION/GLOBAL should be disallowed for user variables
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
2005-04-06 14:13:06 +05:00
unknown
10e2581f4d Merge embedded server testing changes from 4.1.
mysql-test/r/innodb.result:
  Auto merged
BitKeeper/deleted/.del-select.result.es~240635f6a3f1a079:
  Auto merged
BitKeeper/deleted/.del-type_float.result.es~a5533e4118eadc04:
  Auto merged
BitKeeper/deleted/.del-type_ranges.result.es~bb77517f4c9dc978:
  Auto merged
mysql-test/r/type_float.result:
  Auto merged
mysql-test/r/variables.result:
  Auto merged
mysql-test/t/alter_table.test:
  Auto merged
mysql-test/t/connect.test:
  Auto merged
mysql-test/t/grant2.test:
  Auto merged
mysql-test/t/grant_cache.test:
  Auto merged
mysql-test/t/innodb.test:
  Auto merged
mysql-test/t/mix_innodb_myisam_binlog.test:
  Auto merged
mysql-test/t/mysqlbinlog.test:
  Auto merged
mysql-test/t/mysqlbinlog2.test:
  Auto merged
mysql-test/t/mysqldump.test:
  Auto merged
mysql-test/t/ps_1general.test:
  Auto merged
mysql-test/t/select.test:
  Auto merged
mysql-test/t/show_check.test:
  Auto merged
mysql-test/t/system_mysql_db_fix.test:
  Auto merged
mysql-test/t/type_blob.test:
  Auto merged
mysql-test/t/type_float.test:
  Auto merged
mysql-test/t/variables.test:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
mysql-test/mysql-test-run.sh:
  Merge
mysql-test/r/alter_table.result:
  Update results
mysql-test/r/ctype_ucs.result:
  Update results
mysql-test/r/grant.result:
  Update results
mysql-test/r/insert_select.result:
  Update results
mysql-test/r/ps_1general.result:
  Update results
mysql-test/r/select.result:
  Update results
mysql-test/r/timezone2.result:
  Update results
mysql-test/r/type_blob.result:
  Update results
mysql-test/r/type_ranges.result:
  Update results
mysql-test/r/user_var.result:
  Update results
mysql-test/t/ctype_ucs.test:
  Merge
mysql-test/t/grant.test:
  Merge
mysql-test/t/insert_select.test:
  Merge
mysql-test/t/timezone2.test:
  Merge
mysql-test/t/type_ranges.test:
  Merge
mysql-test/t/user_var.test:
  Merge
2005-04-01 19:17:15 -08:00
unknown
dd882cfb64 Merge embedded-server testing changes.
mysql-test/r/ctype_ucs.result:
  Auto merged
mysql-test/r/ps_1general.result:
  Auto merged
mysql-test/r/select.result:
  Auto merged
mysql-test/r/type_blob.result:
  Auto merged
mysql-test/r/type_float.result:
  Auto merged
mysql-test/r/user_var.result:
  Auto merged
mysql-test/r/variables.result:
  Auto merged
mysql-test/t/ctype_ucs.test:
  Auto merged
mysql-test/t/grant2.test:
  Auto merged
mysql-test/t/mysqldump.test:
  Auto merged
mysql-test/t/select.test:
  Auto merged
mysql-test/t/show_check.test:
  Auto merged
mysql-test/t/type_float.test:
  Auto merged
mysql-test/t/user_var.test:
  Auto merged
mysql-test/t/variables.test:
  Auto merged
sql/sql_select.cc:
  Auto merged
mysql-test/mysql-test-run.sh:
  Merge changes
mysql-test/t/ps_1general.test:
  Merge changes
2005-04-01 16:43:35 -08:00
unknown
57221d3d08 Eliminate most of the remaining hardcoded list of tests to skip
by adding check for embedded server within tests and splitting some
tests into multiple test files.


mysql-test/mysql-test-run.sh:
  Remove most of hardcoded list of tests to skip
mysql-test/r/ps_1general.result:
  Update results
mysql-test/r/timezone2.result:
  Update results
mysql-test/r/user_var.result:
  Update results
mysql-test/r/variables.result:
  Update results
mysql-test/t/mix_innodb_myisam_binlog.test:
  Disable test with embedded server
mysql-test/t/mysql_protocols.test:
  Disable test with embedded server
mysql-test/t/mysqlbinlog.test:
  Disable test with embedded server
mysql-test/t/mysqlbinlog2.test:
  Disable test with embedded server
mysql-test/t/mysqldump.test:
  Disable test with embedded server
mysql-test/t/packet.test:
  Disable test with embedded server
mysql-test/t/ps_1general.test:
  Move parts of test to new ps_grant
mysql-test/t/rename.test:
  Disable test with embedded server
mysql-test/t/show_check.test:
  Disable test with embedded server
mysql-test/t/system_mysql_db_fix.test:
  Disable test with embedded server
mysql-test/t/timezone2.test:
  Move part of test to timezone_grant
mysql-test/t/user_var.test:
  Move part of test to new user_var-binlog
mysql-test/t/variables.test:
  Move part of test to rpl_variables
2005-03-29 17:17:46 -08:00
unknown
1747bead1d Merge eagle.intranet.mysql.r18.ru:/home/bar/mysql-4.1
into eagle.intranet.mysql.r18.ru:/home/bar/mysql-5.0


mysql-test/r/user_var.result:
  Auto merged
mysql-test/t/user_var.test:
  Auto merged
sql/item_func.cc:
  Auto merged
2005-03-28 14:08:25 +05:00
unknown
f80b366f40 Bug#9425 A user variable doesn't always have implicit coercibility
Coercibility fixes for numeric types and not defined values were done.
2005-03-28 14:01:57 +05:00
unknown
5f75c8f5b4 WL#874 "Extended LOAD DATA".
Now one can use user variables as target for data loaded from file
(besides table's columns). Also LOAD DATA got new SET-clause in which
one can specify values for table columns as expressions.

For example the following is possible:
LOAD DATA INFILE 'words.dat' INTO TABLE t1 (a, @b) SET c = @b + 1;

This patch also implements new way of replicating LOAD DATA.
Now we do it similarly to other queries.
We store LOAD DATA query in new Execute_load_query event
(which is last in the sequence of events representing LOAD DATA).
When we are executing this event we simply rewrite part of query which
holds name of file (we use name of temporary file) and then execute it
as usual query. In the beggining of this sequence we use Begin_load_query
event which is almost identical to Append_file event


client/mysqlbinlog.cc:
  Added support of two new binary log events Begin_load_query_log_event and
  Execute_load_query_log_Event which are used to replicate LOAD DATA INFILE.
mysql-test/r/ctype_ucs.result:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test's results and made it more robust for future similar 
  changes.
mysql-test/r/insert_select.result:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test's results and made it more robust for future similar 
  changes.
mysql-test/r/loaddata.result:
  Added tests for new LOAD DATA features.
mysql-test/r/mix_innodb_myisam_binlog.result:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test's results (don't dare to get rid from binlog positions
  completely since it seems that this test uses them).
mysql-test/r/mysqlbinlog.result:
  New approach for binlogging of LOAD DATA statement. Now we store it as
  usual query and rewrite part in which file is specified when needed.
  So now mysqlbinlog output for LOAD DATA much more closer to its initial
  form. Updated test'd results accordingly.
mysql-test/r/mysqldump.result:
  Made test more robust to other tests failures.
mysql-test/r/rpl000015.result:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test's results accordingly.
mysql-test/r/rpl_change_master.result:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test's results.
mysql-test/r/rpl_charset.result:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test's results accordingly
mysql-test/r/rpl_deadlock.result:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test's results accordingly
mysql-test/r/rpl_error_ignored_table.result:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test's results and made it more robust for future similar 
  changes.
mysql-test/r/rpl_flush_log_loop.result:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test's results accordingly.
mysql-test/r/rpl_flush_tables.result:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test's results and made it more robust for future similar 
  changes.
mysql-test/r/rpl_loaddata.result:
  New way of replicating LOAD DATA. Now we do it similarly to other
  queries. We store LOAD DATA query in new Execute_load_query event
  (which is last in the sequence of events representing LOAD DATA).
  When we are executing this event we simply rewrite part of query which
  holds name of file (we use name of temporary file) and then execute it
  as usual query. In the beggining of this sequence we use Begin_load_query
  event which is almost identical to Append_file event...
  
  Updated test's results wwith new binlog positions.
mysql-test/r/rpl_loaddata_rule_m.result:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test's results and made it more robust for future similar 
  changes.
  Since now LOAD DATA is replicated much in the same way as usual query
  --binlog_do/ignore_db work for it inthe same way as for usual queries.
mysql-test/r/rpl_loaddata_rule_s.result:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test's results accordingly.
mysql-test/r/rpl_loaddatalocal.result:
  Added nice test for case when it is important that LOAD DATA LOCAL
  ignores duplicates.
mysql-test/r/rpl_log.result:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test's results accordingly (don't dare to get rid from binlog 
  positions completely since it seems that this test uses them).
mysql-test/r/rpl_log_pos.result:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test's results accordingly.
mysql-test/r/rpl_max_relay_size.result:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test's results accordingly.
mysql-test/r/rpl_multi_query.result:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test's results accordingly.
mysql-test/r/rpl_relayrotate.result:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test's results accordingly.
mysql-test/r/rpl_replicate_do.result:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test's results accordingly.
mysql-test/r/rpl_reset_slave.result:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test's results accordingly.
mysql-test/r/rpl_rotate_logs.result:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test's results accordingly.
mysql-test/r/rpl_server_id1.result:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test's results accordingly.
mysql-test/r/rpl_server_id2.result:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test's results accordingly.
mysql-test/r/rpl_temporary.result:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test's results and made it more robust for future similar 
  changes.
mysql-test/r/rpl_timezone.result:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test's results and made it more robust for future similar 
  changes.
mysql-test/r/rpl_until.result:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test's results accordingly and tweaked test a bit to bring it
  back to good shape.
mysql-test/r/rpl_user_variables.result:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test's results and made it more robust for future similar 
  changes.
mysql-test/r/user_var.result:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test's results and made it more robust for future similar 
  changes.
mysql-test/t/ctype_ucs.test:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test accordingly and made it more robust for future similar
  changes.
mysql-test/t/insert_select.test:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test accordingly and made it more robust for future similar
  changes.
mysql-test/t/loaddata.test:
  Added test cases for new LOAD DATA functionality.
mysql-test/t/mix_innodb_myisam_binlog.test:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test accordingly.
mysql-test/t/mysqlbinlog.test:
  New way of replicating LOAD DATA local. Now we do it similarly to other
  queries. We store LOAD DATA query in new Execute_load_query event
  (which is last in the sequence of events representing LOAD DATA).
  When we are executing this event we simply rewrite part of query which
  holds name of file (we use name of temporary file) and then execute it
  as usual query. In the beggining of this sequence we use Begin_load_query
  event which is almost identical to Append_file event...
  
  Thus we need new binlog positions for LOAD DATA events.
mysql-test/t/mysqlbinlog2.test:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test accordingly.
mysql-test/t/mysqldump.test:
  Made test more robust for failures of other tests.
mysql-test/t/rpl_charset.test:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test accordingly.
mysql-test/t/rpl_deadlock.test:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test accordingly.
mysql-test/t/rpl_error_ignored_table.test:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test accordingly and made it more robust for future similar
  changes.
mysql-test/t/rpl_flush_tables.test:
  Addition of two new types of binary log events shifted binlog positions.
  Made test more robust for future similar changes.
mysql-test/t/rpl_loaddata.test:
  New way of replicating LOAD DATA. Now we do it similarly to other
  queries. We store LOAD DATA query in new Execute_load_query event
  (which is last in the sequence of events representing LOAD DATA).
  When we are executing this event we simply rewrite part of query which
  holds name of file (we use name of temporary file) and then execute it
  as usual query. In the beggining of this sequence we use Begin_load_query
  event which is almost identical to Append_file event...
  
  Apropritely updated comments in test.
mysql-test/t/rpl_loaddata_rule_m.test:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test accordingly and made it more robust for future similar 
  changes.
  Since now LOAD DATA is replicated much in the same way as usual query
  --binlog_do/ignore_db work for it inthe same way as for usual queries.
mysql-test/t/rpl_loaddata_rule_s.test:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test accordingly.
mysql-test/t/rpl_loaddatalocal.test:
  Added nice test for case when it is important that LOAD DATA LOCAL
  ignores duplicates.
mysql-test/t/rpl_log.test:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test accordingly (don't dare to get rid from binlog positions
  completely since it seems that this test uses them).
mysql-test/t/rpl_log_pos.test:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test accordingly.
mysql-test/t/rpl_multi_query.test:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test accordingly.
mysql-test/t/rpl_temporary.test:
  Addition of two new types of binary log events shifted binlog positions.
  Made test more robust for future similar changes.
mysql-test/t/rpl_timezone.test:
  Addition of two new types of binary log events shifted binlog positions.
  Made test more robust for future similar changes.
mysql-test/t/rpl_until.test:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test accordingly and tweaked it a bit to bring it back to good
  shape.
mysql-test/t/rpl_user_variables.test:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test accordingly and made it more robust for future similar
  changes.
mysql-test/t/user_var.test:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test accordingly and made it more robust for future similar
  changes.
sql/item_func.cc:
  Added Item_user_var_as_out_param class that represents user variable
  which used as out parameter in LOAD DATA.
  
  Moved code from Item_func_set_user_var::update_hash() function to
  separate static function to be able to reuse it in this new class.
sql/item_func.h:
  Added Item_user_var_as_out_param class that represents user variable
  which used as out parameter in LOAD DATA.
sql/log_event.cc:
  New way of replicating LOAD DATA. Now we do it similarly to other
  queries. We store LOAD DATA query in new Execute_load_query event
  (which is last in the sequence of events representing LOAD DATA).
  When we are executing this event we simply rewrite part of query which
  holds name of file (we use name of temporary file) and then execute it
  as usual query. In the beggining of this sequence we use Begin_load_query
  event which is almost identical to Append_file event.
sql/log_event.h:
  New way of replicating LOAD DATA. Now we do it similarly to other
  queries. We store LOAD DATA query in new Execute_load_query event
  (which is last in the sequence of events representing LOAD DATA).
  When we are executing this event we simply rewrite part of query which
  holds name of file (we use name of temporary file) and then execute it
  as usual query. In the beggining of this sequence we use Begin_load_query
  event which is almost identical to Append_file event.
sql/mysql_priv.h:
  Now mysql_load() has two more arguments. They are needed to pass list of
  columns and corresponding expressions from new LOAD DATA's SET clause.
sql/share/errmsg.txt:
  Added new error message which is used to forbid loading of data from
  fixed length rows to variables.
sql/sql_lex.h:
  Added LEX::fname_start/fname_end members. 
  They are pointers to part of LOAD DATA statement which should be
  rewritten during replication (file name + little extra).
sql/sql_load.cc:
  Added support for extended LOAD DATA. 
  Now one can use user variables as target for data loaded from file 
  (besides table's columns). Also LOAD DATA got new SET-clause in which
  one can specify values for table columns as expressions.
  
  Updated mysql_load()/read_fixed_length()/read_sep_field() to support
  this functionality (now they can read data from file to both columns and
  variables and assign do calculations and assignments specified in SET
  clause).
  
  We also use new approach for LOAD DATA binlogging/replication.
sql/sql_parse.cc:
  mysql_execute_command():
    Since now we have SET clause in LOAD DATA we should also check
    permissions for tables used in its expressions. Also mysql_load()
    has two more arguments to pass information about this clause.
sql/sql_repl.cc:
  New way of replicating LOAD DATA. Now we do it similarly to other
  queries. We store LOAD DATA query in new Execute_load_query event
  (which is last in the sequence of events representing LOAD DATA).
  When we are executing this event we simply rewrite part of query which
  holds name of file (we use name of temporary file) and then execute it
  as usual query. In the beggining of this sequence we use Begin_load_query
  event which is almost identical to Append_file event.
sql/sql_repl.h:
  struct st_load_file_info:
    Removed memebers which are no longer needed for LOAD DATA binnlogging.
sql/sql_yacc.yy:
  Added support for extended LOAD DATA syntax. Now one can use
  user variables as target for data loaded from file (besides table's 
  columns). Also LOAD DATA got new SET-clause in which one can specify
  values for table columns as expressions.
  
  For example the following is possible:
  LOAD DATA INFILE 'words.dat' INTO TABLE t1 (a, @b) SET c = @b + 1;
  
  Also now we save pointers to the beginning and to the end of part of 
  LOAD DATA statement which should be rewritten during replication.
2005-03-16 04:32:47 +03:00
unknown
4b2ee4854f result fixes after my change to mysqlbinlog (which was accidentally
pushed some minutes ago)



mysql-test/r/ctype_ucs.result:
  result fix
mysql-test/r/mysqlbinlog.result:
  result fix
mysql-test/r/mysqlbinlog2.result:
  result fix
mysql-test/r/rpl_charset.result:
  result fix
mysql-test/r/user_var.result:
  result fix
2005-02-23 19:59:25 +01:00
unknown
ce99d4430f Merge with 4.1
BitKeeper/etc/logging_ok:
  auto-union
client/mysql.cc:
  Auto merged
extra/my_print_defaults.c:
  Auto merged
include/m_string.h:
  Auto merged
mysql-test/mysql-test-run.sh:
  Auto merged
mysql-test/r/ctype_utf8.result:
  Auto merged
mysql-test/r/user_var.result:
  Auto merged
mysql-test/t/user_var.test:
  Auto merged
scripts/make_binary_distribution.sh:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
strings/ctype-simple.c:
  Auto merged
strings/ctype-ucs2.c:
  Auto merged
strings/ctype-utf8.c:
  Auto merged
libmysql/libmysql.c:
  ul
mysql-test/r/ps_1general.result:
  Merge
mysql-test/t/derived.test:
  Merge
mysql-test/t/ps_1general.test:
  Merge
mysql-test/t/type_float.test:
  Merge
sql/field.cc:
  ul
sql/item.cc:
  ul
sql/item.h:
  ul
sql/item_func.h:
  ul
sql/item_strfunc.cc:
  ul
sql/item_sum.cc:
  ul
sql/item_sum.h:
  ul
sql/procedure.h:
  ul
sql/sql_derived.cc:
  Trivial merge
sql/sql_parse.cc:
  ul
sql/sql_update.cc:
  Trivial merge
strings/strtod.c:
  Use updated code from 4.1
  This is bascily same code as we had before or 5.0, execpt that we now have higher accuracy for floating points value that are integers (like 123.45E+02)
2005-02-22 15:47:00 +02:00
unknown
2fb807d1d0 A user variable are now always have IMPLICIT coercibility,
independently from the expression it is initialized from.
In other words, this change treats a user variable like
a table with one column and one record. Discussed with 
PeterG, Serg and Lars. This change also simplifies replication
allowing not to replicate variables' coercibility.


mysql-test/r/user_var.result:
  Test changes accordintly
mysql-test/t/user_var.test:
  Test changes accordintly
2005-02-22 15:55:40 +04:00
unknown
c5c497164f post-review fixes. Now ROLLBACK is done in Format_description_log_event
mysql-test/t/mix_innodb_myisam_binlog.test:
  fix for --ps-protocol
2005-02-17 13:52:16 +01:00
unknown
de1dcee97e after merge fixes 2005-02-16 17:34:02 +01:00
unknown
9297872d75 auto-ROLLBACK if binlog was not closed properly
auto-commit on Xid_log_event


client/mysqlbinlog.cc:
  auto-ROLLBACK if binlog was not closed properly.
mysql-test/r/ctype_ucs.result:
  results updated
mysql-test/r/mix_innodb_myisam_binlog.result:
  results updated
mysql-test/r/mysqlbinlog2.result:
  results updated
mysql-test/r/rpl_relayrotate.result:
  results updated
mysql-test/r/user_var.result:
  results updated
mysql-test/t/ctype_ucs.test:
  finalize binlog before calling mysqlbinlog
mysql-test/t/user_var.test:
  finalize binlog before calling mysqlbinlog
sql/log_event.cc:
  commit at Xid_log_event
  comments edited
sql/mysqld.cc:
  free(0) fixed
sql/slave.cc:
  rollback at fake Rotate_log_event
sql/sql_class.h:
  no commit_or_rollback argument for binlog->write(THD *thd, IO_CACHE *cache)
sql/log.cc:
  don't write "COMMIT" query, Xid_log_event is enough
sql/log_event.h:
  more comments for LOG_EVENT_BINLOG_IN_USE_F
  LOG_EVENT_FORCE_ROLLBACK_F added
sql/sql_repl.cc:
  rollback at Rotate_log_event.
  don't consider binlog corrupted if it was open when we read Formar_description but closed when we got to the end
sql/sql_repl.h:
  style fix
2005-02-09 20:04:28 +01:00
unknown
63982db93c Better bugfix for "HAVING when refering to RAND()" (Bug #8216)
Ensure that references in HAVING, ORDER BY or GROUP BY are calculated after fields in SELECT.
This will ensure that any reference to these has a valid value.
Generalized the code for split_sum_func()


BitKeeper/etc/ignore:
  added support-files/ndb-config-2-node.ini
mysql-test/r/group_by.result:
  More complicated test to assure that rand() is only calulated once
mysql-test/r/user_var.result:
  Back to old results :(  (ok but not perfect)
mysql-test/t/group_by.test:
  More complicated test to assure that rand() is only calulated once
sql/item.cc:
  Better bugfix for "HAVING when refering to RAND()"
  This will ensure that when refering to things like RAND() in HAVING through an alias we will not recalculate that rand() value in the HAVING part but use the value in the row
  Generalize split_sum_func()
sql/item.h:
  Better bugfix for "HAVING when refering to RAND()"
  T
sql/item_cmpfunc.cc:
  Better bugfix for "HAVING when refering to RAND()"
  Use generalized split_sum_func2() function
sql/item_func.cc:
  Better bugfix for "HAVING when refering to RAND()"
  Use generalized split_sum_func2() function
sql/item_row.cc:
  Better bugfix for "HAVING when refering to RAND()"
  Use generalized split_sum_func2() function
sql/item_strfunc.cc:
  Better bugfix for "HAVING when refering to RAND()"
  Use generalized split_sum_func2() function
sql/sql_list.h:
  Add functions to concatenate lists
sql/sql_select.cc:
  Better bugfix for "HAVING when refering to RAND()"
  Ensure that references in HAVING, ORDER BY or GROUP BY are calculated after fields in SELECT.
  This will ensure that any reference to these has a valid value.
2005-02-08 14:41:09 +02:00
unknown
d6ed8cd709 Fixed bug in HAVING when refering to RAND() through alias
(BUG 8216)


mysql-test/r/group_by.result:
  New test case
mysql-test/r/user_var.result:
  Test changed (to be more correct) with bug fix
mysql-test/t/group_by.test:
  Added test for HAVING bug
sql/item_cmpfunc.cc:
  Fixed bug in HAVING when refering to RAND()
sql/item_func.cc:
  Fixed bug in HAVING when refering to RAND()
sql/item_row.cc:
  Fixed bug in HAVING when refering to RAND()
sql/item_strfunc.cc:
  Fixed bug in HAVING when refering to RAND()
sql/unireg.h:
  Added PSEUDO_TABLES_BITS for easy testing of real table reference
2005-02-07 18:13:57 +02:00
unknown
b25fcad4a7 user_var.result, func_str.result, item_strfunc.cc:
bug#7839 ncorrect collation for char(ascii('a'))


sql/item_strfunc.cc:
  bug#7839 ncorrect collation for char(ascii('a'))
mysql-test/r/func_str.result:
  bug#7839 ncorrect collation for char(ascii('a'))
mysql-test/r/user_var.result:
  bug#7839 ncorrect collation for char(ascii('a'))
2005-01-17 10:38:35 +04:00
unknown
88bd301d36 XA (not completely polished out yet)
include/my_pthread.h:
  cleanup. don't use gcc extensions
innobase/include/trx0sys.ic:
  Jan's fix for innobase_xa_prepare
innobase/read/read0read.c:
  Jan's fix for innobase_xa_prepare
innobase/trx/trx0trx.c:
  Jan's fix for innobase_xa_prepare
mysql-test/include/varchar.inc:
  test fix
mysql-test/r/ctype_ucs.result:
  new log event - all binlog positions are changed :(
mysql-test/r/drop_temp_table.result:
  new log event - all binlog positions are changed :(
mysql-test/r/insert_select.result:
  new log event - all binlog positions are changed :(
mysql-test/r/mix_innodb_myisam_binlog.result:
  new log event - all binlog positions are changed :(
mysql-test/r/myisam.result:
  test fix
mysql-test/r/rpl000015.result:
  new log event - all binlog positions are changed :(
mysql-test/r/rpl_change_master.result:
  new log event - all binlog positions are changed :(
mysql-test/r/rpl_charset.result:
  new log event - all binlog positions are changed :(
mysql-test/r/rpl_error_ignored_table.result:
  new log event - all binlog positions are changed :(
mysql-test/r/rpl_flush_log_loop.result:
  new log event - all binlog positions are changed :(
mysql-test/r/rpl_flush_tables.result:
  new log event - all binlog positions are changed :(
mysql-test/r/rpl_loaddata.result:
  new log event - all binlog positions are changed :(
mysql-test/r/rpl_loaddata_rule_m.result:
  new log event - all binlog positions are changed :(
mysql-test/r/rpl_loaddata_rule_s.result:
  new log event - all binlog positions are changed :(
mysql-test/r/rpl_log.result:
  new log event - all binlog positions are changed :(
mysql-test/r/rpl_log_pos.result:
  new log event - all binlog positions are changed :(
mysql-test/r/rpl_max_relay_size.result:
  new log event - all binlog positions are changed :(
mysql-test/r/rpl_relayrotate.result:
  new log event - all binlog positions are changed :(
mysql-test/r/rpl_replicate_do.result:
  new log event - all binlog positions are changed :(
mysql-test/r/rpl_reset_slave.result:
  new log event - all binlog positions are changed :(
mysql-test/r/rpl_rotate_logs.result:
  new log event - all binlog positions are changed :(
mysql-test/r/rpl_server_id1.result:
  new log event - all binlog positions are changed :(
mysql-test/r/rpl_server_id2.result:
  new log event - all binlog positions are changed :(
mysql-test/r/rpl_temporary.result:
  new log event - all binlog positions are changed :(
mysql-test/r/rpl_timezone.result:
  new log event - all binlog positions are changed :(
mysql-test/r/rpl_until.result:
  new log event - all binlog positions are changed :(
mysql-test/r/rpl_user_variables.result:
  new log event - all binlog positions are changed :(
mysql-test/r/user_var.result:
  new log event - all binlog positions are changed :(
mysql-test/t/ctype_ucs.test:
  new log event - all binlog positions are changed :(
mysql-test/t/mix_innodb_myisam_binlog.test:
  new log event - all binlog positions are changed :(
mysql-test/t/mysqlbinlog.test:
  new log event - all binlog positions are changed :(
mysql-test/t/mysqlbinlog2.test:
  new log event - all binlog positions are changed :(
mysql-test/t/rpl_charset.test:
  new log event - all binlog positions are changed :(
mysql-test/t/rpl_error_ignored_table.test:
  new log event - all binlog positions are changed :(
mysql-test/t/rpl_loaddata_rule_m.test:
  new log event - all binlog positions are changed :(
mysql-test/t/rpl_loaddata_rule_s.test:
  new log event - all binlog positions are changed :(
mysql-test/t/rpl_log.test:
  new log event - all binlog positions are changed :(
mysql-test/t/rpl_log_pos.test:
  new log event - all binlog positions are changed :(
mysql-test/t/rpl_user_variables.test:
  new log event - all binlog positions are changed :(
mysql-test/t/user_var.test:
  new log event - all binlog positions are changed :(
mysys/hash.c:
  typo fixed
sql/ha_berkeley.cc:
  handlerton framework
sql/ha_berkeley.h:
  handlerton framework
sql/ha_innodb.cc:
  handlerton framework
sql/ha_innodb.h:
  handlerton framework
sql/handler.cc:
  new transaction handling, handlerton framework, two-phase commit, XA support
sql/handler.h:
  new transaction handling, handlerton framework, two-phase commit, XA support
sql/lex.h:
  XA commands
sql/log.cc:
  new transaction handling, handlerton framework, two-phase commit,
  XA support, tc-logging, TC_LOG_MMAP class
sql/log_event.cc:
  Xid_log_event
sql/log_event.h:
  Xid_log_event, LOG_EVENT_BINLOG_CLOSED_F flag
sql/mysql_priv.h:
  wrapper for query_id++
sql/mysqld.cc:
  new command-line options --log-tc, --log-tc-size, --tc-heuristic-recover,
  new status variables Tc_log_page_size, Tc_log_max_pages_used, Tc_log_page_waits.
  init/stop tc logging
sql/set_var.h:
  warning fixed
sql/share/errmsg.txt:
  XA error messages
sql/sp_head.cc:
  s/query_id++/next_query_id()/
sql/sql_base.cc:
  typo fixed. new transaction handling.
sql/sql_class.cc:
  cleanup of THD.transaction
sql/sql_class.h:
  TC_LOG classes, new status variables, new savepoint handling, XA support
sql/sql_insert.cc:
  comments
sql/sql_lex.cc:
  s/found_colon/found_semicolon/
sql/sql_lex.h:
  SQLCOM_XA_xxx, XA related changes in Lex
sql/sql_parse.cc:
  cleanup, XA commands, new savepoint handling
sql/sql_repl.cc:
  two functions moved to log.cc
sql/sql_repl.h:
  two functions moved to log.cc
sql/sql_trigger.cc:
  s/lex.name_and_length/lex.ident/
sql/sql_yacc.yy:
  XA commands, cleanup
2005-01-16 13:16:23 +01:00
unknown
f5d30e0cac Fix for BUG#7793 "mysqlbinlog produces incorrect queries":
when printing SET @var in mysqlbinlog, backtick the collation (as BINARY is a reserved word)


mysql-test/r/ctype_ucs.result:
  backticks added
mysql-test/r/user_var.result:
  backticks added
mysql-test/t/user_var.test:
  testing a variable with BINARY collation, which needs the backticks
sql/log_event.cc:
  when printing SET @var in mysqlbinlog, backtick the collation (as BINARY is a reserved word)
2005-01-12 19:42:46 +01:00
unknown
2836164f0c merged 2004-11-17 20:07:13 +01:00
unknown
4f6413094c merged
client/Makefile.am:
  Auto merged
mysql-test/r/ctype_ucs.result:
  Auto merged
mysql-test/r/fulltext.result:
  Auto merged
mysql-test/r/heap.result:
  Auto merged
mysql-test/r/heap_hash.result:
  Auto merged
mysql-test/r/select.result:
  Auto merged
mysql-test/t/select.test:
  Auto merged
mysql-test/t/user_var.test:
  Auto merged
ndb/src/mgmsrv/main.cpp:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/slave.cc:
  Auto merged
sql/slave.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
sql/structs.h:
  Auto merged
2004-11-17 18:04:36 +01:00
unknown
ab51882b77 Fixes for compilation errors in Windows (casts from uint32* to uint*) in repl and charset code.
Moving the part of user_var.test using UCS2 to ctype_ucs.test


mysql-test/r/ctype_ucs.result:
  result update
mysql-test/r/user_var.result:
  result update
mysql-test/t/ctype_ucs.test:
  importing test piece from user_var.test
mysql-test/t/user_var.test:
  using UCS2 in this test fails on non-USC2-capable binaries, so let's move this piece to ctype_ucs.test.
sql/slave.cc:
  changing arg type to uint32* (as what is used in this arg is &thd->db_length which is uint32*)
sql/slave.h:
  changing arg type to uint32*
sql/sql_parse.cc:
  changing arg types to uint32, as what is used in these args is a create_field::length which is uint32.
2004-11-17 16:41:30 +01:00
unknown
47a5ac0e30 Merge with 4.1 to get new thd->mem_root handling
BitKeeper/etc/ignore:
  auto-union
client/mysqldump.c:
  Auto merged
client/mysqltest.c:
  Auto merged
innobase/include/row0mysql.h:
  Auto merged
libmysql/libmysql.c:
  Auto merged
mysql-test/r/ctype_ucs.result:
  Auto merged
mysql-test/r/fulltext.result:
  Auto merged
mysql-test/r/func_in.result:
  Auto merged
mysql-test/r/ps.result:
  Auto merged
mysql-test/r/ps_2myisam.result:
  Auto merged
mysql-test/r/ps_3innodb.result:
  Auto merged
mysql-test/r/ps_4heap.result:
  Auto merged
mysql-test/r/ps_5merge.result:
  Auto merged
mysql-test/r/ps_6bdb.result:
  Auto merged
mysql-test/r/type_float.result:
  Auto merged
mysql-test/r/user_var.result:
  Auto merged
mysql-test/t/innodb.test:
  Auto merged
mysql-test/t/user_var.test:
  Auto merged
mysql-test/t/variables.test:
  Auto merged
sql/ha_berkeley.cc:
  Auto merged
sql/ha_innodb.cc:
  Auto merged
sql/ha_innodb.h:
  Auto merged
sql/ha_ndbcluster.h:
  Auto merged
sql/item.cc:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_sum.cc:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/repl_failsafe.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_db.cc:
  Auto merged
sql/sql_error.cc:
  Auto merged
sql/sql_help.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_select.h:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2004-11-08 17:53:32 +02:00
unknown
6608e22d9c user_var.result, user_var.test:
My previous change that "set @a=NULL" doesn't change charset
  fixed 'Bug #6321' as well. Prove with a new test that
  FIELD(<uservariable content NULL>, ...) now works fine too.


mysql-test/t/user_var.test:
  My previous change that "set @a=NULL" doesn't change charset
  fixed 'Bug #6321' as well. Prove with a new test that
  FIELD(<uservariable content NULL>, ...) now works fine too.
mysql-test/r/user_var.result:
  My previous change that "set @a=NULL" doesn't change charset
  fixed 'Bug #6321' as well. Prove with a new test that
  FIELD(<uservariable content NULL>, ...) now works fine too.
2004-11-05 14:07:12 +04:00
unknown
33efc9677d After merge fixes of merge with 4.1 that included the new arena code.
Fixed (together with Guilhem) bugs in mysqlbinlog regarding --offset
Prefix addresses with 0x for easier comparisons of debug logs
Fixed problem where MySQL choosed index-read even if there would be a much better range on the same index
This fix changed some 'index' queries to 'range' queries in the test suite
Don't create 'dummy' WHERE clause for trivial WHERE clauses where we can remove the WHERE clause.
This fix removed of a lot of 'Using where' notes in the test suite.
Give NOTE instead of WARNING if table/function doesn't exists when using DROP IF EXISTS
Give NOTE instead of WARNING for safe field-type conversions


Makefile.am:
  Don't automaticly update files from bk
client/mysqlbinlog.cc:
  Merge with 4.1 (+ apply bug fixes for --offset and --start-position)
include/my_sys.h:
  Faster clear_alloc_root()
mysql-test/r/bdb.result:
  Updated results after merge
mysql-test/r/create.result:
  Updated results after merge
mysql-test/r/func_group.result:
  Updated results after merge
mysql-test/r/func_if.result:
  Updated results after merge
mysql-test/r/heap_btree.result:
  Updated results after merge
mysql-test/r/index_merge.result:
  Updated results after merge
mysql-test/r/index_merge_ror.result:
  Updated results after merge
mysql-test/r/innodb.result:
  Updated results after merge
mysql-test/r/join_outer.result:
  Updated results after merge
mysql-test/r/mysqlbinlog2.result:
  Updated results after merge
mysql-test/r/negation_elimination.result:
  Updated results after merge
mysql-test/r/null.result:
  Updated results after merge
  Added more tests
mysql-test/r/null_key.result:
  Updated results after merge
  Added more tests
mysql-test/r/order_by.result:
  Updated results after merge
mysql-test/r/range.result:
  Updated results after merge
  Added more tests
mysql-test/r/rpl_charset.result:
  Updated results after merge
mysql-test/r/sp-error.result:
  Updated results after merge
mysql-test/r/sp.result:
  Updated results after merge
  Added delete of some stored procedures in an attempt to be able to re-run test even if it aborts in the middle
mysql-test/r/type_blob.result:
  Updated results after merge
  (Some warnings are now notes)
mysql-test/r/user_var.result:
  Updated results after merge
  Added more tests
mysql-test/r/variables.result:
  Updated results after merge
mysql-test/r/view.result:
  Updated results after merge
mysql-test/t/mysqlbinlog2.test:
  Updated tests to use new positions
mysql-test/t/null.test:
  More tests
mysql-test/t/null_key.test:
  More tests
mysql-test/t/range.test:
  More tests
mysql-test/t/rpl_charset.test:
  Avoid big diffs in the future if tests changes
mysql-test/t/sp-error.test:
  Updated error numbers
mysql-test/t/sp-security.test:
  Updated error numbers
mysql-test/t/sp.test:
  Updated results after merge
  Added delete of some stored procedures in an attempt to be able to re-run test even if it aborts in the middle
mysql-test/t/user_var.test:
  More tests
mysql-test/t/view.test:
  Updated error numbers
mysys/my_alloc.c:
  Write into debug log the address of the allocated area
sql/ha_isam.cc:
  Prefix addresses with 0x for easier comparisons of debug logs
sql/ha_myisam.cc:
  Prefix addresses with 0x for easier comparisons of debug logs
sql/ha_ndbcluster.cc:
  Add missing enum to switch
sql/handler.cc:
  remove compiler warning
sql/item.cc:
  More debugging
  Simple cleanup
sql/item.h:
  Move Item::cleanup() to item.cc
sql/item_cmpfunc.cc:
  Fix arena code
sql/item_subselect.cc:
  After merge fixes
sql/item_subselect.h:
  After merge fixes
sql/item_sum.cc:
  Updated comment
sql/log_event.cc:
  Remove wrong test
sql/mysql_priv.h:
  Indentation fixes
sql/mysqld.cc:
  After merge fixes
  Added 0x to pointers in debug log
sql/opt_range.cc:
  Fixed problem where MySQL choosed index-read even if there would be a much better range on the same index
  This fix changed some 'index' queries to 'range' queries in the test suite
sql/set_var.cc:
  Indentation fixes
sql/sp_head.cc:
  Set state to INITIALIZED to make SP work with new arena code
sql/sql_base.cc:
  After merge fixes
sql/sql_class.cc:
  More debugging
  Use clear_alloc_root() instead of init_alloc_root() as the former is faster
sql/sql_class.h:
  New method 'only_prepare()'
sql/sql_lex.cc:
  After merge fixes
sql/sql_lex.h:
  After merge fixes
sql/sql_parse.cc:
  Fix for timezone tables. (The old way to add timezone tables to global list in 'create_total_list' doesn't work anymore)
  Give NOTE instead of WARNING if table/function doesn't exists when using DROP IF EXISTS
sql/sql_prepare.cc:
  After merge fixes
sql/sql_select.cc:
  Don't create 'dummy' WHERE clause for trivial WHERE clauses where we can remove the WHERE clause.
  This fix removed of a lot of 'Using where' notes in the test suite
sql/sql_table.cc:
  Give NOTE instead of WARNING if table/function doesn't exists when using DROP IF EXISTS
sql/sql_union.cc:
  After merge fix
sql/sql_view.cc:
  After merge fix
sql/table.cc:
  After merge fix
sql/tztime.cc:
  Update timezone table handling to use new table lists structure
sql/tztime.h:
  Update timezone table handling to use new table lists structure
sql/unireg.cc:
  Use 0x before pointers
2004-09-09 06:59:26 +03:00
unknown
46ea874fb7 After merge fixes
Note: The following tests fails
- fulltext (Sergei has promised to fix)
- rpl_charset (Guilhem should fix)
- rpl_timezone (Dimitray has promised to fix)

Sanja needs to check out the calling of close_thread_tables() in sp_head.cc


myisam/mi_check.c:
  After merge fix
myisam/sort.c:
  After merge fix
mysql-test/mysql-test-run.sh:
  Export master socket to mysqltest
mysql-test/r/func_group.result:
  Make result repeatable
mysql-test/r/mysqlbinlog.result:
  After merge fix
mysql-test/r/ps_1general.result:
  After merge fix
mysql-test/r/ps_2myisam.result:
  After merge fix
mysql-test/r/ps_3innodb.result:
  After merge fix
mysql-test/r/ps_4heap.result:
  After merge fix
mysql-test/r/ps_5merge.result:
  After merge fix
mysql-test/r/ps_6bdb.result:
  After merge fix
mysql-test/r/rpl_flush_log_loop.result:
  After merge fix
mysql-test/r/rpl_replicate_do.result:
  After merge fix
mysql-test/r/rpl_temporary.result:
  After merge fix
mysql-test/r/rpl_timezone.result:
  After merge fix
  Note that this test fails now (Dimitry has promised to fix this)
mysql-test/r/rpl_user_variables.result:
  After merge fix
mysql-test/r/select.result:
  After merge fix
mysql-test/r/sp-error.result:
  After merge fix
mysql-test/r/sp-security.result:
  After merge fix
mysql-test/r/sp.result:
  After merge fix
mysql-test/r/user_var.result:
  After merge fix
mysql-test/r/variables.result:
  After merge fix
mysql-test/t/alter_table.test:
  After merge fix
mysql-test/t/derived.test:
  After merge fix
mysql-test/t/func_group.test:
  Make result repeatable
mysql-test/t/grant_cache.test:
  Use MASTER_MYSOCK instead of master.sock
mysql-test/t/multi_update.test:
  Use MASTER_MYSOCK instead of master.sock
mysql-test/t/rpl000015.test:
  Use MASTER_MYSOCK instead of master.sock
mysql-test/t/rpl000017.test:
  Use MASTER_MYSOCK instead of master.sock
mysql-test/t/rpl000018.test:
  Use MASTER_MYSOCK instead of master.sock
mysql-test/t/rpl_charset.test:
  After merge fix
mysql-test/t/rpl_heap.test:
  Use MASTER_MYSOCK instead of master.sock
mysql-test/t/rpl_rotate_logs.test:
  Use MASTER_MYSOCK instead of master.sock
mysql-test/t/sp-error.test:
  after merge fix
mysql-test/t/sp-security.test:
  after merge fix
mysql-test/t/user_var.test:
  after merge fix
scripts/mysql_fix_privilege_tables.sh:
  This can now be exectued from the source distribution
sql/handler.cc:
  Cleanup
sql/handler.h:
  More debugging
sql/item.h:
  Indentation fixes
sql/item_cmpfunc.cc:
  After merge fixes
sql/opt_range.cc:
  After merge fixes
sql/opt_range.h:
  After merge fixes
sql/sp.cc:
  After merge fixes
sql/sp_head.cc:
  Remove closing of thread tables in a SP function as this caused a core dump.
  (Has to be fixed better)
sql/sql_base.cc:
  More debugging
sql/sql_handler.cc:
  After merge fixes
  (We have to call ha_index_or_rnd_end() before calling close_thread_table())
sql/sql_parse.cc:
  More debugging
sql/sql_prepare.cc:
  After merge fixes
sql/sql_select.cc:
  After merge fixes
2004-07-15 04:19:07 +03:00
unknown
7bd8167fb7 Correction to replication of charsets in 4.1:
In mysqlbinlog, there was a problem with how we escaped the content of a string user variable.
To be perfect, we should have escaped with character_set_client. But this charset is unknown
to mysqlbinlog. So the simplest is to print the string in hex. This is unreadable but
100% safe with any charset (checked with Bar), no more need to bother with character_set_client.


mysql-test/r/rpl_charset.result:
  hex strings
mysql-test/r/rpl_user_variables.result:
  hex strings
mysql-test/r/user_var.result:
  hex strings
sql/log_event.cc:
  In mysqlbinlog, there was a problem with how we escaped the content of a string user variable.
  To be perfect, we should have escaped with character_set_client. But this charset is unknown
  to mysqlbinlog. So the simplest is to print the string in hex. This is unreadable but
  100% safe with any charset (checked with Bar), no more need to bother with character_set_client.
2004-06-08 19:55:04 +02:00
unknown
934bb37d39 Implementation of WL#1824 "Add replication of character set variables in 4.1",
by binlogging some SET ONE_SHOT CHARACTER_SETetc,
which will be enough until we have it more compact and more complete in 5.0. With the present patch,
replication will work ok between 4.1.3 master and slaves, as long as:
- master and slave have the same GLOBAL.COLLATION_SERVER
- COLLATION_DATABASE and CHARACTER_SET_DATABASE are not used
- application does not use the fact that table is created with charset of the USEd db (BUG#2326).
all of which are not too hard to fulfill. 
ONE_SHOT is reserved for internal use of mysqlbinlog|mysql and works only for charsets,
so we give error if used for non-charset vars.
Fix for BUG#3875 "mysqlbinlog produces wrong ouput  if query uses
 variables containing quotes" and BUG#3943 "Queries with non-ASCII literals are not replicated
 properly after SET NAMES".
Detecting that master and slave have different global charsets or server ids.


mysql-test/r/rpl_server_id1.result:
  it's normal to not run as I have added a test to compare server ids of master and slave
  at startup and stop if equal (unless --replicate-same-server-id)
mysql-test/r/rpl_user_variables.result:
  result update (as we now print charset of user var).
mysql-test/r/user_var.result:
  result update
mysql-test/t/rpl_server_id1.test:
  no need to select as slave is not running
mysql-test/t/user_var.test:
  testing if the content of user vars is escaped when mysqlbinlog prints them,
  and if the name is backquoted.
sql/lex.h:
  new keyword ONE_SHOT
sql/log.cc:
  when writing to the binlog, before writing the actual statement, write some SET ONE_SHOT CHARACTER_SET_CLIENT etc
  for the slave to know the charset variables (which are important as they affect the inserted data).
sql/log_event.cc:
  print charset and collation of user var in mysqlbinlog and SHOW BINLOG EVENTS.
  escape the content of the var. Backquote its name.
  Will ask Bar to check that using my_charset_bin for escaping is ok.
sql/set_var.cc:
  understand SET CHARACTER_SET_CLIENT=10 (don't require a string, accept a number).
  Refuse changing of GLOBAL CHARACTER_SET_SERVER/COLLATION_SERVER if binlog or slave,
  as it will make the master or slave make wrong assumptions.
  A function to catch SET ONE_SHOT on non-charset variables (which is forbidden)
sql/set_var.h:
  no_support_one_shot to know if the var supports ONE_SHOT (only charset vars do, soon timezones).
  Accept int arg in SET CHARACTER_SET_etc
sql/slave.cc:
  when I/O slave thread starts, verify that master's and slave charsets match.
  And by the way verify that server ids are different.
  Don't fail if UNIX_TIMESTAMP() can't be done on master (very old master), that's
  not fatal.
sql/sql_class.cc:
  one_shot
sql/sql_class.h:
  one_shot
sql/sql_lex.h:
  one_shot
sql/sql_parse.cc:
  when SET ONE_SHOT is used, verify that it's only used for charset/collation vars;
  otherwise refuse.
sql/sql_yacc.yy:
  ONE_SHOT keyword in SET
2004-06-03 23:17:18 +02:00
unknown
92fdbe5e03 #2244 User variables collation conflict is not detected 2003-12-31 19:01:03 +04:00
unknown
411b610e71 Merge with 4.0 to get:
Fix for storing negative values in decimal fields
Fix for FLUSH TABLE with HANDLER


BitKeeper/etc/ignore:
  auto-union
libmysql_r/Makefile.am:
  Auto merged
myisam/mi_check.c:
  Auto merged
mysql-test/r/bigint.result:
  Auto merged
mysql-test/r/user_var.result:
  Auto merged
mysql-test/t/bigint.test:
  Auto merged
mysql-test/t/user_var.test:
  Auto merged
mysql-test/r/rpl_loaddata.result:
  Merge with 4.0
sql/item.cc:
  Merge with 4.0 to get fix for storing negative values in decimal fields
sql/item.h:
  Merge with 4.0 to get fix for storing negative values in decimal fields
sql/sql_handler.cc:
  Merge with 4.0 to get fix for FLUSH TABLE with HANDLER
sql/sql_repl.cc:
  Merge with 4.0
sql/sql_select.cc:
  Used original file.
  (Comments moved to sql/sql_select.h)
2003-11-20 22:30:48 +02:00
unknown
a36145a8f2 Bug#1826, HANDLER+ALTER TABLE=crash (unfortunately, it cannot be tested in mysql-test suite)
more user variable tests


mysql-test/r/user_var.result:
  more user variable tests (just to have this behaviour written down somewhere)
mysql-test/t/user_var.test:
  more user variable tests (just to have this behaviour written down somewhere)
sql/sql_handler.cc:
  Bug#1826, HANDLER+ALTER TABLE=crash
  (unfortunately, it cannot be tested in mysql-test suite)
2003-11-18 22:06:47 +01:00
unknown
f16887c59c Merge with 4.0.16
BitKeeper/etc/ignore:
  auto-union
BitKeeper/etc/logging_ok:
  auto-union
BitKeeper/deleted/.del-mysqldump.result:
  Delete: mysql-test/r/mysqldump.result
BitKeeper/deleted/.del-mysqldump.test:
  Delete: mysql-test/t/mysqldump.test
BitKeeper/deleted/.del-compile-netware-max:
  Delete: netware/BUILD/compile-netware-max
BitKeeper/deleted/.del-compile-netware-max-debug:
  Delete: netware/BUILD/compile-netware-max-debug
BitKeeper/deleted/.del-compile-netware-src:
  Delete: netware/BUILD/compile-netware-src
BitKeeper/deleted/.del-knetware.imp:
  Delete: netware/BUILD/knetware.imp
BUILD/compile-pentium-valgrind-max:
  Auto merged
BitKeeper/deleted/.del-mini_client.cc~8677895ec8169183:
  Auto merged
BitKeeper/deleted/.del-mysql_fix_privilege_tables.sql:
  Auto merged
BitKeeper/deleted/.del-openssl.imp:
  Delete: netware/BUILD/openssl.imp
acinclude.m4:
  Auto merged
SSL/cacert.pem:
  Auto merged
SSL/client-cert.pem:
  Auto merged
SSL/server-cert.pem:
  Auto merged
client/mysqlbinlog.cc:
  Auto merged
extra/resolveip.c:
  Auto merged
heap/hp_test2.c:
  Auto merged
include/my_global.h:
  Auto merged
innobase/row/row0mysql.c:
  Auto merged
innobase/row/row0sel.c:
  Auto merged
libmysql/libmysql.def:
  Auto merged
libmysqld/examples/Makefile.am:
  Auto merged
myisam/mi_check.c:
  Auto merged
myisam/mi_test2.c:
  Auto merged
myisam/myisamdef.h:
  Auto merged
mysql-test/r/fulltext_multi.result:
  Auto merged
mysql-test/r/fulltext_order_by.result:
  Auto merged
mysql-test/r/select.result:
  Auto merged
mysql-test/r/user_var.result:
  Auto merged
mysql-test/std_data/rpl_loaddata2.dat:
  Auto merged
mysql-test/t/rpl_loaddata.test:
  Auto merged
mysql-test/t/select.test:
  Auto merged
mysql-test/t/user_var.test:
  Auto merged
mysys/mf_dirname.c:
  Auto merged
scripts/make_win_src_distribution.sh:
  Auto merged
sql/des_key_file.cc:
  Auto merged
sql/log.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/repl_failsafe.cc:
  Auto merged
sql/slave.h:
  Auto merged
sql-bench/crash-me.sh:
  Auto merged
sql-bench/server-cfg.sh:
  Auto merged
sql-bench/test-insert.sh:
  Auto merged
sql-bench/test-transactions.sh:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_load.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
support-files/mysql.server.sh:
  Auto merged
client/mysqltest.c:
  Merge with 4.0.16
  Changed version number to '2.0' to avoid confusion with version numbering in 3.23
mysql-test/r/distinct.result:
  Updated results for merge
mysql-test/r/insert.result:
  Updated results for merge
mysql-test/r/insert_select.result:
  Updated results for merge
mysql-test/r/join_outer.result:
  Updated results for merge
mysql-test/r/mix_innodb_myisam_binlog.result:
  Updated results for merge
mysql-test/r/order_by.result:
  Updated results for merge
mysql-test/r/rpl000009.result:
  Updated results for merge
mysql-test/r/rpl_loaddata.result:
  Updated results for merge
mysql-test/r/rpl_log.result:
  Updated results for merge
mysql-test/r/select_safe.result:
  Updated results for merge
scripts/mysql_install_db.sh:
  Change -eq to =
BitKeeper/deleted/.del-ins000001.test~2428ee5c9b1bc483:
  dummy
2003-10-07 15:42:26 +03:00
unknown
2985e91acd Optimized code for setting user variables with := and fixed some bugs in old code (Bug #1194)
Use forced close of socket to make mysqld shutdown faster when used under valgrind


mysql-test/mysql-test-run.sh:
  Added --skip-bdb for valgrind
mysql-test/r/user_var.result:
  Extended test for user variables
mysql-test/t/user_var.test:
  Extended test for user variables
sql/item_func.cc:
  Optimized code for setting user variables with := and fixed some bugs in old code
sql/item_func.h:
  Optimized code for setting user variables
sql/log.cc:
  Fixed comments
sql/mysqld.cc:
  Use forced close of socket to make mysqld shutdown faster when used under valgrind
sql/sql_class.h:
  Optimized code for setting user variables
2003-10-03 00:40:27 +03:00
unknown
311cd84db8 Had mangled the order of if()s in a previous changeset (1.1596) (not pushed),
correcting it now. Thanks Dmitri for spotting this.


mysql-test/r/user_var.result:
  result update
mysql-test/t/user_var.test:
  a simple test
sql/item_func.cc:
  Had mangled the order of if()s in a previous changeset (1.1596) (not pushed),
  correcting it now.
2003-10-02 16:19:33 +02:00