>From Michael Blow <mb...@apache.org>: Michael Blow has uploaded this change for review. ( https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20291 )
Change subject: Merge branch 'gerrit/ionic' into 'gerrit/phoenix' ...................................................................... Merge branch 'gerrit/ionic' into 'gerrit/phoenix' * [ASTERIXDB-3633][EXT] Support file splits while reading delta tables * [ASTERIXDB-3636][STO] Add ColumnBufferPool to prevent OOM during high-volume column ingestion * [NO ISSUE][OTH] Add extensions for drop transaction pre-commit * [NO ISSUE][STO] Delete masked files before reading resource files * [ASTERIXDB-3638][COMP] Consolidate same scan operators * [ASTERIXDB-3639]: add datasetName for index * [NO ISSUE] Add missing licenses * [ASTERIXDB-3641] Sampling query taking long time to run * [ASTERIXDB-3636][STO] Fix buffer reservations understimation Ext-ref: MB-67819 Change-Id: I89d309e1fdb05536a8410cdfd3b2447cde64ba06 --- M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/cbo/Stats.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java M asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entities/EntityDetails.java 4 files changed, 39 insertions(+), 22 deletions(-) git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/91/20291/1 diff --git a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/cbo/Stats.java b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/cbo/Stats.java index 00f7bbf..ba857e8 100644 --- a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/cbo/Stats.java +++ b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/cbo/Stats.java @@ -173,21 +173,8 @@ if (!(joinExpr.getFunctionIdentifier().equals(AlgebricksBuiltinFunctions.EQ))) { return 0.5; // this may not be accurate obviously! } // we can do all relops here and other joins such as interval joins and spatial joins, the compile time might increase a lot -<<<<<<< HEAD (ca6f48 Merge branch 'gerrit/ionic' into 'gerrit/phoenix') - boolean unnestOp1 = joinEnum.findUnnestOp(joinEnum.leafInputs.get(idx1 - 1)); boolean unnestOp2 = joinEnum.findUnnestOp(joinEnum.leafInputs.get(idx2 - 1)); - boolean unnestOp = unnestOp1 || unnestOp2; - Index.SampleIndexDetails idxDetails1 = (Index.SampleIndexDetails) index1.getIndexDetails(); - Index.SampleIndexDetails idxDetails2 = (Index.SampleIndexDetails) index2.getIndexDetails(); - if (((idxDetails1.getSourceCardinality() < idxDetails1.getSampleCardinalityTarget()) - || (idxDetails2.getSourceCardinality() < idxDetails2.getSampleCardinalityTarget()) - || exprUsedVars.size() > 2) && !unnestOp) { //* if there are more than 2 variables, it is not a simple join like r.a op s.a - double sels = findJoinSelFromSamples(joinEnum.leafInputs.get(idx1 - 1), - joinEnum.leafInputs.get(idx2 - 1), index1, index2, joinExpr, jOp); - if (sels == 0.0) { - sels = 1.0 / Math.max(card1, card2); -======= ILogicalOperator leafInput1 = joinEnum.leafInputs.get(idx1 - 1); ILogicalOperator leafInput2 = joinEnum.leafInputs.get(idx2 - 1); LogicalVariable var1 = exprUsedVars.get(0); @@ -196,9 +183,7 @@ double sel = findJoinSelFromSamples(leafInput1, leafInput2, index1, index2, joinExpr, jOp); if (sel > 0.0) { // if sel is 0.0 we call naiveJoinSelectivity return sel; ->>>>>>> BRANCH (b656c0 [ASTERIXDB-3636][STO] Fix buffer reservations understimation) } - return sels; } // Now we can handle only equi joins. We make all the uniform and independence assumptions here. double seln = naiveJoinSelectivity(exprUsedVars, card1, card2, idx1, idx2, unnestOp1, unnestOp2); 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 c091250..7f34bcb 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 @@ -3608,8 +3608,7 @@ MetadataManager.INSTANCE.dropDatatype(mdTxnCtx, inlineType.getDatabaseName(), inlineType.getDataverseName(), inlineType.getName()); } - beforeDropTxnCommit(metadataProvider, mdTxnCtx, - EntityDetails.newFunction(databaseName, dataverseName, signature.getName(), signature.getArity())); + beforeDropTxnCommit(metadataProvider, mdTxnCtx, EntityDetails.newFunction(signature)); MetadataManager.INSTANCE.commitTransaction(mdTxnCtx); return true; } catch (Exception e) { diff --git a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entities/EntityDetails.java b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entities/EntityDetails.java index 9de9691..0b82c38 100644 --- a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entities/EntityDetails.java +++ b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entities/EntityDetails.java @@ -134,7 +134,10 @@ return functionArity; } -<<<<<<< HEAD (ca6f48 Merge branch 'gerrit/ionic' into 'gerrit/phoenix') + public String getDatasetName() { + return datasetName; + } + public static boolean isBuiltinFunctionSignature(FunctionSignature fs) { return isBuiltinFunctionDataverse(Objects.requireNonNull(fs.getDataverseName())) || BuiltinFunctions.getBuiltinFunctionInfo(fs.createFunctionIdentifier()) != null; @@ -142,10 +145,6 @@ private static boolean isBuiltinFunctionDataverse(DataverseName dataverse) { return FunctionConstants.ASTERIX_DV.equals(dataverse) || FunctionConstants.ALGEBRICKS_DV.equals(dataverse); -======= - public String getDatasetName() { - return datasetName; ->>>>>>> BRANCH (b656c0 [ASTERIXDB-3636][STO] Fix buffer reservations understimation) } public static String getFunctionNameWithArity(String functionName, int functionArity) { -- To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20291 To unsubscribe, or for help writing mail filters, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-Project: asterixdb Gerrit-Branch: phoenix Gerrit-Change-Id: I89d309e1fdb05536a8410cdfd3b2447cde64ba06 Gerrit-Change-Number: 20291 Gerrit-PatchSet: 1 Gerrit-Owner: Michael Blow <mb...@apache.org> Gerrit-MessageType: newchange