Re: Cassandra project biweekly status update 2022-06-14

2022-06-16 Thread Mick Semb Wever
We've agreed in the past that we want to maintain compatibility and that > all changes will be done with compatibility in mind (see > https://cwiki.apache.org/confluence/display/CASSANDRA/Release+Lifecycle), > but we haven't clarified how we make the call on when to bump to next > major. > +1 to

Re: Cassandra project biweekly status update 2022-06-14

2022-06-16 Thread David Capwell
This has come up in CASSANDRA-16844, so wanted to bring to a wider audience. As of this moment, 3 breaking changes have been detected in 4.1 (1 of them was merged into 4.0 as well), and how to resolve this has been talked about a lot, so felt its best to have this conversation here. We've agre

Re: CEP-15 multi key transaction syntax

2022-06-16 Thread Blake Eggleston
I think in any scenario where the same cell is updated multiple times, the last one would win. The final result for s3 in your example would be 2 > On Jun 16, 2022, at 10:31 AM, Jon Meredith wrote: > > The reason I brought up static columns was for cases where multiple > statements update them

Re: CEP-15 multi key transaction syntax

2022-06-16 Thread Jon Meredith
The reason I brought up static columns was for cases where multiple statements update them and there could be ambiguity. CREATE TABLE tbl { pk1 int, ck2 int, s3 static int, r4 static int, PRIMARY KEY (pk1, ck2) } BEGIN TRANSACTION UPDATE tbl SET s3=1, r4=1 WHERE pk1=1 AND ck2=1; UPDATE

Re: CEP-15 multi key transaction syntax

2022-06-16 Thread Benedict Elliott Smith
I like Postgres' approach of letting you declare an exceptional condition and failing if there is not precisely one result (though I would prefer to differentiate between 0 row->Null and 2 rows->first row), but once you permit coercing to NULL I think you have to then treat it like NULL and perm

Re: CEP-15 multi key transaction syntax

2022-06-16 Thread Blake Eggleston
Yeah I'd say NULL is fine for condition evaluation. Reference assignment is a little trickier. Assigning null to a column seems ok, but we should raise an exception if they're doing math or something that expects a non-null value > On Jun 16, 2022, at 8:46 AM, Benedict Elliott Smith > wrote: >

Re: CEP-15 multi key transaction syntax

2022-06-16 Thread Benedict Elliott Smith
AFAICT that standard addresses server-side cursors, not the assignment of a query result to a variable. Could you point to where it addresses variable assignment? Postgres has a similar concept, SELECT INTO[1], and it explicitly returns NULL if there are no result rows, unless STRICT is specifi

Re: CEP-15 multi key transaction syntax

2022-06-16 Thread Blake Eggleston
I see what you mean. We have the EXISTS/NOT EXISTS condition for explicitly checking for the existence of a row. One thing the old syntax did is how it handled references to columns that don't exist. Previously, if any column reference didn't resolve, the update wouldn't apply. With the new synt

Re: CEP-15 multi key transaction syntax

2022-06-16 Thread Konstantin Osipov
* bened...@apache.org [22/06/16 00:00]: > First some history: static rows are an efficiency sop to those > who migrated from the historical wide row world, where you could > have “global” partition state fetched with every query, and to > support the deprecation of thrift and its horrible data mod

Re: CEP-15 multi key transaction syntax

2022-06-16 Thread Konstantin Osipov
* bened...@apache.org [22/06/13 17:37]: > I believe that is a MySQL specific concept. This is one problem with > mimicking SQL – it’s not one thing! > > In T-SQL, a Boolean expression is TRUE, FALSE or UNKNOWN[1], and a NULL value > submitted to a Boolean operator yields UNKNOWN. > > IF (X) TH