@Override public int getListLength(Object data) { if (data == null) { return -1; } PhoenixArray array = (PhoenixArray) data; return array.getDimensions(); }
@Override public List<?> getList(Object data) { if (data == null) { return null; } PhoenixArray array = (PhoenixArray) data; int valueLength = array.getDimensions(); List<Object> valueList = Lists.newArrayListWithExpectedSize(valueLength); for (int i = 0; i < valueLength; i++) { valueList.add(array.getElement(i)); } return valueList; }
@Override public String toString() { StringBuilder sb = new StringBuilder(TO_STRING_BEGIN); boolean isFirst = true; for (int i = 0; i < getDimensions(); i++) { Object o = getElement(i); if (isFirst) { isFirst = false; } else { sb.append(TO_STRING_SEPARATOR); } sb.append(this.baseType.toStringLiteral(o)); } sb.append(TO_STRING_END); return sb.toString(); }
@Override public String toStringLiteral(Object o, Format formatter) { StringBuilder buf = new StringBuilder(PArrayDataType.ARRAY_TYPE_SUFFIX + "["); PhoenixArray array = (PhoenixArray)o; PDataType baseType = PDataType.arrayBaseType(this); int len = array.getDimensions(); if (len != 0) { for (int i = 0; i < len; i++) { buf.append(baseType.toStringLiteral(array.getElement(i), null)); buf.append(','); } buf.setLength(buf.length() - 1); } buf.append(']'); return buf.toString(); } }
@Override public Expression visitLeave(ExistsParseNode node, List<Expression> l) throws SQLException { LiteralExpression child = (LiteralExpression) l.get(0); PhoenixArray array = (PhoenixArray) child.getValue(); return LiteralExpression.newConstant(array.getDimensions() > 0 ^ node.isNegate(), PBoolean.INSTANCE); }
public static boolean arrayToString(ImmutableBytesWritable ptr, PhoenixArray array, String delimiter, String nullString, SortOrder sortOrder) { StringBuilder result = new StringBuilder(); boolean delimiterPending = false; for (int i = 0; i < array.getDimensions() - 1; i++) { Object element = array.getElement(i); if (element == null) { if (nullString != null) { result.append(nullString); } } else { result.append(element.toString()); delimiterPending = true; } if (nullString != null || (array.getElement(i + 1) != null && delimiterPending)) { result.append(delimiter); delimiterPending = false; } } Object element = array.getElement(array.getDimensions() - 1); if (element == null) { if (nullString != null) { result.append(nullString); } } else { result.append(element.toString()); } ptr.set(PVarchar.INSTANCE.toBytes(result.toString(), sortOrder)); return true; }
Tuple t = TUPLE_FACTORY.newTuple(array.getDimensions());; for(int j = 0 ; j < array.getDimensions() ; j++) { t.set(j,array.getElement(j));
@SuppressWarnings("unchecked") public static <T> List<T> toModifiableList(Array value, int from, int to) { PhoenixArray phoenixArray = (PhoenixArray) value; to = to > 0 ? to : phoenixArray.getDimensions(); ArrayList<T> list = new ArrayList<>(to - from); for (int i = from; i < to; i++) { T t = (T) phoenixArray.getElement(i); list.add(t); } return list; }
@Override public String toString() { StringBuilder sb = new StringBuilder(TO_STRING_BEGIN); boolean isFirst = true; for (int i = 0; i < getDimensions(); i++) { Object o = getElement(i); if (isFirst) { isFirst = false; } else { sb.append(TO_STRING_SEPARATOR); } sb.append(this.baseType.toStringLiteral(o)); } sb.append(TO_STRING_END); return sb.toString(); }
@Override public String toString() { StringBuilder sb = new StringBuilder(TO_STRING_BEGIN); boolean isFirst = true; for (int i = 0; i < getDimensions(); i++) { Object o = getElement(i); if (isFirst) { isFirst = false; } else { sb.append(TO_STRING_SEPARATOR); } sb.append(this.baseType.toStringLiteral(o)); } sb.append(TO_STRING_END); return sb.toString(); }
@Override public String toStringLiteral(Object o, Format formatter) { StringBuilder buf = new StringBuilder(PArrayDataType.ARRAY_TYPE_SUFFIX + "["); PhoenixArray array = (PhoenixArray)o; PDataType baseType = PDataType.arrayBaseType(this); int len = array.getDimensions(); if (len != 0) { for (int i = 0; i < len; i++) { buf.append(baseType.toStringLiteral(array.getElement(i), null)); buf.append(','); } buf.setLength(buf.length() - 1); } buf.append(']'); return buf.toString(); } }
@Override public String toStringLiteral(Object o, Format formatter) { StringBuilder buf = new StringBuilder(PArrayDataType.ARRAY_TYPE_SUFFIX + "["); PhoenixArray array = (PhoenixArray)o; PDataType baseType = PDataType.arrayBaseType(this); int len = array.getDimensions(); if (len != 0) { for (int i = 0; i < len; i++) { buf.append(baseType.toStringLiteral(array.getElement(i), null)); buf.append(','); } buf.setLength(buf.length() - 1); } buf.append(']'); return buf.toString(); } }
@Override public Expression visitLeave(ExistsParseNode node, List<Expression> l) throws SQLException { LiteralExpression child = (LiteralExpression) l.get(0); PhoenixArray array = (PhoenixArray) child.getValue(); return LiteralExpression.newConstant(array.getDimensions() > 0 ^ node.isNegate(), PBoolean.INSTANCE); }
@Override public Expression visitLeave(ExistsParseNode node, List<Expression> l) throws SQLException { LiteralExpression child = (LiteralExpression) l.get(0); PhoenixArray array = (PhoenixArray) child.getValue(); return LiteralExpression.newConstant(array.getDimensions() > 0 ^ node.isNegate(), PBoolean.INSTANCE); }
public static boolean arrayToString(ImmutableBytesWritable ptr, PhoenixArray array, String delimiter, String nullString, SortOrder sortOrder) { StringBuilder result = new StringBuilder(); boolean delimiterPending = false; for (int i = 0; i < array.getDimensions() - 1; i++) { Object element = array.getElement(i); if (element == null) { if (nullString != null) { result.append(nullString); } } else { result.append(element.toString()); delimiterPending = true; } if (nullString != null || (array.getElement(i + 1) != null && delimiterPending)) { result.append(delimiter); delimiterPending = false; } } Object element = array.getElement(array.getDimensions() - 1); if (element == null) { if (nullString != null) { result.append(nullString); } } else { result.append(element.toString()); } ptr.set(PVarchar.INSTANCE.toBytes(result.toString(), sortOrder)); return true; }
public static boolean arrayToString(ImmutableBytesWritable ptr, PhoenixArray array, String delimiter, String nullString, SortOrder sortOrder) { StringBuilder result = new StringBuilder(); boolean delimiterPending = false; for (int i = 0; i < array.getDimensions() - 1; i++) { Object element = array.getElement(i); if (element == null) { if (nullString != null) { result.append(nullString); } } else { result.append(element.toString()); delimiterPending = true; } if (nullString != null || (array.getElement(i + 1) != null && delimiterPending)) { result.append(delimiter); delimiterPending = false; } } Object element = array.getElement(array.getDimensions() - 1); if (element == null) { if (nullString != null) { result.append(nullString); } } else { result.append(element.toString()); } ptr.set(PVarchar.INSTANCE.toBytes(result.toString(), sortOrder)); return true; }
HashMap<String, String> attributes = new HashMap<>(fileColumn.getDimensions() - 1); String qual = (String) (fileColumn.getElement(FILE_QUAL_IDX)); if (qual != null) { int i = FILE_INFO_START_IDX; for (String attribute : fixedAttributes) { if (i >= fileColumn.getDimensions()) { break;
Tuple t = TUPLE_FACTORY.newTuple(array.getDimensions());; for(int j = 0 ; j < array.getDimensions() ; j++) { t.set(j,array.getElement(j));