Commit graph

100 commits

Author SHA1 Message Date
unknown
4c8e0e192b merge fixes 2006-09-18 12:14:27 +02:00
unknown
c97cc11392 Merge dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-4.1-opt
into  dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-5.0-opt


mysql-test/r/query_cache.result:
  Auto merged
mysql-test/r/subselect.result:
  Auto merged
mysql-test/r/type_date.result:
  Auto merged
mysql-test/t/func_time.test:
  Auto merged
mysql-test/t/insert_update.test:
  Auto merged
sql/item.h:
  Auto merged
sql/log.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2006-09-15 14:14:38 +02:00
unknown
aa840645e6 query_cache.result, func_time.test, type_date.result, func_time.result:
Corrected test case after removal of fix for bug#16377         
type_date.test:
  Corrected test case after removal of fix for bug#16377
item_cmpfunc.cc:
  Removed changes to the agg_cmp_type() made in the for bug#16377


mysql-test/t/type_date.test:
  Corrected test case after removal of fix for bug#16377
mysql-test/t/func_time.test:
  Corrected test case after removal of fix for bug#16377
mysql-test/r/type_date.result:
  Corrected test case after removal of fix for bug#16377
mysql-test/r/query_cache.result:
  Corrected test case after removal of fix for bug#16377
mysql-test/r/func_time.result:
  Corrected test case after removal of fix for bug#16377
sql/item_cmpfunc.cc:
  Removed changes to the agg_cmp_type() made in the for bug#16377
2006-09-08 00:59:34 +04:00
unknown
2ed26cd7a8 Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  maint1.mysql.com:/data/localhome/tnurnberg/my50-21913


mysql-test/r/func_time.result:
  Auto merged
mysql-test/t/func_time.test:
  Auto merged
2006-09-04 07:45:49 +02:00
unknown
8ce43f8d23 Merge salvation.intern.azundris.com:/home/tnurnberg/21913/my41-21913
into  salvation.intern.azundris.com:/home/tnurnberg/21913/my50-21913

21913: DATE_FORMAT() Crashes mysql server if I use it through mysql-connector-j driver.

Variable character_set_results can legally be NULL (for "no conversion.")
This could result in a NULL deref that crashed the server.  Fixed.

(Although ran some additional precursory tests to see whether I could break
anything else, but no breakage so far.)


mysql-test/r/func_time.result:
  Bug#21913: DATE_FORMAT() Crashes mysql server if I use it through mysql-connector-j driver.
  
  Prove DATE_FORMAT() no longer crashes the server when character_set_results is
  NULL (which is a legal value and means, "no conversion").
mysql-test/t/func_time.test:
  Bug#21913: DATE_FORMAT() Crashes mysql server if I use it through mysql-connector-j driver.
  
  Prove DATE_FORMAT() no longer crashes the server when character_set_results is
  NULL (which is a legal value and means, "no conversion").
sql/sql_string.cc:
  Bug#21913: DATE_FORMAT() Crashes mysql server if I use it through mysql-connector-j driver.
  
  Avoid NULL deref in my_charset_same() -- if !to_cs, we won't need to compare
  because it is magic for, "no conversion."
2006-09-04 07:01:15 +02:00
unknown
617189958b Bug#21913: DATE_FORMAT() Crashes mysql server if I use it through mysql-connector-j driver.
Variable character_set_results can legally be NULL (for "no conversion.")
This could result in a NULL deref that crashed the server.  Fixed.

(Although ran some additional precursory tests to see whether I could break
anything else, but no breakage so far.)


mysql-test/r/func_time.result:
  Bug#21913: DATE_FORMAT() Crashes mysql server if I use it through mysql-connector-j driver.
  
  Prove DATE_FORMAT() no longer crashes the server when character_set_results is
  NULL (which is a legal value and means, "no conversion").
mysql-test/t/func_time.test:
  Bug#21913: DATE_FORMAT() Crashes mysql server if I use it through mysql-connector-j driver.
  
  Prove DATE_FORMAT() no longer crashes the server when character_set_results is
  NULL (which is a legal value and means, "no conversion").
sql/sql_string.cc:
  Bug#21913: DATE_FORMAT() Crashes mysql server if I use it through mysql-connector-j driver.
  
  Avoid NULL deref in my_charset_same() -- if !to_cs, we won't need to compare
  because it is magic for, "no conversion."
2006-09-04 06:16:34 +02:00
unknown
b2cfa703f4 Merge rolltop.ignatz42.dyndns.org:/mnt/storeage/mysql-4.1-maint_20328
into  rolltop.ignatz42.dyndns.org:/mnt/storeage/mysql-5.0-merge


sql/item_timefunc.cc:
  Auto merged
sql/slave.cc:
  Auto merged
mysql-test/r/func_time.result:
  manual merge
mysql-test/r/mysql_client.result:
  manual merge
mysql-test/t/func_time.test:
  manual merge
mysql-test/t/mysql_client.test:
  manual merge
sql/sql_acl.cc:
  manual merge
