Commit graph

134 commits

Author SHA1 Message Date
unknown
a9eebc9986 Merge siva.hindu.god:/usr/home/tim/m/bk/b20536-41
into  siva.hindu.god:/usr/home/tim/m/bk/41


sql/item_strfunc.cc:
  Auto merged
sql/item_strfunc.h:
  Auto merged
sql/slave.cc:
  Auto merged
sql/sql_acl.cc:
  Auto merged
2006-08-23 16:30:05 -06:00
unknown
3212b399a8 Bug #20536: md5() with GROUP BY and UCS2 return different results on myisam/innodb
Make the encryption functions MD5(), SHA1() and ENCRYPT() return binary results.
    
Make MAKE_SET() and EXPORT_SET() use the correct character set for their default separator strings.


mysql-test/r/ctype_ucs.result:
  Add tests for bug #20536.
mysql-test/t/ctype_ucs.test:
  Add tests for bug #20536.
  
  Tests showing correct behavior for MD5(), SHA1(), MAKE_SET() and EXPORT_SET().
  
  Also, tests showing incorrect behavior, which will remain "Won't fix", for
  PASSWORD(), OLD_PASSWORD(), ENCRYPT() and QUOTE().
sql/item_strfunc.cc:
  Make the encryption functions MD5(), SHA1() and ENCRYPT() return binary results.
  
  Make MAKE_SET() and EXPORT_SET() use the correct character set for their default separator strings.
sql/item_strfunc.h:
  Make the encryption functions MD5(), SHA1() and ENCRYPT() return binary results.
2006-08-11 17:09:19 -06:00
unknown
6ec7976df9 Fixed bug #17526: incorrect print method
for class Item_func_trim. 
For 4.1 it caused wrong output for EXPLAIN EXTENDED commands
if expressions with the TRIM function of two arguments were used.
For 5.0 it caused an error message when trying to select
from a view with the TRIM function of two arguments.
This unexpected error message was due to the fact that the
print method for the class Item_func_trim was inherited from
the class Item_func. Yet the TRIM function does not take a list
of its arguments. Rather it takes the arguments in the form:
  [{BOTH | LEADING | TRAILING} [remstr] FROM] str) |
  [remstr FROM] str


mysql-test/r/func_str.result:
  Added a test case for bug #17526: uncorrect print method
  for class Item_func_trim.
mysql-test/t/func_str.test:
  Added a test case for bug #17526: incorrect print method
  for class Item_func_trim.
sql/item_strfunc.cc:
  Fixed bug #17526: incorrect print method
  for class Item_func_trim.
      
  Added an implementation for the virtual function print
  in the class Item_func_trim.
  The implementation takes into account the fact the TRIM
  function takes the arguments in the following forms:
    [{BOTH | LEADING | TRAILING} [remstr] FROM] str) |
    [remstr FROM] str
sql/item_strfunc.h:
  Fixed bug #17526: incorrect print method
  for class Item_func_trim.
      
  Added an implementation for the virtual function print
  in the class Item_func_trim.
  Declared a virtual method to return the mode of the TRIM 
  function: LEADING, TRAILING or BOTH.
  Added implementations of this method for Item_func_trim and
  its descendants Item_func_ltrim and Item_func_rtrim.
2006-07-19 12:36:55 -07:00
unknown
cf7627bce0 Fixed bug #18243.
The implementation of the method Item_func_reverse::val_str
for the REVERSE function modified the argument of the function.
This led to wrong results for expressions that contained
REVERSE(ref) if ref occurred somewhere else in the expressions.


mysql-test/r/func_str.result:
  Added a test case for bug #18243.
mysql-test/t/func_str.test:
  Added a test case for bug #18243.
sql/item_strfunc.cc:
  Fixed bug #18243.
  The implementation of the method Item_func_reverse::val_str
  for the REVERSE function modified the argument of the function.
  This led to wrong results for expressions that contained
  REVERSE(ref) if ref occurred somewhere else in the expressions.
  
  The implementation of Item_func_reverse::val_str has been changed
  to make the argument intact.
sql/item_strfunc.h:
  Fixed bug #18243.
  Added tmp_value to the Item_func_reverse class to store
  the result of the function. It erroneously replaced the 
  argument before this fix.
2006-07-06 11:11:49 -07:00
unknown
6b6eb1aba4 BUG#9535 Warning for "create table t as select uuid();"
- Set max_length of Item_func_uuid to max_length*system_charset_info->mbmaxlen
    Note! Item_func_uuid should be set to use 'ascii' charset when hex(), format(), md5()
etc will use 'ascii'
    - Comitting again, the old patch seems to have been lost.


mysql-test/r/func_misc.result:
  Test results updated
mysql-test/t/func_misc.test:
  Test case
sql/item_strfunc.h:
  Multiply max_length of Item_func_uuid with system_charset_info->mbmaxlen
2005-12-07 15:45:31 +01:00
unknown
72d19611d1 Bug#10446 Illegal mix of collations:
item_strfunc.h, item_strfunc.cc, item.cc:
  Try to convert a const item into destination 
  character set. If conversion happens without
  data loss, then cache the converted value
  and return it during val_str().
  Otherwise, if conversion loses data, return
  Illeral mix of collations error, as it happened
  previously.
ctype_recoding.result, ctype_recoding.test:
  Fixing tests accordingly.


sql/item.cc:
  Bug#10446 Illegal mix of collations
  Try to convert a const item into destination 
  character set. If conversion happens without
  data loss, then cache the converted value
  and return it during val_str().
  Otherwise, if conversion loses data, return
  Illeral mix of collations error, as it happened
  previously.
sql/item_strfunc.cc:
  Return cached value when it's possible.
mysql-test/t/ctype_recoding.test:
  Fixing tests accordingly.
mysql-test/r/ctype_recoding.result:
  Fixing tests accordingly.
2005-11-21 17:26:31 +04:00
unknown
6e56f7e0a9 Declaring some class members public for BUG#12377:
"Item_date_add_interval needs to have the int_type member as Public".
As explained in the bug report, this change is is to help http://search.cpan.org/~philips/DBIx-MyParse-0.20/
So please keep those members public.


sql/item_func.h:
  declaring some class members public for BUG#12377
sql/item_strfunc.h:
  declaring some class members public for BUG#12377
sql/item_timefunc.h:
  declaring some class members public for BUG#12377
2005-11-10 15:12:22 +01:00
unknown
c9978d8bcb Bug#13233
select distinct char(column) fails with utf8
ctype_utf8.result, ctype_utf8.test:
  Adding test case
sql_yacc.yy:
  Adding new syntax.
item_strfunc.h:
  Fixing wrong max_length calculation.
  Also, adding CHAR(x USING charset),
  for easier migrating from 4.1 to 5.0,
  according to Monty's suggestion.


sql/item_strfunc.h:
  Bug#13233
  select distinct char(column) fails with utf8
  Also, adding CHAR(x USING charset),
  for easier migrating from 4.1 to 5.0.
sql/sql_yacc.yy:
  Adding new syntax.
mysql-test/t/ctype_utf8.test:
  Adding test case
mysql-test/r/ctype_utf8.result:
  Adding test case
2005-10-21 14:41:56 +05:00
unknown
3dcf7083a9 func_str.test:
Added test cases for bug #11469.
item_strfunc.h:
  Fixed bug #11469: wrong implementation of the not_null_tables
  method for CONCAT_WS.


sql/item_strfunc.h:
  Fixed bug #11469: wrong implementation of the not_null_tables
  method for CONCAT_WS.
mysql-test/t/func_str.test:
  Added test cases for bug #11469.
2005-06-29 02:40:25 -07:00
unknown
31d7922823 Remove testcode
sql/item_strfunc.h:
  Remove the testcode
2005-05-10 10:45:16 +02:00
unknown
9ab5f6143e BUG#10241 cygwin port: invalid pragma interface directives
- Introduce ifdefs so we can control when to use #pragma interface on cygwin


include/my_global.h:
  Turn on use of #pragma implementation and #pragma interface if compiled with GCC and platform != Cygwin
include/raid.h:
  replace __GNUC__ with USE_PRAGMA_INTERFACE
sql/examples/ha_archive.h:
  replace __GNUC__ with USE_PRAGMA_INTERFACE
sql/examples/ha_example.h:
  replace __GNUC__ with USE_PRAGMA_INTERFACE
sql/field.h:
  replace __GNUC__ with USE_PRAGMA_INTERFACE
sql/ha_berkeley.h:
  replace __GNUC__ with USE_PRAGMA_INTERFACE
sql/ha_blackhole.h:
  replace __GNUC__ with USE_PRAGMA_INTERFACE
sql/ha_heap.h:
  replace __GNUC__ with USE_PRAGMA_INTERFACE
