Description:
MySQL ODBC driver crashes in one of our test, The crash happens on all platforms.
The same test doesn't cause crash in the pervious version of driver.
Here is the back trace,
Exception thrown: read access violation.
str was nullptr.
    myodbc8w.dll!str_to_date(tagDATE_STRUCT * rgbValue, const char * str, unsigned int length, int zeroToMin) Line 2278 C++
    myodbc8w.dll!sql_get_data(STMT * stmt, short fCType, unsigned int column_number, void * rgbValue, __int64 cbValueMax, __int64 * pcbValue, char * value, unsigned long length, DESCREC * arrec) Line 705 C++
    myodbc8w.dll!fill_fetch_buffers(STMT * stmt, char * * values, unsigned int rownum) Line 1907    C++
    myodbc8w.dll!my_SQLExtendedFetch(void * hstmt, unsigned short fFetchType, __int64 irow, unsigned __int64 * pcrow, unsigned short * rgfRowStatus, bool upd_status) Line 2453 C++
    myodbc8w.dll!SQLFetch(void * StatementHandle) Line 2639 C++
How to repeat:
This happens in Tableau test, I have not found a way to reproduce this crash outside of the test. 
Here are some into,
Table: 
dateparse.dateparse_simple_years
Field	Type	Null	Key	Default	Extra
Column1	int(11)	NO		NULL	
Column2	int(11)	NO		NULL	
Column1,Column2
2003,1977
1983,1955
2016,2015
2020,2000
2050,1950
The Query caused the crash:
SELECT (CASE WHEN (NOT ISNULL(DATE(TIMESTAMP(STR_TO_DATE(CONCAT(CONCAT(`dateparse.dateparse_simple_years`.`Column1`), '-01-01'), '%Y-%m-%d'))))) THEN DATE(TIMESTAMP(STR_TO_DATE(CONCAT(CONCAT(`dateparse.dateparse_simple_years`.`Column1`), '-01-01'), '%Y-%m-%d'))) WHEN (NOT ISNULL(IFNULL(DATE(CONCAT(`dateparse.dateparse_simple_years`.`Column1`)),STR_TO_DATE(CONCAT(`dateparse.dateparse_simple_years`.`Column1`),'%b %e %Y')))) THEN IFNULL(DATE(CONCAT(`dateparse.dateparse_simple_years`.`Column1`)),STR_TO_DATE(CONCAT(`dateparse.dateparse_simple_years`.`Column1`),'%b %e %Y')) ELSE NULL END) AS `Column1`,
  `dateparse.dateparse_simple_years`.`Column2` AS `Column2`,
  1 AS `Number of Records`
FROM `dateparse.dateparse_simple_years`;
  
 
 
 
 
Description: MySQL ODBC driver crashes in one of our test, The crash happens on all platforms. The same test doesn't cause crash in the pervious version of driver. Here is the back trace, Exception thrown: read access violation. str was nullptr. myodbc8w.dll!str_to_date(tagDATE_STRUCT * rgbValue, const char * str, unsigned int length, int zeroToMin) Line 2278 C++ myodbc8w.dll!sql_get_data(STMT * stmt, short fCType, unsigned int column_number, void * rgbValue, __int64 cbValueMax, __int64 * pcbValue, char * value, unsigned long length, DESCREC * arrec) Line 705 C++ myodbc8w.dll!fill_fetch_buffers(STMT * stmt, char * * values, unsigned int rownum) Line 1907 C++ myodbc8w.dll!my_SQLExtendedFetch(void * hstmt, unsigned short fFetchType, __int64 irow, unsigned __int64 * pcrow, unsigned short * rgfRowStatus, bool upd_status) Line 2453 C++ myodbc8w.dll!SQLFetch(void * StatementHandle) Line 2639 C++ How to repeat: This happens in Tableau test, I have not found a way to reproduce this crash outside of the test. Here are some into, Table: dateparse.dateparse_simple_years Field Type Null Key Default Extra Column1 int(11) NO NULL Column2 int(11) NO NULL Column1,Column2 2003,1977 1983,1955 2016,2015 2020,2000 2050,1950 The Query caused the crash: SELECT (CASE WHEN (NOT ISNULL(DATE(TIMESTAMP(STR_TO_DATE(CONCAT(CONCAT(`dateparse.dateparse_simple_years`.`Column1`), '-01-01'), '%Y-%m-%d'))))) THEN DATE(TIMESTAMP(STR_TO_DATE(CONCAT(CONCAT(`dateparse.dateparse_simple_years`.`Column1`), '-01-01'), '%Y-%m-%d'))) WHEN (NOT ISNULL(IFNULL(DATE(CONCAT(`dateparse.dateparse_simple_years`.`Column1`)),STR_TO_DATE(CONCAT(`dateparse.dateparse_simple_years`.`Column1`),'%b %e %Y')))) THEN IFNULL(DATE(CONCAT(`dateparse.dateparse_simple_years`.`Column1`)),STR_TO_DATE(CONCAT(`dateparse.dateparse_simple_years`.`Column1`),'%b %e %Y')) ELSE NULL END) AS `Column1`, `dateparse.dateparse_simple_years`.`Column2` AS `Column2`, 1 AS `Number of Records` FROM `dateparse.dateparse_simple_years`;