提交 cb5ae717 编写于 作者: S serge-rider

Merge branch 'devel' of https://github.com/dbeaver/dbeaver into debug__refactoring

...@@ -22,6 +22,8 @@ import org.jkiss.dbeaver.model.DBUtils; ...@@ -22,6 +22,8 @@ import org.jkiss.dbeaver.model.DBUtils;
import org.jkiss.dbeaver.model.data.DBDAttributeBindingMeta; import org.jkiss.dbeaver.model.data.DBDAttributeBindingMeta;
import org.jkiss.dbeaver.model.data.DBDDataReceiver; import org.jkiss.dbeaver.model.data.DBDDataReceiver;
import org.jkiss.dbeaver.model.exec.*; import org.jkiss.dbeaver.model.exec.*;
import org.jkiss.dbeaver.model.struct.DBSDataContainer;
import org.jkiss.dbeaver.model.struct.DBSEntity;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
...@@ -140,7 +142,12 @@ class ResultSetDataReceiver implements DBDDataReceiver { ...@@ -140,7 +142,12 @@ class ResultSetDataReceiver implements DBDDataReceiver {
if (!nextSegmentRead) { if (!nextSegmentRead) {
try { try {
// Read locators' metadata // Read locators' metadata
ResultSetUtils.bindAttributes(session, resultSet, metaColumns, rows); DBSEntity entity = null;
DBSDataContainer dataContainer = resultSetViewer.getDataContainer();
if (dataContainer instanceof DBSEntity) {
entity = (DBSEntity) dataContainer;
}
ResultSetUtils.bindAttributes(session, entity, resultSet, metaColumns, rows);
} catch (Throwable e) { } catch (Throwable e) {
errorList.add(e); errorList.add(e);
} }
......
...@@ -66,6 +66,7 @@ public class ResultSetUtils ...@@ -66,6 +66,7 @@ public class ResultSetUtils
public static void bindAttributes( public static void bindAttributes(
@NotNull DBCSession session, @NotNull DBCSession session,
@Nullable DBSEntity sourceEntity,
@Nullable DBCResultSet resultSet, @Nullable DBCResultSet resultSet,
@NotNull DBDAttributeBindingMeta[] bindings, @NotNull DBDAttributeBindingMeta[] bindings,
@Nullable List<Object[]> rows) throws DBException @Nullable List<Object[]> rows) throws DBException
...@@ -84,7 +85,9 @@ public class ResultSetUtils ...@@ -84,7 +85,9 @@ public class ResultSetUtils
try { try {
SQLQuery sqlQuery = null; SQLQuery sqlQuery = null;
DBSEntity entity = null; DBSEntity entity = null;
if (resultSet != null) { if (sourceEntity != null) {
entity = sourceEntity;
} else if (resultSet != null) {
DBCStatement sourceStatement = resultSet.getSourceStatement(); DBCStatement sourceStatement = resultSet.getSourceStatement();
if (sourceStatement != null && sourceStatement.getStatementSource() != null) { if (sourceStatement != null && sourceStatement.getStatementSource() != null) {
DBCExecutionSource executionSource = sourceStatement.getStatementSource(); DBCExecutionSource executionSource = sourceStatement.getStatementSource();
......
...@@ -33,6 +33,7 @@ import org.jkiss.dbeaver.model.data.DBDContent; ...@@ -33,6 +33,7 @@ import org.jkiss.dbeaver.model.data.DBDContent;
import org.jkiss.dbeaver.model.data.DBDContentStorage; import org.jkiss.dbeaver.model.data.DBDContentStorage;
import org.jkiss.dbeaver.model.exec.DBCSession; import org.jkiss.dbeaver.model.exec.DBCSession;
import org.jkiss.dbeaver.model.runtime.DBRProgressMonitor; import org.jkiss.dbeaver.model.runtime.DBRProgressMonitor;
import org.jkiss.dbeaver.model.struct.DBSEntity;
import org.jkiss.dbeaver.tools.transfer.stream.IStreamDataExporterSite; import org.jkiss.dbeaver.tools.transfer.stream.IStreamDataExporterSite;
import org.jkiss.dbeaver.tools.transfer.stream.impl.StreamExporterAbstract; import org.jkiss.dbeaver.tools.transfer.stream.impl.StreamExporterAbstract;
import org.jkiss.dbeaver.ui.controls.resultset.ResultSetUtils; import org.jkiss.dbeaver.ui.controls.resultset.ResultSetUtils;
...@@ -306,7 +307,11 @@ public class DataExporterXLSX extends StreamExporterAbstract { ...@@ -306,7 +307,11 @@ public class DataExporterXLSX extends StreamExporterAbstract {
} }
} }
if (bindingsOk) { if (bindingsOk) {
ResultSetUtils.bindAttributes(session, null, bindings, null); DBSEntity sourceEntity = null;
if (getSite().getSource() instanceof DBSEntity) {
sourceEntity = (DBSEntity) getSite().getSource();
}
ResultSetUtils.bindAttributes(session, sourceEntity, null, bindings, null);
} }
} }
/*if (printHeader) { FIXME /*if (printHeader) { FIXME
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册