Compare commits

...

3 Commits

Author SHA1 Message Date
ozhelezniak
b065651818 fix(TPS-4435): update timestamp 2020-10-22 12:49:54 +03:00
ozhelezniak
4718fe3a2e fix(TPS-4435): update note 2020-10-22 12:44:43 +03:00
ozhelezniak
f095a96f74 fix(TPS-4435): reuse custom query expression
* make query expression idempotent in the generated code
* use instead of duplication of custom query expression a variable
* add patch release note
2020-10-21 10:06:18 +03:00
6 changed files with 86 additions and 9 deletions

69
PATCH_RELEASE_NOTE.md Normal file
View File

@@ -0,0 +1,69 @@
---
version: 7.1.1
module: https://talend.poolparty.biz/coretaxonomy/42
product:
- https://talend.poolparty.biz/coretaxonomy/23
---
# TPS-4435
| Info | Value |
| ---------------- | ---------------- |
| Patch Name | Patch\_20201022\_TPS-4435\_v1-7.1.1 |
| Release Date | 2020-10-22 |
| Target Version | 20181026\_1147-7.1.1 |
| Product affected | Talend Studio |
## Introduction
This is a self-contained patch.
**NOTE**: For information on how to obtain this patch, reach out to your Support contact at Talend.
## Fixed issues
This patch contains the following fixes:
- TPS-4435 [7.1.1] Logger doesnt take the full query as single string in toraclerow component (TDI-44935)
## Prerequisites <!-- mandatory -->
Consider the following requirements for your system:
- Talend Studio 7.1.1 must be installed.
## Installation
### Installing the patch using Software update <!-- if applicable -->
1) Logon TAC and switch to Configuration->Software Update, then enter the correct values and save referring to the documentation: https://help.talend.com/reader/f7Em9WV\_cPm2RRywucSN0Q/j9x5iXV~vyxMlUafnDejaQ
2) Switch to Software update page, where the new patch will be listed. The patch can be downloaded from here into the nexus repository.
3) On Studio Side: Logon Studio with remote mode, on the logon page the Update button is displayed: click this button to install the patch.
### Installing the patch using Talend Studio <!-- if applicable -->
1) Create a folder named "patches" under your studio installer directory and copy the patch .zip file to this folder.
2) Restart your studio: a window pops up, then click OK to install the patch, or restart the commandline and the patch will be installed automatically.
### Installing the patch using Commandline <!-- if applicable -->
Execute the following commands:
1. Talend-Studio-win-x86\_64.exe -nosplash -application org.talend.commandline.CommandLine -consoleLog -data commandline-workspace startServer -p 8002 --talendDebug
2. initRemote {tac\_url} -ul {TAC login username} -up {TAC login password}
3. checkAndUpdate -tu {TAC login username} -tup {TAC login password}
## Affected files for this patch <!-- if applicable -->
The following files are installed by this patch:
- plugins/org.talend.designer.components.localprovider\_7.1.1.20181026\_1147/components/tOracleRow/tOracleRow\_main.javajet
- plugins/org.talend.designer.components.localprovider\_7.1.1.20181026\_1147/components/templates/Log4j/Log4jDBConnUtil.javajet
- plugins/org.talend.designer.components.localprovider\_7.1.1.20181026\_1147/components/tAmazonOracleRow/tAmazonOracleRow\_main.javajet
- plugins/org.talend.designer.components.localprovider\_7.1.1.20181026\_1147/components/templates/DB/Input/AbstractDBInputBegin.javajet
- plugins/org.talend.designer.components.localprovider\_7.1.1.20181026\_1147/components/templates/DB/Row/AbstractDBRowMain.javajet

View File

@@ -54,11 +54,11 @@ for(IConnection conn : outgoingConns) {
<%
}
}
log4jCodeGenerateUtil.query(node);
%>
query_<%=cid %> = <%=dbquery%>;
whetherReject_<%=cid%> = false;
<%
log4jCodeGenerateUtil.query(node, "query_" + cid);
List<IMetadataTable> metadatas = node.getMetadataList();
if ((metadatas!=null)&&(metadatas.size()>0)) {
IMetadataTable metadata = metadatas.get(0);
@@ -131,7 +131,7 @@ try {
<%
}
}
log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Execute the query: '\" + "+dbquery +" + \"' has finished.");
log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Execute the query: '\" + query_" + cid + " + \"' has finished.");
%>
<% //feature 0010425
if(usePrepareStatement){

View File

@@ -54,11 +54,11 @@ for(IConnection conn : outgoingConns) {
<%
}
}
log4jCodeGenerateUtil.query(node);
%>
query_<%=cid %> = <%=dbquery%>;
whetherReject_<%=cid%> = false;
<%
log4jCodeGenerateUtil.query(node, "query_" + cid);
List<IMetadataTable> metadatas = node.getMetadataList();
if ((metadatas!=null)&&(metadatas.size()>0)) {
IMetadataTable metadata = metadatas.get(0);
@@ -131,7 +131,7 @@ try {
<%
}
}
log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Execute the query: '\" + "+dbquery +" + \"' has finished.");
log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Execute the query: '\" + query_" + cid + " + \"' has finished.");
%>
<% //feature 0010425
if(usePrepareStatement){

View File

@@ -93,9 +93,7 @@ imports="
<%dbInputBeginUtil.createStatement(node);%>
String dbquery_<%=cid%> = <%=dbInputBeginUtil.getQueryString(node)%>;
<%if(isLog4jEnabled){%>
log.debug("<%=cid%> - Executing the query: '"+dbquery_<%=cid%>+"'.");
<%}%>
<% log4jCodeGenerateUtil.query(node, "dbquery_" + cid); %>
<%
if(isAmazonAurora){

View File

@@ -55,11 +55,11 @@ for(IConnection conn : outgoingConns) {
<%
}
}
log4jCodeGenerateUtil.query(node);
%>
query_<%=cid %> = <%=dbquery%>;
whetherReject_<%=cid%> = false;
<%
log4jCodeGenerateUtil.query(node, "query_" + cid);
List<IMetadataTable> metadatas = node.getMetadataList();
if ((metadatas!=null)&&(metadatas.size()>0)) {
IMetadataTable metadata = metadatas.get(0);
@@ -128,7 +128,7 @@ try {
<%
}
}
log4jCodeGenerateUtil.logInfo(node,"debug",cid+" - Execute the query: '\" + "+dbquery +" + \"' has finished.");
log4jCodeGenerateUtil.logInfo(node,"debug",cid+" - Execute the query: '\" + query_" + cid + " + \"' has finished.");
%>
<%
if(usePrepareStatement){

View File

@@ -184,6 +184,16 @@ imports="
<%
}
public void query(INode node, String dbQueryVariableName){
beforeComponentProcess(node);
//for input
logInfo(node,"debug",cid+" - Executing the query: '\" + "+dbQueryVariableName +" + \"'.");
}
/**
* @deprecated please use another method instead: query(INode node, String dbQueryVariableName) because execution of the query expression can be not idempotent
*/
@Deprecated
public void query(INode node){
beforeComponentProcess(node);
//for input