Details
-
Bug
-
Status: Resolved
-
Low
-
Resolution: Fixed
-
Apache Cassandra 3.7 (provisioned by instaclustr.com, running on AWS)
-
Low
Description
Contrary to what is written down on http://cassandra.apache.org/doc/latest/cql/json.html#json-encoding-of-cassandra-data-types, numbers are not an accepted format for tinyints and smallints.
Steps to reproduce on CQLSH:
> create table default.test(id text PRIMARY KEY, small smallint, tiny tinyint);
> INSERT INTO default.test JSON '
{"id":"123","small":11}';
InvalidRequest: Error from server: code=2200 [Invalid query] message="Error decoding JSON value for small: Expected a short value, but got a Integer: 11"
> INSERT INTO default.test JSON '
{"id":"123","tiny":11}';
InvalidRequest: Error from server: code=2200 [Invalid query] message="Error decoding JSON value for tiny: Expected a byte value, but got a Integer: 11"
The good news is that when you wrap the numeric values into strings - it works like a charm.