Commit graph

606 commits

Author SHA1 Message Date
unknown
b883aebae0 Merge mysql.com:/opt/local/work/mysql-4.1-root
into mysql.com:/opt/local/work/mysql-4.1-9096-fresh


sql/item.h:
  Auto merged
sql/item_func.cc:
  Auto merged
2005-05-03 12:49:22 +04:00
unknown
9fcda7fcc5 A fix and test case for Bug#9096 "select doesn't return all matched
records if prepared statements is used".
This fix changes equality evaluation method of basic constants from
by-name to by-value, thus effectively enabling use of parameter markers
in some optimizations (constants propagation, evaluation of possible
keys for query).


mysql-test/r/ps.result:
  Test results for the test case for Bug#9096
mysql-test/t/ps.test:
  A short test case for Bug#9096 "select doesn't return all matched records if
   prepared statements is used". The is enough to reproduce the
  glitch in update_ref_and_keys causing the bug to occur.
sql/item.cc:
  Implement by-value equality evaluation of basic constants.
  This is needed to work with Item_param values. Until now
  Item_param was compared with other items by its name, which is always "?".
  The bug at hand showed up when an integer
  constant was created from one parameter marker (with value 200887 and
   name "?") and then compared by-name with another parameter marker
  (with value 860 and name "?"). True returned by this comparison resulted
  in a wrong table access method used to evaluate the query.
  Implement Item_param methods needed to emulate "basic constant" mode at 
  full.
sql/item.h:
  Change declaration of basic_const_item(): now it also widens its 
  argument from const Item * to Item * if the argument is a basic constant.
  Declare eq() for all basic constatns, as long as now they 
  are compared by value, not by name. Each constant needs its own
  comparison method.
  Declarations of Item_param methods needed to fully emulate 
  a basic constant when parameter value is set.
sql/item_func.cc:
  Fix wrong casts.
2005-05-03 12:47:27 +04:00
unknown
371b26e11c Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-5.0
into sanja.is.com.ua:/home/bell/mysql/bk/work-test-5.0


sql/item.h:
  Auto merged
2005-04-30 19:32:45 +03:00
unknown
d45f95f04a postreview changes
sql/item.cc:
  changed parameters order
sql/item.h:
  changed parameters order
sql/sql_base.cc:
  fixed comment
  changed parameters order
2005-04-30 19:27:22 +03:00
unknown
a6acc4462c Merge with 4.1
BitKeeper/etc/logging_ok:
  auto-union
configure.in:
  Auto merged
include/config-win.h:
  Auto merged
include/my_global.h:
  Auto merged
mysql-test/r/drop.result:
  Auto merged
mysys/default.c:
  Auto merged
mysys/mf_keycache.c:
  Auto merged
sql/field.h:
  Auto merged
sql/item.h:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_func.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
BitKeeper/deleted/.del-errmsg.txt~f96b7055cac394e:
  Auto merged
mysql-test/r/cast.result:
  Merge
mysql-test/t/cast.test:
  Merge
sql/sql_insert.cc:
  Merge
sql/sql_select.cc:
  Merge