2006-08-16 19:31:33 -04:00
unknown
fa1641e1f3 Bug#19844: time_format in Union truncates values
time_format() claimed %H and %k would return at most two digits
(hours 0-23), but this coincided neither with actual behaviour
nor with docs.  this is not visible in simple queries; forcing
a temp-table is probably the easiest way to see this.  adjusted
the return-length appropriately; the alternative would be to
adjust the docs to say that behaviour for > 99 hours is undefined.
---
Bug#19844: time_format in Union truncates values

time_format() claimed %H and %k would return at most two digits
(hours 0-23), but this coincided neither with actual behaviour
nor with docs.  this is not visible in simple queries; forcing
a temp-table is probably the easiest way to see this.  adjusted
the return-length appropriately; the alternative would be to
adjust the docs to say that behaviour for > 99 hours is undefined.


mysql-test/r/func_time.result:
  Bug#19844: time_format in Union truncates values
  
  show time_format() handles %H and %k correctly four > 99 hours
mysql-test/t/func_time.test:
  Bug#19844: time_format in Union truncates values
  
  show time_format() handles %H and %k correctly four > 99 hours
sql/item_timefunc.cc:
  Bug#19844: time_format in Union truncates values
  
  unbreak promises we make about field-length of %H and %k in
  time_format() so they coincide with the actual range rather
  than just 0..23. the docs say we must operate outside that
  range, so we'd better do it right.
  ---
  Bug#19844: time_format in Union truncates values
  
  unbreak promises we make about field-length of %H and %k in
  time_format() so they coincide with the actual range rather
  than just 0..23. the docs say we must operate outside that
  range, so we'd better do it right.
  One digit values are padded to two digits with %H, "longer"
  values are handled correctly up to seven digits including
  any sign.
  (clarified comments as per jimw's suggestion.)
2006-08-10 15:37:24 +02:00
unknown
1081dd6f0d Merge neptunus.(none):/home/msvensson/mysql/mysql-5.0
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint


configure.in:
  Auto merged
client/mysql.cc:
  Auto merged
client/mysqldump.c:
  Auto merged
mysql-test/mysql-test-run.pl:
  Auto merged
mysql-test/r/date_formats.result:
  Auto merged
mysql-test/r/federated.result:
  Auto merged
mysql-test/r/func_time.result:
  Auto merged
mysql-test/r/mysql.result:
  Auto merged
mysql-test/r/type_ranges.result:
  Auto merged
mysql-test/t/func_time.test:
  Auto merged
mysql-test/t/mysql.test:
  Auto merged
sql/field.cc:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/item_strfunc.h:
  Auto merged
sql/item_subselect.cc:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2006-08-01 20:24:30 +02:00
unknown
32fbc6da63 Fix for bug #16226 (timestamp_diff truncation issue when requesting
difference between timestamp in values of months and quarters.)

Problem:  when requesting timestamp diff in months or quarters, it
would only examine the date (and not the time) for the comparison.

Solution:  increased precision of comparison.


mysql-test/r/func_time.result:
  Additional test results
mysql-test/t/func_time.test:
  Additional tests
sql/item_timefunc.cc:
  Fix for timestamp diff issue.  Added microsecond precision when
  comparing months or quarters; previously only examined date for
  these comparisons.
2006-07-28 20:51:17 -07:00
unknown
b60272915f Merge siva.hindu.god:/usr/home/tim/m/bk/global-41
into  siva.hindu.god:/usr/home/tim/m/bk/global-50


mysql-test/r/func_time.result:
  Auto merged
mysql-test/t/func_time.test:
  Auto merged
sql/field.cc:
  Auto merged
2006-07-26 13:30:03 -06:00
unknown
9d5b76eba9 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1
into  mysql.com:/usr/home/ram/work/4.1.b16327


sql/field.cc:
  Auto merged
mysql-test/r/func_time.result:
  merging
mysql-test/t/func_time.test:
  merging
2006-07-23 14:17:01 +05:00
unknown
c4cffdbfe9 Merge mysql.com:/opt/local/work/tmp_merge
into  mysql.com:/opt/local/work/mysql-5.0-merge


mysql-test/r/func_sapdb.result:
  Auto merged
mysql-test/t/func_sapdb.test:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
mysql-test/r/func_time.result:
  Manual merge.
mysql-test/t/func_time.test:
  Manual merge.
2006-06-29 18:34:49 +04:00
unknown
90cb4c03fd Bug#17203: "sql_no_cache sql_cache" in views created from prepared statement
The problem was that we restored SQL_CACHE, SQL_NO_CACHE flags in SELECT
statement from internal structures based on value set later at runtime, not
the original value set by the user.

The solution is to remember that original value.


mysql-test/r/auto_increment.result:
  Update result to not report SQL_NO_CACHE if it wasn't there at first place.
mysql-test/r/func_compress.result:
  Update result to not report SQL_NO_CACHE if it wasn't there at first place.
mysql-test/r/func_math.result:
  Update result to not report SQL_NO_CACHE if it wasn't there at first place.
