Fail BoundStatement if null values are not set explicitly

Description

Currently there is no distinction between null and unset values for BoundStatements: any value that was not set explicitly is considered null.

CASSANDRA-7304 will add support for "unset" values at the protocol level. This can lead to subtle bugs for driver users: if they were relying on the previous behavior ("don't call setter if I want to set my value to null"), the semantics of their queries will now be changed.

Therefore we should force users to be explicit to avoid future ambiguity: if a setter was not called for a bound value, raise an exception when the statement is executed. This check will be removed when the new behavior is introduced.

Environment

None

Pull Requests

None
Fixed

Assignee

Olivier Michallat

Reporter

Olivier Michallat

Labels

None

PM Priority

None

Affects versions

Fix versions

Pull Request

None

Doc Impact

None

Size

None

External issue ID

None

External issue ID

None

Time remaining

0m

Components

Priority

Major
Configure