You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Tyler Hobbs (JIRA)" <ji...@apache.org> on 2016/08/03 16:59:20 UTC
[jira] [Updated] (CASSANDRA-12371) INSERT JSON - numbers not
accepted for smallint and tinyint
[ https://issues.apache.org/jira/browse/CASSANDRA-12371?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Tyler Hobbs updated CASSANDRA-12371:
------------------------------------
Since Version: 2.2.0 beta 1 (was: 3.7)
Labels: lhf (was: )
Priority: Minor (was: Major)
Fix Version/s: 3.x
3.0.x
2.2.x
It looks like when these types were added, there were no updates to {{JsonTest.java}} to cover them. As the error message indicates, we're explicitly checking {{instanceof Byte}} and {{instanceof Short}}, which is probably not the correct thing to do, although it may be possible to get jackson to return these types instead of an Integer.
> INSERT JSON - numbers not accepted for smallint and tinyint
> -----------------------------------------------------------
>
> Key: CASSANDRA-12371
> URL: https://issues.apache.org/jira/browse/CASSANDRA-12371
> Project: Cassandra
> Issue Type: Bug
> Components: CQL
> Environment: Apache Cassandra 3.7 (provisioned by instaclustr.com, running on AWS)
> Reporter: Paweł Rychlik
> Priority: Minor
> Labels: lhf
> Fix For: 2.2.x, 3.0.x, 3.x
>
>
> 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.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)