You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "Pierre Lacave (JIRA)" <ji...@apache.org> on 2016/01/06 09:58:39 UTC

[jira] [Comment Edited] (PHOENIX-2364) timestamp type primary key desc error

    [ https://issues.apache.org/jira/browse/PHOENIX-2364?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15085234#comment-15085234 ] 

Pierre Lacave edited comment on PHOENIX-2364 at 1/6/16 8:57 AM:
----------------------------------------------------------------

You are correct that there is an issue in the test, it is timezone dependant
I suspect timestamp.toString() to return a timezone adjusted value

I would expect an information about the tz in the string date, not sure why this is missing.

{noformat}
java.sql.Timestamp timestamp = new java.sql.Timestamp(1451913111631L);

Dublin TZ (effectively UTC today)
timestamp.toString()) -> 2016-01-04 13:11:51.631
timestampResult.getTime() -> 1451913111631L

San Francisco TZ
timestamp.toString()) -> 2016-01-04 05:11:51.631
timestampResult.getTime() -> 1451884311631
{noformat}


was (Author: pierre.lacave):
You are correct that there is an issue in the test, it is timezone dependant
I suspect timestamp.toString() to return a timezone adjusted value

I would expect an information about the tz in the string date, not sure why this is missing.

{noformat}
java.sql.Timestamp timestamp = new java.sql.Timestamp(1451913111631L);

Dublin TZ
timestamp.toString()) -> 2016-01-04 13:11:51.631
timestampResult.getTime() -> 1451913111631L

San Francisco TZ
timestamp.toString()) -> 2016-01-04 05:11:51.631
timestampResult.getTime() -> 1451884311631
{noformat}

> timestamp type primary key desc error
> -------------------------------------
>
>                 Key: PHOENIX-2364
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-2364
>             Project: Phoenix
>          Issue Type: Bug
>    Affects Versions: 4.6.0
>            Reporter: soyoon park
>             Fix For: 4.7.0
>
>         Attachments: PHOENIX-2364.patch, PHOENIX-2364_1.patch
>
>
> I wanted to see that I don't have to use reverse scan(HBase) by using PHOENIX query(constraint pk primary key DESC).
> But it did not work.
> **TESTED PHOENIX query :
> CREATE TABLE TEST_DESC (
> TIME TIMESTAMP NOT NULL,
> NAME VARCHAR
> CONSTRAINT PK PRIMARY KEY (TIME DESC)
> );
> **sample data
> UPSERT INTO TEST_DESC (TIME,NAME) VALUES (TO_TIMESTAMP(current_date()|| ' ' || current_time()) ,'a');
> UPSERT INTO TEST_DESC (TIME,NAME) VALUES (TO_TIMESTAMP('2003-12-13 10:13:18',),'b');
> UPSERT INTO TEST_DESC (TIME,NAME) VALUES (CAST(current_date() AS TIMESTAMP) ,'c');
> SELECT * FROM TEST_DESC;
> **and then sqlline shows me error like below(sqlline)
> 0: jdbc:phoenix:data01> select * from TEST_DESC;
> +------------------------------------------+------------------------------------------+
> |                   TIME                   |                   NAME                   |
> +------------------------------------------+------------------------------------------+
> java.lang.IllegalArgumentException: offset (8) + length (4) exceed the capacity of the array: 4
>         at org.apache.hadoop.hbase.util.Bytes.explainWrongLengthOrOffset(Bytes.java:605)
>         at org.apache.hadoop.hbase.util.Bytes.toInt(Bytes.java:775)
>         at org.apache.hadoop.hbase.util.Bytes.toInt(Bytes.java:761)
>         at org.apache.phoenix.schema.types.PUnsignedInt$UnsignedIntCodec.decodeInt(PUnsignedInt.java:162)
>         at org.apache.phoenix.schema.types.PTimestamp.toObject(PTimestamp.java:108)
>         at org.apache.phoenix.schema.types.PTimestamp.toObject(PTimestamp.java:32)
>         at org.apache.phoenix.schema.types.PDataType.toObject(PDataType.java:984)
>         at org.apache.phoenix.compile.ExpressionProjector.getValue(ExpressionProjector.java:75)
>         at org.apache.phoenix.jdbc.PhoenixResultSet.getString(PhoenixResultSet.java:601)
>         at sqlline.Rows$Row.<init>(Rows.java:183)
>         at sqlline.IncrementalRows.hasNext(IncrementalRows.java:63)
>         at sqlline.TableOutputFormat.print(TableOutputFormat.java:33)
>         at sqlline.SqlLine.print(SqlLine.java:1653)
>         at sqlline.Commands.execute(Commands.java:833)
>         at sqlline.Commands.sql(Commands.java:732)
>         at sqlline.SqlLine.dispatch(SqlLine.java:808)
>         at sqlline.SqlLine.begin(SqlLine.java:681)
>         at sqlline.SqlLine.start(SqlLine.java:398)
>         at sqlline.SqlLine.main(SqlLine.java:292)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)