@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() + ")" + " primary key "); printDelimitedKeys(((InternalDetailsDecl) dd.getDatasetDetailsDecl()).getPartitioningExprs(), ","); if (((InternalDetailsDecl) dd.getDatasetDetailsDecl()).isAutogenerated()) { out.print(" autogenerated "); } else if (dd.getDatasetType() == DatasetType.EXTERNAL) { out.print( skip(step) + "create external " + datasetSymbol + generateFullName(dd.getDataverse(), dd.getName()) + "(" + dd.getQualifiedTypeName() + ")" + generateIfNotExists(dd.getIfNotExists())); ExternalDetailsDecl externalDetails = (ExternalDetailsDecl) dd.getDatasetDetailsDecl(); out.print(" using " + revertStringToQuoted(externalDetails.getAdapter())); printConfiguration(externalDetails.getProperties()); Identifier nodeGroupName = dd.getNodegroupName(); if (nodeGroupName != null) { out.print(" on " + nodeGroupName.getValue()); Map<String, String> hints = dd.getHints(); if (dd.getHints().size() > 0) { out.print(" hints "); printProperties(hints); if (dd.getDatasetType() == DatasetType.INTERNAL) { List<String> filterField = ((InternalDetailsDecl) dd.getDatasetDetailsDecl()).getFilterField(); if (filterField != null && filterField.size() > 0) {
@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; }
MutableObject<ProgressState> progress = new MutableObject<>(ProgressState.NO_PROGRESS); DatasetDecl dd = (DatasetDecl) stmt; SourceLocation sourceLoc = dd.getSourceLocation(); String dataverseName = getActiveDataverse(dd.getDataverse()); String datasetName = dd.getName().getValue(); DatasetType dsType = dd.getDatasetType(); String itemTypeDataverseName = getActiveDataverse(dd.getItemTypeDataverse()); String itemTypeName = dd.getItemTypeName().getValue(); String metaItemTypeDataverseName = getActiveDataverse(dd.getMetaItemTypeDataverse()); String metaItemTypeName = dd.getMetaItemTypeName().getValue(); Identifier ngNameId = dd.getNodegroupName(); String nodegroupName = ngNameId == null ? null : ngNameId.getValue(); String compactionPolicy = dd.getCompactionPolicy(); Map<String, String> compactionPolicyProperties = dd.getCompactionPolicyProperties(); String compressionScheme = metadataProvider.getCompressionManager() .getDdlOrDefaultCompressionScheme(dd.getDatasetCompressionScheme()); boolean defaultCompactionPolicy = compactionPolicy == null; MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction(); Dataset ds = metadataProvider.findDataset(dataverseName, datasetName); if (ds != null) { if (dd.getIfNotExists()) { MetadataManager.INSTANCE.commitTransaction(mdTxnCtx); return; : configureNodegroupForDataset(appCtx, dd.getHints(), dataverseName, datasetName, metadataProvider, sourceLoc); switch (dd.getDatasetType()) {
case DATASET_DECL: DatasetDecl datasetStmt = (DatasetDecl) stmt; Map<String, String> hints = datasetStmt.getHints(); if (hints != null && !hints.isEmpty()) { StringBuilder errorMsgBuffer = new StringBuilder(); DatasetHints.validate(appCtx, hint.getKey(), hint.getValue()); if (!validationResult.first) { errorMsgBuffer.append("Dataset: ").append(datasetStmt.getName().getValue()) .append(" error in processing hint: ").append(hint.getKey()).append(" ") .append(validationResult.second);
edd.setProperties(properties); try{ dsetDecl = new DatasetDecl(nameComponents.first, nameComponents.second, typeComponents.first, filterField == null? null : filterField.second); try{ dsetDecl = new DatasetDecl(nameComponents.first, nameComponents.second, typeComponents.first,
edd.setProperties(properties); try{ dsetDecl = new DatasetDecl(nameComponents.first, nameComponents.second, typeComponents.first, filterField == null? null : filterField.second); try{ dsetDecl = new DatasetDecl(nameComponents.first, nameComponents.second, typeComponents.first,
edd.setProperties(properties); try{ stmt = new DatasetDecl(nameComponents.first, nameComponents.second, typeComponents.first, filterField == null? null : filterField.second); try{ stmt = new DatasetDecl(nameComponents.first, nameComponents.second, typeComponents.first,