mirror of
https://github.com/dbeaver/cloudbeaver.git
synced 2026-09-24 16:04:36 +08:00
Merge branch 'devel' of https://github.com/dbeaver/cloudbeaver into devel
This commit is contained in:
+8
-6
@@ -177,7 +177,7 @@ public class WebSQLProcessor {
|
||||
{
|
||||
boolean hasResultSet = dbStat.executeStatement();
|
||||
fillQueryResults(contextInfo, dataContainer, dbStat, hasResultSet, executeInfo, dataFilter, dataFormat);
|
||||
} catch (DBCException e) {
|
||||
} catch (DBException e) {
|
||||
throw new InvocationTargetException(e);
|
||||
}
|
||||
}
|
||||
@@ -209,7 +209,7 @@ public class WebSQLProcessor {
|
||||
DBDDataFilter dataFilter = filter.makeDataFilter();
|
||||
DBExecUtils.tryExecuteRecover(monitor, connection.getDataSource(), param -> {
|
||||
try (DBCSession session = executionContext.openSession(monitor, DBCExecutionPurpose.USER, "Read data from container")) {
|
||||
try (WebDataReceiver dataReceiver = new WebDataReceiver(contextInfo, dataContainer)) {
|
||||
try (WebDataReceiver dataReceiver = new WebDataReceiver(contextInfo, dataContainer, dataFormat)) {
|
||||
DBCStatistics statistics = dataContainer.readData(
|
||||
new WebExecutionSource(dataContainer, executionContext, this),
|
||||
session,
|
||||
@@ -226,7 +226,7 @@ public class WebSQLProcessor {
|
||||
executeInfo.setResults(new WebSQLQueryResults[]{results});
|
||||
|
||||
executeInfo.setStatusMessage(dataReceiver.getResultSet().getRows().length + " row(s) fetched");
|
||||
} catch (DBCException e) {
|
||||
} catch (DBException e) {
|
||||
throw new InvocationTargetException(e);
|
||||
}
|
||||
}
|
||||
@@ -446,7 +446,7 @@ public class WebSQLProcessor {
|
||||
boolean hasResultSet,
|
||||
@NotNull WebSQLExecuteInfo executeInfo,
|
||||
@NotNull WebSQLDataFilter filter,
|
||||
@Nullable WebDataFormat dataFormat) throws DBCException {
|
||||
@Nullable WebDataFormat dataFormat) throws DBException {
|
||||
|
||||
List<WebSQLQueryResults> resultList = new ArrayList<>();
|
||||
for (int i = 0; i < MAX_RESULTS_COUNT; i++) {
|
||||
@@ -456,7 +456,7 @@ public class WebSQLProcessor {
|
||||
if (resultSet == null) {
|
||||
break;
|
||||
}
|
||||
try (WebDataReceiver dataReceiver = new WebDataReceiver(contextInfo, dataContainer)) {
|
||||
try (WebDataReceiver dataReceiver = new WebDataReceiver(contextInfo, dataContainer, dataFormat)) {
|
||||
readResultSet(dbStat.getSession(), resultSet, filter, dataReceiver);
|
||||
results.setResultSet(dataReceiver.getResultSet());
|
||||
}
|
||||
@@ -495,14 +495,16 @@ public class WebSQLProcessor {
|
||||
private class WebDataReceiver implements DBDDataReceiver {
|
||||
private final WebSQLContextInfo contextInfo;
|
||||
private DBSDataContainer dataContainer;
|
||||
private WebDataFormat dataFormat;
|
||||
private WebSQLQueryResultSet webResultSet = new WebSQLQueryResultSet();
|
||||
|
||||
private DBDAttributeBinding[] bindings;
|
||||
private List<Object[]> rows = new ArrayList<>();
|
||||
|
||||
public WebDataReceiver(WebSQLContextInfo contextInfo, DBSDataContainer dataContainer) {
|
||||
WebDataReceiver(WebSQLContextInfo contextInfo, DBSDataContainer dataContainer, WebDataFormat dataFormat) {
|
||||
this.contextInfo = contextInfo;
|
||||
this.dataContainer = dataContainer;
|
||||
this.dataFormat = dataFormat;
|
||||
}
|
||||
|
||||
public WebSQLQueryResultSet getResultSet() {
|
||||
|
||||
+11
-2
@@ -16,6 +16,7 @@
|
||||
*/
|
||||
package io.cloudbeaver.service.sql;
|
||||
|
||||
import org.jkiss.dbeaver.DBException;
|
||||
import org.jkiss.dbeaver.model.meta.Property;
|
||||
|
||||
import java.util.List;
|
||||
@@ -51,8 +52,16 @@ public class WebSQLQueryResults {
|
||||
return resultSet;
|
||||
}
|
||||
|
||||
public void setResultSet(WebSQLQueryResultSet resultSet) {
|
||||
this.resultSet = resultSet;
|
||||
public void setResultSet(WebSQLQueryResultSet resultSet) throws DBException {
|
||||
switch (dataFormat) {
|
||||
case document:
|
||||
|
||||
case table:
|
||||
this.resultSet = resultSet;
|
||||
break;
|
||||
default:
|
||||
throw new DBException("Data format " + dataFormat + " is not supported");
|
||||
}
|
||||
}
|
||||
|
||||
public List<WebSQLDatabaseDocument> getDocuments() {
|
||||
|
||||
Reference in New Issue
Block a user