This is an automated email from the ASF dual-hosted git repository. mblow pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/asterixdb.git
commit 9a4f4e4a005214540487deccfeddfde479b000f6 Author: Dmitry Lychagin <[email protected]> AuthorDate: Mon Apr 18 10:36:57 2022 -0700 [NO ISSUE][COMP] Do not execute DDLs in compile-only mode - user model changes: no - storage format changes: no - interface changes: no Details: - Do not execute DDL statements if "execute query" flag is set to false Change-Id: I6c10bd099f7ec44218eccb38ca08ea9e24e04a55 Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/16129 Integration-Tests: Jenkins <[email protected]> Tested-by: Jenkins <[email protected]> Reviewed-by: Dmitry Lychagin <[email protected]> Reviewed-by: Ian Maxon <[email protected]> Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/17343 Reviewed-by: Michael Blow <[email protected]> Tested-by: Michael Blow <[email protected]> --- .../asterix/app/translator/QueryTranslator.java | 126 +++++++++++++++++++-- .../compileonly-2.1.ddl.sqlpp} | 35 ++++-- .../compileonly-2.10.query.sqlpp} | 10 +- .../compileonly-2.2.query.sqlpp} | 9 +- .../compileonly-2.3.ddl.sqlpp} | 24 +++- .../compileonly-2.4.query.sqlpp} | 11 +- .../compileonly-2.5.ddl.sqlpp} | 8 +- .../compileonly-2.6.query.sqlpp} | 11 +- .../compileonly-2.7.ddl.sqlpp} | 22 +++- .../compileonly-2.8.query.sqlpp} | 11 +- .../compileonly-2.9.ddl.sqlpp} | 9 +- ...eonly.1.plans.sqlpp => compileonly.1.ddl.sqlpp} | 7 +- .../api/compileonly/compileonly.2.plans.sqlpp | 9 +- .../api/compileonly/compileonly.3.plans.sqlpp | 4 +- .../api/compileonly/compileonly.4.plans.sqlpp | 10 +- ...nly.4.plans.sqlpp => compileonly.5.plans.sqlpp} | 6 - .../results/api/compileonly-2/compileonly-2.10.adm | 1 + .../results/api/compileonly-2/compileonly-2.2.adm | 6 + .../results/api/compileonly-2/compileonly-2.4.adm | 6 + .../results/api/compileonly-2/compileonly-2.6.adm | 6 + .../results/api/compileonly-2/compileonly-2.8.adm | 6 + .../results/api/compileonly/compileonly.2.adm | 1 - ...ileonly.1.regexjson => compileonly.2.regexjson} | 0 .../results/api/compileonly/compileonly.3.adm | 2 +- .../results/api/compileonly/compileonly.4.adm | 2 +- .../{compileonly.4.adm => compileonly.5.adm} | 0 .../test/resources/runtimets/testsuite_sqlpp.xml | 5 + 27 files changed, 264 insertions(+), 83 deletions(-) diff --git a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java index 1729b5037d..f901f525b2 100644 --- a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java +++ b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java @@ -505,7 +505,9 @@ public class QueryTranslator extends AbstractLangTranslator implements IStatemen case EXTENSION: final ExtensionStatement extStmt = (ExtensionStatement) stmt; statementProperties.setName(extStmt.getName()); - extStmt.handle(hcc, this, requestParameters, metadataProvider, resultSetIdCounter); + if (!isCompileOnly()) { + extStmt.handle(hcc, this, requestParameters, metadataProvider, resultSetIdCounter); + } break; default: throw new CompilationException(ErrorCode.COMPILATION_ILLEGAL_STATE, stmt.getSourceLocation(), @@ -610,6 +612,9 @@ public class QueryTranslator extends AbstractLangTranslator implements IStatemen CreateDataverseStatement stmtCreateDataverse = (CreateDataverseStatement) stmt; DataverseName dvName = stmtCreateDataverse.getDataverseName(); metadataProvider.validateDataverseName(dvName, stmtCreateDataverse.getSourceLocation()); + if (isCompileOnly()) { + return; + } lockUtil.createDataverseBegin(lockManager, metadataProvider.getLocks(), dvName); try { doCreateDataverseStatement(metadataProvider, stmtCreateDataverse, requestParameters); @@ -713,6 +718,9 @@ public class QueryTranslator extends AbstractLangTranslator implements IStatemen String compactionPolicy = dd.getCompactionPolicy(); boolean defaultCompactionPolicy = compactionPolicy == null; + if (isCompileOnly()) { + return; + } lockUtil.createDatasetBegin(lockManager, metadataProvider.getLocks(), dataverseName, datasetName, itemTypeDataverseName, itemTypeName, itemTypeAnonymous, metaItemTypeDataverseName, metaItemTypeName, metaItemTypeAnonymous, nodegroupName, compactionPolicy, defaultCompactionPolicy, dd.getDatasetType(), @@ -1061,6 +1069,9 @@ public class QueryTranslator extends AbstractLangTranslator implements IStatemen metadataProvider.validateDatabaseObjectName(stmtCreateIndex.getDataverseName(), indexName, stmt.getSourceLocation()); DataverseName dataverseName = getActiveDataverseName(stmtCreateIndex.getDataverseName()); + if (isCompileOnly()) { + return; + } lockUtil.createIndexBegin(lockManager, metadataProvider.getLocks(), dataverseName, datasetName, fullTextConfigName); try { @@ -1409,6 +1420,9 @@ public class QueryTranslator extends AbstractLangTranslator implements IStatemen stmt.getSourceLocation()); DataverseName dataverseName = getActiveDataverseName(stmtCreateFilter.getDataverseName()); + if (isCompileOnly()) { + return; + } lockUtil.createFullTextFilterBegin(lockManager, metadataProvider.getLocks(), dataverseName, fullTextFilterName); try { doCreateFullTextFilter(metadataProvider, stmtCreateFilter, dataverseName); @@ -1477,6 +1491,9 @@ public class QueryTranslator extends AbstractLangTranslator implements IStatemen DataverseName dataverseName = getActiveDataverseName(stmtCreateConfig.getDataverseName()); ImmutableList<String> filterNames = stmtCreateConfig.getFilterNames(); + if (isCompileOnly()) { + return; + } lockUtil.createFullTextConfigBegin(lockManager, metadataProvider.getLocks(), dataverseName, configName, filterNames); try { @@ -1842,6 +1859,9 @@ public class QueryTranslator extends AbstractLangTranslator implements IStatemen String typeName = stmtCreateType.getIdent().getValue(); metadataProvider.validateDatabaseObjectName(stmtCreateType.getDataverseName(), typeName, sourceLoc); DataverseName dataverseName = getActiveDataverseName(stmtCreateType.getDataverseName()); + if (isCompileOnly()) { + return; + } MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction(); metadataProvider.setMetadataTxnContext(mdTxnCtx); lockUtil.createTypeBegin(lockManager, metadataProvider.getLocks(), dataverseName, typeName); @@ -1895,6 +1915,9 @@ public class QueryTranslator extends AbstractLangTranslator implements IStatemen throw new CompilationException(ErrorCode.COMPILATION_ERROR, sourceLoc, dataverseName + " " + dataverse() + " can't be dropped"); } + if (isCompileOnly()) { + return; + } lockUtil.dropDataverseBegin(lockManager, metadataProvider.getLocks(), dataverseName); try { doDropDataverse(stmtDropDataverse, metadataProvider, hcc, requestParameters); @@ -2098,6 +2121,9 @@ public class QueryTranslator extends AbstractLangTranslator implements IStatemen String datasetName = stmtDelete.getDatasetName().getValue(); metadataProvider.validateDatabaseObjectName(stmtDelete.getDataverseName(), datasetName, sourceLoc); DataverseName dataverseName = getActiveDataverseName(stmtDelete.getDataverseName()); + if (isCompileOnly()) { + return; + } lockUtil.dropDatasetBegin(lockManager, metadataProvider.getLocks(), dataverseName, datasetName); try { doDropDataset(dataverseName, datasetName, metadataProvider, stmtDelete.getIfExists(), hcc, @@ -2205,6 +2231,9 @@ public class QueryTranslator extends AbstractLangTranslator implements IStatemen stmtIndexDrop.getIndexName().getValue(), stmtIndexDrop.getSourceLocation()); DataverseName dataverseName = getActiveDataverseName(stmtIndexDrop.getDataverseName()); String datasetName = stmtIndexDrop.getDatasetName().getValue(); + if (isCompileOnly()) { + return; + } lockUtil.dropIndexBegin(lockManager, metadataProvider.getLocks(), dataverseName, datasetName); try { doDropIndex(metadataProvider, stmtIndexDrop, dataverseName, datasetName, hcc, requestParameters); @@ -2387,6 +2416,9 @@ public class QueryTranslator extends AbstractLangTranslator implements IStatemen DataverseName dataverseName = getActiveDataverseName(stmtFilterDrop.getDataverseName()); String fullTextFilterName = stmtFilterDrop.getFilterName(); + if (isCompileOnly()) { + return; + } lockUtil.dropFullTextFilterBegin(lockManager, metadataProvider.getLocks(), dataverseName, fullTextFilterName); try { doDropFullTextFilter(metadataProvider, stmtFilterDrop, dataverseName, fullTextFilterName); @@ -2427,6 +2459,9 @@ public class QueryTranslator extends AbstractLangTranslator implements IStatemen DataverseName dataverseName = getActiveDataverseName(stmtConfigDrop.getDataverseName()); String configName = stmtConfigDrop.getConfigName(); + if (isCompileOnly()) { + return; + } lockUtil.dropFullTextConfigBegin(lockManager, metadataProvider.getLocks(), dataverseName, configName); try { doDropFullTextConfig(metadataProvider, stmtConfigDrop, hcc, requestParameters); @@ -2476,6 +2511,9 @@ public class QueryTranslator extends AbstractLangTranslator implements IStatemen String typeName = stmtTypeDrop.getTypeName().getValue(); metadataProvider.validateDatabaseObjectName(stmtTypeDrop.getDataverseName(), typeName, sourceLoc); DataverseName dataverseName = getActiveDataverseName(stmtTypeDrop.getDataverseName()); + if (isCompileOnly()) { + return; + } MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction(); metadataProvider.setMetadataTxnContext(mdTxnCtx); lockUtil.dropTypeBegin(lockManager, metadataProvider.getLocks(), dataverseName, typeName); @@ -2516,6 +2554,9 @@ public class QueryTranslator extends AbstractLangTranslator implements IStatemen SourceLocation sourceLoc = stmtDelete.getSourceLocation(); String nodegroupName = stmtDelete.getNodeGroupName().getValue(); metadataProvider.validateDatabaseObjectName(null, nodegroupName, sourceLoc); + if (isCompileOnly()) { + return; + } MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction(); metadataProvider.setMetadataTxnContext(mdTxnCtx); lockManager.acquireNodeGroupWriteLock(metadataProvider.getLocks(), nodegroupName); @@ -2560,6 +2601,9 @@ public class QueryTranslator extends AbstractLangTranslator implements IStatemen viewItemTypeAnonymous = false; } + if (isCompileOnly()) { + return; + } lockUtil.createDatasetBegin(lockManager, metadataProvider.getLocks(), dataverseName, viewName, viewItemTypeDataverseName, viewItemTypeName, viewItemTypeAnonymous, null, null, false, null, null, true, DatasetType.VIEW, null); @@ -2751,6 +2795,9 @@ public class QueryTranslator extends AbstractLangTranslator implements IStatemen String viewName = stmtDrop.getViewName().getValue(); metadataProvider.validateDatabaseObjectName(stmtDrop.getDataverseName(), viewName, sourceLoc); DataverseName dataverseName = getActiveDataverseName(stmtDrop.getDataverseName()); + if (isCompileOnly()) { + return; + } lockUtil.dropDatasetBegin(lockManager, metadataProvider.getLocks(), dataverseName, viewName); try { doDropView(metadataProvider, stmtDrop, dataverseName, viewName); @@ -2833,6 +2880,9 @@ public class QueryTranslator extends AbstractLangTranslator implements IStatemen } } + if (isCompileOnly()) { + return; + } lockUtil.createFunctionBegin(lockManager, metadataProvider.getLocks(), dataverseName, signature.getName(), libraryDataverseName, libraryName); try { @@ -3082,6 +3132,9 @@ public class QueryTranslator extends AbstractLangTranslator implements IStatemen stmtDropFunction.getSourceLocation()); DataverseName dataverseName = getActiveDataverseName(signature.getDataverseName()); signature.setDataverseName(dataverseName); + if (isCompileOnly()) { + return; + } lockUtil.dropFunctionBegin(lockManager, metadataProvider.getLocks(), dataverseName, signature.getName()); try { doDropFunction(metadataProvider, stmtDropFunction, signature, requestParameters); @@ -3140,6 +3193,9 @@ public class QueryTranslator extends AbstractLangTranslator implements IStatemen libraryDataverseName = dataverseName; } String libraryName = cas.getLibraryName(); + if (isCompileOnly()) { + return; + } lockUtil.createAdapterBegin(lockManager, metadataProvider.getLocks(), dataverseName, adapterName, libraryDataverseName, libraryName); try { @@ -3210,6 +3266,9 @@ public class QueryTranslator extends AbstractLangTranslator implements IStatemen String adapterName = stmtDropAdapter.getAdapterName(); metadataProvider.validateDatabaseObjectName(stmtDropAdapter.getDataverseName(), adapterName, sourceLoc); DataverseName dataverseName = getActiveDataverseName(stmtDropAdapter.getDataverseName()); + if (isCompileOnly()) { + return; + } lockUtil.dropAdapterBegin(lockManager, metadataProvider.getLocks(), dataverseName, adapterName); try { doDropAdapter(metadataProvider, stmtDropAdapter, dataverseName, adapterName); @@ -3260,6 +3319,9 @@ public class QueryTranslator extends AbstractLangTranslator implements IStatemen DataverseName dataverseName = getActiveDataverseName(cls.getDataverseName()); String libraryName = cls.getLibraryName(); String libraryHash = cls.getHash(); + if (isCompileOnly()) { + return; + } lockUtil.createLibraryBegin(lockManager, metadataProvider.getLocks(), dataverseName, libraryName); try { doCreateLibrary(metadataProvider, dataverseName, libraryName, libraryHash, cls, hcc, requestParameters); @@ -3388,6 +3450,9 @@ public class QueryTranslator extends AbstractLangTranslator implements IStatemen metadataProvider.validateDatabaseObjectName(stmtDropLibrary.getDataverseName(), libraryName, stmtDropLibrary.getSourceLocation()); DataverseName dataverseName = getActiveDataverseName(stmtDropLibrary.getDataverseName()); + if (isCompileOnly()) { + return; + } lockUtil.dropLibraryBegin(lockManager, metadataProvider.getLocks(), dataverseName, libraryName); try { doDropLibrary(metadataProvider, stmtDropLibrary, dataverseName, libraryName, hcc, requestParameters); @@ -3482,6 +3547,9 @@ public class QueryTranslator extends AbstractLangTranslator implements IStatemen DataverseName objectDataverseName = css.getObjectDataverseName() != null ? css.getObjectDataverseName() : dataverseName; String objectName = css.getObjectName(); + if (isCompileOnly()) { + return; + } lockUtil.createSynonymBegin(lockManager, metadataProvider.getLocks(), dataverseName, synonymName); try { doCreateSynonym(metadataProvider, css, dataverseName, synonymName, objectDataverseName, objectName); @@ -3529,6 +3597,9 @@ public class QueryTranslator extends AbstractLangTranslator implements IStatemen metadataProvider.validateDatabaseObjectName(stmtSynDrop.getDataverseName(), synonymName, stmtSynDrop.getSourceLocation()); DataverseName dataverseName = getActiveDataverseName(stmtSynDrop.getDataverseName()); + if (isCompileOnly()) { + return; + } lockUtil.dropSynonymBegin(lockManager, metadataProvider.getLocks(), dataverseName, synonymName); try { doDropSynonym(metadataProvider, stmtSynDrop, dataverseName, synonymName); @@ -3582,7 +3653,7 @@ public class QueryTranslator extends AbstractLangTranslator implements IStatemen afterCompile(); MetadataManager.INSTANCE.commitTransaction(mdTxnCtx); bActiveTxn = false; - if (spec != null && sessionConfig.isExecuteQuery()) { + if (spec != null && !isCompileOnly()) { runJob(hcc, spec); } } catch (Exception e) { @@ -3627,7 +3698,7 @@ public class QueryTranslator extends AbstractLangTranslator implements IStatemen rewriteCompileInsertUpsert(hcc, metadataProvider, stmtInsertUpsert, stmtParams); MetadataManager.INSTANCE.commitTransaction(mdTxnCtx); bActiveTxn = false; - return !sessionConfig.isExecuteQuery() ? null : jobSpec; + return isCompileOnly() ? null : jobSpec; } catch (Exception e) { if (bActiveTxn) { abort(e, e, mdTxnCtx); @@ -3678,7 +3749,7 @@ public class QueryTranslator extends AbstractLangTranslator implements IStatemen MetadataManager.INSTANCE.commitTransaction(mdTxnCtx); bActiveTxn = false; - if (jobSpec != null && sessionConfig.isExecuteQuery()) { + if (jobSpec != null && !isCompileOnly()) { runJob(hcc, jobSpec); } return jobSpec; @@ -3755,6 +3826,9 @@ public class QueryTranslator extends AbstractLangTranslator implements IStatemen String feedName = cfs.getFeedName().getValue(); metadataProvider.validateDatabaseObjectName(cfs.getDataverseName(), feedName, sourceLoc); DataverseName dataverseName = getActiveDataverseName(cfs.getDataverseName()); + if (isCompileOnly()) { + return; + } MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction(); metadataProvider.setMetadataTxnContext(mdTxnCtx); lockUtil.createFeedBegin(lockManager, metadataProvider.getLocks(), dataverseName, feedName); @@ -3794,6 +3868,9 @@ public class QueryTranslator extends AbstractLangTranslator implements IStatemen String policyName = cfps.getPolicyName(); metadataProvider.validateDatabaseObjectName(null, policyName, sourceLoc); DataverseName dataverseName = getActiveDataverseName(null); + if (isCompileOnly()) { + return; + } lockUtil.createFeedPolicyBegin(lockManager, metadataProvider.getLocks(), dataverseName, policyName); try { mdTxnCtx = MetadataManager.INSTANCE.beginTransaction(); @@ -3855,6 +3932,9 @@ public class QueryTranslator extends AbstractLangTranslator implements IStatemen String feedName = stmtFeedDrop.getFeedName().getValue(); metadataProvider.validateDatabaseObjectName(stmtFeedDrop.getDataverseName(), feedName, sourceLoc); DataverseName dataverseName = getActiveDataverseName(stmtFeedDrop.getDataverseName()); + if (isCompileOnly()) { + return; + } MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction(); metadataProvider.setMetadataTxnContext(mdTxnCtx); lockUtil.dropFeedBegin(lockManager, metadataProvider.getLocks(), dataverseName, feedName); @@ -3908,6 +3988,9 @@ public class QueryTranslator extends AbstractLangTranslator implements IStatemen String policyName = stmtFeedPolicyDrop.getPolicyName().getValue(); metadataProvider.validateDatabaseObjectName(stmtFeedPolicyDrop.getDataverseName(), policyName, sourceLoc); DataverseName dataverseName = getActiveDataverseName(stmtFeedPolicyDrop.getDataverseName()); + if (isCompileOnly()) { + return; + } MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction(); metadataProvider.setMetadataTxnContext(mdTxnCtx); lockUtil.dropFeedPolicyBegin(lockManager, metadataProvider.getLocks(), dataverseName, policyName); @@ -3937,6 +4020,9 @@ public class QueryTranslator extends AbstractLangTranslator implements IStatemen SourceLocation sourceLoc = sfs.getSourceLocation(); DataverseName dataverseName = getActiveDataverseName(sfs.getDataverseName()); String feedName = sfs.getFeedName().getValue(); + if (isCompileOnly()) { + return; + } MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction(); boolean committed = false; lockUtil.startFeedBegin(lockManager, metadataProvider.getLocks(), dataverseName, feedName); @@ -3999,6 +4085,9 @@ public class QueryTranslator extends AbstractLangTranslator implements IStatemen throw new CompilationException(ErrorCode.COMPILATION_ERROR, sourceLoc, "Feed " + feedName + " is not started."); } + if (isCompileOnly()) { + return; + } lockUtil.stopFeedBegin(lockManager, metadataProvider.getLocks(), dataverseName, feedName); try { listener.stop(metadataProvider); @@ -4016,6 +4105,9 @@ public class QueryTranslator extends AbstractLangTranslator implements IStatemen String datasetName = cfs.getDatasetName().getValue(); String policyName = cfs.getPolicy(); String whereClauseBody = cfs.getWhereClauseBody(); + if (isCompileOnly()) { + return; + } MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction(); metadataProvider.setMetadataTxnContext(mdTxnCtx); // TODO: Check whether we are connecting a change feed to a non-meta dataset @@ -4071,6 +4163,9 @@ public class QueryTranslator extends AbstractLangTranslator implements IStatemen DataverseName dataverseName = getActiveDataverseName(cfs.getDataverseName()); String datasetName = cfs.getDatasetName().getValue(); String feedName = cfs.getFeedName().getValue(); + if (isCompileOnly()) { + return; + } MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction(); metadataProvider.setMetadataTxnContext(mdTxnCtx); lockUtil.disconnectFeedBegin(lockManager, metadataProvider.getLocks(), dataverseName, datasetName, feedName); @@ -4116,6 +4211,9 @@ public class QueryTranslator extends AbstractLangTranslator implements IStatemen SourceLocation sourceLoc = compactStatement.getSourceLocation(); DataverseName dataverseName = getActiveDataverseName(compactStatement.getDataverseName()); String datasetName = compactStatement.getDatasetName().getValue(); + if (isCompileOnly()) { + return; + } MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction(); boolean bActiveTxn = true; metadataProvider.setMetadataTxnContext(mdTxnCtx); @@ -4219,7 +4317,7 @@ public class QueryTranslator extends AbstractLangTranslator implements IStatemen afterCompile(); MetadataManager.INSTANCE.commitTransaction(mdTxnCtx); bActiveTxn = false; - return query.isExplain() || !sessionConfig.isExecuteQuery() ? null : jobSpec; + return query.isExplain() || isCompileOnly() ? null : jobSpec; } catch (Exception e) { LOGGER.log(Level.INFO, e.getMessage(), e); if (bActiveTxn) { @@ -4389,6 +4487,9 @@ public class QueryTranslator extends AbstractLangTranslator implements IStatemen String ngName = stmtCreateNodegroup.getNodegroupName().getValue(); metadataProvider.validateDatabaseObjectName(null, ngName, sourceLoc); + if (isCompileOnly()) { + return; + } MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction(); metadataProvider.setMetadataTxnContext(mdTxnCtx); lockManager.acquireNodeGroupWriteLock(metadataProvider.getLocks(), ngName); @@ -4423,9 +4524,6 @@ public class QueryTranslator extends AbstractLangTranslator implements IStatemen DataverseName dataverseName = getActiveDataverseName(stmtRefresh.getDataverseName()); String datasetName = stmtRefresh.getDatasetName().getValue(); TransactionState transactionState = TransactionState.COMMIT; - MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction(); - boolean bActiveTxn = true; - metadataProvider.setMetadataTxnContext(mdTxnCtx); JobSpecification spec = null; Dataset ds = null; List<ExternalFile> metadataFiles = null; @@ -4436,6 +4534,12 @@ public class QueryTranslator extends AbstractLangTranslator implements IStatemen Dataset transactionDataset = null; boolean lockAquired = false; boolean success = false; + if (isCompileOnly()) { + return; + } + MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction(); + metadataProvider.setMetadataTxnContext(mdTxnCtx); + boolean bActiveTxn = true; lockUtil.refreshDatasetBegin(lockManager, metadataProvider.getLocks(), dataverseName, datasetName); try { ds = metadataProvider.findDataset(dataverseName, datasetName); @@ -4770,7 +4874,7 @@ public class QueryTranslator extends AbstractLangTranslator implements IStatemen private Map<VarIdentifier, IAObject> createExternalVariables(IReturningStatement stmt, Map<String, IAObject> stmtParams) throws CompilationException { - if (sessionConfig.isExecuteQuery()) { + if (!isCompileOnly()) { if (stmtParams == null || stmtParams.isEmpty()) { return Collections.emptyMap(); } @@ -4795,6 +4899,10 @@ public class QueryTranslator extends AbstractLangTranslator implements IStatemen } } + protected boolean isCompileOnly() { + return !sessionConfig.isExecuteQuery(); + } + protected void validateDatasetState(MetadataProvider metadataProvider, Dataset dataset, SourceLocation sourceLoc) throws Exception { validateIfResourceIsActiveInFeed(metadataProvider.getApplicationContext(), dataset, sourceLoc); diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly/compileonly.4.plans.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly-2/compileonly-2.1.ddl.sqlpp similarity index 50% copy from asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly/compileonly.4.plans.sqlpp copy to asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly-2/compileonly-2.1.ddl.sqlpp index 8d2bd74af3..c0aadcabcb 100644 --- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly/compileonly.4.plans.sqlpp +++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly-2/compileonly-2.1.ddl.sqlpp @@ -17,17 +17,34 @@ * under the License. */ -/* - * Test additional information returned when client-type=jdbc (update statement) - */ +drop dataverse test1 if exists; +create dataverse test1; --- param client-type:string=jdbc --- param compile-only:string=true +use test1; -drop dataverse test1 if exists; +create type t1 as closed { + c1 : bigint, + c2 : bigint +}; -create dataverse test1; +create dataset ds1(t1) primary key c1; + +create index idx1 on ds1(c2); + +create view v1 as select value v from ds1 v; -create dataset test1.t1(c1 int not unknown, c2 int) primary key c1; +create synonym s1 for v1; -insert into test1.t1 [{"c1": 1, "c2": ? }, {"c1": 3, "c2": ? }]; +create function f1() { + select "Dataverse" as k, DataverseName as dv, DataverseName as n from Metadata.`Dataverse` + union all + select "Datatype" as k, DataverseName as dv, DatatypeName as n from Metadata.`Datatype` + union all + select "Dataset" as k, DataverseName as dv, DatasetName as n from Metadata.`Dataset` + union all + select "Index" as k, DataverseName as dv, IndexName as n from Metadata.`Index` where not(isPrimary) + union all + select "Synonym" as k, DataverseName as dv, SynonymName as n from Metadata.`Synonym` + union all + select "Function" as k, DataverseName as dv, Name as n from Metadata.`Function` +}; \ No newline at end of file diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly/compileonly.1.plans.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly-2/compileonly-2.10.query.sqlpp similarity index 84% copy from asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly/compileonly.1.plans.sqlpp copy to asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly-2/compileonly-2.10.query.sqlpp index 6095b26a90..53097a47c3 100644 --- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly/compileonly.1.plans.sqlpp +++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly-2/compileonly-2.10.query.sqlpp @@ -17,8 +17,10 @@ * under the License. */ --- param compile-only:string=true --- param logical-plan:string=true --- param plan-format:string=json +/* + * Check that objects were not created + */ -select value v from range(1,2) v where v > ?; +select count(*) cnt +from test1.f1() t +where dv like "test2"; diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly/compileonly.1.plans.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly-2/compileonly-2.2.query.sqlpp similarity index 84% copy from asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly/compileonly.1.plans.sqlpp copy to asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly-2/compileonly-2.2.query.sqlpp index 6095b26a90..1e3fb342f1 100644 --- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly/compileonly.1.plans.sqlpp +++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly-2/compileonly-2.2.query.sqlpp @@ -17,8 +17,7 @@ * under the License. */ --- param compile-only:string=true --- param logical-plan:string=true --- param plan-format:string=json - -select value v from range(1,2) v where v > ?; +select k, n +from test1.f1() t +where dv like "test1" +order by k, n; \ No newline at end of file diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly/compileonly.2.plans.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly-2/compileonly-2.3.ddl.sqlpp similarity index 79% copy from asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly/compileonly.2.plans.sqlpp copy to asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly-2/compileonly-2.3.ddl.sqlpp index 2a4952f5c9..b913179a70 100644 --- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly/compileonly.2.plans.sqlpp +++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly-2/compileonly-2.3.ddl.sqlpp @@ -18,10 +18,28 @@ */ /* - * Test additional information returned when client-type=jdbc + * Test that DROP DDL statements are not executed in compile-only mode */ --- param client-type:string=jdbc -- param compile-only:string=true -select v from range(1,2) v where v between ? and ? ; +drop function test1.f1(); + +drop synonym test1.s1; + +drop view test1.v1; + +drop index test1.ds1.idx1; + +drop dataset test1.ds1; + +drop type test1.t1; + + + + + + + + + diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly/compileonly.1.plans.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly-2/compileonly-2.4.query.sqlpp similarity index 84% copy from asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly/compileonly.1.plans.sqlpp copy to asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly-2/compileonly-2.4.query.sqlpp index 6095b26a90..5760b8e80c 100644 --- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly/compileonly.1.plans.sqlpp +++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly-2/compileonly-2.4.query.sqlpp @@ -17,8 +17,11 @@ * under the License. */ --- param compile-only:string=true --- param logical-plan:string=true --- param plan-format:string=json +/* + * Check that objects were not dropped + */ -select value v from range(1,2) v where v > ?; +select k, n +from test1.f1() t +where dv like "test1" +order by k, n; \ No newline at end of file diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly/compileonly.1.plans.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly-2/compileonly-2.5.ddl.sqlpp similarity index 88% copy from asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly/compileonly.1.plans.sqlpp copy to asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly-2/compileonly-2.5.ddl.sqlpp index 6095b26a90..37146d7f50 100644 --- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly/compileonly.1.plans.sqlpp +++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly-2/compileonly-2.5.ddl.sqlpp @@ -17,8 +17,10 @@ * under the License. */ +/* + * Test that DROP DDL statements are not executed in compile-only mode + */ + -- param compile-only:string=true --- param logical-plan:string=true --- param plan-format:string=json -select value v from range(1,2) v where v > ?; +drop dataverse test1; diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly/compileonly.1.plans.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly-2/compileonly-2.6.query.sqlpp similarity index 84% copy from asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly/compileonly.1.plans.sqlpp copy to asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly-2/compileonly-2.6.query.sqlpp index 6095b26a90..5760b8e80c 100644 --- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly/compileonly.1.plans.sqlpp +++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly-2/compileonly-2.6.query.sqlpp @@ -17,8 +17,11 @@ * under the License. */ --- param compile-only:string=true --- param logical-plan:string=true --- param plan-format:string=json +/* + * Check that objects were not dropped + */ -select value v from range(1,2) v where v > ?; +select k, n +from test1.f1() t +where dv like "test1" +order by k, n; \ No newline at end of file diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly/compileonly.4.plans.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly-2/compileonly-2.7.ddl.sqlpp similarity index 71% copy from asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly/compileonly.4.plans.sqlpp copy to asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly-2/compileonly-2.7.ddl.sqlpp index 8d2bd74af3..9b41631d15 100644 --- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly/compileonly.4.plans.sqlpp +++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly-2/compileonly-2.7.ddl.sqlpp @@ -18,16 +18,26 @@ */ /* - * Test additional information returned when client-type=jdbc (update statement) + * Test that CREATE DDL statements are not executed in compile-only mode */ --- param client-type:string=jdbc -- param compile-only:string=true -drop dataverse test1 if exists; +use test1; -create dataverse test1; +create type t2 as closed { + c1 : bigint, + c2 : bigint +}; -create dataset test1.t1(c1 int not unknown, c2 int) primary key c1; +create dataset ds2(t2) primary key c1; -insert into test1.t1 [{"c1": 1, "c2": ? }, {"c1": 3, "c2": ? }]; +create index idx2 on ds2(c2); + +create view v2 as select value v from ds2 v; + +create synonym s2 for v2; + +create function f2() { + select value v from v2 v +}; diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly/compileonly.1.plans.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly-2/compileonly-2.8.query.sqlpp similarity index 84% copy from asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly/compileonly.1.plans.sqlpp copy to asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly-2/compileonly-2.8.query.sqlpp index 6095b26a90..c5afa49236 100644 --- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly/compileonly.1.plans.sqlpp +++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly-2/compileonly-2.8.query.sqlpp @@ -17,8 +17,11 @@ * under the License. */ --- param compile-only:string=true --- param logical-plan:string=true --- param plan-format:string=json +/* + * Check that objects were not created + */ -select value v from range(1,2) v where v > ?; +select k, n +from test1.f1() t +where dv like "test1" +order by k, n; diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly/compileonly.1.plans.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly-2/compileonly-2.9.ddl.sqlpp similarity index 86% copy from asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly/compileonly.1.plans.sqlpp copy to asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly-2/compileonly-2.9.ddl.sqlpp index 6095b26a90..7fb26dbb54 100644 --- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly/compileonly.1.plans.sqlpp +++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly-2/compileonly-2.9.ddl.sqlpp @@ -17,8 +17,11 @@ * under the License. */ +/* + * Test that CREATE DDL statements are not executed in compile-only mode + */ + -- param compile-only:string=true --- param logical-plan:string=true --- param plan-format:string=json -select value v from range(1,2) v where v > ?; +drop dataverse test2 if exists; +create dataverse test2; diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly/compileonly.1.plans.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly/compileonly.1.ddl.sqlpp similarity index 84% rename from asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly/compileonly.1.plans.sqlpp rename to asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly/compileonly.1.ddl.sqlpp index 6095b26a90..82e9f1cb26 100644 --- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly/compileonly.1.plans.sqlpp +++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly/compileonly.1.ddl.sqlpp @@ -17,8 +17,7 @@ * under the License. */ --- param compile-only:string=true --- param logical-plan:string=true --- param plan-format:string=json +drop dataverse test1 if exists; +create dataverse test1; -select value v from range(1,2) v where v > ?; +create dataset test1.t1(c1 int not unknown, c2 int) primary key c1; diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly/compileonly.2.plans.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly/compileonly.2.plans.sqlpp index 2a4952f5c9..6095b26a90 100644 --- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly/compileonly.2.plans.sqlpp +++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly/compileonly.2.plans.sqlpp @@ -17,11 +17,8 @@ * under the License. */ -/* - * Test additional information returned when client-type=jdbc - */ - --- param client-type:string=jdbc -- param compile-only:string=true +-- param logical-plan:string=true +-- param plan-format:string=json -select v from range(1,2) v where v between ? and ? ; +select value v from range(1,2) v where v > ?; diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly/compileonly.3.plans.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly/compileonly.3.plans.sqlpp index d7217a479e..2a4952f5c9 100644 --- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly/compileonly.3.plans.sqlpp +++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly/compileonly.3.plans.sqlpp @@ -18,10 +18,10 @@ */ /* - * Test additional information returned when client-type=jdbc (with explain) + * Test additional information returned when client-type=jdbc */ -- param client-type:string=jdbc -- param compile-only:string=true -explain select v from range(1,2) v where v between ? and ? ; +select v from range(1,2) v where v between ? and ? ; diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly/compileonly.4.plans.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly/compileonly.4.plans.sqlpp index 8d2bd74af3..d7217a479e 100644 --- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly/compileonly.4.plans.sqlpp +++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly/compileonly.4.plans.sqlpp @@ -18,16 +18,10 @@ */ /* - * Test additional information returned when client-type=jdbc (update statement) + * Test additional information returned when client-type=jdbc (with explain) */ -- param client-type:string=jdbc -- param compile-only:string=true -drop dataverse test1 if exists; - -create dataverse test1; - -create dataset test1.t1(c1 int not unknown, c2 int) primary key c1; - -insert into test1.t1 [{"c1": 1, "c2": ? }, {"c1": 3, "c2": ? }]; +explain select v from range(1,2) v where v between ? and ? ; diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly/compileonly.4.plans.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly/compileonly.5.plans.sqlpp similarity index 89% copy from asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly/compileonly.4.plans.sqlpp copy to asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly/compileonly.5.plans.sqlpp index 8d2bd74af3..5947c5d682 100644 --- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly/compileonly.4.plans.sqlpp +++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/api/compileonly/compileonly.5.plans.sqlpp @@ -24,10 +24,4 @@ -- param client-type:string=jdbc -- param compile-only:string=true -drop dataverse test1 if exists; - -create dataverse test1; - -create dataset test1.t1(c1 int not unknown, c2 int) primary key c1; - insert into test1.t1 [{"c1": 1, "c2": ? }, {"c1": 3, "c2": ? }]; diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/api/compileonly-2/compileonly-2.10.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/api/compileonly-2/compileonly-2.10.adm new file mode 100644 index 0000000000..bacb60c0e2 --- /dev/null +++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/api/compileonly-2/compileonly-2.10.adm @@ -0,0 +1 @@ +{ "cnt": 0 } \ No newline at end of file diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/api/compileonly-2/compileonly-2.2.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/api/compileonly-2/compileonly-2.2.adm new file mode 100644 index 0000000000..c1ff5e5e30 --- /dev/null +++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/api/compileonly-2/compileonly-2.2.adm @@ -0,0 +1,6 @@ +{ "k": "Dataset", "n": "ds1" } +{ "k": "Dataset", "n": "v1" } +{ "k": "Datatype", "n": "t1" } +{ "k": "Dataverse", "n": "test1" } +{ "k": "Function", "n": "f1" } +{ "k": "Synonym", "n": "s1" } \ No newline at end of file diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/api/compileonly-2/compileonly-2.4.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/api/compileonly-2/compileonly-2.4.adm new file mode 100644 index 0000000000..c1ff5e5e30 --- /dev/null +++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/api/compileonly-2/compileonly-2.4.adm @@ -0,0 +1,6 @@ +{ "k": "Dataset", "n": "ds1" } +{ "k": "Dataset", "n": "v1" } +{ "k": "Datatype", "n": "t1" } +{ "k": "Dataverse", "n": "test1" } +{ "k": "Function", "n": "f1" } +{ "k": "Synonym", "n": "s1" } \ No newline at end of file diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/api/compileonly-2/compileonly-2.6.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/api/compileonly-2/compileonly-2.6.adm new file mode 100644 index 0000000000..c1ff5e5e30 --- /dev/null +++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/api/compileonly-2/compileonly-2.6.adm @@ -0,0 +1,6 @@ +{ "k": "Dataset", "n": "ds1" } +{ "k": "Dataset", "n": "v1" } +{ "k": "Datatype", "n": "t1" } +{ "k": "Dataverse", "n": "test1" } +{ "k": "Function", "n": "f1" } +{ "k": "Synonym", "n": "s1" } \ No newline at end of file diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/api/compileonly-2/compileonly-2.8.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/api/compileonly-2/compileonly-2.8.adm new file mode 100644 index 0000000000..c1ff5e5e30 --- /dev/null +++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/api/compileonly-2/compileonly-2.8.adm @@ -0,0 +1,6 @@ +{ "k": "Dataset", "n": "ds1" } +{ "k": "Dataset", "n": "v1" } +{ "k": "Datatype", "n": "t1" } +{ "k": "Dataverse", "n": "test1" } +{ "k": "Function", "n": "f1" } +{ "k": "Synonym", "n": "s1" } \ No newline at end of file diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/api/compileonly/compileonly.2.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/api/compileonly/compileonly.2.adm deleted file mode 100644 index 1ced420af0..0000000000 --- a/asterixdb/asterix-app/src/test/resources/runtimets/results/api/compileonly/compileonly.2.adm +++ /dev/null @@ -1 +0,0 @@ -{"statementCategory":"query","statementParameters":[1,2]} \ No newline at end of file diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/api/compileonly/compileonly.1.regexjson b/asterixdb/asterix-app/src/test/resources/runtimets/results/api/compileonly/compileonly.2.regexjson similarity index 100% rename from asterixdb/asterix-app/src/test/resources/runtimets/results/api/compileonly/compileonly.1.regexjson rename to asterixdb/asterix-app/src/test/resources/runtimets/results/api/compileonly/compileonly.2.regexjson diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/api/compileonly/compileonly.3.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/api/compileonly/compileonly.3.adm index 83b47f465b..1ced420af0 100644 --- a/asterixdb/asterix-app/src/test/resources/runtimets/results/api/compileonly/compileonly.3.adm +++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/api/compileonly/compileonly.3.adm @@ -1 +1 @@ -{"statementCategory":"query","statementParameters":[1,2],"explainOnly":true} \ No newline at end of file +{"statementCategory":"query","statementParameters":[1,2]} \ No newline at end of file diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/api/compileonly/compileonly.4.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/api/compileonly/compileonly.4.adm index 63c482ac0c..83b47f465b 100644 --- a/asterixdb/asterix-app/src/test/resources/runtimets/results/api/compileonly/compileonly.4.adm +++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/api/compileonly/compileonly.4.adm @@ -1 +1 @@ -{"statementCategory":"update","statementParameters":[1,2]} \ No newline at end of file +{"statementCategory":"query","statementParameters":[1,2],"explainOnly":true} \ No newline at end of file diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/api/compileonly/compileonly.4.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/api/compileonly/compileonly.5.adm similarity index 100% copy from asterixdb/asterix-app/src/test/resources/runtimets/results/api/compileonly/compileonly.4.adm copy to asterixdb/asterix-app/src/test/resources/runtimets/results/api/compileonly/compileonly.5.adm diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml index c0784c1dce..d33d054bb5 100644 --- a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml +++ b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml @@ -33,6 +33,11 @@ <output-dir compare="Text">compileonly</output-dir> </compilation-unit> </test-case> + <test-case FilePath="api"> + <compilation-unit name="compileonly-2"> + <output-dir compare="Text">compileonly-2</output-dir> + </compilation-unit> + </test-case> <test-case FilePath="api"> <compilation-unit name="multiple-param-values"> <output-dir compare="Text">multiple-param-values</output-dir>
