You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
this is because, in sqlprepare, clickhouse server use the first row to check this sql, the first row have no exception, so it can been executed, but when it execute to row with id=4, 1%0 raise the zero divide exception, then server append the exception message to the previous rows's meta-data, and odbc SQLFetch the result as normal, not the exception, so the protocol between odbc and server is not Matched.
The letter corresponding to the number 1701080899 is ‘C’, ‘o’, ‘d’, and ‘e’., it is the prefix of exception message:
because protocol is not matched, so odbc read 4 bytes for protocol head, it read the "Code", Therefore, ODBC believes that it still needs 1701080899 bytes of data.
modify suggestion:
AmortizedIStreamReader::read,it should process the situation of message package is exception, but not the normal length.
The text was updated successfully, but these errors were encountered:
replay method
table struct:
3 rows to been inserted:
using isql to execute the sql:
select c1%c2 from t1;
than isql will hang and than crush:
The reason for analyzing the problem
this is because, in sqlprepare, clickhouse server use the first row to check this sql, the first row have no exception, so it can been executed, but when it execute to row with id=4, 1%0 raise the zero divide exception, then server append the exception message to the previous rows's meta-data, and odbc SQLFetch the result as normal, not the exception, so the protocol between odbc and server is not Matched.
The letter corresponding to the number 1701080899 is ‘C’, ‘o’, ‘d’, and ‘e’., it is the prefix of exception message:
because protocol is not matched, so odbc read 4 bytes for protocol head, it read the "Code", Therefore, ODBC believes that it still needs 1701080899 bytes of data.
modify suggestion:
AmortizedIStreamReader::read,it should process the situation of message package is exception, but not the normal length.
The text was updated successfully, but these errors were encountered: