phoenix-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From James Taylor <jamestay...@apache.org>
Subject Re: Sequences and return values
Date Mon, 31 Mar 2014 09:12:00 GMT
This is a bit tricky, since your atomic sequence may be being changed by
other clients as well. You have a couple of options:
1) Do a SELECT NEXT VALUE FOR my_sequence first. You could pretty much
issue this against any known table with a LIMIT of 1 and get your sequence
value back.
2) Do an UPSERT INTO foo SELECT NEXT VALUE FOR my_sequence FROM bar to
populate another table with your sequence values. If you can identify the
new rows you've upserted, you can get your sequence values back. If you
need to, you could create a temporary sequence right before this, purely
for assigning an position_number column value for ordering and query them
back from the table you upserted into. We're doing something along these
lines to implement a "query-more" across any query capability.

Thanks,
James


On Sun, Mar 30, 2014 at 6:00 PM, Dan Di Spaltro <dan.dispaltro@gmail.com>wrote:

> This may be my misunderstanding of how JDBC works and what the contract
> is, but is there a way to return the sequence value after issuing an
> upsert? Seems like that would be a common operation but I may be missing
> something because I can't figure out how...
>
> Thanks!
>
> -Dan
>
> --
> Dan Di Spaltro
>

Mime
View raw message