mysql-test/r/func_system.result:
  Update result to not report SQL_NO_CACHE if it wasn't there at first place.
mysql-test/r/func_time.result:
  Update result to not report SQL_NO_CACHE if it wasn't there at first place.
mysql-test/r/information_schema.result:
  Update result to not report SQL_NO_CACHE if it wasn't there at first place.
mysql-test/r/query_cache.result:
  Update result to not report SQL_NO_CACHE if it wasn't there at first place.
mysql-test/r/rpl_get_lock.result:
  Update result to not report SQL_NO_CACHE if it wasn't there at first place.
mysql-test/r/rpl_master_pos_wait.result:
  Update result to not report SQL_NO_CACHE if it wasn't there at first place.
mysql-test/r/show_check.result:
  Add result for bug#17203.
mysql-test/r/subselect.result:
  Update result to not report SQL_NO_CACHE if it wasn't there at first place.
mysql-test/r/type_blob.result:
  Update result to not report SQL_NO_CACHE if it wasn't there at first place.
mysql-test/r/variables.result:
  Update result to not report SQL_NO_CACHE if it wasn't there at first place.
mysql-test/r/view.result:
  Update result to not report SQL_NO_CACHE if it wasn't there at first place.
mysql-test/t/show_check.test:
  Add test case for bug#17203.
sql/sql_lex.cc:
  Reset SELECT_LEX::sql_cache together with SELECT_LEX::options.
sql/sql_lex.h:
  Add SELECT_LEX::sql_cache field to store original user setting.
sql/sql_select.cc:
  Output SQL_CACHE and SQL_NO_CACHE depending on stored original user setting.
sql/sql_yacc.yy:
  Make effect of SQL_CACHE and SQL_NO_CACHE mutually exclusive.  Ignore
  SQL_CACHE if SQL_NO_CACHE was used.  Remember what was set by the user.
  Reset SELECT_LEX::sql_cache together with SELECT_LEX::options.
