[ https://issues.apache.org/jira/browse/PHOENIX-1704?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14366545#comment-14366545 ]
Serhiy Bilousov commented on PHOENIX-1704: ------------------------------------------ I have a question (mostly for my education) regarding {code:title=YearFunction.java|borderStyle=solid} // Some comments here public boolean evaluate(Tuple tuple, ImmutableBytesWritable ptr) { Expression expression = getChildExpression(); if (!expression.evaluate(tuple, ptr)) { return false; } if ( ptr.getLength() == 0) { return true; //means null } long dateTime = expression.getDataType().getCodec().decodeLong(ptr, expression.getSortOrder()); DateTime dt = new DateTime(dateTime); int year = dt.getYear(); PDataType returnType = getDataType(); byte[] byteValue = new byte[returnType.getByteSize()]; returnType.getCodec().encodeInt(year, byteValue, 0); ptr.set(byteValue); return true; } {code} Long is 8 bytes but [UNSIGNED_TIMESTAMP Type|http://phoenix.apache.org/language/datatypes.html#unsigned_timestamp_type] is 12 bytes. Will it possibly can cause some issues with [UNSIGNED_TIMESTAMP Type|http://phoenix.apache.org/language/datatypes.html#unsigned_timestamp_type]? Do we actually need to test real [UNSIGNED_TIMESTAMP Type|http://phoenix.apache.org/language/datatypes.html#unsigned_timestamp_type] (with nanos) ? > Add year() built-in function > ---------------------------- > > Key: PHOENIX-1704 > URL: https://issues.apache.org/jira/browse/PHOENIX-1704 > Project: Phoenix > Issue Type: Bug > Reporter: Alicia Ying Shu > Assignee: Alicia Ying Shu > Fix For: 4.4 > > Attachments: Phoenix-1704-v1.patch, Phoenix-1704-v2.patch, > Phoenix-1704-v3.patch, Phoenix-1704-v4.patch, Phoenix-1704-v5.patch > > > Support Year() with date and timestamp. -- This message was sent by Atlassian JIRA (v6.3.4#6332)