This is an automated email from the git hooks/post-receive script. New commit to branch feature/export_bdd_avec_pj in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit 3b0a517fc271fba644a90acd9ce033ef9b00a8f3 Author: Samuel Maisonneuve <maisonneuve@codelutin.com> Date: Fri Sep 9 18:32:36 2016 +0200 Correction de test pour mettre en évidence le problème de blob lors de l'export depuis une bdd postgres --- .../topia/service/sql/batch/actions/AbstractTablesAction.java | 6 ++++++ .../service/sql/batch/actions/ReplicateTablesAction.java | 11 +++++++++++ 2 files changed, 17 insertions(+) diff --git a/topia-extension/src/main/java/org/nuiton/topia/service/sql/batch/actions/AbstractTablesAction.java b/topia-extension/src/main/java/org/nuiton/topia/service/sql/batch/actions/AbstractTablesAction.java index cbf7aa8..330e01c 100644 --- a/topia-extension/src/main/java/org/nuiton/topia/service/sql/batch/actions/AbstractTablesAction.java +++ b/topia-extension/src/main/java/org/nuiton/topia/service/sql/batch/actions/AbstractTablesAction.java @@ -171,6 +171,12 @@ public abstract class AbstractTablesAction<R extends AbstractTablesRequest> exte StringBuilder sqlBuilder = new StringBuilder("SELECT " + table.getTableName() + ".*"); + TopiaMetadataEntity metadataEntity = table.getMetadataEntity(); + if (metadataEntity.withBlob() && connection.getMetaData().getURL().contains("postgres")) { + String columnName = metadataEntity.getBlobProperties().iterator().next(); + sqlBuilder.append(", lo_get("+ columnName +") as blobValue"); + } + sqlBuilder.append(" FROM ").append(table.getFromClause()); for (String joinClause : table.getJoinClauses()) { sqlBuilder.append(" ").append(joinClause); diff --git a/topia-extension/src/main/java/org/nuiton/topia/service/sql/batch/actions/ReplicateTablesAction.java b/topia-extension/src/main/java/org/nuiton/topia/service/sql/batch/actions/ReplicateTablesAction.java index b263ba7..22869ab 100644 --- a/topia-extension/src/main/java/org/nuiton/topia/service/sql/batch/actions/ReplicateTablesAction.java +++ b/topia-extension/src/main/java/org/nuiton/topia/service/sql/batch/actions/ReplicateTablesAction.java @@ -208,6 +208,17 @@ public class ReplicateTablesAction extends AbstractTablesAction<ReplicateTablesR continue; } + if (blobsBuilder != null && columnName.equals(blobsBuilder.getColumnName())) { + statement += ", NULL"; + String topiaId = readResultSet.getString("topiaId"); + Objects.nonNull(topiaId); + blobsBuilder.addBlob(topiaId, (byte[]) readResultSet.getObject("blobValue")); + if (log.isInfoEnabled()) { + log.info("Add blob: " + topiaId); + } + continue; + } + statement += ", " + columnValue; } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.