• unknown's avatar
    Fix number to date conversion so it always honors the NO_ZERO_DATE, · 5958f22a
    unknown authored
    NO_ZERO_IN_DATE, and INVALID_DATES bits of SQL_MODE. (Bug #5906)
    
    
    include/my_time.h:
      Pass flags to number_to_datetime() so it can check things
      like NO_ZERO_DATE.
    libmysql/libmysql.c:
      Enable fuzzy date handling when converting strings and numbers
      to datetime fields.
    mysql-test/r/ps_2myisam.result:
      Update results
    mysql-test/r/ps_3innodb.result:
      Update results
    mysql-test/r/ps_4heap.result:
      Update results
    mysql-test/r/ps_5merge.result:
      Update results
    mysql-test/r/ps_6bdb.result:
      Update results
    mysql-test/r/ps_7ndb.result:
      Update results
    mysql-test/r/strict.result:
      Update results
    mysql-test/r/timezone2.result:
      Update results
    mysql-test/r/type_datetime.result:
      Update results
    mysql-test/t/strict.test:
      Add new regression test
    mysql-test/t/timezone2.test:
      Add new test of timestamp values in DST gap
    sql-common/my_time.c:
      Expand check_date() to check NO_ZERO_DATE and NO_ZERO_IN_DATE, and
      use it from number_to_datetime() as well as str_to_datetime(). Also,
      make number_to_datetime() return -1 on error so we can distinguish
      between a violation of NO_ZERO_DATE and other errors.
    sql/field.cc:
      Update conversion of numbers to date, datetime, and timestamp to
      use number_to_datetime() and report errors and warnings correctly
      and consistently.
    5958f22a
strict.test 34.9 KB