private static void insertMetadataDatatypes(MetadataTransactionContext mdTxnCtx) throws AlgebricksException { ArrayList<IAType> types = new ArrayList<>(); types.addAll(BuiltinTypeMap.getAllBuiltinTypes()); getMetadataTypes(types); for (int i = 0; i < types.size(); i++) { MetadataManager.INSTANCE.addDatatype(mdTxnCtx, new Datatype(MetadataConstants.METADATA_DATAVERSE_NAME, types.get(i).getTypeName(), types.get(i), false)); } MetadataManager.INSTANCE.addDatatype(mdTxnCtx, MetadataBuiltinEntities.ANY_OBJECT_DATATYPE); if (LOGGER.isInfoEnabled()) { LOGGER.info("Finished inserting initial datatypes."); } }
public void dropDataDatatype(String dataverseName, String datatypeName) { Datatype datatype = new Datatype(dataverseName, datatypeName, null, false); droppedCache.addDatatypeIfNotExists(datatype); logAndApply(new MetadataLogicalOperation(datatype, false)); }
private String handleNestedDerivedType(String typeName, AbstractComplexType nestedType, Datatype topLevelType, String dataverseName, String datatypeName) throws HyracksDataException { try { metadataNode.addDatatype(txnId, new Datatype(dataverseName, typeName, nestedType, true)); } catch (AlgebricksException e) { // The nested record type may have been inserted by a previous DDL statement or // by // a previous nested type. if (!(e.getCause() instanceof HyracksDataException)) { throw HyracksDataException.create(e); } else { HyracksDataException hde = (HyracksDataException) e.getCause(); if (!hde.getComponent().equals(ErrorCode.HYRACKS) || hde.getErrorCode() != ErrorCode.DUPLICATE_KEY) { throw hde; } } } catch (RemoteException e) { // TODO: This should not be a HyracksDataException. Can't // fix this currently because of BTree exception model whose // fixes must get in. throw HyracksDataException.create(e); } return typeName; } }
fieldId++; return new Datatype(dataverseName, datatypeName, new ARecordType(datatypeName, fieldNames, fieldTypes, isOpen), isAnonymous); .getValueByPos(MetadataRecordTypes.DERIVEDTYPE_ARECORD_UNORDEREDLIST_FIELD_INDEX)) .getStringValue(); return new Datatype(dataverseName, datatypeName, new AUnorderedListType(BuiltinTypeMap.getTypeFromTypeName(metadataNode, txnId, dataverseName, unorderedlistTypeName, false), datatypeName), .getValueByPos(MetadataRecordTypes.DERIVEDTYPE_ARECORD_ORDEREDLIST_FIELD_INDEX)) .getStringValue(); return new Datatype(dataverseName, datatypeName, new AOrderedListType(BuiltinTypeMap.getTypeFromTypeName(metadataNode, txnId, dataverseName, orderedlistTypeName, false), datatypeName), return new Datatype(dataverseName, datatypeName, type, false);
return new Datatype( datatype.getDataverseName(), datatype.getDatatypeName(), new ARecordType(aRecType.getTypeName(), aRecType.getFieldNames(), aRecType.getFieldTypes(), aRecType.isOpen()),
TypeSignature typeSignature = new TypeSignature(dataverseName, typeName); IAType type = typeMap.get(typeSignature); MetadataManager.INSTANCE.addDatatype(mdTxnCtx, new Datatype(dataverseName, typeName, type, false));