mirror of
https://github.com/dbeaver/cloudbeaver.git
synced 2026-09-24 16:04:36 +08:00
CB-4502 dpi sql execute support (#2542)
* CB-4502 wip * CB-4502 DPI: read data from container and script execution support --------- Co-authored-by: mr-anton-t <42037741+mr-anton-t@users.noreply.github.com>
This commit is contained in:
co-authored by
mr-anton-t
parent
c7ed9f3b5b
commit
9a46bb2a88
+1
-1
@@ -43,7 +43,7 @@ public class WebSQLCellValueReceiver implements DBDDataReceiver {
|
||||
@Override
|
||||
public void fetchStart(@NotNull DBCSession session, @NotNull DBCResultSet resultSet, long offset, long maxRows) throws DBCException {
|
||||
DBCResultSetMetaData meta = resultSet.getMeta();
|
||||
List<DBCAttributeMetaData> attributes = meta.getAttributes();
|
||||
List<? extends DBCAttributeMetaData> attributes = meta.getAttributes();
|
||||
DBCAttributeMetaData attrMeta = attributes.get(rowIndex);
|
||||
binding = new DBDAttributeBindingMeta(dataContainer, resultSet.getSession(), attrMeta);
|
||||
}
|
||||
|
||||
+1
-1
@@ -51,7 +51,7 @@ public class WebSQLContextInfo implements WebSessionProvider {
|
||||
|
||||
private static final Log log = Log.getLog(WebSQLContextInfo.class);
|
||||
|
||||
private final WebSQLProcessor processor;
|
||||
private final transient WebSQLProcessor processor;
|
||||
private final String id;
|
||||
private final String projectId;
|
||||
private final Map<String, WebSQLResultsInfo> resultInfoMap = new HashMap<>();
|
||||
|
||||
+1
-1
@@ -1062,7 +1062,7 @@ public class WebSQLProcessor implements WebSessionProvider {
|
||||
DBDAttributeBinding[] resultsAttributes = results.getAttributes();
|
||||
|
||||
DBCResultSetMetaData rsMeta = resultSet.getMeta();
|
||||
List<DBCAttributeMetaData> keyAttributes = rsMeta.getAttributes();
|
||||
List<? extends DBCAttributeMetaData> keyAttributes = rsMeta.getAttributes();
|
||||
for (int i = 0; i < keyAttributes.size(); i++) {
|
||||
DBCAttributeMetaData keyAttribute = keyAttributes.get(i);
|
||||
DBDValueHandler valueHandler = DBUtils.findValueHandler(session, keyAttribute);
|
||||
|
||||
+10
-1
@@ -94,7 +94,16 @@ public class WebSQLQueryDataContainer implements DBSDataContainer, DBPContextPro
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public DBCStatistics readData(@NotNull DBCExecutionSource source, @NotNull DBCSession session, @NotNull DBDDataReceiver dataReceiver, @Nullable DBDDataFilter dataFilter, long firstRow, long maxRows, long flags, int fetchSize) throws DBCException {
|
||||
public DBCStatistics readData(
|
||||
@Nullable DBCExecutionSource source,
|
||||
@NotNull DBCSession session,
|
||||
@NotNull DBDDataReceiver dataReceiver,
|
||||
@Nullable DBDDataFilter dataFilter,
|
||||
long firstRow,
|
||||
long maxRows,
|
||||
long flags,
|
||||
int fetchSize
|
||||
) throws DBCException {
|
||||
return queryDataContainer.readData(source, session, dataReceiver, dataFilter, firstRow, maxRows, flags, fetchSize);
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -65,7 +65,7 @@ class WebSQLQueryDataReceiver implements DBDDataReceiver {
|
||||
@Override
|
||||
public void fetchStart(@NotNull DBCSession session, @NotNull DBCResultSet dbResult, long offset, long maxRows) throws DBCException {
|
||||
DBCResultSetMetaData meta = dbResult.getMeta();
|
||||
List<DBCAttributeMetaData> attributes = meta.getAttributes();
|
||||
List<? extends DBCAttributeMetaData> attributes = meta.getAttributes();
|
||||
bindings = new DBDAttributeBindingMeta[attributes.size()];
|
||||
for (int i = 0; i < attributes.size(); i++) {
|
||||
DBCAttributeMetaData attrMeta = attributes.get(i);
|
||||
|
||||
+2
-4
@@ -19,11 +19,9 @@ package io.cloudbeaver.service.sql;
|
||||
import org.jkiss.dbeaver.Log;
|
||||
import org.jkiss.dbeaver.model.data.DBDAttributeBinding;
|
||||
import org.jkiss.dbeaver.model.meta.Property;
|
||||
import org.jkiss.utils.Pair;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* Web SQL query resultset.
|
||||
@@ -33,7 +31,7 @@ public class WebSQLQueryResultSet {
|
||||
private static final Log log = Log.getLog(WebSQLQueryResultSet.class);
|
||||
|
||||
private WebSQLQueryResultColumn[] columns;
|
||||
private List<WebSQLQueryResultSetRow> rows;
|
||||
private List<WebSQLQueryResultSetRow> rows = Collections.emptyList();
|
||||
private boolean hasMoreData;
|
||||
private WebSQLResultsInfo resultsInfo;
|
||||
private boolean singleEntity = true;
|
||||
|
||||
+3
-1
@@ -33,7 +33,9 @@ import org.jkiss.dbeaver.model.DBPDataSource;
|
||||
import org.jkiss.dbeaver.model.DBPDataSourceContainer;
|
||||
import org.jkiss.dbeaver.model.DBUtils;
|
||||
import org.jkiss.dbeaver.model.data.DBDAttributeBinding;
|
||||
import org.jkiss.dbeaver.model.exec.*;
|
||||
import org.jkiss.dbeaver.model.exec.DBCException;
|
||||
import org.jkiss.dbeaver.model.exec.DBCLogicalOperator;
|
||||
import org.jkiss.dbeaver.model.exec.DBExecUtils;
|
||||
import org.jkiss.dbeaver.model.impl.sql.BasicSQLDialect;
|
||||
import org.jkiss.dbeaver.model.navigator.DBNNode;
|
||||
import org.jkiss.dbeaver.model.runtime.DBRProgressMonitor;
|
||||
|
||||
Reference in New Issue
Block a user