@Override public Void visit(DatasetDecl dd, Integer step) throws CompilationException { if (dd.getDatasetType() == DatasetType.INTERNAL) { String line = skip(step) + "DatasetDecl " + dd.getName() + "(" + dd.getItemTypeName() + ")" + " partitioned by " + ((InternalDetailsDecl) dd.getDatasetDetailsDecl()).getPartitioningExprs(); if (((InternalDetailsDecl) dd.getDatasetDetailsDecl()).isAutogenerated()) { line += " [autogenerated]"; } out.println(line); } else if (dd.getDatasetType() == DatasetType.EXTERNAL) { out.println(skip(step) + "DatasetDecl " + dd.getName() + "(" + dd.getItemTypeName() + ")" + "is an external dataset"); } return null; }
@Override public Void visit(DatasetDecl dd, Integer step) throws CompilationException { if (dd.getDatasetType() == DatasetType.INTERNAL) { out.print(skip(step) + "create " + datasetSymbol + generateFullName(dd.getDataverse(), dd.getName()) + generateIfNotExists(dd.getIfNotExists()) + "(" + dd.getQualifiedTypeName() + ")" out.print(" autogenerated "); } else if (dd.getDatasetType() == DatasetType.EXTERNAL) { out.print( skip(step) + "create external " + datasetSymbol + generateFullName(dd.getDataverse(), dd.getName()) printProperties(hints); if (dd.getDatasetType() == DatasetType.INTERNAL) { List<String> filterField = ((InternalDetailsDecl) dd.getDatasetDetailsDecl()).getFilterField(); if (filterField != null && filterField.size() > 0) {
String dataverseName = getActiveDataverse(dd.getDataverse()); String datasetName = dd.getName().getValue(); DatasetType dsType = dd.getDatasetType(); String itemTypeDataverseName = getActiveDataverse(dd.getItemTypeDataverse()); String itemTypeName = dd.getItemTypeName().getValue(); validateCompactionPolicy(compactionPolicy, compactionPolicyProperties, mdTxnCtx, false, sourceLoc); switch (dd.getDatasetType()) { case INTERNAL: IAType itemType = dt.getDatatype(); default: throw new CompilationException(ErrorCode.COMPILATION_ERROR, sourceLoc, "Unknown dataset type " + dd.getDatasetType()); MetadataUtil.PENDING_ADD_OP, compressionScheme); MetadataManager.INSTANCE.addDataset(metadataProvider.getMetadataTxnContext(), dataset); if (dd.getDatasetType() == DatasetType.INTERNAL) { JobSpecification jobSpec = DatasetUtil.createDatasetJobSpec(dataset, metadataProvider);