99use App \Models \DatabaseConnection ;
1010use App \Models \QueryRun ;
1111use App \Models \SavedQuery ;
12- use App \Services \AiSqlAssistantService ;
1312use App \Services \AiMemoryProfileService ;
13+ use App \Services \AiSqlAssistantService ;
1414use App \Services \AuditService ;
1515use App \Services \QueryValidationService ;
1616use App \Services \ReadOnlyQueryExecutor ;
@@ -111,18 +111,22 @@ public function execute(ExecuteQueryRequest $request): JsonResponse
111111 } catch (Throwable $ throwable ) {
112112 report ($ throwable );
113113
114+ $ dbMessage = $ throwable ->getPrevious ()?->getMessage()
115+ ?? $ throwable ->getMessage ();
116+
114117 $ this ->auditService ->record (
115118 action: 'query.failed ' ,
116119 user: $ request ->user (),
117120 connection: $ connection ,
118121 sql: $ validation ['sql_with_limit ' ],
119122 status: 'failed ' ,
120123 request: $ request ,
121- metadata: ['reason ' => ' sanitized_sql_error ' ],
124+ metadata: ['reason ' => $ dbMessage ],
122125 );
123126
124127 return response ()->json ([
125- 'message ' => 'The SQL engine returned a sanitized error response. ' ,
128+ 'message ' => 'Error de base de datos: ' .$ dbMessage ,
129+ 'sql ' => $ validation ['sql_with_limit ' ],
126130 ], 422 );
127131 }
128132
@@ -143,12 +147,16 @@ public function execute(ExecuteQueryRequest $request): JsonResponse
143147 ]);
144148
145149 if ($ request ->user () !== null ) {
146- $ this ->aiMemoryProfileService ->recordSuccessfulExecution (
147- user: $ request ->user (),
148- connectionId: $ connection ->id ,
149- sql: $ validation ['sql_with_limit ' ],
150- tablesUsed: $ validation ['tables ' ],
151- );
150+ try {
151+ $ this ->aiMemoryProfileService ->recordSuccessfulExecution (
152+ user: $ request ->user (),
153+ connectionId: $ connection ->id ,
154+ sql: $ validation ['sql_with_limit ' ],
155+ tablesUsed: $ validation ['tables ' ],
156+ );
157+ } catch (Throwable ) {
158+ // memory recording is non-critical
159+ }
152160 }
153161
154162 $ this ->auditService ->record (
0 commit comments