@@ -200,7 +200,7 @@ func (c *conn) runQuery(ctx context.Context, query string, args []driver.NamedVa
200200 cli_service .TOperationState_ERROR_STATE ,
201201 cli_service .TOperationState_TIMEDOUT_STATE :
202202 logBadQueryState (log , opStatus )
203- return exStmtResp , opStatus , errors . New (opStatus . GetDisplayMessage () )
203+ return exStmtResp , opStatus , unexpectedOperationState (opStatus )
204204 // live states
205205 case cli_service .TOperationState_INITIALIZED_STATE ,
206206 cli_service .TOperationState_PENDING_STATE ,
@@ -220,16 +220,16 @@ func (c *conn) runQuery(ctx context.Context, query string, args []driver.NamedVa
220220 cli_service .TOperationState_ERROR_STATE ,
221221 cli_service .TOperationState_TIMEDOUT_STATE :
222222 logBadQueryState (log , statusResp )
223- return exStmtResp , statusResp , dbsqlerrint . NewRequestError ( ctx , dbsqlerr . ErrInvalidOperationState , nil )
223+ return exStmtResp , statusResp , unexpectedOperationState ( statusResp )
224224 // live states
225225 default :
226226 logBadQueryState (log , statusResp )
227- return exStmtResp , statusResp , dbsqlerrint . NewDriverError (ctx , dbsqlerr . ErrInvalidOperationState , nil )
227+ return exStmtResp , statusResp , invalidOperationState (ctx , statusResp )
228228 }
229229 // weird states
230230 default :
231231 logBadQueryState (log , opStatus )
232- return exStmtResp , opStatus , dbsqlerrint . NewDriverError (ctx , dbsqlerr . ErrInvalidOperationState , nil )
232+ return exStmtResp , opStatus , invalidOperationState (ctx , opStatus )
233233 }
234234
235235 } else {
@@ -248,18 +248,27 @@ func (c *conn) runQuery(ctx context.Context, query string, args []driver.NamedVa
248248 cli_service .TOperationState_ERROR_STATE ,
249249 cli_service .TOperationState_TIMEDOUT_STATE :
250250 logBadQueryState (log , statusResp )
251- return exStmtResp , statusResp , dbsqlerrint . NewDriverError ( ctx , dbsqlerr . ErrInvalidOperationState , nil )
251+ return exStmtResp , statusResp , unexpectedOperationState ( statusResp )
252252 // live states
253253 default :
254254 logBadQueryState (log , statusResp )
255- return exStmtResp , statusResp , dbsqlerrint . NewDriverError (ctx , dbsqlerr . ErrInvalidOperationState , nil )
255+ return exStmtResp , statusResp , invalidOperationState (ctx , statusResp )
256256 }
257257 }
258258}
259259
260260func logBadQueryState (log * logger.DBSQLLogger , opStatus * cli_service.TGetOperationStatusResp ) {
261261 log .Error ().Msgf ("databricks: query state: %s" , opStatus .GetOperationState ())
262- log .Error ().Msg (opStatus .GetErrorMessage ())
262+ log .Error ().Msg (opStatus .GetDisplayMessage ())
263+ log .Debug ().Msg (opStatus .GetDiagnosticInfo ())
264+ }
265+
266+ func unexpectedOperationState (opStatus * cli_service.TGetOperationStatusResp ) error {
267+ return errors .WithMessage (errors .New (opStatus .GetDisplayMessage ()), dbsqlerr .ErrUnexpectedOperationState (opStatus .GetOperationState ().String ()))
268+ }
269+
270+ func invalidOperationState (ctx context.Context , opStatus * cli_service.TGetOperationStatusResp ) error {
271+ return dbsqlerrint .NewDriverError (ctx , dbsqlerr .ErrInvalidOperationState (opStatus .GetOperationState ().String ()), nil )
263272}
264273
265274func (c * conn ) executeStatement (ctx context.Context , query string , args []driver.NamedValue ) (* cli_service.TExecuteStatementResp , error ) {
0 commit comments