As one of my needs for the bad project, I have extended the language
slightly for the insert statement. Here I am describing the change that I
have made to see if there are any concerns or changes to be made. At this
point it is only the insert that is changed (upsert didn't exist when I
made this change originally). I think it would be easy to add it to upsert
as well if desired.
I Added "return records" and "returning [fieldName]"
"return records" returns to the user all records that were inserted
"returning [fieldName]" returns only the valuse inserted for a single
[fieldName]
examples:
*query:*
create type TweetMessageTypeuuid as closed {
tweetid: uuid,
message-text: string
}
create dataset TweetMessageuuids(TweetMessageTypeuuid)
primary key tweetid autogenerated;
insert into dataset TweetMessageuuids(
[{ "message-text":"hello"}]
) return records;
*top of the plan (only the part after the commit becomes changed):*
distribute result [%0->$$6]
-- DISTRIBUTE_RESULT |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
project ([$$6])
-- STREAM_PROJECT |PARTITIONED|
commit
-- COMMIT |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
insert into test:TweetMessageuuids from record: %0->$$6
partitioned by [%0->$$4]
-- INSERT_DELETE |PARTITIONED|
*result:*
{ "tweetid": uuid("b2c8b24c-2b35-affd-ebcf-6a40f302c780"),
"message-text": "hello" }
query:
create type TweetMessageTypeuuid as closed {
tweetid: uuid,
message-text: string
}
create dataset TweetMessageuuids(TweetMessageTypeuuid)
primary key tweetid autogenerated;
insert into dataset TweetMessageuuids(
[{ "message-text":"hello"}]
) returning tweetid;
top of the plan (only the part after the commit becomes changed):
distribute result [%0->$$4]
-- DISTRIBUTE_RESULT |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
commit
-- COMMIT |PARTITIONED|
project ([$$4])
-- STREAM_PROJECT |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
insert into test:TweetMessageuuids from record: %0->$$7
partitioned by [%0->$$4]
-- INSERT_DELETE |PARTITIONED|
result:
uuid("b2c8b24c-b535-affd-ed4f-0dc961d27b6a")