We have a special translator that produces a row every 30 seconds, we use it to introduce some delay in the continuous execution. Now, when we are joining it with the WS translator, the data is never returning. We are connecting to a REST service. Running it with the Squirrel client also has the same effect. The same scenario we tried reproducing with a test case using the Embedded Server but that does not reproduce the problem. We are trying to understand what could be the differences between the Embedded Server and the Non Embedded Server. Here is how the query looks like-
SELECT WRAP.* FROM (SELECT * FROM chorus_time.timetable WHERE period = 10000) AS chorus_refresh_expression CROSS JOIN (SELECT CHORUS_B.* FROM (call bdm_rest.invokeHttp(action => 'GET', endpoint => (select RestURL FROM bdm.get_config where TenantId = 1))) AS CHORUS_B) AS WRAP
The model is defined like this-
<view name="get_config" materialized="false">
<column name="RestURL" type="varchar" />
<column name="TenantId" type="varchar" />
<column name="Name" type="varchar" />
<column name="Host" type="varchar" />
<column name="Port" type="varchar" />
<primary-key column="TenantId" />
SELECT 'http://' || Host As RestURL, TenantId, Name, Host, Port
(call bdm_file.getTextFiles('bdm-rest-config.txt')) AS f,
HEADER 1) AS config
Replacing the query for the endpoint with a constant works fine. I have attached the query plans for both embedded and non embedded cases along with a test case, the test does not recreate the problem, however it the idea what we are trying to do.
Thanks for the help in advance.