Steven Jacobs created ASTERIXDB-2391:
----------------------------------------
Summary: IntroduceDynamicTypeCastRule doesn't propagate through
insert
Key: ASTERIXDB-2391
URL: https://issues.apache.org/jira/browse/ASTERIXDB-2391
Project: Apache AsterixDB
Issue Type: Improvement
Reporter: Steven Jacobs
This makes it so returning clauses refer to non-existent variables. Can be
reproduced buy the following:
drop dataverse channels if exists;
create dataverse channels;
use channels;
create type sub as {
subscriptionId: uuid
};
create dataset subscriptions(sub) primary key subscriptionId;
upsert into subscriptions as record(
(let v = (select value s from subscriptions s where param0 = "HenryGale")
select value (CASE (array_count(v) > 0)
WHEN true THEN \{"subscriptionId":v[0].subscriptionId, "param0":
v[0].param0,"brokerSubscriptions":v[0].brokerSubscriptions}
ELSE \{"subscriptionId":create_uuid(), "param0": "HenryGale",
"brokerSubscriptions":[{"brokerSubscriptionId":create_uuid(),
"brokerDataverse":"dataverse1","brokerName":"broker1"}]}
END))
) returning record.brokerSubscriptions;
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)