@Override public int hashCode() { return InMemUtils.hashCursor(getCursor()); }
protected Map<String, String> getDatasetHints(ARecord datasetRecord) { Map<String, String> hints = new HashMap<>(); String key; String value; AUnorderedList list = (AUnorderedList) datasetRecord.getValueByPos(MetadataRecordTypes.DATASET_ARECORD_HINTS_FIELD_INDEX); IACursor cursor = list.getCursor(); while (cursor.next()) { ARecord field = (ARecord) cursor.get(); key = ((AString) field.getValueByPos(MetadataRecordTypes.PROPERTIES_NAME_FIELD_INDEX)).getStringValue(); value = ((AString) field.getValueByPos(MetadataRecordTypes.PROPERTIES_VALUE_FIELD_INDEX)).getStringValue(); hints.put(key, value); } return hints; }
@Override public NodeGroup getMetadataEntityFromTuple(ITupleReference frameTuple) throws HyracksDataException { byte[] serRecord = frameTuple.getFieldData(NODEGROUP_PAYLOAD_TUPLE_FIELD_INDEX); int recordStartOffset = frameTuple.getFieldStart(NODEGROUP_PAYLOAD_TUPLE_FIELD_INDEX); int recordLength = frameTuple.getFieldLength(NODEGROUP_PAYLOAD_TUPLE_FIELD_INDEX); ByteArrayInputStream stream = new ByteArrayInputStream(serRecord, recordStartOffset, recordLength); DataInput in = new DataInputStream(stream); ARecord nodeGroupRecord = recordSerDes.deserialize(in); String gpName = ((AString) nodeGroupRecord.getValueByPos(MetadataRecordTypes.NODEGROUP_ARECORD_GROUPNAME_FIELD_INDEX)) .getStringValue(); IACursor cursor = ((AUnorderedList) nodeGroupRecord .getValueByPos(MetadataRecordTypes.NODEGROUP_ARECORD_NODENAMES_FIELD_INDEX)).getCursor(); List<String> nodeNames = new ArrayList<>(); while (cursor.next()) { nodeNames.add(((AString) cursor.get()).getStringValue()); } return new NodeGroup(gpName, nodeNames); }
private Feed createFeedFromARecord(ARecord feedRecord) { Feed feed; String dataverseName = ((AString) feedRecord.getValueByPos(MetadataRecordTypes.FEED_ARECORD_DATAVERSE_NAME_FIELD_INDEX)) .getStringValue(); String feedName = ((AString) feedRecord.getValueByPos(MetadataRecordTypes.FEED_ARECORD_FEED_NAME_FIELD_INDEX)) .getStringValue(); AUnorderedList feedConfig = (AUnorderedList) feedRecord.getValueByPos(MetadataRecordTypes.FEED_ARECORD_ADAPTOR_CONFIG_INDEX); IACursor cursor = feedConfig.getCursor(); // restore configurations String key; String value; Map<String, String> adaptorConfiguration = new HashMap<>(); while (cursor.next()) { ARecord field = (ARecord) cursor.get(); key = ((AString) field.getValueByPos(MetadataRecordTypes.PROPERTIES_NAME_FIELD_INDEX)).getStringValue(); value = ((AString) field.getValueByPos(MetadataRecordTypes.PROPERTIES_VALUE_FIELD_INDEX)).getStringValue(); adaptorConfiguration.put(key, value); } feed = new Feed(dataverseName, feedName, adaptorConfiguration); return feed; }
private FeedPolicyEntity createFeedPolicyFromARecord(ARecord feedPolicyRecord) { FeedPolicyEntity feedPolicy = null; String dataverseName = ((AString) feedPolicyRecord .getValueByPos(MetadataRecordTypes.FEED_POLICY_ARECORD_DATAVERSE_NAME_FIELD_INDEX)).getStringValue(); String policyName = ((AString) feedPolicyRecord .getValueByPos(MetadataRecordTypes.FEED_POLICY_ARECORD_POLICY_NAME_FIELD_INDEX)).getStringValue(); String description = ((AString) feedPolicyRecord .getValueByPos(MetadataRecordTypes.FEED_POLICY_ARECORD_DESCRIPTION_FIELD_INDEX)).getStringValue(); IACursor cursor = ((AUnorderedList) feedPolicyRecord .getValueByPos(MetadataRecordTypes.FEED_POLICY_ARECORD_PROPERTIES_FIELD_INDEX)).getCursor(); Map<String, String> policyParamters = new HashMap<>(); String key; String value; while (cursor.next()) { ARecord field = (ARecord) cursor.get(); key = ((AString) field.getValueByPos(MetadataRecordTypes.PROPERTIES_NAME_FIELD_INDEX)).getStringValue(); value = ((AString) field.getValueByPos(MetadataRecordTypes.PROPERTIES_VALUE_FIELD_INDEX)).getStringValue(); policyParamters.put(key, value); } feedPolicy = new FeedPolicyEntity(dataverseName, policyName, description, policyParamters); return feedPolicy; }
@SuppressWarnings("unchecked") @Override public void serialize(AUnorderedList instance, DataOutput out) throws HyracksDataException { // TODO: schemaless ordered list serializer UnorderedListBuilder listBuilder = new UnorderedListBuilder(); ArrayBackedValueStorage itemValue = new ArrayBackedValueStorage(); listBuilder.reset(unorderedlistType); IACursor cursor = instance.getCursor(); while (cursor.next()) { itemValue.reset(); serializer.serialize(cursor.get(), itemValue.getDataOutput()); listBuilder.addItem(itemValue); } listBuilder.write(out, false); }
FunctionSignature functionSignature; cursor = ((AUnorderedList) feedConnRecord .getValueByPos(MetadataRecordTypes.FEED_CONN_APPLIED_FUNCTIONS_FIELD_INDEX)).getCursor(); while (cursor.next()) { String[] functionFullName = ((AString) cursor.get()).getStringValue().split("\\.");
public static void checkFTSearchConstantExpression(ILogicalExpression constExpression) throws AlgebricksException { IAObject objectFromExpr = ConstantExpressionUtil.getConstantIaObject(constExpression, null); String arg2Value; IACursor oListCursor; switch (objectFromExpr.getType().getTypeTag()) { case STRING: arg2Value = ConstantExpressionUtil.getStringConstant(objectFromExpr); checkAndGenerateFTSearchExceptionForStringPhrase(arg2Value); break; case ARRAY: oListCursor = ConstantExpressionUtil.getOrderedListConstant(objectFromExpr).getCursor(); checkEachElementInFTSearchListPredicate(oListCursor); break; case MULTISET: oListCursor = ConstantExpressionUtil.getUnorderedListConstant(objectFromExpr).getCursor(); checkEachElementInFTSearchListPredicate(oListCursor); break; default: throw new CompilationException(ErrorCode.COMPILATION_TYPE_UNSUPPORTED, constExpression.getSourceLocation(), BuiltinFunctions.FULLTEXT_CONTAINS.getName(), objectFromExpr.getType().getTypeTag()); } }