This is an automated email from the ASF dual-hosted git repository.
hansva pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/hop.git
The following commit(s) were added to refs/heads/main by this push:
new 8ef772090e Fix #4056 MySQL Bulk Load from File Action: manage
connection through variables (#6133)
8ef772090e is described below
commit 8ef772090e528d28a091be4e689d78788daafc3a
Author: Sergio Ramazzina <[email protected]>
AuthorDate: Sun Dec 7 14:17:57 2025 +0100
Fix #4056 MySQL Bulk Load from File Action: manage connection through
variables (#6133)
---
.../actions/mysqlbulkfile/ActionMysqlBulkFile.java | 19 ++++++-------------
.../mysqlbulkfile/ActionMysqlBulkFileDialog.java | 3 ++-
.../mysqlbulkfile/messages/messages_en_US.properties | 2 +-
.../mysqlbulkfile/messages/messages_it_IT.properties | 20 ++++++++++----------
4 files changed, 19 insertions(+), 25 deletions(-)
diff --git
a/plugins/actions/mysqlbulkfile/src/main/java/org/apache/hop/workflow/actions/mysqlbulkfile/ActionMysqlBulkFile.java
b/plugins/actions/mysqlbulkfile/src/main/java/org/apache/hop/workflow/actions/mysqlbulkfile/ActionMysqlBulkFile.java
index 11e0c3242f..f2e11cd474 100644
---
a/plugins/actions/mysqlbulkfile/src/main/java/org/apache/hop/workflow/actions/mysqlbulkfile/ActionMysqlBulkFile.java
+++
b/plugins/actions/mysqlbulkfile/src/main/java/org/apache/hop/workflow/actions/mysqlbulkfile/ActionMysqlBulkFile.java
@@ -37,6 +37,7 @@ import org.apache.hop.core.variables.IVariables;
import org.apache.hop.core.vfs.HopVfs;
import org.apache.hop.i18n.BaseMessages;
import org.apache.hop.metadata.api.HopMetadataProperty;
+import org.apache.hop.metadata.api.HopMetadataPropertyType;
import org.apache.hop.metadata.api.IHopMetadataProvider;
import org.apache.hop.resource.ResourceEntry;
import org.apache.hop.resource.ResourceEntry.ResourceType;
@@ -107,7 +108,9 @@ public class ActionMysqlBulkFile extends ActionBase {
@HopMetadataProperty(key = "addfiletoresult")
private boolean addFileToResult;
- @HopMetadataProperty(key = "connection")
+ @HopMetadataProperty(
+ key = "connection",
+ hopMetadataPropertyType = HopMetadataPropertyType.RDBMS_CONNECTION)
private String connection;
public ActionMysqlBulkFile(String n) {
@@ -216,12 +219,7 @@ public class ActionMysqlBulkFile extends ActionBase {
}
if (connection != null) {
- DatabaseMeta databaseMeta = null;
- try {
- databaseMeta = DatabaseMeta.loadDatabase(getMetadataProvider(),
connection);
- } catch (Exception e) {
- logError("Unable to load database :" + connection, e);
- }
+ DatabaseMeta databaseMeta =
parentWorkflowMeta.findDatabase(connection, getVariables());
// User has specified a connection, We can continue ...
try (Database db = new Database(this, this, databaseMeta)) {
@@ -432,12 +430,7 @@ public class ActionMysqlBulkFile extends ActionBase {
IVariables variables, WorkflowMeta workflowMeta) {
List<ResourceReference> references =
super.getResourceDependencies(variables, workflowMeta);
if (connection != null) {
- DatabaseMeta databaseMeta = null;
- try {
- databaseMeta = DatabaseMeta.loadDatabase(getMetadataProvider(),
connection);
- } catch (Exception e) {
- logError("Unable to load database :" + connection, e);
- }
+ DatabaseMeta databaseMeta = parentWorkflowMeta.findDatabase(connection,
getVariables());
ResourceReference reference = new ResourceReference(this);
reference
.getEntries()
diff --git
a/plugins/actions/mysqlbulkfile/src/main/java/org/apache/hop/workflow/actions/mysqlbulkfile/ActionMysqlBulkFileDialog.java
b/plugins/actions/mysqlbulkfile/src/main/java/org/apache/hop/workflow/actions/mysqlbulkfile/ActionMysqlBulkFileDialog.java
index aff5b6f862..d2118abdc2 100644
---
a/plugins/actions/mysqlbulkfile/src/main/java/org/apache/hop/workflow/actions/mysqlbulkfile/ActionMysqlBulkFileDialog.java
+++
b/plugins/actions/mysqlbulkfile/src/main/java/org/apache/hop/workflow/actions/mysqlbulkfile/ActionMysqlBulkFileDialog.java
@@ -155,7 +155,8 @@ public class ActionMysqlBulkFileDialog extends ActionDialog
{
wName.setLayoutData(fdName);
// Connection line
- wConnection = addConnectionLine(shell, wName, action.getConnection(),
null);
+ DatabaseMeta databaseMeta =
workflowMeta.findDatabase(action.getConnection(), variables);
+ wConnection = addConnectionLine(shell, wName, databaseMeta, null);
// Schema name line
// Schema name
diff --git
a/plugins/actions/mysqlbulkfile/src/main/resources/org/apache/hop/workflow/actions/mysqlbulkfile/messages/messages_en_US.properties
b/plugins/actions/mysqlbulkfile/src/main/resources/org/apache/hop/workflow/actions/mysqlbulkfile/messages/messages_en_US.properties
index 23a0247f47..f833825636 100644
---
a/plugins/actions/mysqlbulkfile/src/main/resources/org/apache/hop/workflow/actions/mysqlbulkfile/messages/messages_en_US.properties
+++
b/plugins/actions/mysqlbulkfile/src/main/resources/org/apache/hop/workflow/actions/mysqlbulkfile/messages/messages_en_US.properties
@@ -20,7 +20,7 @@ ActionMysqlBulkFile.AddFileToResult.Tooltip=Select this
option if you want to ad
ActionMysqlBulkFile.Connection.Label=Database connection
ActionMysqlBulkFile.ConnectionError2.DialogMessage=Please select a valid
database connection first\!
ActionMysqlBulkFile.Create_NewFile_IfFileExists.Label=Create new with unique
name
-ActionMysqlBulkFile.Description=Load from a mysql table into a file
+ActionMysqlBulkFile.Description=Bulk export a MySQL table into a file
ActionMysqlBulkFile.Do_Nothing_IfFileExists.Label=Do Nothing
ActionMysqlBulkFile.DumpFileValue.Label=DUMPFILE
ActionMysqlBulkFile.Enclosed.Label=Fields enclosed by
diff --git
a/plugins/actions/mysqlbulkfile/src/main/resources/org/apache/hop/workflow/actions/mysqlbulkfile/messages/messages_it_IT.properties
b/plugins/actions/mysqlbulkfile/src/main/resources/org/apache/hop/workflow/actions/mysqlbulkfile/messages/messages_it_IT.properties
index f9ab267e21..3006dc881a 100644
---
a/plugins/actions/mysqlbulkfile/src/main/resources/org/apache/hop/workflow/actions/mysqlbulkfile/messages/messages_it_IT.properties
+++
b/plugins/actions/mysqlbulkfile/src/main/resources/org/apache/hop/workflow/actions/mysqlbulkfile/messages/messages_it_IT.properties
@@ -21,15 +21,15 @@ ActionMysqlBulkFile.AddFileToResult.Label=Aggiungi file al
file dei risultati
ActionMysqlBulkFile.AddFileToResult.Tooltip=Selezionare quest''opzione per
aggiungere un file di output al file dei risultati. Consente di allegarlo ad
una mail.
ActionMysqlBulkFile.Connection.Label=Connessione database:
ActionMysqlBulkFile.ConnectionError2.DialogMessage=Per favore selezionare
prima una connessione valida ad un database\!
-ActionMysqlBulkFile.Create_NewFile_IfFileExists.Label=Creare nuovo con nome
univoco
-ActionMysqlBulkFile.Do_Nothing_IfFileExists.Label=Non far niente
+ActionMysqlBulkFile.Create_NewFile_IfFileExists.Label=Crea nuovo con nome
univoco
+ActionMysqlBulkFile.Do_Nothing_IfFileExists.Label=Non fare niente
ActionMysqlBulkFile.DumpFileValue.Label=DUMPFILE
ActionMysqlBulkFile.Enclosed.Label=Campi racchiusi da:
ActionMysqlBulkFile.Error.Label=Un errore \u00E8 avvenuto durante
l''esecuzione di questa action\:
ActionMysqlBulkFile.Fail_IfFileExists.Label=Fallito
ActionMysqlBulkFile.FileExists1.Label=Il file di destinazione [
ActionMysqlBulkFile.FileExists2.Label=] gi\u00E0 esiste\!
-ActionMysqlBulkFile.Filename.Label=Nome del file di destinazione:
+ActionMysqlBulkFile.Filename.Label=Nome del file destinazione:
ActionMysqlBulkFile.FileNameChange1.Label=Nuovo file di output da creare [
ActionMysqlBulkFile.FileResult.Group.Label=File dei risultati
ActionMysqlBulkFile.Filetype.All=Tutti i file
@@ -37,29 +37,29 @@ ActionMysqlBulkFile.Filetype.Text=File di testo
ActionMysqlBulkFile.HighPriority.Label=Alta priorit\u00E0:
ActionMysqlBulkFile.HighPriority.Tooltip=HIGH_PRIORITY d\u00E0 alla SELECT una
pi\u00F9 alta priorit\u00E0 rispetto allo statement che aggiorna la tabella.
Utilizzare quest''opzione per le query molto veloci e che vengono eseguite
assieme.
ActionMysqlBulkFile.IfFileExists.Label=Se il file esiste:
-ActionMysqlBulkFile.LimitLines.Label=Limita alle...prime linee
+ActionMysqlBulkFile.LimitLines.Label=Limita alle prime n linee
ActionMysqlBulkFile.LimitLines.Tooltip=Esporta nel file solo le prime ...
linee.
ActionMysqlBulkFile.LineTerminated.Label=Linee terminano con:
ActionMysqlBulkFile.ListColumn.Label=Nomi delle colonne:
ActionMysqlBulkFile.ListColumn.Tooltip=Lista i nomi delle colonne di
<tableName> che sono impostate nel tuo file di dati, separate da
virgole\r\ncolonna1, colonna2, ...
ActionMysqlBulkFile.Name=Bulk load da MySQL nel file
-ActionMysqlBulkFile.Name.Default=Bulk load da MySQL nel file
+ActionMysqlBulkFile.Name.Default=Esporta in modalit\u00E0 bulk load una
tabella MySQL in un file
ActionMysqlBulkFile.Name.Label=Nome action:
ActionMysqlBulkFile.NoDatabase.Label=Nessuna connessione a database \u00E8
definita.
-ActionMysqlBulkFile.NoFileName.Label=Nessun nome di file \u00E8 definito.
-ActionMysqlBulkFile.OptionEnclosed.Label=Optionally enclosed?
+ActionMysqlBulkFile.NoFileName.Label=Non \u00E8 stato definito nome di file.
+ActionMysqlBulkFile.OptionEnclosed.Label=Clausola Enclosed opzionale
ActionMysqlBulkFile.OptionEnclosed.Tooltip=Se viene selezionata
quest''opzione, viene utilizzato il carattere ENCLOSED BY solo per
\r\nracchiudere i valori dalle colonne che hanno un tipo di dati stringa (come
CHAR, BINARY, TEXT o ENUM) \r\naltrimenti tutti i campi sono racchiusi dal
carattere ENCLOSED BY.
ActionMysqlBulkFile.OutDumpValue.Label=Tipo:
ActionMysqlBulkFile.OutFileValue.Label=OUTFILE
ActionMysqlBulkFile.SchemaName.Label=Schema di origine:
ActionMysqlBulkFile.SchemaName.Tooltip=Specifica qua il nome dello schema di
origine
-ActionMysqlBulkFile.SelectColumns.Message=Seleziona le colonne da esportare
nel file\:
+ActionMysqlBulkFile.SelectColumns.Message=Selezionare le colonne da esportare
nel file\:
ActionMysqlBulkFile.SelectColumns.Title=Selezione colonna
ActionMysqlBulkFile.Separator.Label=Separatore di campo:
ActionMysqlBulkFile.TableExists1.Label=Tabella di origine [
ActionMysqlBulkFile.TableExists2.Label=] esiste.
ActionMysqlBulkFile.TableName.Label=Tabella di origine:
-ActionMysqlBulkFile.TableName.Tooltip=Specifica qua il nome della tabella di
origine
+ActionMysqlBulkFile.TableName.Tooltip=Specifica il nome della tabella di
origine
ActionMysqlBulkFile.TableNotExists1.Label=Tabella di origine [
ActionMysqlBulkFile.TableNotExists2.Label=] non esiste\!
-ActionMysqlBulkFile.Title=Bulk load da MySQL nel file
+ActionMysqlBulkFile.Title=Bulk load da tabella MySQL in un file