=== modified file 'driver/results.c' --- driver/results.c 2011-09-09 20:02:08 +0000 +++ driver/results.c 2011-10-12 14:24:06 +0000 @@ -1500,11 +1500,9 @@ return SQL_NO_DATA_FOUND; } - if (handle_connection_error(stmt)) - return SQL_ERROR; - if (!stmt->dbc->ds->dont_use_set_locale) setlocale(LC_NUMERIC, "C"); + res= SQL_SUCCESS; for ( i= 0 ; i < rows_to_fetch ; ++i ) { @@ -1584,7 +1582,17 @@ setlocale(LC_NUMERIC,default_locale); if (SQL_SUCCEEDED(res) && stmt->rows_found_in_set == 0) - return SQL_NO_DATA_FOUND; + { + if (is_connection_lost(stmt->error.native_error) + && handle_connection_error(stmt)) + { + return SQL_ERROR; + } + else + { + return SQL_NO_DATA_FOUND; + } + } return res; }