@@ -308,7 +308,7 @@ export default function QueryToolComponent({params, pgWindow, pgAdmin, selectedN
308308 if ( toolContent ?. modifiedExternally ) {
309309 toolContent = await fmUtilsObj . warnFileReload ( toolContent ?. fileName , toolContent . data , '' ) ;
310310 }
311-
311+
312312 if ( toolContent ?. loadFile ) {
313313 eventBus . current . fireEvent ( QUERY_TOOL_EVENTS . LOAD_FILE , toolContent . fileName , params ?. storage ) ;
314314 } else {
@@ -338,13 +338,15 @@ export default function QueryToolComponent({params, pgWindow, pgAdmin, selectedN
338338 } ) ;
339339 }
340340 eventBus . current . fireEvent ( QUERY_TOOL_EVENTS . SERVER_CURSOR , executeServerCursor ) ;
341- api . post ( baseUrl , qtState . params . is_query_tool ? {
341+ let requestParams = {
342342 user : selectedConn . user ,
343343 role : selectedConn . role ,
344344 password : password ,
345345 dbname : selectedConn . database_name
346- } : { sql_filter : qtState . params . sql_filter ,
347- server_cursor : qtState . params . server_cursor } )
346+ } ;
347+ api . post ( baseUrl , qtState . params . is_query_tool ?
348+ { ...requestParams } :
349+ { sql_filter : qtState . params . sql_filter , server_cursor : qtState . params . server_cursor , ...requestParams } )
348350 . then ( ( ) => {
349351 setQtStatePartial ( {
350352 connected : true ,
@@ -391,7 +393,7 @@ export default function QueryToolComponent({params, pgWindow, pgAdmin, selectedN
391393 connected : false ,
392394 obtaining_conn : false ,
393395 } ) ;
394- eventBus . current . fireEvent ( QUERY_TOOL_EVENTS . HANDLE_API_ERROR , error ) ;
396+ eventBus . current . fireEvent ( QUERY_TOOL_EVENTS . HANDLE_API_ERROR , error , ( ) => { } ) ;
395397 }
396398 } ) ;
397399 } ;
@@ -511,6 +513,7 @@ export default function QueryToolComponent({params, pgWindow, pgAdmin, selectedN
511513
512514
513515 const handleApiError = ( error , handleParams ) => {
516+ let selectedConn = _ . find ( qtState . connection_list , ( c ) => c . is_selected ) ;
514517 if ( error . response ?. status == 503 && error . response . data ?. info == 'CONNECTION_LOST' ) {
515518 // We will display re-connect dialog, no need to display error message again
516519 modal . confirm (
@@ -529,7 +532,6 @@ export default function QueryToolComponent({params, pgWindow, pgAdmin, selectedN
529532 gettext ( 'Cancel' )
530533 ) ;
531534 } else if ( handleParams ?. checkTransaction && error . response ?. data . info == 'DATAGRID_TRANSACTION_REQUIRED' ) {
532- let selectedConn = _ . find ( qtState . connection_list , ( c ) => c . is_selected ) ;
533535 initConnection ( api , {
534536 'gid' : selectedConn . sgid ,
535537 'sid' : selectedConn . sid ,
@@ -542,6 +544,17 @@ export default function QueryToolComponent({params, pgWindow, pgAdmin, selectedN
542544 } ) ;
543545 } else if ( error . response ?. status == 403 && error . response ?. data . info == 'ACCESS_DENIED' ) {
544546 pgAdmin . Browser . notifier . error ( error . response . data . errormsg ) ;
547+
548+ } else if ( error ?. response ?. status == 428 ) {
549+ connectServerModal ( modal , error . response ?. data ?. result , async ( passwordData ) => {
550+
551+ await connectServer ( api , modal , selectedConn . sid , selectedConn . user , passwordData , async ( ) => {
552+ initializeQueryTool ( ) ;
553+ } ) ;
554+
555+ } , ( ) => {
556+ /*This is intentional (SonarQube)*/
557+ } ) ;
545558 } else {
546559 let msg = parseApiError ( error ) ;
547560 eventBus . current . fireEvent ( QUERY_TOOL_EVENTS . SET_MESSAGE , msg , true ) ;
0 commit comments