Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hi.
I use DB2 i series as source.
In replicate, In full load when executed "select * from table". is it possible to configure the select statement whit a hint like:
SELECT * FROM table WITH UR;
or
SET CURRENT ISOLATION UR;
SELECT * FROM table;
Beacuse this is how the database waits to receive queries like select.
thanks.
Hi @lguevara
We do not have a way to pass a hint in the select statement from the source tables. There is functionality to set a where clause when loading tables in parallel, or applying a filter, but that is all.
If you are viewing this as more of a product defect, please open a support case so we can elevate it to our internal support teams.
If you are viewing this as more of a feature request, please submit it here: https://community.qlik.com/t5/Ideas/idb-p/qlik-ideas
This will go to our Product Management team. Other users will have the opportunity to vote on it to increase the chances at adoption and to set the priority.
Thanks,
Dana
Hello @lguevara ,
By default, Qlik Replicate uses the following SQL statement to retrieve rows from a DB2 for i (DB400) table.
| SELECT "ID","NAME" FROM "JOHNWKIT"."KIT" FOR READ ONLY USE CURRENTLY COMMITTED; |
However, if you want to override and control the SQL used for retrieval, you can use the Full Load Passthru Filter feature. To access it, press the Right Ctrl key on your keyboard while opening the table settings.
For example, enter the following filter:
| 1=1 ) FOR READ ONLY WITH UR USE CURRENTLY COMMITTED -- |
⚠️ Important: Don’t forget to include the trailing -- (double dash comment).
Qlik Replicate will then generate a SQL query like this:
| SELECT "ID","NAME" FROM "JOHNWKIT"."KIT" WHERE (1=1 ) FOR READ ONLY WITH UR USE CURRENTLY COMMITTED --) FOR READ ONLY USE CURRENTLY COMMITTED |
Note: The portion --) FOR READ ONLY USE CURRENTLY COMMITTED is ignored by the DB2 query engine because it is commented out using --.
Hope this helps.
John.