Hi
I tried both with no success
a) it works as normal, I get the keys back if I only run the 2nd select
b) I set the Header before first statement and before second statement but
no change.
-----Original Message-----
From: Claus Ibsen <claus.ib...@gmail.com>
Sent: Thursday, March 24, 2022 3:51 AM
To: users@camel.apache.org
Subject: Re: CamelSqlGeneratedKeyRows is not updated
Hi
a)
Can you try with just 1 sql insert,
.to("sql:INSERT INTO message_out(identifier) VALUES (1)")
It may be that this SQL does not return any generated keys
b)
Can you try to set the header to get keys before calling the 2nd insert
.setHeader("CamelSqlRetrieveGeneratedKeys").simple("true")
On Wed, Mar 23, 2022 at 9:59 AM Reto Peter <reto.pe...@advanceit.ch>
wrote:
Hi
I have a route with 2 following SQL INSERT commands.
One inserts into table A (CamelSqlGeneratedKeyRows is correct) Next
inserts into table B (CamelSqlGeneratedKeyRows is wrong, the value is
not updated, it remains the same)
I am using mySQL and Java 11
My simplified route:
from("file:{{dir.from.flowline.test}}?preMove=.inprogress&move=.done&delay=1000")
.tracing()
.log("Processing file: ${file:name}")
.convertBodyTo(String.class)
.setHeader("CamelSqlRetrieveGeneratedKeys").simple("true")
.to("sql:INSERT INTO files_from_partner(filename,
filecontent, partner_id) VALUES (:#${file:name},:#${body}, 1)")
.log("${headers.CamelSqlGeneratedKeyRows}")
.to("sql:INSERT INTO message_out(identifier) VALUES
(1)")
.log("${headers.CamelSqlGeneratedKeyRows}");
Output when I process 1 files is:
Processing file: GDELR_1848540_BL-V2100029_55234 use it 4 TESTS II.xml
[{GENERATED_KEY=58}] correct [{GENERATED_KEY=58}] wrong
Do I do something wrong, is it a bug?
I also tried to set the Header CamelSqlGeneratedColumns as follows:
@Component
class SetFilesFromPartnerKeyColumnsBean {
public void setKeys(String message, @Headers Map<String, Object>
outHeaders) {
outHeaders.put("CamelSqlGeneratedColumns", new String[]
{"files_id"});
}
} And before executing the SQL INSERT in the route:
.bean(setFilesFromPartnerKeyColumnsBean)
But there was no effect, same results
MY workaround is with the "SELECT LAST_INSERT_ID()" which works but of
course not the way we should ...
Regards Reto
--
Claus Ibsen
-----------------
http://davsclaus.com @davsclaus
Camel in Action 2: https://www.manning.com/ibsen2