public IAType findMetaType(Dataset dataset) throws AlgebricksException { return findType(dataset.getMetaItemTypeDataverseName(), dataset.getMetaItemTypeName()); }
public static ARecordType getMetaType(MetadataProvider metadataProvider, Dataset dataset) throws AlgebricksException { if (dataset.hasMetaPart()) { return (ARecordType) metadataProvider.findType(dataset.getMetaItemTypeDataverseName(), dataset.getMetaItemTypeName()); } return null; }
metadataProvider.findType(ds.getMetaItemTypeDataverseName(), ds.getMetaItemTypeName());
.findType(dataset.getMetaItemTypeDataverseName(), dataset.getMetaItemTypeName()); ARecordType metaRecType = (ARecordType) metaItemType; int numSecondaryKeys = KeyFieldTypeUtil.getNumSecondaryKeys(index, recType, metaRecType);
metadataProvider.findType(dataset.getMetaItemTypeDataverseName(), dataset.getMetaItemTypeName()); DatasetDataSource targetDatasource = validateDatasetInfo(metadataProvider, stmt.getDataverseName(), stmt.getDatasetName(), sourceLoc);
if (ds.hasMetaPart()) { Datatype metaDt = MetadataManager.INSTANCE.getDatatype(metadataProvider.getMetadataTxnContext(), ds.getMetaItemTypeDataverseName(), ds.getMetaItemTypeName()); metaRecordType = (ARecordType) metaDt.getDatatype();
public static DataSource lookupSourceInMetadata(IClusterStateManager clusterStateManager, MetadataTransactionContext mdTxnCtx, DataSourceId aqlId) throws AlgebricksException { Dataset dataset = findDataset(mdTxnCtx, aqlId.getDataverseName(), aqlId.getDatasourceName()); if (dataset == null) { throw new AlgebricksException("Datasource with id " + aqlId + " was not found."); } IAType itemType = findType(mdTxnCtx, dataset.getItemTypeDataverseName(), dataset.getItemTypeName()); IAType metaItemType = findType(mdTxnCtx, dataset.getMetaItemTypeDataverseName(), dataset.getMetaItemTypeName()); INodeDomain domain = findNodeDomain(clusterStateManager, mdTxnCtx, dataset.getNodeGroupName()); byte datasourceType = dataset.getDatasetType().equals(DatasetType.EXTERNAL) ? DataSource.Type.EXTERNAL_DATASET : DataSource.Type.INTERNAL_DATASET; return new DatasetDataSource(aqlId, dataset, itemType, metaItemType, datasourceType, dataset.getDatasetDetails(), domain); } }
.getDatatype(txnId, datatypeDataverseName, datatypeName).getDatatype(); String metatypeName = dSet.getMetaItemTypeName(); String metatypeDataverseName = dSet.getMetaItemTypeDataverseName(); ARecordType metaDt = null; if (metatypeName != null && metatypeDataverseName != null) {
private DatasetDataSource validateDatasetInfo(MetadataProvider metadataProvider, String dataverseName, String datasetName, SourceLocation sourceLoc) throws AlgebricksException { Dataset dataset = metadataProvider.findDataset(dataverseName, datasetName); if (dataset == null) { throw new CompilationException(ErrorCode.UNKNOWN_DATASET_IN_DATAVERSE, sourceLoc, datasetName, dataverseName); } if (dataset.getDatasetType() == DatasetType.EXTERNAL) { throw new CompilationException(ErrorCode.COMPILATION_ERROR, sourceLoc, "Cannot write output to an external dataset."); } DataSourceId sourceId = new DataSourceId(dataverseName, datasetName); IAType itemType = metadataProvider.findType(dataset.getItemTypeDataverseName(), dataset.getItemTypeName()); IAType metaItemType = metadataProvider.findType(dataset.getMetaItemTypeDataverseName(), dataset.getMetaItemTypeName()); INodeDomain domain = metadataProvider.findNodeDomain(dataset.getNodeGroupName()); return new DatasetDataSource(sourceId, dataset, itemType, metaItemType, DataSource.Type.INTERNAL_DATASET, dataset.getDatasetDetails(), domain); }
metaType = (ARecordType) mp.findType(dataset.getMetaItemTypeDataverseName(), dataset.getMetaItemTypeName());
MetadataManager.INSTANCE.addDataset(mdTxnCtx.getValue(), new Dataset(dataverseName, datasetName, getItemTypeDataverseName(), getItemTypeName(), getMetaItemTypeDataverseName(), getMetaItemTypeName(), getNodeGroupName(), getCompactionPolicy(), getCompactionPolicyProperties(), getDatasetDetails(), getHints(), getDatasetType(), getDatasetId(), MetadataUtil.PENDING_DROP_OP, getCompressionScheme()));
private void writeMetaPart(Dataset dataset) throws HyracksDataException { if (dataset.hasMetaPart()) { // write open field 1, the meta item type Dataverse name. fieldName.reset(); aString.setValue(MetadataRecordTypes.FIELD_NAME_METADATA_DATAVERSE); stringSerde.serialize(aString, fieldName.getDataOutput()); fieldValue.reset(); aString.setValue(dataset.getMetaItemTypeDataverseName()); stringSerde.serialize(aString, fieldValue.getDataOutput()); recordBuilder.addField(fieldName, fieldValue); // write open field 2, the meta item type name. fieldName.reset(); aString.setValue(MetadataRecordTypes.FIELD_NAME_METATYPE_NAME); stringSerde.serialize(aString, fieldName.getDataOutput()); fieldValue.reset(); aString.setValue(dataset.getMetaItemTypeName()); stringSerde.serialize(aString, fieldValue.getDataOutput()); recordBuilder.addField(fieldName, fieldValue); } }