[improvement][headless] add errorMsg to parse and execute response (#1764) (#1778)

This commit is contained in:
jipeli
2024-10-10 21:27:26 +08:00
committed by GitHub
parent 1b53226645
commit bf1f2ed60a
4 changed files with 33 additions and 16 deletions

View File

@@ -75,22 +75,26 @@ public class SqlExecutor implements ChatQueryExecutor {
sqlReq.setDataSetId(parseInfo.getDataSetId());
long startTime = System.currentTimeMillis();
SemanticQueryResp queryResp = semanticLayer.queryByReq(sqlReq, executeContext.getUser());
QueryResult queryResult = new QueryResult();
queryResult.setChatContext(parseInfo);
queryResult.setQueryMode(parseInfo.getQueryMode());
queryResult.setQueryTimeCost(System.currentTimeMillis() - startTime);
if (queryResp != null) {
queryResult.setQueryAuthorization(queryResp.getQueryAuthorization());
queryResult.setQuerySql(queryResp.getSql());
queryResult.setQueryResults(queryResp.getResultList());
queryResult.setQueryColumns(queryResp.getColumns());
queryResult.setQueryState(QueryState.SUCCESS);
chatCtx.setParseInfo(parseInfo);
chatContextService.updateContext(chatCtx);
} else {
queryResult.setQueryState(QueryState.INVALID);
try {
SemanticQueryResp queryResp =
semanticLayer.queryByReq(sqlReq, executeContext.getUser());
if (queryResp != null) {
queryResult.setQueryAuthorization(queryResp.getQueryAuthorization());
queryResult.setQuerySql(queryResp.getSql());
queryResult.setQueryResults(queryResp.getResultList());
queryResult.setQueryColumns(queryResp.getColumns());
queryResult.setQueryState(QueryState.SUCCESS);
chatCtx.setParseInfo(parseInfo);
chatContextService.updateContext(chatCtx);
} else {
queryResult.setQueryState(QueryState.INVALID);
}
} catch (Exception e) {
queryResult.setErrorMsg(e.getMessage());
}
return queryResult;
}

View File

@@ -105,6 +105,7 @@ public class NL2SQLParser implements ChatQueryParser {
}
parseResp.setState(text2SqlParseResp.getState());
parseResp.getParseTimeCost().setSqlTime(text2SqlParseResp.getParseTimeCost().getSqlTime());
parseResp.setErrorMsg(text2SqlParseResp.getErrorMsg());
formatParseResult(parseResp);
}