[ https://issues.apache.org/jira/browse/PHOENIX-1478?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
James Taylor updated PHOENIX-1478: ---------------------------------- Fix Version/s: 4.8.0 > Can't upsert value of 127 into column of type unsigned tinyint > -------------------------------------------------------------- > > Key: PHOENIX-1478 > URL: https://issues.apache.org/jira/browse/PHOENIX-1478 > Project: Phoenix > Issue Type: Bug > Affects Versions: 4.2.0 > Reporter: Carter Shanklin > Priority: Minor > Fix For: 4.8.0 > > > The docs say values from 0 to 127 are valid. From sqlline I can upsert a > value of 126 but not 127. See below. > {code} > $ cat UnsignedTinyintFail.sql > drop table if exists unsigned_tinyint_test; > create table unsigned_tinyint_test (uti unsigned_tinyint primary key); > upsert into unsigned_tinyint_test values (126); > upsert into unsigned_tinyint_test values (127); > {code} > Results in: > {code} > Setting property: [isolation, TRANSACTION_READ_COMMITTED] > Setting property: [run, UnsignedTinyintFail.sql] > issuing: !connect jdbc:phoenix:localhost:2181:/hbase-unsecure none none > org.apache.phoenix.jdbc.PhoenixDriver > Connecting to jdbc:phoenix:localhost:2181:/hbase-unsecure > 14/11/15 08:19:57 WARN impl.MetricsConfig: Cannot locate configuration: tried > hadoop-metrics2-phoenix.properties,hadoop-metrics2.properties > Connected to: Phoenix (version 4.2) > Driver: PhoenixEmbeddedDriver (version 4.2) > Autocommit status: true > Transaction isolation: TRANSACTION_READ_COMMITTED > Building list of tables and columns for tab-completion (set fastconnect to > true to skip)... > 76/76 (100%) Done > Done > 1/4 drop table if exists unsigned_tinyint_test; > No rows affected (0.015 seconds) > 2/4 create table unsigned_tinyint_test (uti unsigned_tinyint primary > key); > No rows affected (0.317 seconds) > 3/4 upsert into unsigned_tinyint_test values (126); > 1 row affected (0.032 seconds) > 4/4 upsert into unsigned_tinyint_test values (127); > Error: ERROR 203 (22005): Type mismatch. UNSIGNED_TINYINT and INTEGER for 127 > (state=22005,code=203) > org.apache.phoenix.schema.TypeMismatchException: ERROR 203 (22005): Type > mismatch. UNSIGNED_TINYINT and INTEGER for 127 > at > org.apache.phoenix.schema.TypeMismatchException.newException(TypeMismatchException.java:52) > at > org.apache.phoenix.expression.LiteralExpression.newConstant(LiteralExpression.java:160) > at > org.apache.phoenix.expression.LiteralExpression.newConstant(LiteralExpression.java:136) > at > org.apache.phoenix.compile.UpsertCompiler$UpsertValuesCompiler.visit(UpsertCompiler.java:854) > at > org.apache.phoenix.compile.UpsertCompiler$UpsertValuesCompiler.visit(UpsertCompiler.java:830) > at > org.apache.phoenix.parse.LiteralParseNode.accept(LiteralParseNode.java:73) > at > org.apache.phoenix.compile.UpsertCompiler.compile(UpsertCompiler.java:721) > at > org.apache.phoenix.jdbc.PhoenixStatement$ExecutableUpsertStatement.compilePlan(PhoenixStatement.java:467) > at > org.apache.phoenix.jdbc.PhoenixStatement$ExecutableUpsertStatement.compilePlan(PhoenixStatement.java:458) > at > org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:259) > at > org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:252) > at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53) > at > org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:250) > at > org.apache.phoenix.jdbc.PhoenixStatement.execute(PhoenixStatement.java:1037) > at sqlline.SqlLine$Commands.execute(SqlLine.java:3673) > at sqlline.SqlLine$Commands.sql(SqlLine.java:3584) > at sqlline.SqlLine.dispatch(SqlLine.java:821) > at sqlline.SqlLine.runCommands(SqlLine.java:1793) > at sqlline.SqlLine$Commands.run(SqlLine.java:4161) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:606) > at sqlline.SqlLine$ReflectiveCommandHandler.execute(SqlLine.java:2810) > at sqlline.SqlLine.dispatch(SqlLine.java:817) > at sqlline.SqlLine.initArgs(SqlLine.java:657) > at sqlline.SqlLine.begin(SqlLine.java:680) > at sqlline.SqlLine.mainWithInputRedirection(SqlLine.java:441) > at sqlline.SqlLine.main(SqlLine.java:424) > Aborting command set because "force" is false and command failed: "upsert > into unsigned_tinyint_test values (127);" > Closing: org.apache.phoenix.jdbc.PhoenixConnection > sqlline version 1.1.2 > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)