2005-04-30 09:46:08 +03:00
unknown
97b0821462 CAST(string_argument AS UNSIGNED) didn't work for big integers above the signed range. (Bug #7036)
Produce warnings of wrong cast of strings to signed/unsigned.
Don't block not resolved IP's if DNS server is down (Bug #8467)
Fix compiler problems with MinGW (Bug #8872)


configure.in:
  Fix compiler problems with MinGW (Bug #8872)
include/config-win.h:
  Fix compiler problems with MinGW (Bug #8872)
include/my_global.h:
  Fix compiler problems with MinGW (Bug #8872)
mysql-test/r/cast.result:
  Test for cast to signed/unsigned outside of range (Bug #7036)
mysql-test/t/cast.test:
  Test for cast to signed/unsigned outside of range (Bug #7036)
mysys/default.c:
  Cleanup (combine identical code). 
  Done mainly by Jani
sql/field.h:
  Added cast_to_int_type() to ensure that enums are casted as numbers
sql/hostname.cc:
  Don't block not resolved IP's if DNS server is down (Bug #8467)
sql/item.h:
  Added cast_to_int_type() to ensure that enums are casted as numbers
sql/item_func.cc:
  CAST(string_argument AS UNSIGNED) didn't work for big integers above the
  signed range. (Bug #7036)
  Produce warnings of wrong cast of strings to signed/unsigned
sql/item_func.h:
  CAST(string_argument AS UNSIGNED) didn't work for big integers above the
  signed range. (Bug #7036)
2005-04-29 17:03:34 +03:00
unknown
ca119d390e if outer refernce (identifier) was resolved with help of cache all subqueries and resolved item itseld have to be correctly marked as dependent
(BUG#10041)


sql/item.cc:
  depended_from shoudl be cleaned
  layout fixed
  function to mark range of SELECTs as dependent (used if item was resolved with PS cache of resolving identifiers)
sql/item.h:
  function to mark range of SELECTs as dependent (used if item was resolved with PS cache of resolving identifiers)
sql/item_subselect.h:
  function to mark range of SELECTs as dependent (used if item was resolved with PS cache of resolving identifiers)
sql/sql_base.cc:
  if outer refernce (identifier) was resolved with help of cache all subqueries and resolved item itseld have to be correctly marked as dependent
2005-04-29 02:43:56 +03:00
unknown
e77860b7be Merge rurik.mysql.com:/home/igor/mysql-5.0
into rurik.mysql.com:/home/igor/dev/mysql-5.0-0


sql/item.h:
  Auto merged
sql/sql_select.cc:
  Auto merged
2005-04-15 22:35:29 -07:00
unknown
2b92a78eb8 subselect.result, subselect.test:
Added a test case for bug #9338.
sql_select.cc:
  Fixed bug #9338.
  When an occurence of a field reference has to be replaced
  by another field reference the whole Item_field must be
  replaced.
item.cc:
  Fixed bug #9338.
  The method Item_field::replace_equal_field_processor was
  replaced by Item_field::replace_equal_field. The new method
  is used to replace the occurences of Item_field objects.
item.h:
  Fixed bug #9338.
  The virtual function replace_equal_field_processor was replaced
  by replace_equal_field. The latter is supposed to be used as a
  callback function in calls of the method transform.


sql/item.h:
  Fixed bug #9338.
  The virtual function replace_equal_field_processor was replaced
  by replace_equal_field. The latter is supposed to be used as a
  callback function in calls of the method transform.
sql/item.cc:
  The method Item_field::replace_equal_field_processor was
  replaced by Item_field::replace_equal_field The new method
  is used to replace the occurences of Item_field objects.
sql/sql_select.cc:
  Fixed bug #9338.
  When an occurence of a field reference has to be replaced
  by another field reference the whole Item_field must be
  replaced.
mysql-test/t/subselect.test:
  Added a test case for bug #9338.
mysql-test/r/subselect.result:
  Added a test case for bug #9338.
2005-04-15 20:43:45 -07:00
unknown
e0fdbeba7e Fixed BUG#9598: stored procedure call within stored procedure
overwrites IN variable
  and added error checking of variables for [IN]OUT parameters while
  rewriting the out parameter handling.


mysql-test/r/sp-error.result:
  New test case for non-variable argument for [IN]OUT parameters.
  (And changed to qualified names in some other error messages.)
mysql-test/r/sp.result:
  New test case for BUG#9598.
mysql-test/t/sp-error.test:
  New test case for non-variable argument for [IN]OUT parameters.
mysql-test/t/sp.test:
  New test case for BUG#9598.
sql/item.h:
  Need to distinguish between SP local variable items and other items,
  for error checking and [IN]OUT parameter handling.
sql/share/errmsg.txt:
  New error message for non-variable arguments for [IN]OUT parameters in stored procedures.
sql/sp_head.cc:
  Rewrote the [IN]OUT parameter handling in procedure invokation, to make
  it work properly when using user variables in sub-calls.
  Also added error checking for non-variable arguments for such parameters
  (and changed to qualified names for wrong number of arg. errors).
sql/sp_rcontext.cc:
  No need to keep track on the out index for an [IN]OUT parameter any more.
sql/sp_rcontext.h:
  No need to keep track on the out index for an [IN]OUT parameter any more.
2005-04-14 14:52:35 +02:00
unknown
5cdec5d6ba Merge
mysql-test/r/create.result:
  Auto merged
mysql-test/r/ctype_latin1_de.result:
  Auto merged
mysql-test/r/grant.result:
  Auto merged
mysql-test/r/grant2.result:
  Auto merged
mysql-test/r/limit.result:
  Auto merged
mysql-test/r/order_by.result:
  Auto merged
mysql-test/r/rpl000001.result:
  Auto merged
mysql-test/r/sp.result:
  Auto merged
mysql-test/r/strict.result:
  Auto merged
mysql-test/r/type_blob.result:
  Auto merged
mysql-test/r/type_ranges.result:
  Auto merged
mysql-test/r/warnings.result:
  Auto merged
mysql-test/t/ctype_latin1_de.test:
  Auto merged
mysql-test/t/limit.test:
  Auto merged
mysql-test/t/order_by.test:
  Auto merged
mysql-test/t/show_check.test:
  Auto merged
mysql-test/t/sp.test:
  Auto merged
mysql-test/t/type_blob.test:
  Auto merged
mysql-test/t/type_ranges.test:
  Auto merged
sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/sql_insert.cc:
  Auto merged
mysql-test/t/strict.test:
  SCCS merged
2005-04-05 19:45:34 -07:00
unknown
0c9304fd6d Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/my/mysql-5.0


mysql-test/r/subselect.result:
  Auto merged
mysql-test/t/subselect.test:
  Auto merged
sql/field.cc:
  Auto merged
sql/field.h:
  Auto merged
sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
2005-04-01 15:06:35 +03:00
unknown
db7561ecf8 Invalid DEFAULT values for CREATE TABLE now generates errors. (Bug #5902)
CAST() now produces warnings when casting a wrong INTEGER or CHAR values. This also applies to implicite string to number casts. (Bug #5912)
ALTER TABLE now fails in STRICT mode if it generates warnings.
Inserting a zero date in a DATE, DATETIME or TIMESTAMP column during TRADITIONAL mode now produces an error. (Bug #5933)


mysql-test/r/bigint.result:
  New warning added
mysql-test/r/cast.result:
  Added testing of wrong CAST's of strings to numbers and numbers to strings
mysql-test/r/create.result:
  Added test for wrong default values (#5902)
mysql-test/r/func_if.result:
  Changed tests to produce less warnings
mysql-test/r/func_misc.result:
  New warning
mysql-test/r/func_str.result:
  Added missing drop table
  Changed test to produce less warnings
  New warnings
mysql-test/r/ndb_index_unique.result:
  Removed wrong default usage
mysql-test/r/ps_1general.result:
  Changed tests to produce less warnings
mysql-test/r/row.result:
  New warnings
mysql-test/r/rpl_session_var.result:
  Changed tests to produce less warnings
mysql-test/r/strict.result:
  New tests for CAST() and zero date handling
mysql-test/r/subselect.result:
  Changed tests to produce less warnings
mysql-test/r/type_ranges.result:
  Changed tests to produce less warnings
mysql-test/t/cast.test:
  Added testing of wrong CAST's of strings to numbers and numbers to strings
mysql-test/t/create.test:
  Added test for wrong default values (#5902)
mysql-test/t/func_if.test:
  Changed tests to produce less warnings
mysql-test/t/func_str.test:
  Added missing drop table
  Changed test to produce less warnings
  New warnings
mysql-test/t/ndb_index_unique.test:
  Removed wrong default usage
mysql-test/t/ps_1general.test:
  Changed tests to produce less warnings
mysql-test/t/rpl_session_var.test:
  Changed tests to produce less warnings
mysql-test/t/strict.test:
  New tests for CAST() and zero date handling
mysql-test/t/subselect.test:
  Changed tests to produce less warnings
mysql-test/t/type_ranges.test:
  Changed tests to produce less warnings
sql/Makefile.am:
  Added new include file
sql/field.cc:
  Added warnings for zero dates for DATE, DATETIME and TIMESTAMP
  Moved Field_blob::max_length() to a more appropriate position
  Changed type for 'level' in set_warning() to avoid casts
sql/field.h:
  Changed type for 'level' in set_warning() to avoid casts
sql/field_conv.cc:
  Copy date and datetime fields through string in 'traditional' mode to detect zero dates
sql/item.cc:
  Removed compiler warnings
  Give warnings for wrong CAST of strings -> number
sql/item.h:
  Moved Item_string::val_real() and ::val_int() to item.cc
sql/item_row.cc:
  Better detection of null values (which doesn't produce warnings)
sql/item_sum.cc:
  Better detection of null values (which doesn't produce warnings)
sql/item_timefunc.cc:
  Give warnings for wrong CAST of number -> string
sql/my_decimal.cc:
  Fixed typo in comment
sql/mysql_priv.h:
  Removed prototype for static function
  Moved defines for error handling to sql_error.h (to be able to use these in field.h)
sql/mysqld.cc:
  Simplify code
sql/sql_class.h:
  Moved to sql_error.h
sql/sql_load.cc:
  Removed wrong cast
sql/sql_parse.cc:
  Fixed wrong printf()
sql/sql_table.cc:
  Made mysql_prepare_table() static
  Changed references to pointers to make code more readable
  ALTER TABLE now aborts if one gets warnings in STRICT mode
sql/time.cc:
  Fixed possible wrong call
sql/unireg.cc:
  Removed one call to current_thd
  Give errors if one uses a wrong DEFAULT value
2005-04-01 15:04:50 +03:00
unknown
5b0c75259c Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-5.0
into sanja.is.com.ua:/home/bell/mysql/bk/work-union_merge-5.0


sql/field.cc:
  Auto merged
sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/item_subselect.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
2005-04-01 02:15:40 +03:00
unknown
c831a156ce postmerge 4.1->5.0 fixes
mysql-test/r/group_by.result:
  result change
mysql-test/r/union.result:
  result change
mysql-test/r/view.result:
  result change
mysql-test/t/subselect.test:
  fixed mistake of merge
sql/field.cc:
  new 5.0 types support
  temporary table/db names detection in field fixed
sql/field.h:
  removed non-existent methods
  added wrongly deleted during manual merge string
sql/item.cc:
  support of new types added to merge of union types routines
sql/item.h:
  fixed method definition
sql/item_cmpfunc.cc:
  fixed type
sql/item_func.h:
  item type name fixed
sql/item_subselect.cc:
  added forgoten methods
sql/item_subselect.h:
  fixed type
sql/sql_derived.cc:
  fixed typo of manual merge
sql/sql_view.cc:
  added new parameter
2005-04-01 02:14:30 +03:00
unknown
6ae390fd5d Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into neptunus.(none):/home/msvensson/mysql/mysql-4.1


sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/item_subselect.h:
  Auto merged
2005-03-31 10:47:32 +02:00
unknown
8a898a0b72 merge 4.1->5.0
mysql-test/r/group_by.result:
  Auto merged
mysql-test/r/metadata.result:
  Auto merged
mysql-test/r/union.result:
  Auto merged
mysql-test/t/union.test:
  Auto merged
sql/item.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
support-files/mysql.server.sh:
  Auto merged
2005-03-31 10:39:48 +03:00
unknown
f17bba4e2d Merge
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/ps_7ndb.result:
  Auto merged
sql/item.h:
  Auto merged
sql/item_subselect.h:
  Auto merged
sql/item.cc:
  SCCS merged
2005-03-30 14:32:53 +02:00
unknown
af2ab040cc BUG#8807 Select crash server
- Add function Item_param::fix_fields which will update any subselect they are part of and indicate that the subsleect is not const during prepare phase, and thus should not be executed during prepare.


mysql-test/include/ps_query.inc:
  Adde new test case
mysql-test/r/ps_2myisam.result:
  Update test result
mysql-test/r/ps_3innodb.result:
  Update test result
mysql-test/r/ps_4heap.result:
  Update test result
mysql-test/r/ps_5merge.result:
  Update test result
mysql-test/r/ps_6bdb.result:
  Update test result
mysql-test/r/ps_7ndb.result:
  Update test result
sql/item.cc:
  Add function Item_param::fix_fields, which will mark any subselects they are part of as not being a constant expression unless the param value is specified, ie. it will be not be constant during prepare phase.
sql/item.h:
  Adde Item_param::fix_fields
sql/item_subselect.h:
  Make Item_param::fix_field friend of Item_subselect
2005-03-30 12:14:37 +02:00
unknown
dddabc7edd Merge
mysql-test/r/metadata.result:
  Auto merged
sql/item.h:
  Auto merged
sql/item_func.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_union.cc:
  Auto merged
mysql-test/r/union.result:
  SCCS merged
mysql-test/t/union.test:
  SCCS merged
2005-03-30 10:27:36 +03:00
unknown
5a42525027 fixed union types merging and table related metadata (BUG#8824)
mysql-test/r/func_group.result:
  new result
mysql-test/r/metadata.result:
  new result
  test of metadata of variables, unions and derived tables
mysql-test/r/union.result:
  new results
  test of union of enum
mysql-test/t/metadata.test:
  test of metadata of variables, unions and derived tables
mysql-test/t/union.test:
  test of union of enum
sql/field.cc:
  Field type merging rules added
  Fixed table name/alias returting for field made from temporary tables
sql/field.h:
  removed unned field type reporting
sql/item.cc:
  fixed bug in NEW_DATE type field creartion
  replaced mechanism of merging types of UNION
sql/item.h:
  replaced mechanism of merging types of UNION
sql/item_func.h:
  new item type to make correct field type detection possible
sql/item_subselect.cc:
  added table name parameter to prepare() to show right table alias for derived tables
sql/sql_derived.cc:
  added table name parameter to prepare() to show right table alias for derived tables
sql/sql_lex.h:
  added table name parameter to prepare() to show right table alias for derived tables
sql/sql_parse.cc:
  made function for enum/set pack length calculation
sql/sql_prepare.cc:
  added table name parameter to prepare() to show right table alias for derived tables
sql/sql_select.cc:
  new temporary table field creation by Item_type_holder
  fixed table alias for temporary table
sql/sql_union.cc:
  added table name parameter to prepare() to show right table alias for derived tables
2005-03-23 08:36:48 +02:00
unknown
0c0a2d5590 after merge fix 2005-03-17 18:44:24 +03:00
unknown
17791f9500 Merge 4.1 -> 5.0
heap/hp_create.c:
  Auto merged
mysql-test/mysql-test-run.sh:
  Auto merged
mysql-test/r/ctype_utf8.result:
  Auto merged
mysql-test/r/olap.result:
  Auto merged
mysql-test/t/func_str.test:
  Auto merged
sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/key.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_select.h:
  Auto merged
sql/sql_string.h:
  Auto merged
client/mysqldump.c:
  Manual merge
mysql-test/r/func_gconcat.result:
  Manual merge
mysql-test/r/func_str.result:
  Manual merge
mysql-test/t/func_gconcat.test:
  Manual merge
sql/ha_heap.cc:
  Manual merge
sql/sql_select.cc:
  Manual merge
2005-03-17 16:51:07 +03:00
unknown
a131e4d12d Merge rurik.mysql.com:/home/igor/mysql-4.1
into rurik.mysql.com:/home/igor/dev/mysql-4.1-0


sql/item.h:
  Auto merged
2005-03-16 17:50:03 -08:00
unknown
a5c87958a6 Fix for bug#8656: Crash with group_concat on alias in outer table
fixed result_field support of Item_ref
2005-03-16 16:44:28 +03:00
unknown
e16535ce19 olap.result, olap.test:
Added a test case for bug #8616.
item.h:
  Fixed bug #8616.
  Added class Item_null_result used in rollup processing.
sql_select.h, sql_select.cc:
  Fixed bug #8616.
  Added JOIN::rollup_write_data to cover rollup queries
  with DISTINCT. Modified other rollup methods.


sql/sql_select.cc:
  Fixed bug #8616.
  Added JOIN::rollup_write_data to cover rollup queries
  with DISTINCT. Modified other rollup methods.
sql/sql_select.h:
  Fixed bug #8616.
  Added JOIN::rollup_write_data to cover rollup queries
  with DISTINCT. Modified other rollup methods.
sql/item.h:
  Fixed bug #8616.
  Added class Item_null_result used in rollup processing.
mysql-test/t/olap.test:
  Added a test case for bug #8616.
mysql-test/r/olap.result:
  Added a test case for bug #8616.
2005-03-15 22:50:54 -08:00
unknown
1534ed8e15 WL#926 "SUM(DISTINCT) and AVG(DISTINCT)": improvement of SUM(DISTINCT) and
implementation of AVG(DISTINCT) which utilizes the approach with Fields.
The patch implemented in October is portede to the up-to-date tree 
containing DECIMAL type.
Tests for AVG(DISTINCT) (although there is not much to test provided
that SUM(DISTINCT) works), cleanups for COUNT(DISTINCT) and GROUP_CONCAT()
will follow in another changeset.


sql/field.cc:
  A handy way to init create_field used for use with virtual tmp tables.
  Feel free to extend it for your own needs.
sql/field.h:
  Declaration for create_field::init_for_tmp_table()
sql/item.cc:
  Implementation for a framework used to easily handle different result
  types of SQL expressions. Instead of having instances of each possible 
  result type (integer, decimal, double) in every item, variables
  of all used types are moved to struct Hybrid_type.
  Hybrid_type can change its dynamic type in runtime, and become,
  for instance, DECIMAL from INTEGER.
  All type-specific Item operations are moved to the class hierarchy
  Hybrid_type_traits. Item::decimals and Item::max_length can
  be moved to Hybrid_type as well.
sql/item.h:
  Declaration for Hybrid_type framework. See also comments for item.cc
  in this changeset.
sql/item_sum.cc:
  Rewritten implementation for Item_sum_sum_distinct (SUM(DISTINCT))
  and added implementation for Item_sum_avg_distinct (AVG(DISTINCT)).
  The classes utilize Hybrid_type class hierarchy and Fields to
  convert SUM/AVG arguments to binary representation and store in a RB-tree.
sql/item_sum.h:
  Declarations for Item_sum_distinct (the new intermediate class used
  for SUM and AVG distinct), Item_sum_sum_distinct, Item_sum_avg_distinct.
sql/sql_select.cc:
  Implementatio of create_virtual_tmp_table().
sql/sql_select.h:
  Declaration for create_virtual_tmp_table.
sql/sql_yacc.yy:
  Grammar support for Item_sum_avg_distinct.
2005-03-13 23:50:43 +03:00
unknown
e7eac0274b Merge
BitKeeper/etc/logging_ok:
  auto-union
innobase/trx/trx0trx.c:
  Auto merged
mysql-test/r/ctype_collate.result:
  Auto merged
mysql-test/r/func_system.result:
  Auto merged
mysql-test/r/type_blob.result:
  Auto merged
sql/ha_innodb.cc:
  Auto merged
sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/item_create.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/item_strfunc.h:
  Auto merged
sql/opt_sum.cc:
  Auto merged
innobase/ut/ut0mem.c:
  e
  merge from 4.1
mysql-test/r/func_group.result:
  merge from 4.1
mysql-test/r/func_str.result:
  merge from 4.1
mysql-test/t/func_group.test:
  merge from 4.1
2005-03-05 18:20:35 +04:00
unknown
c56d0283dd type_blob.result, func_system.result, func_str.result, ctype_collate.result:
fixing test results accordingly.
func_system.test:
  New test that illegal mix of collations does not happen anymore.
item_strfunc.h:
    safe_charset_converter() was added for system constants.
item_strfunc.cc:
  safe_charset_converter() was added for system constants.
item_func.cc, item.h, item.cc:
  Bug#8291: Illegal collation mix with USER() function.
  After discussion with PeterG and Serge, a new coercibility
  level for "system constants" was introduced, between
  COERRIBLE and IMPLICIT. Thus:
  SELECT col1 = USER() FROM t1; - is done according to col1 collation.
  SELECT 'string' = USER(); - is done according to USER() collation.
  At the same time, "nagg" and "strong" members were removed as unused.
item_create.cc:
  Version is a system constant too.


sql/item.cc:
  Bug#8291: Illegal collation mix with USER() function.
  After discussion with PeterG and Serge, a new coercibility
  level for "system constants" was introduced, between
  COERRIBLE and IMPLICIT. Thus:
  SELECT col1 = USER() FROM t1; - is done according to col1 collation.
  SELECT 'string' = USER(); - is done according to USER() collation.
  At the same time, "nagg" and "strong" members were removed as unused.
sql/item.h:
  Bug#8291: Illegal collation mix with USER() function.
  After discussion with PeterG and Serge, a new coercibility
  level for "system constants" was introduced, between
  COERRIBLE and IMPLICIT. Thus:
  SELECT col1 = USER() FROM t1; - is done according to col1 collation.
  SELECT 'string' = USER(); - is done according to USER() collation.
  At the same time, "nagg" and "strong" members were removed as unused.
sql/item_create.cc:
  Version is a system constant too.
sql/item_func.cc:
  Bug#8291: Illegal collation mix with USER() function.
  After discussion with PeterG and Serge, a new coercibility
  level for "system constants" was introduced, between
  COERRIBLE and IMPLICIT. Thus:
  SELECT col1 = USER() FROM t1; - is done according to col1 collation.
  SELECT 'string' = USER(); - is done according to USER() collation.
  At the same time, "nagg" and "strong" members were removed as unused.
sql/item_strfunc.cc:
  safe_charset_converter() was added for system constants.
sql/item_strfunc.h:
    safe_charset_converter() was added for system constants.
mysql-test/t/func_system.test:
  New test that illegal mix of collations does not happen anymore.
mysql-test/r/ctype_collate.result:
  fixing test results accordingly.
mysql-test/r/func_str.result:
  fixing test results accordingly.
mysql-test/r/func_system.result:
  fixing test results accordingly.
mysql-test/r/type_blob.result:
  fixing test results accordingly.
2005-03-04 14:20:49 +04:00
unknown
daaeeedb49 Merged from 4.1
innobase/os/os0file.c:
  Auto merged
innobase/srv/srv0start.c:
  Auto merged
mysql-test/r/bigint.result:
  Auto merged
mysql-test/r/mysqldump.result:
  Auto merged
mysql-test/r/symlink.result:
  Auto merged
mysql-test/t/mysqldump.test:
  Auto merged
mysql-test/t/symlink.test:
  Auto merged
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
  Auto merged
ndb/test/ndbapi/testNodeRestart.cpp:
  Auto merged
ndb/test/run-test/daily-devel-tests.txt:
  Auto merged
sql/item.h:
  Auto merged
strings/ctype-win1250ch.c:
  Auto merged
mysql-test/r/grant2.result:
  Hand-merged new test
mysql-test/t/grant2.test:
  Hand-merged new test
ndb/include/ndbapi/NdbTransaction.hpp:
  Used 5.0 version per tomas
sql/sql_acl.cc:
  Merge fix for Bug #3309.
2005-03-03 15:01:46 -08:00
unknown
d88c56a637 Comments added 2005-03-03 05:03:21 +03:00
unknown
e1ba1632fb bug#8151 - truncate leaves a transaction open
deadlock in MYSQL_LOG::new_file()
style fixes


mysql-test/r/innodb.result:
  one more test for truncate
mysql-test/t/innodb.test:
  one more test for truncate
sql/ha_innodb.cc:
  bug#8151 - truncate leaves a transaction open
sql/handler.cc:
  bug#8151 - truncate leaves a transaction open
sql/item.h:
  style fix
sql/item_cmpfunc.cc:
  style fix
sql/item_cmpfunc.h:
  style fix
sql/item_func.cc:
  style fix
sql/item_func.h:
  style fix
sql/log.cc:
  let new_file() to lock LOCK_index,
  don't check for prepared_xids in rotate_and_purge()
  increase thread_safe_increment when LOCK_log is taken
sql/log_event.cc:
  mysqlbinlog now prints a warning if binlog was not closed properly
sql/sql_class.h:
  comments
sql/sql_repl.cc:
  DBUG_ENTER tag corrected
2005-03-02 10:38:25 +01:00
unknown
1b3ffb1bcb Fix for BUG#8562: In Item_int_with_ref::new_item() create Item_int or Item_uint
depending on ref->unsigned_flag. Item_int_with_ref can refer to both signed and 
unsigned integers.


mysql-test/r/bigint.result:
  Test case for BUG#8562
mysql-test/t/bigint.test:
  Test case for BUG#8562
2005-02-28 23:50:06 +03:00
unknown
cb8d9c3ad4 Backport my_strntod() from 5.0
Change string->float conversion to delay division as long as possible.
This gives us more exact integer->float conversion for numbers of type '123.45E+02' (Bug #7740)




client/mysql.cc:
  Fix wront usage of charset (found during review of pushed code)
include/m_string.h:
  Backported my_strtod() from 5.0
mysql-test/mysql-test-run.sh:
  Run also mysql_client_test with --debug
mysql-test/r/ps_1general.result:
  Safety fix (if mysql_client_test.test fails)
mysql-test/r/type_float.result:
  More test
mysql-test/t/mysql_client_test.test:
  Comments for what to do if this test fails
mysql-test/t/ps_1general.test:
  Safety fix (if mysql_client_test.test fails)
mysql-test/t/type_float.test:
  More test to better test new strtod() function
  Test also bug #7740 (wrong comparsion between integer and float-in-integer-range)
sql/field.cc:
  Backport my_strntod() from 5.0
sql/item.cc:
  Backport my_strntod() from 5.0
sql/item.h:
  Backport my_strntod() from 5.0
sql/item_func.h:
  Backport my_strntod() from 5.0
sql/item_strfunc.cc:
  Backport my_strntod() from 5.0
sql/item_sum.cc:
  Backport my_strntod() from 5.0
sql/item_sum.h:
  Backport my_strntod() from 5.0
sql/procedure.h:
  Backport my_strntod() from 5.0
strings/ctype-simple.c:
  Backport my_strntod() from 5.0
strings/ctype-ucs2.c:
  Backport my_strntod() from 5.0
strings/strtod.c:
  Backport my_strntod() from 5.0
  Change conversion to delay division as long as possible.
  This gives us more exact integer-> float conversion for numbers of type '123.45E+02'
2005-02-22 12:51:23 +02:00
unknown
a2bb52c748 Merge
sql/ha_ndbcluster.h:
  Auto merged
sql/item.h:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_func.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_select.cc:
  Auto merged
2005-02-21 16:13:29 +01:00
unknown
3805001f7c use dbug_print_decimal instead of DBUG_EXECUTE
Portability fix
Note: rpl_trunc_binlog fails, but Sergei has promised to fix it, so I will ignore it for now


sql/field.cc:
  use dbug_print_decimal instead of DBUG_EXECUTE
sql/item.h:
  Portability fix
sql/my_decimal.cc:
  Fix error in last changeset (not pushed)
2005-02-20 00:24:30 +02:00
unknown
a39f87f307 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/my/mysql-5.0


sql/item.h:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_sum.cc:
  Auto merged
sql/sp_head.cc:
  Auto merged
2005-02-19 21:56:24 +02:00
unknown
6c8ae9d65e Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/my/mysql-5.0


BUILD/SETUP.sh:
  Auto merged
mysql-test/r/ps_6bdb.result:
  Auto merged
sql/item.h:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_func.h:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/my_decimal.cc:
  Auto merged
sql/my_decimal.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sp_head.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
2005-02-19 19:00:41 +02:00
unknown
64cc538bda Fixed BUILD script to use --with-berkeley-db instead of --with-bdb
Lots of small fixes to multi-precision-math path
Give Note for '123.4e'
Added helper functions type 'val_string_from_real()
Don't give warnings for end space for string2decimal()
Changed storage of values for SP so that we can detect length of argument without strlen()
Changed interface for str2dec() so that we must supple the pointer to the last character in the buffer



BUILD/SETUP.sh:
  with-bdb ->with-berkeley-db
include/decimal.h:
  Make string2decimal and string2decimal_fixed inline
mysql-test/r/func_group.result:
  More tests (to find bugs in precision math fixes)
mysql-test/r/func_set.result:
  Test to cover more Item_func_field::val_xxx() code
mysql-test/r/ps_6bdb.result:
  update results
mysql-test/r/type_decimal.result:
  New tests
  Give note for '123.4e'
mysql-test/r/type_newdecimal.result:
  Number of decimal changes (probably right, but hard to verify)
mysql-test/t/func_group.test:
  More tests (to find bugs in precision math fixes)
mysql-test/t/func_set.test:
  Test to cover more Item_func_field::val_xxx() code
mysql-test/t/type_decimal.test:
  New tests to cover more cases in decimal.c
sql/item.cc:
  Added helper functions type 'val_string_from_real()'
  Use new interfase to str2my_decimal()
  Moved nr_of_decimals() here (and made it static)
sql/item.h:
  Added helper functions type 'val_string_from_real()'
sql/item_func.cc:
  Style fixes
  Trivial optimizations
  Ensure null_value is set if my_decimal_add/sub/mul/div returns error
  Remove not needed Item_func_int_div::val_str()
  Join Item_func_signproc and Item_func_neg
  Fix that FIELD() works when first argument is NULL or one if it's arguments are NULL
  new str2my_decimal interface
sql/item_func.h:
  Make Item_func_int_div inherit from Item_int_func (allows us to remove some virtual functions)
  Join Item_func_signproc & Item_func_neg
sql/item_strfunc.cc:
  Move nr_of_decmails() to Item.cc (as it was only used here)
sql/item_sum.cc:
  Style fixes
  Change a lot of code to use new helper converter functions in item.cc
  Moved Item_sum::val_decimal() to Item_sum_int::val_decimal()
  Fixed calls to wrong functions (Item_sum_num::val_int())
  Ensure that all hybrid functions checks hybrid_type in val_xxx() (As there is no gurantee that they are called in the right context)
  Simplify key_length allocation in Item_sum_sum_distinct()
  Simplified create_tmp_field() and reset_field()
  Fixed potential error in Item_sum_hybrid::reset_field()
  Optimize Item_sum_avg::update_field()
  Item_std_field() functions musted be fully coded becasue Item_variance_field::val_xxx functions called helper functions
  Coded missing Item_sum_ufd_xxx::val_decimal() functions
sql/item_sum.h:
  Moved Item_sum::val_decimal() to Item_sum_int::val_decimal()
  Added missing Item_sum_ufd_xxx::val_decimal() functions
  Removed not used scale() function.
  Fixed that Item_std_field() works with decimal arguments
  Fixed that CREATE ... STD() will create a REAL field
sql/log_event.cc:
  Ensure that we use same format for all types
sql/my_decimal.cc:
  Don't give warnings for end space for string2decimal()
  Added dbug_print_decimal()
sql/my_decimal.h:
  Style fixes
  Prototypes for new functions
  New interface for str2my_decimal()
sql/mysql_priv.h:
  Made nr_of_decimals() static
sql/protocol.cc:
  Simplify code (by assume that decimal can't be bigger than DECIMAL_MAX_STR_LENGTH]
sql/protocol_cursor.cc:
  Changed storage of values for SP so that we can detect length of argument without strlen()
sql/sp_head.cc:
  Simplify code for decimal handling by letting item handling conversion to decimal
sql/sp_rcontext.cc:
  Use new method to get length of arguments
sql/sql_analyse.cc:
  if -> switch
  Increase 'empty' if decimal value=0
  Remove usage of strcat()
sql/sql_base.cc:
  Remove unnecessary checks
sql/sql_class.cc:
  Remove not needed 'else'
  Removed not used variables
sql/sql_select.cc:
  remove test for impossible condtion
strings/decimal.c:
  Made two trivial functions macros
  Changed interface for str2dec() so that we must supple the pointer to the last character in the buffer
  This safer than before as we don't require an end \0 anymore (old code gave wrong answers in MySQL for some internals strings that where not \0 terminated)
  Detect error numbers of type '12.55e'
  str2dec() will now set 'to' to zero in case of errors
2005-02-19 18:58:27 +02:00
unknown
af4b5c896d Changes and fixes for windows compilation
VC++Files/libmysqld/libmysqld.dsp:
  added sql/my_decimal.cc
VC++Files/sql/mysqld.dsp:
  added my_decimal.cpp
VC++Files/strings/strings.dsp:
  added decimal.c
sql/field.cc:
  conversion fixes for windows compilation
sql/item.h:
  fix for windows compilation
sql/item_func.cc:
  fixed conversion for windows (cast from ulonglong to double 
  is not supported)
sql/item_sum.cc:
  typecast fix for windows compilation
sql/sp_head.cc:
  typecast fix fo windows compilation
sql/sql_cache.cc:
  typecast fix for windows compilation
2005-02-18 15:17:17 +01:00
unknown
1d704e3995 Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.0-ndb
into mysql.com:/usr/local/home/marty/MySQL/test/mysql-5.0-ndb


sql/item.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
2005-02-17 16:41:38 +01:00
unknown
869b65571d Manual merge
mysql-test/r/select.result:
  Auto merged
sql/item.h:
  Auto merged
sql/sql_select.cc:
  Auto merged
2005-02-17 00:34:06 -08:00
unknown
41c0945096 item.h:
Revised the fix for bug #7098.
  Corrected the method Item_string::new_item.
sql_select.cc:
  Revised the fix for bug #7098.
  Aborted the previous modifications.


sql/sql_select.cc:
  Revised the fix for bug #7098.
  Aborted the previous modifications.
sql/item.h:
  Revised the fix for bug #7098.
  Corrected the method Item_string::new_item.
2005-02-16 22:51:32 -08:00
unknown
4161264789 Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.0-ndb
into mysql.com:/usr/local/home/marty/MySQL/test/mysql-5.0-ndb


sql/ha_ndbcluster.cc:
  Auto merged
sql/item.h:
  Auto merged
2005-02-16 23:16:02 +01:00
unknown
0f466d046c Fixed BUG#8540: Local variable overrides an alias.
mysql-test/r/sp.result:
  New test case for BUG#8540.
mysql-test/t/sp.test:
  New test case for BUG#8540.
sql/item.h:
  Use the existing name (if any) for a SP local variable (to get the correct
  field name in a select in the case of an alias).
2005-02-16 16:06:41 +01:00
unknown
88a2b72ce0 Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.0-ndb
into mysql.com:/usr/local/home/marty/MySQL/test/mysql-5.0-ndb


sql/filesort.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
2005-02-16 13:13:13 +01:00
unknown
e2edf02421 Merge with 4.1
BitKeeper/etc/logging_ok:
  auto-union
BitKeeper/triggers/post-commit:
  Auto merged
innobase/row/row0mysql.c:
  Auto merged
myisam/ft_boolean_search.c:
  Auto merged
mysql-test/r/ctype_ucs.result:
  Auto merged
mysql-test/r/distinct.result:
  Auto merged
mysql-test/r/fulltext.result:
  Auto merged
mysql-test/r/select.result:
  Auto merged
mysql-test/r/subselect.result:
  Auto merged
mysql-test/r/union.result:
  Auto merged
mysql-test/t/ctype_ucs.test:
  Auto merged
mysql-test/t/subselect.test:
  Auto merged
mysql-test/t/union.test:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/sql_cache.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_list.h:
  Auto merged
sql/examples/ha_archive.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_string.h:
  Auto merged
vio/viosocket.c:
  Auto merged
scripts/mysql_create_system_tables.sh:
  simple merge
sql/field.cc:
  simple merge
sql/item.h:
  simple merge
sql/sql_lex.h:
  simple merge
sql/sql_yacc.yy:
  Merge
  (join_table_list was not comptely merged. Need to run test to know how things works...)
sql/table.cc:
  Keep code from 5.0, except delted one not needed line
strings/ctype-ucs2.c:
  Auto merge
2005-02-15 17:12:13 +02:00
unknown
de109e463b Fix signatures of placement operator delete in places where placement
delete is declared. As we don't use exceptions placement delete is never 
called and the fix only affects numerous warnings when
compiling with MS Visual C++.
For more info see http://www.gotw.ca/gotw/010.htm.


sql/item.h:
  Fix the signature of placement operator delete for class Item.
sql/sql_class.cc:
  Add placement delete operator to suppress a warning under Windows.
sql/sql_lex.h:
  Fix the signature of placement operator delete for class LEX
sql/sql_list.h:
  Fix the signature of placement operator delete for class Sql_alloc
sql/sql_string.h:
  Fix the signature of placement operator delete for class Sql_string
2005-02-15 03:55:44 +03:00
unknown
810d558f97 Merge
sql/filesort.cc:
  Auto merged
sql/ha_ndbcluster.h:
  Auto merged
sql/item.h:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_cmpfunc.h:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_func.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
2005-02-11 22:30:37 +01:00
unknown
9f04f9d035 Merge with 4.1
BitKeeper/etc/ignore:
  auto-union
client/mysqltest.c:
  Auto merged
extra/my_print_defaults.c:
  Auto merged
extra/perror.c:
  Auto merged
extra/resolve_stack_dump.c:
  Auto merged
include/help_end.h:
  Auto merged
include/help_start.h:
  Auto merged
myisam/myisamlog.c:
  Auto merged
mysql-test/r/group_by.result:
  Auto merged
mysql-test/r/heap_hash.result:
  Auto merged
BitKeeper/deleted/.del-pack_isam.c~43801f0df7504834:
  Auto merged
mysql-test/r/subselect.result:
  Auto merged
mysql-test/r/user_var.result:
  Auto merged
mysql-test/t/subselect.test:
  Auto merged
ndb/src/kernel/vm/FastScheduler.cpp:
  Auto merged
netware/mysql_test_run.c:
  Auto merged
sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_list.h:
  Auto merged
sql/sql_select.cc:
  Auto merged
netware/BUILD/nwbootstrap:
  merge: keep local
scripts/make_binary_distribution.sh:
  merge: keep local
sql/ha_heap.cc:
  Trivial merge
sql/ha_innodb.cc:
  Auto merge (Code already existed in 5.0)
sql/item_cmpfunc.cc:
  Simple merge
sql/item_func.cc:
  Simple merge
sql/item_row.cc:
  Simple merge
sql/item_strfunc.cc:
  Simple merge
sql/item_subselect.cc:
  Merge with sanjas optimzation patch, but keep old code withing ifdef as a reference until this is fixed
2005-02-10 02:27:37 +02:00