sql/ha_innodb.h:
  replace __GNUC__ with USE_PRAGMA_INTERFACE
sql/ha_isam.h:
  replace __GNUC__ with USE_PRAGMA_INTERFACE
sql/ha_isammrg.h:
  replace __GNUC__ with USE_PRAGMA_INTERFACE
sql/ha_myisam.h:
  replace __GNUC__ with USE_PRAGMA_INTERFACE
sql/ha_myisammrg.h:
  replace __GNUC__ with USE_PRAGMA_INTERFACE
sql/ha_ndbcluster.h:
  replace __GNUC__ with USE_PRAGMA_INTERFACE
sql/handler.h:
  replace __GNUC__ with USE_PRAGMA_INTERFACE
sql/item.h:
  replace __GNUC__ with USE_PRAGMA_INTERFACE
sql/item_cmpfunc.h:
  replace __GNUC__ with USE_PRAGMA_INTERFACE
sql/item_func.h:
  replace __GNUC__ with USE_PRAGMA_INTERFACE
sql/item_geofunc.h:
  replace __GNUC__ with USE_PRAGMA_INTERFACE
sql/item_strfunc.h:
  replace __GNUC__ with USE_PRAGMA_INTERFACE
sql/item_subselect.h:
  replace __GNUC__ with USE_PRAGMA_INTERFACE
sql/item_sum.h:
  replace __GNUC__ with USE_PRAGMA_INTERFACE
sql/item_timefunc.h:
  replace __GNUC__ with USE_PRAGMA_INTERFACE
sql/opt_range.h:
  replace __GNUC__ with USE_PRAGMA_INTERFACE
sql/procedure.h:
  replace __GNUC__ with USE_PRAGMA_INTERFACE
sql/protocol.h:
  replace __GNUC__ with USE_PRAGMA_IMPLEMENTATION
sql/set_var.h:
  replace __GNUC__ with USE_PRAGMA_INTERFACE
sql/sql_class.h:
  replace __GNUC__ with USE_PRAGMA_INTERFACE
sql/sql_list.h:
  replace __GNUC__ with USE_PRAGMA_INTERFACE
sql/sql_select.h:
  replace __GNUC__ with USE_PRAGMA_INTERFACE
sql/sql_string.h:
  replace __GNUC__ with USE_PRAGMA_INTERFACE
sql/sql_udf.h:
  replace __GNUC__ with USE_PRAGMA_INTERFACE
sql/tztime.h:
  replace __GNUC__ with USE_PRAGMA_INTERFACE
2005-05-04 15:05:56 +02:00
unknown
9b2e4c7c60 Fixed that LEFT OUTER JOIN was replaced with a regulat join
in some cases, because "charset(x) = 'string'" was considered
as "x is not null" due to incorrect not_null_tables().
2005-03-24 18:10:46 +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
33e74b1427 Merge fixes for #8248, #5569.
mysql-test/r/func_str.result:
  Update results
mysql-test/t/func_str.test:
  Merge test
sql/item_strfunc.cc:
  Set charset on output string
sql/item_strfunc.h:
  Merge
sql/sql_parse.cc:
  Merge
vio/viosocket.c:
  Merge