2006-06-27 21:28:32 +04:00
unknown
82d127b55b Dec. 31st, 9999 is still a valid date, only starting with Jan 1st 10000 things become invalid (Bug #12356)
mysql-test/r/func_sapdb.result:
  test cases for date range edge cases added
mysql-test/r/func_time.result:
  test cases for date range edge cases added
mysql-test/t/func_sapdb.test:
  test cases for date range edge cases added
mysql-test/t/func_time.test:
  test cases for date range edge cases added
2006-06-27 19:33:59 +04:00
unknown
e8beb72cc6 Bug#19408 Test 'func_time' fails on Windows x64
- The setting of "ENV{'TZ'}" doesn't affect the timezone
  used by MySQL Server on Windows.
- Explicitly set timezone to "+03:00" in test case before
  doing the calculatiosn to check that there is three hours
  difference between utc and local time.
(Magnus' fix)


mysql-test/r/func_time.result:
  Update test results
mysql-test/t/func_time.test:
  Set timezone to GMT-3, to make it possible to use "interval 3 hour"
2006-06-22 20:23:22 +02:00
unknown
c6b67f0d15 Merge mysql.com:/usr/home/ram/work/mysql-4.1
into  mysql.com:/usr/home/ram/work/mysql-5.0


mysql-test/r/func_str.result:
  Auto merged
mysql-test/t/func_str.test:
  Auto merged
mysql-test/t/func_time.test:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/item_strfunc.h:
  Auto merged
mysql-test/r/func_time.result:
  SCCS merged
2006-06-21 09:16:22 +05:00
unknown
ac2c480f26 func_time.result:
After merge fix


mysql-test/r/func_time.result:
  After merge fix
2006-06-20 15:35:54 +04:00
unknown
95939476ab Fix for bug #20496: func_time.test failure
mysql-test/r/func_time.result:
  Fix for bug #20496: func_time.test failure                                      
    - floating point calculations removed.
mysql-test/t/func_time.test:
  Fix for bug #20496: func_time.test failure                                      
    - floating point calculations removed.
2006-06-19 13:03:29 +05:00
unknown
d0f39b6aeb Manually merged
sql/item_timefunc.cc:
  Auto merged
sql/item_timefunc.h:
  Auto merged
2006-06-17 02:11:12 +04:00
unknown
de292d6799 Manually merged
configure.in:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql/item_timefunc.h:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
2006-06-17 00:58:36 +04:00
unknown
b2f308160b Many files:
After merge fix


mysql-test/r/func_time.result:
  After merge fix
mysql-test/r/func_concat.result:
  After merge fix
mysql-test/r/cast.result:
  After merge fix
sql/item_cmpfunc.h:
  After merge fix
sql/item_cmpfunc.cc:
  After merge fix
sql/field.cc:
  After merge fix
2006-06-15 01:48:41 +04:00
unknown
9936533be9 Manually merged
mysql-test/r/cast.result:
  Auto merged
mysql-test/t/func_time.test:
  Auto merged
sql/item_cmpfunc.h:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql/item_timefunc.h:
  Auto merged
sql/opt_sum.cc:
  Auto merged
sql/structs.h:
  Auto merged
2006-06-14 23:54:08 +04:00
unknown
47311e8e87 Fixed bug#16377: result of DATE/TIME functions were compared as strings which
can lead to a wrong result.

All date/time functions has the STRING result type thus their results are
compared as strings. The string date representation allows a user to skip 
some of leading zeros. This can lead to wrong comparison result if a date/time 
function result is compared to such a string constant.

The idea behind this bug fix is to compare results of date/time functions
and data/time constants as ints, because that date/time representation is 
more exact. To achieve this the agg_cmp_type() is changed to take in the
account that a date/time field or an date/time item should be compared 
as ints.

This bug fix is partially back ported from 5.0.

The agg_cmp_type() function now accepts THD as one of parameters. 
In addition, it now checks if a date/time field/function is present in the
list. If so, it tries to coerce all constants to INT to make date/time
comparison return correct result. The field for the constant coercion is
taken from the Item_field or constructed from the Item_func. In latter case
the constructed field will be freed after conversion of all constant items.
Otherwise the result is same as before - aggregated with help of the
item_cmp_type() function.

From the Item_func_between::fix_length_and_dec() function removed the part
which was converting date/time constants to int if possible. Now this is 
done by the agg_cmp_type() function.

The new function result_as_longlong() is added to the Item class. 
It indicates that the item is a date/time item and result of it can be
compared as int. Such items are date/time fields/functions.

Correct val_int() methods are implemented for classes Item_date_typecast, 
Item_func_makedate, Item_time_typecast, Item_datetime_typecast. All these
classes are derived from Item_str_func and Item_str_func::val_int() converts
its string value to int without regard to the date/time type of these items.

Arg_comparator::set_compare_func() and Arg_comparator::set_cmp_func()
functions are changed to substitute result type of an item with the INT_RESULT
if the item is a date/time item and another item is a constant. This is done
to get a correct result of comparisons like date_time_function() = string_constant.


mysql-test/r/cast.result:
  Fixed wrong test case result after bug fix#16377.
sql/item_timefunc.h:
  Fixed bug#16377: result of DATE/TIME functions were compared as strings which
  can lead to a wrong result.
  The result_as_longlong() function is set to return TRUE for these classes:
  Item_date, Item_date_func, Item_func_curtime, Item_func_sec_to_time,
  Item_date_typecast, Item_time_typecast, Item_datetime_typecast,
  Item_func_makedate.
sql/item_timefunc.cc:
  Fixed bug#16377: result of DATE/TIME functions were compared as strings which
  can lead to a wrong result.Correct val_int() methods are implemented for classes Item_date_typecast, 
  Item_func_makedate, Item_time_typecast, Item_datetime_typecast.
sql/item_cmpfunc.h:
  Fixed bug#16377: result of DATE/TIME functions were compared as strings which
  can lead to a wrong result.
  Arg_comparator::set_compare_func() and Arg_comparator::set_cmp_func()
  functions are changed to substitute result type of an item with the INT_RESULT
  if the item is a date/time item and another item is a constant.
sql/field.cc:
  Fixed bug#16377: result of DATE/TIME functions were compared as strings which
  can lead to a wrong result.
  Field::set_warning(), Field::set_datetime_warning() now use current_thd to get thd if table isn't set.
sql/item_cmpfunc.cc:
  Fixed bug#16377: result of DATE/TIME functions were compared as strings which
  can lead to a wrong result.
  The agg_cmp_type() function now accepts THD as one of parameters. 
  In addition, it now checks if a date/time field/function is present in the
  list. If so, it tries to coerce all constants to INT to make date/time
  comparison return correct result. The field for the constant coercion is
  taken from the Item_field or constructed from the Item_func. In latter case
  the constructed field will be freed after conversion of all constant items.
  Otherwise the result is same as before - aggregated with help of the
  item_cmp_type() function.
sql/item.h:
  The new function result_as_longlong() is added to the Item class. 
  It indicates that the item is a date/time item and result of it can be
  compared as int. Such items are date/time fields/functions.
mysql-test/t/func_time.test:
  Added test case fot bug#16377: result of DATE/TIME functions were compared as strings which
  can lead to a wrong result.
mysql-test/r/func_time.result:
  Added test case fot bug#16377: result of DATE/TIME functions were compared as strings which
  can lead to a wrong result.
2006-06-13 19:09:24 +04:00
unknown
ddd55d4349 Merge rurik.mysql.com:/home/igor/tmp_merge
into  rurik.mysql.com:/home/igor/dev/mysql-5.0-0


VC++Files/client/mysql.dsp:
  Auto merged
mysql-test/t/func_time.test:
  Auto merged
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
  Auto merged
ndb/src/ndbapi/NdbDictionaryImpl.hpp:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql/item_timefunc.h:
  Auto merged
client/mysqldump.c:
  Manual merge
mysql-test/r/func_time.result:
  Manual merge
2006-06-09 17:56:08 -07:00
unknown
f1b1c0eb3f Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1
into  mysql.com:/usr/home/ram/work/4.1.b16546


sql/item_timefunc.cc:
  Auto merged
mysql-test/r/func_time.result:
  merging
mysql-test/t/func_time.test:
  merging
2006-06-06 09:10:28 +05:00
unknown
23006f9b54 Fix for #16327: invalid TIMESTAMP values retrieved
mysql-test/r/func_time.result:
  Fix for #16327: invalid TIMESTAMP values retrieved
    - test result
mysql-test/t/func_time.test:
  Fix for #16327: invalid TIMESTAMP values retrieved
    - test case
sql/field.cc:
  Fix for #16327: invalid TIMESTAMP values retrieved
    - let 1969 as well
2006-05-17 17:00:30 +05:00
unknown
af4d487a96 Merge mysql.com:/usr/home/ram/work/mysql-4.1
into  mysql.com:/usr/home/ram/work/mysql-5.0


sql/item_timefunc.cc:
  Auto merged
mysql-test/r/func_time.result:
  merging
mysql-test/t/func_time.test:
  merging
2006-05-10 18:27:42 +05:00
unknown
409fb4895f Fix for bug #16546: DATETIME+0 not always coerced the same way
mysql-test/r/func_time.result:
  Fix for bug #16546: DATETIME+0 not always coerced the same way
    - test case
mysql-test/t/func_time.test:
  Fix for bug #16546: DATETIME+0 not always coerced the same way
    - test case
sql/item_timefunc.cc:
  Fix for bug #16546: DATETIME+0 not always coerced the same way
    - set decimals to DATETIME_DEC
sql/item_timefunc.h:
  Fix for bug #16546: DATETIME+0 not always coerced the same way
    - set decimals to DATETIME_DEC
2006-05-02 18:00:44 +05:00
unknown
3ca1852cba Fix for bug #18501: Server crashes with monthname().
mysql-test/r/func_time.result:
  Fix for bug #18501: Server crashes with monthname().
    - test case
mysql-test/t/func_time.test:
  Fix for bug #18501: Server crashes with monthname().
    - test case
sql/item_timefunc.cc:
  Fix for bug #18501: Server crashes with monthname().
    - check null_value as well.
2006-04-25 14:34:19 +05:00
unknown
981bbaef87 Fixed bug #18618.
If the second or the third argument of a BETWEEN predicate was
a constant expression, like '2005.09.01' - INTERVAL 6 MONTH,
while the other two arguments were fields then the predicate 
was evaluated incorrectly and the query returned a wrong
result set.
The bug was introduced in 5.0.17 when in the fix for 12612.


mysql-test/r/func_time.result:
  Added a test case for bug #18618.
mysql-test/t/func_time.test:
  Added a test case for bug #18618.
2006-04-11 10:03:37 -07:00
unknown
f7b039cc50 fix for wrong QUARTER calculation in EXTRACT() (Bug #18100)
mysql-test/r/func_time.result:
  expected test results for bug #18100 added
mysql-test/t/func_time.test:
  test case for bug #18100 added
sql/item_timefunc.cc:
  wrong formula for EXTRACT QUARTER, now uses the same calculus as the QUARTER()
  function
2006-04-07 11:15:15 +02:00
unknown
e84f7939ec Fix calculation of TIMESTAMPDIFF() of months and years. (Bug #13534)
mysql-test/r/func_time.result:
  Add new results
mysql-test/t/func_time.test:
  Add new regression test
sql/item_timefunc.cc:
  Fix calculation of years and months in TIMESTAMPDIFF().
2005-10-13 15:32:31 -07:00
unknown
b214671e09 Fixed BUG#12963, BUG#13000: wrong VIEW creation with DAYNAME(),
DAYOFWEEK(), and WEEKDAY().


mysql-test/r/func_time.result:
  Fixed new results for testcases containing EXPLAIN EXTENDED SELECT ...
   WEEKDAY ... DAYNAME. The new results are correct and correspond to
   the changes in create_func_weekday() and create_func_dayname().
mysql-test/r/view.result:
  Fixed some testcases results (bugs #12963, #13000).
mysql-test/t/view.test:
  Added testcases for for bugs #12963, #13000.
sql/item_create.cc:
  Fixed bugs #12963, #13000: wrong VIEW creation with DAYNAME(),
   DAYOFWEEK(), and WEEKDAY().
   Modified create_func_dayname(), create_func_dayofweek(), and
   create_func_weekday(). They don´t insert Item_func_to_days
   object now.
sql/item_timefunc.cc:
  Fixed bugs #12963, #13000: wrong VIEW creation with DAYNAME(),
   DAYOFWEEK(), and WEEKDAY().
   Modified Item_func_weekday::val_int(). The argument of weekday should
   not be considered now to be Item_func_to_days object.
sql/item_timefunc.h:
  Fixed bugs #12963, 13000: wrong VIEW creation with DAYNAME(),
   DAYOFWEEK(), and WEEKDAY.
   Modified Item_func_weekday::func_name(). It returns now different
   names depending on the odbc_type attribute value.
2005-09-14 20:25:00 +04:00
unknown
da13a76a28 Make SYSDATE() behave as in Oracle: always the current datetime, not the
datetime of when the current statement began. This also makes SYSDATE()
not safe in replication. (Bug #12562)


mysql-test/r/func_time.result:
  Add new results
mysql-test/t/func_time.test:
  Add tests for new SYSDATE() behavior
sql/item_timefunc.cc:
  Add Item_func_sysdate_local implementation
sql/item_timefunc.h:
  Add Item_func_sysdate_local, so SYSDATE() can behave differently
  than NOW().
sql/lex.h:
  SYSDATE() is no longer an alias for NOW().
sql/sql_yacc.yy:
  Handle SYSDATE()
2005-08-24 15:50:58 -07:00
unknown
c78623fa10 Clean up merge from 4.1
mysql-test/r/func_date_add.result:
  Update results
mysql-test/r/func_time.result:
  Update results
server-tools/instance-manager/protocol.cc:
  Fix call to list_rest()
sql/sp_head.cc:
  sp_change_db() removed, call mysql_change_db() instead.
2005-08-15 14:19:56 -07:00
unknown
d32c4314ed Fix bug #12298 Typo in timestampdiff() function name results in erroneous
view being created.

Item_func_timestamp_diff::func_name() were returning function name as
"timestamp_diff" thus when view was executed function parameters wasn't 
properly recognized and error was raised.


mysql-test/r/func_time.result:
  Fix test result after bugfix #12298
sql/item_timefunc.h:
  Fix bug #12298 Typo in timestampdiff() function name results in wrong view being created.
mysql-test/t/view.test:
  Test case for bug #12298 Typo in timestampdiff()  function name results in erroneous view being created.
mysql-test/r/view.result:
  Test case for bug #12298 Typo in timestampdiff() function name results in erroneous view being created.
2005-08-12 22:42:50 +04:00
unknown
5aa793f72b backport for #10568: Function 'LAST_DAY(date)' does not return NULL for invalid argument. 2005-06-24 14:04:48 +05:00
unknown
d2b52d1933 bug#10466: Datatype "timestamp" displays "YYYYMMDDHHMMSS" irrespective of display sizes.
- Print warning that says display width is not supported for datatype TIMESTAMP, if user tries to create a TIMESTAMP column with display width.
 - Use display width for TIMESTAMP only in type_timestamp test to make sure warning is displayed correctly.


mysql-test/include/ps_create.inc:
  Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/r/alias.result:
  Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/r/func_date_add.result:
  Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/r/func_str.result:
  Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/r/func_time.result:
  Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/r/group_by.result:
  Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/r/innodb.result:
  Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/r/ps.result:
  Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/r/ps_1general.result:
  Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/r/ps_2myisam.result:
  Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/r/ps_3innodb.result:
  Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/r/ps_4heap.result:
  Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/r/ps_5merge.result:
  Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/r/ps_6bdb.result:
  Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/r/ps_7ndb.result:
  Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/r/select.result:
  Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/r/type_timestamp.result:
  When display width is used for a TIMESTAMP column a warning is printed that the display width will be ignored.
mysql-test/r/update.result:
  Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/t/alias.test:
  Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/t/func_date_add.test:
  Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/t/func_str.test:
  Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/t/func_time.test:
  Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/t/group_by.test:
  Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/t/innodb.test:
  Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/t/ps.test:
  Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/t/ps_4heap.test:
  Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/t/ps_5merge.test:
  Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/t/select.test:
  Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/t/update.test:
  Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
sql/share/errmsg.txt:
  Correct swedish error message
sql/sql_parse.cc:
  Print warning if datatype is TIMESTAMP and display width is used.
2005-06-20 12:09:00 +02:00
unknown
d1e9ff363d Merge
sql/item_timefunc.cc:
  Auto merged
mysql-test/r/func_time.result:
  SCCS merged
mysql-test/t/func_time.test:
  SCCS merged
2005-06-06 10:39:21 +05:00
unknown
44af4dbdf1 A fix (bug #10568: Function 'LAST_DAY(date)' does not return NULL for invalid argument).
sql/item_timefunc.cc:
  A fix (bug #10568: Function 'LAST_DAY(date)' does not return NULL for invalid argument).
  Return error for partial dates as well.
2005-06-01 17:09:46 +05:00
unknown
af8cbbaec5 Fix '%h', '%I', and '%l' format specifiers in TIME_FORMAT()
to handle large time values as documented. (Bug #10590)


mysql-test/r/func_time.result:
  Add new results
mysql-test/t/func_time.test:
  Add new regression test
sql/item_timefunc.cc:
  Fix handling of '%h', '%I', and '%l' format specifiers
  for TIME_FORMAT() to handle large time values correctly.
2005-05-27 16:41:53 -07:00
unknown
ce169a5424 Don't use -lsupc++ with gcc 3.3 and below as this gives linking problems when linking staticly
Fix that mysql.proc works with new VARCHAR fields
Give warnings for wrong zero dates


configure.in:
  Don't use -lsupc++ with gcc 3.3 and below as this gives linking problems when linking staticly
mysql-test/r/func_time.result:
  New warnings
mysql-test/r/row.result:
  Moved code around to get things to work with --ps-protocol
  Note that one on warning disappered, but it should appear again when bug #9600 is fixed
mysql-test/r/strict.result:
  enabled more tests
  Added more tests
mysql-test/r/union.result:
  Test that UNION generates correct row format
mysql-test/t/row.test:
  Moved test to get things to work with --ps-protocol
mysql-test/t/strict.test:
  enabled more tests
  Added more tests
mysql-test/t/union.test:
  Test that UNION generates correct row format
sql/item.cc:
  Removed compiler warning
  Simple cleanup
sql/sp.cc:
  Fix that mysql.proc works with new VARCHAR fields
sql/time.cc:
  Give warnings for wrong zero dates
tests/mysql_client_test.c:
  More startup information
2005-04-04 16:43:25 +03:00
unknown
73c9909750 Merge with 4.1 tree to get fix for INSERT IGNORE ... ON DUPLICATE KEY
BitKeeper/etc/ignore:
  auto-union
BitKeeper/etc/logging_ok:
  auto-union
Makefile.am:
  Auto merged
client/mysqltest.c:
  Auto merged
configure.in:
  Auto merged
innobase/log/log0recv.c:
  Auto merged
myisam/mi_check.c:
  Auto merged
mysql-test/r/cast.result:
  Auto merged
mysql-test/r/drop.result:
  Auto merged
mysql-test/r/func_time.result:
  Auto merged
mysql-test/r/ps_2myisam.result:
  Auto merged
mysql-test/r/ps_3innodb.result:
  Auto merged
mysql-test/r/ps_4heap.result:
  Auto merged
mysql-test/r/ps_5merge.result:
  Auto merged
mysql-test/r/ps_6bdb.result:
  Auto merged
mysql-test/r/ps_7ndb.result:
  Auto merged
mysql-test/r/type_datetime.result:
  Auto merged
mysql-test/t/drop.test:
  Auto merged
mysql-test/t/func_time.test:
  Auto merged
ndb/include/ndb_global.h.in:
  Auto merged
ndb/src/kernel/blocks/suma/Suma.cpp:
  Auto merged
sql/ha_ndbcluster.h:
  Auto merged
sql/item_timefunc.h:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/log_event.h:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_repl.cc:
  Auto merged
sql/sql_repl.h:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql-common/my_time.c:
  Auto merged
sql/sql_union.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
sql/time.cc:
  Auto merged
innobase/row/row0upd.c:
  Trivial merge
mysql-test/t/func_concat.test:
  Keep local code
mysql-test/t/multi_update.test:
  auto merge
sql/ha_ndbcluster.cc:
  manual merge
sql/item_timefunc.cc:
  manual merge
sql/mysql_priv.h:
  manual merge
sql/sql_class.h:
  manual merge
sql/sql_delete.cc:
  manual merge
sql/sql_insert.cc:
  manual merge
sql/sql_lex.cc:
  manual merge
sql/sql_lex.h:
  manual merge
sql/sql_load.cc:
  manual merge
sql/sql_parse.cc:
  manual merge
sql/sql_table.cc:
  manual merge
sql/sql_update.cc:
  manual merge
2005-01-03 23:04:52 +02:00
unknown
e107535fa2 Manual merge of fix for bugs of #7297 and #7515 into 4.1 tree.
mysql-test/r/func_time.result:
  Manual merge.
mysql-test/r/type_datetime.result:
  Manual merge.
mysql-test/t/func_time.test:
  Manual merge.
mysql-test/t/type_datetime.test:
  Manual merge.
sql/item_timefunc.cc:
  Manual merge.
sql/item_timefunc.h:
  Manual merge.
sql/time.cc:
  Manual merge.
2004-12-30 21:37:32 +03:00
unknown
1ffd688a4a Fix for bug #7515 "from_unixtime(0) now returns NULL instead of
the Epoch". (With after review fixes).


mysql-test/r/func_time.result:
  Added test for bug #7515 "from_unixtime(0) now returns NULL instead of
  the Epoch".
mysql-test/t/func_time.test:
  Added test for bug #7515 "from_unixtime(0) now returns NULL instead of
  the Epoch".
sql/item_timefunc.cc:
  Item_func_from_unixtime:
   from_unixtime(0) should return Epoch instead of NULL.
sql/item_timefunc.h:
  Item_func_from_unixtime:
   - Removed unused method definition.
   - fix_length_and_dec() should set maybe_null to true since now
     from_unixtime() can return NULL even in case when none of its
     arguments is NULL.
2004-12-30 21:18:10 +03:00
unknown
c7d7c9ca10 Don't display 'usage' privilege in TABLE_PRIVILEGES if we have columns privileges
mysqldump skips information_schema db
'use' now can use information_schema db
changed value of column 'Null' to 'NO' if column is not nullable


client/mysqldump.c:
  mysqldump skips information_schema db
mysql-test/r/alter_table.result:
  changed value of column 'Null' to 'NO' if column is not nullable
mysql-test/r/create.result:
  changed value of column 'Null' to 'NO' if column is not nullable
mysql-test/r/ctype_collate.result:
  changed value of column 'Null' to 'NO' if column is not nullable
mysql-test/r/ctype_recoding.result:
  changed value of column 'Null' to 'NO' if column is not nullable
mysql-test/r/ctype_ujis.result:
  changed value of column 'Null' to 'NO' if column is not nullable
mysql-test/r/drop.result:
  changed value of column 'Null' to 'NO' if column is not nullable
mysql-test/r/func_sapdb.result:
  changed value of column 'Null' to 'NO' if column is not nullable
mysql-test/r/func_time.result:
  changed value of column 'Null' to 'NO' if column is not nullable
mysql-test/r/gis.result:
  changed value of column 'Null' to 'NO' if column is not nullable
mysql-test/r/information_schema.result:
  Added couple of tests
mysql-test/r/information_schema_inno.result:
  Removed coulmn 'CONTRAINT_METOD' from TABLE_CONSTRAINTS
  Added column 'POSITION_IN_UNIQUE_CONSTRAINT' to KEY_COLUMN_USAGE
mysql-test/r/innodb.result:
  changed value of column 'Null' to 'NO' if column is not nullable
mysql-test/r/ndb_autodiscover.result:
  changed value of column 'Null' to 'NO' if column is not nullable
mysql-test/r/ps_1general.result:
  changed value of column 'Null' to 'NO' if column is not nullable
mysql-test/r/rpl000009.result:
  changed value of column 'Null' to 'NO' if column is not nullable
mysql-test/r/rpl_create_database.result:
  changed value of column 'Null' to 'NO' if column is not nullable
mysql-test/r/schema.result:
  changed value of column 'Null' to 'NO' if column is not nullable
mysql-test/r/select.result:
  changed value of column 'Null' to 'NO' if column is not nullable
mysql-test/r/show_check.result:
  changed value of column 'Null' to 'NO' if column is not nullable
mysql-test/r/sp.result:
  changed value of column 'Null' to 'NO' if column is not nullable
mysql-test/r/type_enum.result:
  changed value of column 'Null' to 'NO' if column is not nullable
mysql-test/r/type_ranges.result:
  changed value of column 'Null' to 'NO' if column is not nullable
mysql-test/t/information_schema.test:
  Added couple of tests
sql/sql_acl.cc:
  Don't display 'usage' privilege in TABLE_PRIVILEGES if we have columns privileges
sql/sql_db.cc:
  'use' now can use information_schema db
sql/sql_show.cc:
  code cleanup
  informaton_schema(IS) db now contains data about IS itself
sql/sql_yacc.yy:
  A fix(wrong behavour of 'SHOW COLUMNS, SHOW KEYS' with 'where condition')
2004-12-10 12:07:11 +03:00
unknown
7b0069ee20 merged
BitKeeper/etc/ignore:
  auto-union
BitKeeper/etc/logging_ok:
  auto-union
client/Makefile.am:
  Auto merged
client/mysqlbinlog.cc:
  Auto merged
configure.in:
  Auto merged
include/my_time.h:
  Auto merged
innobase/fil/fil0fil.c:
  Auto merged
innobase/include/fil0fil.h:
  Auto merged
libmysql/libmysql.c:
  Auto merged
mysql-test/r/func_group.result:
  Auto merged
mysql-test/r/func_str.result:
  Auto merged
mysql-test/r/func_time.result:
  Auto merged
mysql-test/r/union.result:
  Auto merged
mysql-test/t/func_group.test:
  Auto merged
mysql-test/t/func_time.test:
  Auto merged
sql/field.cc:
  Auto merged
sql/ha_ndbcluster.h:
  Auto merged
sql/item.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_sum.cc:
  Auto merged
sql/item_sum.h:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
tests/client_test.c:
  Auto merged
2004-11-20 18:36:41 +01:00
unknown
7c0504ad17 Manual merge of fix for bug #6439 "from_unixtime() function returns
wrong datetime values for too big argument" from 4.0 tree to 4.1 tree.


mysql-test/r/func_time.result:
  Manual merge
mysql-test/t/func_time.test:
  Manual merge
sql/item_timefunc.cc:
  Manual merge
2004-11-19 19:19:45 +03:00
unknown
e1509cf781 Proposed fix for bug #6439 "from_unixtime() function returns wrong datetime
values for too big argument".

Added range checking for from_unixtime() argument, cleaned up code 
a bit.


mysql-test/r/func_time.result:
  Test for bug #6439 "from_unixtime() function returns wrong datetime 
  values for too big argument".
mysql-test/t/func_time.test:
  Test for bug #6439 "from_unixtime() function returns wrong datetime 
  values for too big argument".
sql/item_timefunc.cc:
  Item_func_from_unixtime: 
    Added error range checking for function argument + small code clean up.
2004-11-15 16:11:13 +03:00