2005-02-02 08:21:11 -08:00
unknown
6d0d03dab9 Fix QUOTE() to not reuse the input field for output, which resulted in
incorrect results when the input was a constant across a multi-row SELECT
statement. (Bug #8248)


sql/item_strfunc.h:
  Add tmp_value member
sql/item_strfunc.cc:
  Always allocate a new string for QUOTE(), in case the field is being reused
  for multiple rows.
mysql-test/t/func_str.test:
  Add regression test
mysql-test/r/func_str.result:
  Add test results
2005-02-01 18:29:10 -08:00
unknown
8322eb0aaa * Added comments and one assert
* Backport of safety measures from 5.0: make numeorous replaces:
    s/item->fix_fields()/if (!item->fixed) item->fix_fields()


sql/item.cc:
   * More comments
   * Backport of safety measures from 5.0: make numeorous replaces:
      s/item->fix_fields()/if (!item->fixed) item->fix_fields()
sql/item.h:
  Assert added
sql/item_cmpfunc.cc:
  Backport of safety measures from 5.0: make numeorous replaces:
    s/item->fix_fields()/if (!item->fixed) item->fix_fields()
sql/item_func.cc:
  Backport of safety measures from 5.0: make numeorous replaces:
    s/item->fix_fields()/if (!item->fixed) item->fix_fields()
sql/item_strfunc.h:
  Backport of safety measures from 5.0: make numeorous replaces:
    s/item->fix_fields()/if (!item->fixed) item->fix_fields()
sql/item_subselect.cc:
  Backport of safety measures from 5.0: make numeorous replaces:
    s/item->fix_fields()/if (!item->fixed) item->fix_fields()
sql/item_sum.cc:
  Backport of safety measures from 5.0: make numeorous replaces:
    s/item->fix_fields()/if (!item->fixed) item->fix_fields()
sql/set_var.cc:
  Backport of safety measures from 5.0: make numeorous replaces:
    s/item->fix_fields()/if (!item->fixed) item->fix_fields()
sql/sql_base.cc:
  Backport of safety measures from 5.0: make numeorous replaces:
    s/item->fix_fields()/if (!item->fixed) item->fix_fields()
sql/sql_handler.cc:
  Backport of safety measures from 5.0: make numeorous replaces:
    s/item->fix_fields()/if (!item->fixed) item->fix_fields()
sql/sql_help.cc:
  Backport of safety measures from 5.0: make numeorous replaces:
    s/item->fix_fields()/if (!item->fixed) item->fix_fields()
sql/sql_select.cc:
  Backport of safety measures from 5.0: make numeorous replaces:
    s/item->fix_fields()/if (!item->fixed) item->fix_fields()
2004-12-14 03:36:19 +03:00
unknown
41a61e84d7 A fix for a crashing bug #7101, which occures when the
expression involving LEFT() function is used in GROUP BY
field.


mysql-test/r/func_str.result:
  A result for bug #7101 test case
mysql-test/t/func_str.test:
  Test case for bug #7101
2004-12-10 00:17:43 +02:00
unknown
a5087248e3 An extra "separator" class member was removed from Item_func_concat_ws.
args[0] is now used instead.
2004-10-28 11:43:31 +05:00
unknown
166d19e963 Deployment of centralized Item change registry, step 2: Item_ref
doesn't need to have it's own recovery mechanism.


sql/item.cc:
  Deployment of centralized Item change registry, step 2: Item_ref 
  doesn't need to have it's own recovery mechanism, so it was simplified.
sql/item.h:
  Deployment of centralized Item change registry, step 2: Item_ref 
  doesn't need to have it's own recovery mechanism, so it was simplified.
sql/item_cmpfunc.cc:
  - Item::split_sum_func now requires THD
  - use THD::register_item_tree_change
sql/item_cmpfunc.h:
  - Item::split_sum_func now requires THD
sql/item_func.cc:
  - Item::split_sum_func now requires THD
  - use THD::register_item_tree_change
sql/item_func.h:
  - Item::split_sum_func now requires THD
sql/item_row.cc:
  - Item::split_sum_func now requires THD
  - use THD::register_item_tree_change
sql/item_row.h:
  - Item::split_sum_func now requires THD
sql/item_strfunc.cc:
  - Item::split_sum_func now requires THD
  - use THD::register_item_tree_change to register changes in the item
    tree
sql/item_strfunc.h:
  - Item::split_sum_func now requires THD
sql/item_subselect.cc:
  - use updated Item_ref constructor
sql/sql_base.cc:
  - Item::split_sum_func now requires THD
sql/sql_select.cc:
  - Item::split_sum_func now requires THD
sql/sql_yacc.yy:
  - use updated Item_ref constructor
2004-10-08 19:13:09 +04:00
unknown
0d07df3d8d in 4.1 DATABASE() may be NULL 2004-07-16 13:21:58 +02:00
unknown
1a81e04145 DBUG_ASSERT(fixed == 1); added to val*
small optimisation in signed_literal


sql/field.cc:
  layout fixed
sql/item.cc:
  DBUG_ASSERT(fixed == 1); added to val*
  layout fixed
  fixed= 1; added where it was forgoten in fix_fields
  Item_string can be used without fix_fields
sql/item.h:
  DBUG_ASSERT(fixed == 1); added to val*
  Item_string can be used without fix_fields
sql/item_cmpfunc.cc:
  DBUG_ASSERT(fixed == 1); added to val*
sql/item_cmpfunc.h:
  fixed layout and getting Item statistic
sql/item_func.cc:
  DBUG_ASSERT(fixed == 1); added to val*
sql/item_func.h:
  DBUG_ASSERT(fixed == 1); added to val*
sql/item_geofunc.cc:
  DBUG_ASSERT(fixed == 1); added to val*
sql/item_strfunc.cc:
  DBUG_ASSERT(fixed == 1); added to val*
  layout fixed
sql/item_strfunc.h:
  DBUG_ASSERT(fixed == 1); added to val*
sql/item_subselect.cc:
  DBUG_ASSERT(fixed == 1); added to val*
sql/item_sum.cc:
  DBUG_ASSERT(fixed == 1); added to val*
sql/item_sum.h:
  DBUG_ASSERT(fixed == 1); added to val*
sql/item_timefunc.cc:
  DBUG_ASSERT(fixed == 1); added to val*
sql/item_timefunc.h:
  DBUG_ASSERT(fixed == 1); added to val*
sql/item_uniq.h:
  DBUG_ASSERT(fixed == 1); added to val*
sql/sql_base.cc:
  Item creation revised
sql/sql_help.cc:
  Item creation revised
sql/sql_load.cc:
  Item creation revised
sql/sql_parse.cc:
  fix_field call added
sql/sql_select.cc:
  Item creation revised
sql/sql_show.cc:
  Item creation revised
sql/sql_union.cc:
  Item creation revised
sql/sql_update.cc:
  Item creation revised
sql/sql_yacc.yy:
  Item creation revised
  small optimisation in signed_literal
2004-03-18 15:14:36 +02:00
unknown
f83cf41440 DBUG_ASSERT(fixed == 0) added to fix_fields()
sql/item.cc:
  layout fixed
  fixed bug in prepared statements with subqueries and outer references
sql/item.h:
  neg_transformer get thd argument to call fix_fields
sql/item_cmpfunc.cc:
  DBUG_ASSERT(fixed == 0) added to fix_fields()
  fixed Item_in_optimizer fixed flag
  neg_arguments(), neg_transformer() call fix_field() on created items to avoid bouble fix field or non-called fixfields()
sql/item_cmpfunc.h:
  neg_transformer get thd argument to call fix_fields
  fixed forgoten cleanup() call of parent class
sql/item_func.cc:
  DBUG_ASSERT(fixed == 0) and fixed flag check added to fix_fields()
sql/item_func.h:
  DBUG_ASSERT(fixed == 0) added to fix_fields()
  fixed forgoten cleanup() call of parent class
sql/item_row.cc:
  DBUG_ASSERT(fixed == 0) added to fix_fields()
  added forgoten 'fixed' flag set
sql/item_subselect.cc:
  DBUG_ASSERT(fixed == 0) added to fix_fields()
  fixed subquery transformation
sql/sql_base.cc:
  check of fixed flag added
sql/sql_derived.cc:
  fixed cleunup union in derived table during EXPLAIN command processing
sql/sql_select.cc:
  thd argument add to function to allow call fix_fields() of new created items
  fixed EXPLAIN double preparation
  check of fixed flag added
  eliminate_not_funcs fixed for corrcet fix_fields call of new created items
sql/sql_select.h:
  thd argument add to function to allow call fix_fields() of new created items
sql/sql_union.cc:
  union processing fixed
tests/client_test.c:
  layout fixed
  new test of outer references fron subqueries
2004-03-17 14:26:26 +02:00
unknown
1530dd73a0 UNHEX() function 2004-03-04 23:18:54 +01:00
unknown
30a8a65238 fix CHARSET(UUID()) 2004-02-27 23:59:09 +01:00
unknown
1e191736d6 my_gethwaddr() for linux/freebsd
UUID() function


BitKeeper/etc/ignore:
  Added mysys/test_gethwaddr to the ignore list
include/my_sys.h:
  my_gethwaddr()
mysys/Makefile.am:
  my_gethwaddr
sql/item_create.cc:
  UUID() function
sql/item_create.h:
  UUID() function
sql/item_strfunc.cc:
  UUID() function
sql/item_strfunc.h:
  UUID() function
sql/lex.h:
  UUID() function
sql/mysql_priv.h:
  UUID() function
sql/mysqld.cc:
  UUID() function
sql/sql_class.cc:
  cleanup
2004-02-27 20:30:08 +01:00
unknown
b268952faf Bug 2701: Function CHARSET() inconsistency
CONVERT3 was removed, it was for test purposes,
and rather harmful.
2004-02-11 16:53:39 +04:00
unknown
faa8a41b1d Problem fix:
http://bugs.mysql.com/bug.php?id=2366
Wrong utf8 behaviour when data is trancated
2004-02-06 16:59:25 +04:00
unknown
367ded9f71 Fix for prepared statements
Here i added Item_*::cleanup() functions,
removed a lot of ~Item_*'s,
added code to restore order_list and group_list


sql/item.cc:
  cleanups methods implemented
  Item_ref constructors changed
sql/item.h:
  cleanups declared
  Item_ref constructors changed
  some ~Item_* deleted
sql/item_cmpfunc.cc:
  new Item_ref format
sql/item_cmpfunc.h:
  saving/restoring of the original arguments added to
  eq and equal functions
sql/item_func.cc:
  New Item_ref format
sql/item_func.h:
  destructors removed/changed to 'cleanup()'
sql/item_row.cc:
  New Item_ref format
sql/item_row.h:
  ~Item_row -> cleanup()
sql/item_strfunc.cc:
  new Item_ref format
sql/item_strfunc.h:
  destructors removed
sql/item_subselect.cc:
  Item_subselect implementation,
  new Item_ref() format
sql/item_subselect.h:
  cleanups for subselects declared
sql/item_sum.cc:
  cleanups implementations
sql/item_sum.h:
  cleanups declarations
  destructors removed
sql/mysql_priv.h:
  free_items, cleanup_items exported
sql/sql_prepare.cc:
  cleanup_items, free_items calls added
  stmt->query_id= thd->query_id restored
  cleanup procedures for group_list and order_list added
sql/sql_yacc.yy:
  New Item_ref() format
2003-12-30 14:08:19 +04:00
unknown
0fb88806e4 Merge with 4.0.17
BitKeeper/etc/logging_ok:
  auto-union
Build-tools/Do-compile:
  Auto merged
acinclude.m4:
  Auto merged
configure.in:
  Auto merged
dbug/dbug.c:
  Auto merged
include/config-win.h:
  Auto merged
include/my_base.h:
  Auto merged
include/my_global.h:
  Auto merged
include/my_pthread.h:
  Auto merged
include/my_sys.h:
  Auto merged
include/mysql.h:
  Auto merged
include/mysql_com.h:
  Auto merged
innobase/lock/lock0lock.c:
  Auto merged
innobase/row/row0ins.c:
  Auto merged
innobase/row/row0sel.c:
  Auto merged
innobase/row/row0umod.c:
  Auto merged
innobase/row/row0upd.c:
  Auto merged
myisam/ft_boolean_search.c:
  Auto merged
myisam/mi_check.c:
  Auto merged
myisam/mi_dbug.c:
  Auto merged
myisam/mi_open.c:
  Auto merged
mysql-test/r/auto_increment.result:
  Auto merged
mysql-test/r/bdb.result:
  Auto merged
mysql-test/r/func_op.result:
  Auto merged
Build-tools/Bootstrap:
  Merge with 4.0
client/mysql.cc:
  Merge with 4.0
client/mysqldump.c:
  Merge with 4.0
client/mysqltest.c:
  Use local version
innobase/btr/btr0cur.c:
  Merge with 4.0 (Heikki should check if we should remove btr_cur_update_sec_rec_in_place()
libmysql/libmysql.c:
  Merge with 4.0
libmysqld/lib_sql.cc:
  Merge with 4.0
myisam/mi_key.c:
  Merge with 4.0
myisam/mi_search.c:
  Merge with 4.0
mysql-test/r/binary.result:
  Merge with 4.0
mysql-test/r/func_group.result:
  Merge with 4.0
mysql-test/r/func_str.result:
  Merge with 4.0
mysql-test/r/func_time.result:
  Merge with 4.0
mysql-test/r/group_by.result:
  Merge with 4.0
mysql-test/r/handler.result:
  Merge with 4.0
mysql-test/r/innodb.result:
  Merge with 4.0
mysql-test/r/insert.result:
  Merge with 4.0
mysql-test/r/join_outer.result:
  Merge with 4.0
mysql-test/r/loaddata.result:
  Merge with 4.0
mysql-test/r/lowercase_table.result:
  Merge with 4.0
mysql-test/r/multi_update.result:
  Merge with 4.0
mysql-test/r/mysqldump.result:
  Merge with 4.0
mysql-test/r/query_cache.result:
  Merge with 4.0
mysql-test/r/rpl_max_relay_size.result:
  Merge with 4.0
mysql-test/r/rpl_rotate_logs.result:
  Merge with 4.0
mysql-test/r/rpl_trunc_binlog.result:
  Merge with 4.0
mysql-test/r/select_found.result:
  Merge with 4.0
mysql-test/r/symlink.result:
  Merge with 4.0
mysql-test/r/truncate.result:
  Merge with 4.0
mysql-test/r/type_blob.result:
  Merge with 4.0
mysql-test/r/type_datetime.result:
  Merge with 4.0
mysql-test/r/type_decimal.result:
  Merge with 4.0
mysql-test/r/type_enum.result:
  Merge with 4.0
mysql-test/r/type_timestamp.result:
  Merge with 4.0
mysql-test/r/union.result:
  Merge with 4.0
mysql-test/t/auto_increment.test:
  Merge with 4.0
mysql-test/t/bdb.test:
  Merge with 4.0
mysql-test/t/func_group.test:
  Merge with 4.0
mysql-test/t/func_op.test:
  Merge with 4.0
mysql-test/t/func_str.test:
  Merge with 4.0
mysql-test/t/func_time.test:
  Merge with 4.0
mysql-test/t/group_by.test:
  Merge with 4.0
mysql-test/t/handler.test:
  Merge with 4.0
mysql-test/t/innodb.test:
  Merge with 4.0
mysql-test/t/insert.test:
  Merge with 4.0
mysql-test/t/join_outer.test:
  Merge with 4.0
mysql-test/t/limit.test:
  Merge with 4.0
mysql-test/t/loaddata.test:
  Merge with 4.0
mysql-test/t/lowercase_table.test:
  Merge with 4.0
mysql-test/t/multi_update.test:
  Merge with 4.0
mysql-test/t/mysqldump.test:
  Merge with 4.0
mysql-test/t/query_cache.test:
  Merge with 4.0
mysql-test/t/rpl_log_pos.test:
  Merge with 4.0
mysql-test/t/rpl_max_relay_size.test:
  Merge with 4.0
mysql-test/t/rpl_rotate_logs.test:
  Merge with 4.0
mysql-test/t/rpl_trunc_binlog.test:
  Merge with 4.0
mysql-test/t/select_found.test:
  Merge with 4.0
mysql-test/t/symlink.test:
  Merge with 4.0
mysql-test/t/truncate.test:
  Merge with 4.0
mysql-test/t/type_blob.test:
  Merge with 4.0
mysql-test/t/type_datetime.test:
  Merge with 4.0
mysql-test/t/type_decimal.test:
  Merge with 4.0
mysql-test/t/type_enum.test:
  Merge with 4.0
mysql-test/t/type_timestamp.test:
  Merge with 4.0
mysql-test/t/union.test:
  Merge with 4.0
mysys/charset.c:
  Merge with 4.0
mysys/my_init.c:
  Merge with 4.0
mysys/my_symlink.c:
  Merge with 4.0
mysys/my_thr_init.c:
  Merge with 4.0
regex/reginit.c:
  Merge with 4.0
sql/field.cc:
  Change fix_datetime() to print errors
sql/field.h:
  Merge with 4.0
sql/ha_innodb.cc:
  Merge with 4.0
sql/item.cc:
  Merge with 4.0
sql/item.h:
  Merge with 4.0
sql/item_cmpfunc.cc:
  Merge with 4.0
sql/item_func.cc:
  Merge with 4.0
sql/item_func.h:
  Merge with 4.0
sql/item_strfunc.cc:
  Merge with 4.0
sql/item_strfunc.h:
  Merge with 4.0
sql/item_sum.cc:
  Merge with 4.0
sql/item_sum.h:
  Merge with 4.0
sql/item_timefunc.cc:
  Merge with 4.0
sql/lex.h:
  Merge with 4.0
sql/log.cc:
  Merge with 4.0
sql/log_event.cc:
  Merge with 4.0
sql/log_event.h:
  Merge with 4.0
sql/mysql_priv.h:
  Merge with 4.0
sql/mysqld.cc:
  Merge with 4.0
sql/nt_servc.cc:
  Merge with 4.0
sql/opt_range.cc:
  Merge with 4.0
sql/records.cc:
  Merge with 4.0
sql/repl_failsafe.cc:
  Merge with 4.0
sql/slave.cc:
  Merge with 4.0
sql/sql_acl.cc:
  Merge with 4.0
sql/sql_analyse.cc:
  Merge with 4.0
sql/sql_base.cc:
  Merge with 4.0
sql/sql_cache.cc:
  Merge with 4.0
sql/sql_class.h:
  Merge with 4.0
sql/sql_db.cc:
  Merge with 4.0
sql/sql_delete.cc:
  Merge with 4.0
sql/sql_insert.cc:
  Merge with 4.0
sql/sql_load.cc:
  Merge with 4.0
sql/sql_parse.cc:
  Merge with 4.0
sql/sql_rename.cc:
  Merge with 4.0
sql/sql_select.cc:
  Merge with 4.0
sql/sql_show.cc:
  Merge with 4.0
sql/sql_table.cc:
  Merge with 4.0
sql/sql_update.cc:
  Merge with 4.0
sql/sql_yacc.yy:
  Merge with 4.0
sql/table.cc:
  Merge with 4.0
sql/table.h:
  Merge with 4.0
sql/time.cc:
  Merge with 4.0
sql/uniques.cc:
  Merge with 4.0
strings/ctype-tis620.c:
  Merge with 4.0
strings/strto.c:
  Merge with 4.0
support-files/mysql.server.sh:
  Merge with 4.0
support-files/mysql.spec.sh:
  Merge with 4.0
2003-12-17 17:35:34 +02:00
unknown
c2b60a6f59 Fix for bug#1944 'Function RPad() sometimes produce unexpected result' 2003-12-04 14:12:01 +04:00
unknown
30c97ed175 Merge
BitKeeper/etc/ignore:
  auto-union
include/m_ctype.h:
  Auto merged
mysql-test/mysql-test-run.sh:
  Auto merged
mysql-test/r/func_compress.result:
  Auto merged
mysql-test/t/date_formats.test:
  Auto merged
sql/field.cc:
  Auto merged
sql/field.h:
  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_func.h:
  Auto merged
sql/item_strfunc.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/set_var.h:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
strings/ctype-bin.c:
  Auto merged
include/mysqld_error.h:
  Merge error messages
mysql-test/r/date_formats.result:
  merge
sql/derror.cc:
  Fixed wront return value
sql/item_timefunc.cc:
  merge
sql/item_timefunc.h:
  merge
sql/mysqld.cc:
  merge
sql/share/czech/errmsg.txt:
  Merge error messages
sql/share/danish/errmsg.txt:
  Merge error messages
sql/share/dutch/errmsg.txt:
  Merge error messages
sql/share/english/errmsg.txt:
  Merge error messages
sql/share/estonian/errmsg.txt:
  Merge error messages
sql/share/french/errmsg.txt:
  Merge error messages
sql/share/german/errmsg.txt:
  Merge error messages
sql/share/greek/errmsg.txt:
  Merge error messages
sql/share/hungarian/errmsg.txt:
  Merge error messages
sql/share/italian/errmsg.txt:
  Merge error messages
sql/share/japanese/errmsg.txt:
  Merge error messages
sql/share/korean/errmsg.txt:
  Merge error messages
sql/share/norwegian-ny/errmsg.txt:
  Merge error messages
sql/share/norwegian/errmsg.txt:
  Merge error messages
sql/share/polish/errmsg.txt:
  Merge error messages
sql/share/portuguese/errmsg.txt:
  Merge error messages
sql/share/romanian/errmsg.txt:
  Merge error messages
sql/share/russian/errmsg.txt:
  Merge error messages
sql/share/serbian/errmsg.txt:
  Merge error messages
sql/share/slovak/errmsg.txt:
  Merge error messages
sql/share/spanish/errmsg.txt:
  Merge error messages
sql/share/swedish/errmsg.txt:
  Merge error messages
sql/share/ukrainian/errmsg.txt:
  Merge error messages
2003-11-03 22:48:03 +02:00
unknown
bee5d9d462 Simplified 'wrong xxx name' error messages by introducing 'general' ER_WRONG_NAME error
Cleaned up (and disabled part of) date/time/datetime format patch. One can't anymore change default read/write date/time/formats.
This is becasue the non standard datetime formats can't be compared as strings and MySQL does still a lot of datetime comparisons as strings
Changed flag argument to str_to_TIME() and get_date() from bool to uint
Removed THD from str_to_xxxx functions and Item class.
Fixed core dump when doing --print-defaults
Move some common string functions to strfunc.cc
Dates as strings are now of type my_charset_bin instead of default_charset()
Introduce IDENT_QUOTED to not have to create an extra copy of simple identifiers (all chars < 128)
Removed xxx_FORMAT_TYPE enums and replaced them with the old TIMESTAMP_xxx enums
Renamed some TIMESTAMP_xxx enums to more appropriate names
Use defines instead of integers for date/time/datetime string lengths
Added to build system and use the new my_strtoll10() function.



BUILD/compile-pentium-valgrind-max:
  Remove double printing of warning
VC++Files/libmysqld/libmysqld.dsp:
  Added strfunc.cc
VC++Files/sql/mysqld.dsp:
  Added strfunc.cc
VC++Files/sql/mysqldmax.dsp:
  Added strfunc.cc
VC++Files/strings/strings.dsp:
  added my_strtoll10.c
include/m_ctype.h:
  Removed MY_LEX_FOUND_IDENT (not used)
include/m_string.h:
  Added my_strtoll10()
include/mysqld_error.h:
  simplified 'wrong xxx name' error messages
include/sql_state.h:
  simplified 'wrong xxx name' error messages
libmysqld/Makefile.am:
  Added strfunc.cc
mysql-test/mysql-test-run.sh:
  Simplified some options
  changed $@ to "$@" in an attempt to handle options with space (Didn't succeed;  Problem will disappear when mysql-test-run is rewritten in C)
mysql-test/r/ctype_latin1_de.result:
  Added new tests
mysql-test/r/ctype_recoding.result:
  Extended tests
mysql-test/r/date_formats.result:
  Cleaned up tests
  Disabled some tests that can't yet be run
mysql-test/r/func_compress.result:
  New error message
mysql-test/r/rpl_temporary.result:
  Added new test
mysql-test/t/create.test:
  Changed error numbers
mysql-test/t/ctype_latin1_de.test:
  New tests
mysql-test/t/ctype_recoding.test:
  Extended tests
mysql-test/t/date_formats-master.opt:
  Removed datetime_format as we can't handle options with space in mysql-test-run
mysql-test/t/date_formats.test:
  Cleaned up tests
  Disabled some tests that can't yet be run
mysql-test/t/rpl_temporary.test:
  Added testing of open temporary table on slave shutdown
mysql-test/t/symlink.test:
  Fixed error numbers
mysys/default.c:
  Fixed core dump when doing --print-defaults
sql/Makefile.am:
  Added strfunc.cc
sql/derror.cc:
  Fixed compiler warning
sql/field.cc:
  Changed argument to str_to_TIME() from bool to uint
  Removed THD argument from str_to_TIME()
  Moved find_enum() and find_set() to strfunc.cc
sql/field.h:
  Changed type of last argument to get_date() to be able to handle more options
sql/init.cc:
  Remove not used variable dayord
sql/item.cc:
  Changed type of last argument to get_date() to be able to handle more options
  Removed THD* element from item.
  Don't use make_date_time() to generate date/time/datetimes
sql/item.h:
  Changed type of last argument to get_date() to be able to handle more options
  Removed THD* from Item
sql/item_create.cc:
  Indentation cleanup
sql/item_func.cc:
  Use new find_type()
sql/item_func.h:
  Changed type of last argument to get_date() to be able to handle more options
sql/item_strfunc.h:
  space change
sql/item_timefunc.cc:
  Changed month_names[] to be easier to use
  Moved check_names[] to strfunc.cc
  Added back old make_datetime() function
  Optimized extract_date_time()
  Use my_strtoll10() insetad of my_strntoll()
  Optimized make_date_time()
  Replaced short variable names with long ones.
  Use new functions make_time(), make_date() and make_datetime()
  Dates as strings are now of type my_charset_bin instead of default_charset()
  Changed Item_func_str_to_date() to by default return a date.
sql/item_timefunc.h:
  Changed charset for date string from default_charset() to my_charset_bin
  Changed type of last argument to get_date() to be able to handle more options
  Use defines instead of integers for date/time/datetime string lengths
sql/mysql_priv.h:
  Fixed/added new prototypes
sql/mysqld.cc:
  Removed opt_datetime_format_names
  Cleaned up handling of date_time format handling. (Fixed core dump when mysqld had error on startup)
  Removed some unnecessary double init of collation variables
sql/protocol.cc:
  Changed back protocol functions to always return dates in ISO format
sql/set_var.cc:
  Added variables time_format, date_format and datetime_format
  This had to be recoded becasue checking was done in 'update' method and not in 'check' method.
sql/set_var.h:
  Removed class sys_var_datetime_format() as this defined a variable (which doesn't work) instead of updating a variable
sql/share/czech/errmsg.txt:
  simplified 'wrong xxx name' error messages
sql/share/danish/errmsg.txt:
  simplified 'wrong xxx name' error messages
sql/share/dutch/errmsg.txt:
  simplified 'wrong xxx name' error messages
sql/share/english/errmsg.txt:
  simplified 'wrong xxx name' error messages
sql/share/estonian/errmsg.txt:
  simplified 'wrong xxx name' error messages
sql/share/french/errmsg.txt:
  simplified 'wrong xxx name' error messages
sql/share/german/errmsg.txt:
  simplified 'wrong xxx name' error messages
sql/share/greek/errmsg.txt:
  simplified 'wrong xxx name' error messages
sql/share/hungarian/errmsg.txt:
  simplified 'wrong xxx name' error messages
sql/share/italian/errmsg.txt:
  simplified 'wrong xxx name' error messages
sql/share/japanese/errmsg.txt:
  simplified 'wrong xxx name' error messages
sql/share/korean/errmsg.txt:
  simplified 'wrong xxx name' error messages
sql/share/norwegian-ny/errmsg.txt:
  simplified 'wrong xxx name' error messages
sql/share/norwegian/errmsg.txt:
  simplified 'wrong xxx name' error messages
sql/share/polish/errmsg.txt:
  simplified 'wrong xxx name' error messages
sql/share/portuguese/errmsg.txt:
  simplified 'wrong xxx name' error messages
sql/share/romanian/errmsg.txt:
  simplified 'wrong xxx name' error messages
sql/share/russian/errmsg.txt:
  simplified 'wrong xxx name' error messages
sql/share/serbian/errmsg.txt:
  simplified 'wrong xxx name' error messages
sql/share/slovak/errmsg.txt:
  simplified 'wrong xxx name' error messages
sql/share/spanish/errmsg.txt:
  simplified 'wrong xxx name' error messages
sql/share/swedish/errmsg.txt:
  simplified 'wrong xxx name' error messages
sql/share/ukrainian/errmsg.txt:
  simplified 'wrong xxx name' error messages
sql/sql_base.cc:
  Use new find_type()
sql/sql_class.cc:
  Allocate/free date_time format variables
sql/sql_class.h:
  Define datetime_format variables
sql/sql_db.cc:
  Use new ER_WRONG_NAME error
sql/sql_lex.cc:
  Change lex to generate IDENT_QUOTED for quoted identifiers or identifers that are using characters > 128.
  This enabled us to not have to copy and convert the identifier to utf8 for simpe identifiers
sql/sql_parse.cc:
  Use new ER_WRONG_NAME error
  Use new find_type() function
sql/sql_prepare.cc:
  Use new defines
sql/sql_table.cc:
  Use new ER_WRONG_NAME error
sql/sql_yacc.yy:
  Don't copy and convert simple identifiers to utf8.
  Replace __FORMAT_TYPE defines with TIMESTAMP... defines
sql/structs.h:
  Renamed DATETIME_FORMAT to DATE_TIME format to indicate that it's for date/time/datetime formats
  Renamed WRONT_TIMESTAMP_FULL to TIMESTAMP_DATETIME_ERROR and TIMESTAMP_FULL to TIMESTAMP_DATETIME
  Added KNOWN_DATE_TIME_FORMAT struct for Item_func_get_format
sql/time.cc:
  Prepare str_to_TIME and str_to_time() for general date/time handling
  Removed THD from str_to... functions
  Renamed date/time/datetime functions to use 'date_time' instead of 'datetime'
  Added functions to make and copy DATE_TIME_FORMAT's
  Added trivial functions 'make_time()', 'make_date()' and 'make_datetime()'
strings/Makefile.am:
  Added my_strtoll10()
strings/ctype-bin.c:
  Cleared upper part of binary state map to be able to easily identify simple identifiers
strings/my_vsnprintf.c:
  F
2003-11-03 14:01:59 +02:00
unknown
87e6c2ba77 added code covarage for functions convert(), nullif(), crc32(), is_used_lock(), char_lengtrh(), bit_xor()
added string length for more speed
made code covarage for print() method of Item
fixed printability of some items (SCRUM) (WL#1274)


mysql-test/r/auto_increment.result:
  print() code coverage
mysql-test/r/bench_count_distinct.result:
  print() code coverage
mysql-test/r/case.result:
  print() code coverage
mysql-test/r/cast.result:
  print() code coverage
mysql-test/r/ctype_collate.result:
  print() code coverage
mysql-test/r/ctype_many.result:
  convert with 3 arguments code covarage
  print() code coverage
mysql-test/r/ctype_utf8.result:
  char_length code coverage
mysql-test/r/date_formats.result:
  print() code coverage
mysql-test/r/fulltext.result:
  print() code coverage
mysql-test/r/func_compress.result:
  print() code coverage
mysql-test/r/func_gconcat.result:
  print() code coverage
mysql-test/r/func_group.result:
  bit_xor() code coverage
  print() code coverage
mysql-test/r/func_if.result:
  nullif() code coverage
  print() code coverage
mysql-test/r/func_in.result:
  print() code coverage
mysql-test/r/func_math.result:
  print() code coverage
mysql-test/r/func_op.result:
  print() code coverage
mysql-test/r/func_regexp.result:
  print() code coverage
mysql-test/r/func_set.result:
  print() code coverage
mysql-test/r/func_str.result:
  crc32() code coverage
  print() code coverage
mysql-test/r/func_system.result:
  print() code coverage
mysql-test/r/func_test.result:
  print() code coverage
mysql-test/r/func_time.result:
  print() code coverage
mysql-test/r/group_by.result:
  print() code coverage
mysql-test/r/having.result:
  print() code coverage
mysql-test/r/insert_update.result:
  print() code coverage
mysql-test/r/null.result:
  print() code coverage
mysql-test/r/olap.result:
  print() code coverage
mysql-test/r/query_cache.result:
  print() code coverage
mysql-test/r/row.result:
  print() code coverage
mysql-test/r/rpl000001.result:
  print() code coverage
mysql-test/r/rpl_get_lock.result:
  print() code coverage
mysql-test/r/rpl_master_pos_wait.result:
  print() code coverage
mysql-test/r/select.result:
  print() code coverage
mysql-test/r/subselect.result:
  print() code coverage
mysql-test/r/type_blob.result:
  print() code coverage
mysql-test/r/varbinary.result:
  print() code coverage
mysql-test/r/variables.result:
  print() code coverage
mysql-test/t/auto_increment.test:
  print() code coverage
mysql-test/t/bench_count_distinct.test:
  print() code coverage
mysql-test/t/case.test:
  print() code coverage
mysql-test/t/cast.test:
  print() code coverage
mysql-test/t/ctype_collate.test:
  print() code coverage
mysql-test/t/ctype_many.test:
  convert with 3 arguments code covarage
  print() code coverage
mysql-test/t/ctype_utf8.test:
  char_length code coverage
mysql-test/t/date_formats.test:
  print() code coverage
mysql-test/t/fulltext.test:
  print() code coverage
mysql-test/t/func_compress.test:
  print() code coverage
mysql-test/t/func_gconcat.test:
  print() code coverage
mysql-test/t/func_group.test:
  bit_xor() code coverage
  print() code coverage
mysql-test/t/func_if.test:
  nullif() code coverage
  print() code coverage
mysql-test/t/func_in.test:
  print() code coverage
mysql-test/t/func_math.test:
  print() code coverage
mysql-test/t/func_op.test:
  print() code coverage
mysql-test/t/func_regexp.test:
  print() code coverage
mysql-test/t/func_set.test:
  print() code coverage
mysql-test/t/func_str.test:
  crc32() code covarage
  print() code coverage
mysql-test/t/func_system.test:
  print() code coverage
mysql-test/t/func_test.test:
  print() code coverage
mysql-test/t/func_time.test:
  print() code coverage
mysql-test/t/group_by.test:
  print() code coverage
mysql-test/t/having.test:
  print() code coverage
mysql-test/t/insert_update.test:
  print() code coverage
mysql-test/t/null.test:
  print() code coverage
mysql-test/t/olap.test:
  print() code coverage
mysql-test/t/query_cache.test:
  print() code coverage
mysql-test/t/row.test:
  print() code coverage
mysql-test/t/rpl000001.test:
  print() code coverage
mysql-test/t/rpl_get_lock.test:
  print() code coverage
mysql-test/t/rpl_master_pos_wait.test:
  print() code coverage
mysql-test/t/select.test:
  print() code coverage
mysql-test/t/type_blob.test:
  print() code coverage
mysql-test/t/varbinary.test:
  print() code coverage
mysql-test/t/variables.test:
  print() code coverage
sql/item.cc:
  added string length for more speed
  layout fix
  fixed string printability
sql/item.h:
  added string length for more speed
sql/item_cmpfunc.cc:
  added string length for more speed
sql/item_cmpfunc.h:
  fixed printability
sql/item_create.cc:
  fixed printability
sql/item_func.cc:
  fixed printability
  added string length for more speed
sql/item_func.h:
  fixed printability
sql/item_strfunc.cc:
  fixed printability
  added string length for more speed
sql/item_strfunc.h:
  fixed printability
sql/item_subselect.cc:
  added string length for more speed
sql/item_sum.cc:
  added string length for more speed
sql/item_timefunc.cc:
  added string length for more speed
sql/item_timefunc.h:
  fixed printability
sql/item_uniq.h:
  added string length for more speed
sql/key.cc:
  added string length for more speed
sql/sql_lex.cc:
  added string length for more speed
sql/sql_parse.cc:
  after merge fix
sql/sql_repl.cc:
  string changed with character for more speed
sql/sql_select.cc:
  added string length for more speed
sql/sql_show.cc:
  added string length for more speed
2003-10-30 12:57:26 +02:00
unknown
1d17fd7d51 fixed printability of Items (all items except subselects)
(SCRUM) (WL#1274)


sql/item.cc:
  fixed printability of Items
sql/item.h:
  fixed printability of Items
sql/item_cmpfunc.cc:
  fixed printability of Items
sql/item_cmpfunc.h:
  fixed printability of Items
sql/item_func.cc:
  fixed printability of Items
sql/item_func.h:
  fixed printability of Items
sql/item_geofunc.h:
  added DBUG_ASSERT to catch error in debuging timw
sql/item_row.cc:
  fixed printability of Items
sql/item_row.h:
  fixed printability of Items
sql/item_strfunc.cc:
  fixed printability of Items
sql/item_strfunc.h:
  fixed printability of Items
sql/item_sum.cc:
  fixed printability of Items
sql/item_sum.h:
  fixed printability of Items
sql/item_timefunc.cc:
  fixed printability of Items
sql/item_timefunc.h:
  layout fixed
  fixed printability of Items
sql/item_uniq.h:
  fixed printability of Items
sql/sql_yacc.yy:
  layout fixed
  correct convertion to String
2003-10-12 17:56:05 +03:00
unknown
1ef5dce8a7 Merge bk-internal:/home/bk/mysql-4.1/
into serg.mylan:/usr/home/serg/Abk/mysql-4.1


sql/item_create.cc:
  Auto merged
sql/item_create.h:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/item_strfunc.h:
  Auto merged
sql/lex.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2003-09-03 15:40:19 +02:00
unknown
49b0312dd7 merge commit, hope that none of bar and dlenev changes were
lost.


BitKeeper/etc/logging_ok:
  auto-union
include/mysql.h:
  Auto merged
include/mysql_com.h:
  Auto merged
libmysql/libmysql.c:
  Auto merged
scripts/mysql_fix_privilege_tables.sql:
  Auto merged
sql/item_create.cc:
  Auto merged
sql/item_create.h:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/item_strfunc.h:
  Auto merged
sql/lex.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/protocol.h:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_acl.h:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
include/mysqld_error.h:
  merge commit: new error message added
sql-common/client.c:
  merge commit
sql/mysql_priv.h:
  merge commit: autoremerge
sql/set_var.h:
  merge commit
sql/share/czech/errmsg.txt:
  merge commit
sql/share/danish/errmsg.txt:
  merge commit
sql/share/dutch/errmsg.txt:
  merge commit
sql/share/english/errmsg.txt:
  merge commit
sql/share/estonian/errmsg.txt:
  merge commit
sql/share/french/errmsg.txt:
  merge commit
sql/share/german/errmsg.txt:
  merge commit
sql/share/greek/errmsg.txt:
  merge commit
sql/share/hungarian/errmsg.txt:
  merge commit
sql/share/italian/errmsg.txt:
  merge commit
sql/share/japanese/errmsg.txt:
  merge commit
sql/share/korean/errmsg.txt:
  merge commit
sql/share/norwegian-ny/errmsg.txt:
  merge commit
sql/share/norwegian/errmsg.txt:
  merge commit
sql/share/polish/errmsg.txt:
  merge commit
sql/share/portuguese/errmsg.txt:
  merge commit
sql/share/romanian/errmsg.txt:
  merge commit
sql/share/russian/errmsg.txt:
  merge commit
sql/share/serbian/errmsg.txt:
  merge commit
sql/share/slovak/errmsg.txt:
  merge commit
sql/share/spanish/errmsg.txt:
  merge commit
sql/share/swedish/errmsg.txt:
  merge commit
sql/share/ukrainian/errmsg.txt:
  merge commit
sql/slave.cc:
  merge commit
sql/slave.h:
  merge commit
sql/sql_acl.cc:
  merge commit
sql/sql_parse.cc:
  merge commit
sql/sql_repl.h:
  merge commit
2003-09-03 14:12:10 +04:00
unknown
cf578b265a merged
include/my_sys.h:
  Auto merged
mysql-test/r/innodb.result:
  Auto merged
mysql-test/r/myisam.result:
  Auto merged
mysql-test/t/innodb.test:
  Auto merged
mysql-test/t/myisam.test:
  Auto merged
sql/ha_myisam.cc:
  Auto merged
sql/handler.h:
  Auto merged
sql/item_create.cc:
  Auto merged
sql/item_create.h:
  Auto merged
sql/item_func.h:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/item_strfunc.h:
  Auto merged
sql/lex.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2003-09-03 12:07:18 +02:00
unknown
c1551b4c04 use crc32() from bundled zlib if system zlib is unavailable
sql/item_create.h:
  previous patch cleanup
sql/item_strfunc.cc:
  previous patch cleanup
sql/item_strfunc.h:
  previous patch cleanup
sql/lex.h:
  previous patch cleanup
2003-08-21 18:30:43 +02:00
unknown
e103da7acc fixed a crash on COMPRESS() and other zlib-dependent functions when compiled w/o zlib
moved them all from different places to item_strfunc.{h,cc}
checksum table command
Com_xxx status variables updated


sql/item_create.cc:
  fixed a crash on COMPRESS() and other zlib-dependent functions when compiled w/o zlib
  moved them all from different places to item_strfunc.{h,cc}
sql/item_func.cc:
  fixed a crash on COMPRESS() and other zlib-dependent functions when compiled w/o zlib
  moved them all from different places to item_strfunc.{h,cc}
sql/item_func.h:
  fixed a crash on COMPRESS() and other zlib-dependent functions when compiled w/o zlib
  moved them all from different places to item_strfunc.{h,cc}
sql/item_geofunc.h:
  fixed a crash on COMPRESS() and other zlib-dependent functions when compiled w/o zlib
  moved them all from different places to item_strfunc.{h,cc}
sql/item_strfunc.cc:
  fixed a crash on COMPRESS() and other zlib-dependent functions when compiled w/o zlib
  moved them all from different places to item_strfunc.{h,cc}
sql/item_strfunc.h:
  fixed a crash on COMPRESS() and other zlib-dependent functions when compiled w/o zlib
  moved them all from different places to item_strfunc.{h,cc}
sql/mysql_priv.h:
  checksum table command
sql/mysqld.cc:
  Com_xxx updated
sql/sql_lex.h:
  checksum table command
sql/sql_parse.cc:
  checksum table command
sql/sql_table.cc:
  checksum table command
sql/sql_yacc.yy:
  checksum table command
2003-08-21 16:15:06 +02:00
unknown
e64769909c merge
sql/item.h:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_strfunc.h:
  Auto merged
sql/item_sum.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_derived.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_union.cc:
  Auto merged
sql/table.h:
  Auto merged
2003-08-11 11:51:33 +03:00
unknown
66ce8a88af Merge oak.local:/home/kostja/mysql/mysql-4.1-root
into oak.local:/home/kostja/mysql/mysql-4.1


BitKeeper/etc/logging_ok:
  auto-union
sql/item_strfunc.cc:
  Auto merged
sql/item_strfunc.h:
  Auto merged
sql/set_var.h:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2003-08-07 13:29:25 +04:00
unknown
e8da290b09 Old style charset() and set_charset() were removed. 2003-08-05 12:52:37 +05:00
unknown
09c3520bfa Merge oak.local:/home/kostja/mysql/mysql-4.1-root
into oak.local:/home/kostja/mysql/mysql-4.1


sql/item_strfunc.cc:
  Auto merged
sql/item_strfunc.h:
  Auto merged
sql/lex.h:
  Auto merged
sql/share/czech/errmsg.txt:
  Auto merged
sql/share/danish/errmsg.txt:
  Auto merged
sql/share/dutch/errmsg.txt:
  Auto merged
sql/share/english/errmsg.txt:
  Auto merged
sql/share/estonian/errmsg.txt:
  Auto merged
sql/share/french/errmsg.txt:
  Auto merged
sql/share/german/errmsg.txt:
  Auto merged
sql/share/greek/errmsg.txt:
  Auto merged
sql/share/hungarian/errmsg.txt:
  Auto merged
sql/share/italian/errmsg.txt:
  Auto merged
sql/share/japanese/errmsg.txt:
  Auto merged
sql/share/korean/errmsg.txt:
  Auto merged
sql/share/norwegian-ny/errmsg.txt:
  Auto merged
sql/share/norwegian/errmsg.txt:
  Auto merged
sql/share/polish/errmsg.txt:
  Auto merged
sql/share/portuguese/errmsg.txt:
  Auto merged
sql/share/romanian/errmsg.txt:
  Auto merged
sql/share/russian/errmsg.txt:
  Auto merged
sql/share/serbian/errmsg.txt:
  Auto merged
sql/share/slovak/errmsg.txt:
  Auto merged
sql/share/spanish/errmsg.txt:
  Auto merged
sql/share/swedish/errmsg.txt:
  Auto merged
sql/share/ukrainian/errmsg.txt:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2003-07-17 14:55:13 +04:00
unknown
eba0a3aaad merge
sql/item_cmpfunc.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2003-07-16 13:58:11 +03:00
unknown
db9b5f333e ELT passes the first argument in args[0] instead of having a separate Item. 2003-07-15 18:11:49 +05:00
unknown
78c3d9684c Preliminary support for options --secure-auth,
--old-passwords
Support for option --old-protocol was removed.
Some test performed.
Tests for SSL and replication are pending.
More strict following to specification for --old-passwords
is in the TODO.


include/mysql_com.h:
  support for 3.20 passwords removed from
  scramble_323
include/mysqld_error.h:
  added error code for --secure-auth mode
libmysql/libmysql.c:
  removed support for 3.20 password and protocol
  version 9
mysql-test/r/connect.result:
  added check for new syntax of 
  set password
mysql-test/r/func_crypt.result:
  tests for two-argument of password() were removed.
  Instead added tests for cooperation of password() and
  old_passwords session/global variable, passwords() and spaces 
  in argument string
mysql-test/t/connect.test:
  added check for new syntax of
  set password
mysql-test/t/func_crypt.test:
  tests for two-argument of password() were removed.
  Instead added tests for cooperation of password() and
  old_passwords session/global variable, passwords() and spaces 
  in argument string
sql-common/client.c:
  removed support for 3.20 servers and 
  protocol version 9
sql/item_strfunc.h:
  fixed comment
sql/mysql_priv.h:
  added declarartion for option opt_secure_auth
sql/mysqld.cc:
  added option opt_secure_auth
  option old-password placed according to
  sort order
sql/password.c:
  removed support for 3.20 clients and 
  old scrambles
sql/set_var.cc:
  added system variable 'secure_auth'
  added system/thread variable 'old_passwords'
sql/set_var.h:
  sys_old_passwords needs to be exported 
  because sys_old_passwords.after_update is used
  in sql_acl.cc
sql/sql_acl.cc:
  support for 3.20 passwords removed
  now acl_init honors options works properly with
  options/variables --secure-auth and --old-passwords
sql/sql_acl.h:
  support for 3.20 clients removed
sql/sql_class.h:
  added system/thread variable old_passwords
sql/sql_parse.cc:
  support for 3.20 clients removed
  now check_user takes into account option
  secure_auth
sql/sql_yacc.yy:
  global variable use_old_passwords 
  replaced with thread-specific variable 
  old_passwords
sql/share/czech/errmsg.txt:
  error message for --secure-auth added
  (as suggested by Paul)
sql/share/danish/errmsg.txt:
  error message for --secure-auth added
  (as suggested by Paul)
sql/share/dutch/errmsg.txt:
  error message for --secure-auth added
  (as suggested by Paul)
sql/share/english/errmsg.txt:
  error message for --secure-auth added
  (as suggested by Paul)
sql/share/estonian/errmsg.txt:
  error message for --secure-auth added
  (as suggested by Paul)
sql/share/french/errmsg.txt:
  error message for --secure-auth added
  (as suggested by Paul)
sql/share/german/errmsg.txt:
  error message for --secure-auth added
  (as suggested by Paul)
sql/share/greek/errmsg.txt:
  error message for --secure-auth added
  (as suggested by Paul)
sql/share/hungarian/errmsg.txt:
  error message for --secure-auth added
  (as suggested by Paul)
sql/share/italian/errmsg.txt:
  error message for --secure-auth added
  (as suggested by Paul)
sql/share/japanese/errmsg.txt:
  error message for --secure-auth added
  (as suggested by Paul)
sql/share/korean/errmsg.txt:
  error message for --secure-auth added
  (as suggested by Paul)
sql/share/norwegian-ny/errmsg.txt:
  error message for --secure-auth added
  (as suggested by Paul)
sql/share/norwegian/errmsg.txt:
  error message for --secure-auth added
  (as suggested by Paul)
sql/share/polish/errmsg.txt:
  error message for --secure-auth added
  (as suggested by Paul)
sql/share/portuguese/errmsg.txt:
  error message for --secure-auth added
  (as suggested by Paul)
sql/share/romanian/errmsg.txt:
  error message for --secure-auth added
  (as suggested by Paul)
sql/share/russian/errmsg.txt:
  error message for --secure-auth added
  (as suggested by Paul)
sql/share/serbian/errmsg.txt:
  error message for --secure-auth added
  (as suggested by Paul)
sql/share/slovak/errmsg.txt:
  error message for --secure-auth added
  (as suggested by Paul)
sql/share/spanish/errmsg.txt:
  error message for --secure-auth added
  (as suggested by Paul)
sql/share/swedish/errmsg.txt:
  error message for --secure-auth added
  (as suggested by Paul)
sql/share/ukrainian/errmsg.txt:
  error message for --secure-auth added
  (as suggested by Paul)
2003-07-08 02:36:14 +04:00
unknown
ccbcf1c9da Bug fixes for authentication
OLD_PASSWORD made a keyword to allow set password=old_password('abc') constructions.


BitKeeper/etc/ignore:
  Added BitKeeper/post-commit BitKeeper/post-commit-manual build_tags.sh tests/connect_test BUILD/compile-pentium-maintainer to the ignore list
include/mysql_com.h:
  scramble return type changed to void as now it's not used
libmysql/libmysql.c:
  fixed bug with with failed authentification when scramble contained zero byte
sql-common/client.c:
  applied patch from Lycos team
  fixed bug with scramble containing zero byte
sql/item_create.cc:
  removed create_func_old_password, create_func_password as they are not used any more
sql/item_create.h:
  removed create_func_old_password, create_func_password as they are not used any more
sql/item_strfunc.cc:
  Added alloc() function to Item_func_password, Item_func_old_password, which is used in sql_yacc.yy
sql/item_strfunc.h:
  Added alloc() function to Item_func_password, Item_func_old_password, which is used in sql_yacc.yy
sql/lex.h:
  OLD_PASSWORD now is keyword, to allow statements like
  set password=old_password('abc')
sql/password.c:
  fixed scramble return value
  trailing zero now is not written
sql/sql_acl.cc:
  incorporated patch from Lycos team
  41 replaced with constant
  acl_getroot rewritten to support ER_AUTH_... error
sql/sql_parse.cc:
  authenticate merged with check_user
  check_user return values reversed, support for ER_AUTH in check_user.added
sql/sql_yacc.yy:
  OLD_PASSWORD now is keyword, to allow statements like
  set password=old_password('abc')
2003-07-04 20:52:04 +04:00
unknown
29898afbdd Item tree iterator
fixed dependence of items from reduced subquery
(SCRUM)


sql/item.cc:
  fixed dependence of items from reduced subquery
sql/item.h:
  fixed dependence of items from reduced subquery
  Item tree iterator
sql/item_cmpfunc.cc:
  Item tree iterator
sql/item_cmpfunc.h:
  Item tree iterator
sql/item_func.cc:
  Item tree iterator
sql/item_func.h:
  Item tree iterator
sql/item_row.cc:
  Item tree iterator
sql/item_row.h:
  Item tree iterator
sql/item_strfunc.h:
  Item tree iterator
sql/item_subselect.cc:
  Item tree iterator
2003-07-02 13:12:18 +03:00
unknown
585cec0564 after review changes (SCRUM)
removed outer resolving flag (because of movingtransformation after fix_fields)


sql/item.cc:
  removed outer resolving flag (because of movingtransformation after fix_fields)
sql/item.h:
  removed outer resolving flag (because of movingtransformation after fix_fields)
sql/item_cmpfunc.cc:
  removed outer resolving flag (because of movingtransformation after fix_fields)
sql/item_cmpfunc.h:
  removed outer resolving flag (because of movingtransformation after fix_fields)
sql/item_func.cc:
  removed outer resolving flag (because of movingtransformation after fix_fields)
sql/item_func.h:
  removed outer resolving flag (because of movingtransformation after fix_fields)
sql/item_row.cc:
  removed outer resolving flag (because of movingtransformation after fix_fields)
sql/item_row.h:
  removed outer resolving flag (because of movingtransformation after fix_fields)
sql/item_strfunc.h:
  removed outer resolving flag (because of movingtransformation after fix_fields)
sql/item_subselect.cc:
  after review changes
  removed outer resolving flag (because of movingtransformation after fix_fields)
sql/item_subselect.h:
  after review changes
  removed outer resolving flag (because of movingtransformation after fix_fields)
sql/mysql_priv.h:
  after review changes
sql/sql_base.cc:
  after review changes
sql/sql_lex.cc:
  after review changes
sql/sql_lex.h:
  after review changes
sql/sql_select.cc:
  after review changes
sql/sql_union.cc:
  after review changes
2003-07-02 01:45:22 +03:00
unknown
dbb088b034 First version of new authentification procedure: now authentification is one-stage (instead of two-stage in 4.1)
For now following tasks have been done:
- PASSWORD() function was rewritten. PASSWORD() now returns SHA1
  hash_stage2; for new passwords user.password contains '*'hash_stage2; sql_yacc.yy also fixed; 

- password.c: new functions were implemented, old rolled back to 4.0 state

- server code was rewritten to use new authorization algorithm (check_user(), change
  user, and other stuff in sql/sql_parse.cc)

- client code was rewritten to use new authorization algorithm
  (mysql_real_connect, myslq_authenticate in sql-common/client.c)

- now server barks on 45-byte-length 4.1.0 passwords and refuses 4.1.0-style
  authentification. Users with 4.1.0 passwords are blocked (sql/sql_acl.cc)

- mysqladmin.c was fixed to work correctly with new passwords

Tests for 4.0-4.1.1, 4.1.1-4.1.1 (with or without db/password) logons was performed;
mysqladmin also was tested. Additional check are nevertheless necessary.


BitKeeper/etc/ignore:
  Added start_mysqld.sh mysys/main.cc to the ignore list
client/mysqladmin.c:
  fixed with new password api
include/mysql.h:
  So as scramble_323 accepts only null-terminated message, two scramble buffs are necessary.
  gotta be fixed
include/mysql_com.h:
  new constants and password.c api changes
libmysql/libmysql.c:
  mysql_change_user rewritten to work with new password api
scripts/mysql_create_system_tables.sh:
  fixed 'Password' column length to 41
scripts/mysql_fix_privilege_tables.sql:
  fixed 'Password' column length to 41
sql-common/client.c:
  mysql_real_connect rewritten to support new handshake procedure
sql/item_strfunc.cc:
  Item_func_password and Item_func_old_password rewritten with new password api
sql/item_strfunc.h:
  bit commented, numbers replaced with #defined constants
sql/mysql_priv.h:
  removed unnecessary declaration as now all constants defined is in mysql_com.h
sql/mysqld.cc:
  scramble initialization moved to sql_parce.cc:check_connection
sql/password.c:
  All 4.1 functions were rolled back to 4.0 with attempt to save all possible 4.0-4.1 changes.
  Names for 4.0 functions were suffixed with '_323'
  Functions for new handshake were added.
sql/slave.cc:
  Fixed to new constant; Bug #766 remains to be fixed
sql/slave.h:
  fixed to new constant; Buf #766 remains to be fixed
sql/sql_acl.cc:
  rewritten to support new passwords (41 byte-long) and password api
sql/sql_acl.h:
  ditto
sql/sql_class.cc:
  initialization for new members added
sql/sql_class.h:
  same thing as in struct mysql - scramble is used for new family of functions, scramble_323 - for old
sql/sql_parse.cc:
  check_connections was renamed to check_connection as this name reflects better what this function does
  authorization part of check_connection was rewritten
  check_user was rewritten with new password and acl api
  new function 'authenticate', which optionally re-request scramble from client was added
  fixed some typos
  COM_CHANGE_USER piece of dipsatch_command() was rewritten
sql/sql_repl.h:
  HASH_PASSWORD_LENGTH replaced with SCRAMBLED_PASSWORD_CHAR_LENGTH
  bug #766 remains
sql/sql_yacc.yy:
  Two-argument form of PASSWORD() was removed
  PASSWORD() function was fixed with new password api.
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
2003-07-01 23:40:59 +04:00