Skip to content

Commit

Permalink
Merge pull request #1285 from partiql/exclude-dialect
Browse files Browse the repository at this point in the history
Adds support for EXCLUDE in the default SqlDialect
  • Loading branch information
johnedquinn authored Dec 8, 2023
2 parents 124e87f + 8a37a9a commit 7c9cc9a
Show file tree
Hide file tree
Showing 3 changed files with 129 additions and 0 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ Thank you to all who have contributed!
- **EXPERIMENTAL** Evaluation of `EXCLUDE` in the `EvaluatingCompiler`
- This is currently marked as experimental until the RFC is approved https://github.com/partiql/partiql-lang/issues/27
- This will be added to the `PhysicalPlanCompiler` in an upcoming release
- **EXPERIMENTAL**: Adds support for EXCLUDE in the default SqlDialect.

### Changed
- StaticTypeInferencer and PlanTyper will not raise an error when an expression is inferred to `NULL` or `unionOf(NULL, MISSING)`. In these cases the StaticTypeInferencer and PlanTyper will still raise the Problem Code `ExpressionAlwaysReturnsNullOrMissing` but the severity of the problem has been changed to warning. In the case an expression always returns `MISSING`, problem code `ExpressionAlwaysReturnsMissing` will be raised, which will have problem severity of error.
Expand Down
35 changes: 35 additions & 0 deletions partiql-ast/src/main/kotlin/org/partiql/ast/sql/SqlDialect.kt
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package org.partiql.ast.sql

import org.partiql.ast.AstNode
import org.partiql.ast.Exclude
import org.partiql.ast.Expr
import org.partiql.ast.From
import org.partiql.ast.GroupBy
Expand Down Expand Up @@ -82,6 +83,38 @@ public abstract class SqlDialect : AstBaseVisitor<SqlBlock, SqlBlock>() {
return head concat r(path)
}

override fun visitExclude(node: Exclude, head: SqlBlock): SqlBlock {
var h = head
h = h concat " EXCLUDE "
h = h concat list(start = null, end = null) { node.exprs }
return h
}

override fun visitExcludeExcludeExpr(node: Exclude.ExcludeExpr, head: SqlBlock): SqlBlock {
var h = head
h = h concat visitIdentifierSymbol(node.root, SqlBlock.Nil)
h = h concat list(delimiter = null, start = null, end = null) { node.steps }
return h
}

override fun visitExcludeStepExcludeCollectionIndex(node: Exclude.Step.ExcludeCollectionIndex, head: SqlBlock): SqlBlock {
return head concat r("[${node.index}]")
}

override fun visitExcludeStepExcludeTupleWildcard(node: Exclude.Step.ExcludeTupleWildcard, head: SqlBlock): SqlBlock {
return head concat r(".*")
}

override fun visitExcludeStepExcludeTupleAttr(node: Exclude.Step.ExcludeTupleAttr, head: SqlBlock): SqlBlock {
var h = head concat r(".")
h = h concat visitIdentifierSymbol(node.symbol, SqlBlock.Nil)
return h
}

override fun visitExcludeStepExcludeCollectionWildcard(node: Exclude.Step.ExcludeCollectionWildcard, head: SqlBlock): SqlBlock {
return head concat r("[*]")
}

// cannot write path step outside the context of a path as we don't want it to reflow
override fun visitPathStep(node: Path.Step, head: SqlBlock) = error("path step cannot be written directly")

Expand Down Expand Up @@ -550,6 +583,8 @@ public abstract class SqlDialect : AstBaseVisitor<SqlBlock, SqlBlock>() {
var h = head
// SELECT
h = visit(node.select, h)
// EXCLUDE
h = node.exclude?.let { visit(it, h) } ?: h
// FROM
h = visit(node.from, h concat r(" FROM "))
// LET
Expand Down
93 changes: 93 additions & 0 deletions partiql-ast/src/test/kotlin/org/partiql/ast/sql/SqlDialectTest.kt
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,11 @@ class SqlDialectTest {
@Execution(ExecutionMode.CONCURRENT)
fun testSelectClause(case: Case) = case.assert()

@ParameterizedTest(name = "EXCLUDE Clause #{index}")
@MethodSource("excludeClauseCases")
@Execution(ExecutionMode.CONCURRENT)
fun testExcludeClause(case: Case) = case.assert()

@ParameterizedTest(name = "FROM Clause #{index}")
@MethodSource("fromClauseCases")
@Execution(ExecutionMode.CONCURRENT)
Expand Down Expand Up @@ -1058,6 +1063,94 @@ class SqlDialectTest {
},
)

@JvmStatic
fun excludeClauseCases() = listOf(
expect("SELECT a EXCLUDE t.a FROM T") {
exprSFW {
select = select("a")
from = fromValue {
expr = v("T")
type = From.Value.Type.SCAN
}
exclude = exclude {
exprs += excludeExcludeExpr {
root = id("t", Identifier.CaseSensitivity.INSENSITIVE)
steps += excludeStepExcludeTupleAttr {
symbol = id("a", Identifier.CaseSensitivity.INSENSITIVE)
}
}
}
}
},
expect("SELECT a EXCLUDE a.b, c.d, e.f, g.h FROM T") {
exprSFW {
select = select("a")
from = fromValue {
expr = v("T")
type = From.Value.Type.SCAN
}
exclude = exclude {
exprs += excludeExcludeExpr {
root = id("a", Identifier.CaseSensitivity.INSENSITIVE)
steps += insensitiveExcludeTupleAttr("b")
}
exprs += excludeExcludeExpr {
root = id("c", Identifier.CaseSensitivity.INSENSITIVE)
steps += insensitiveExcludeTupleAttr("d")
}
exprs += excludeExcludeExpr {
root = id("e", Identifier.CaseSensitivity.INSENSITIVE)
steps += insensitiveExcludeTupleAttr("f")
}
exprs += excludeExcludeExpr {
root = id("g", Identifier.CaseSensitivity.INSENSITIVE)
steps += insensitiveExcludeTupleAttr("h")
}
}
}
},
expect("SELECT a EXCLUDE t.a.\"b\".*[*].c, \"s\"[0].d.\"e\"[*].f.* FROM T") {
exprSFW {
select = select("a")
from = fromValue {
expr = v("T")
type = From.Value.Type.SCAN
}
exclude = exclude {
exprs += excludeExcludeExpr {
root = id("t", Identifier.CaseSensitivity.INSENSITIVE)
steps += mutableListOf(
insensitiveExcludeTupleAttr("a"),
sensitiveExcludeTupleAttr("b"),
excludeStepExcludeTupleWildcard(),
excludeStepExcludeCollectionWildcard(),
insensitiveExcludeTupleAttr("c"),
)
}
exprs += excludeExcludeExpr {
root = id("s", Identifier.CaseSensitivity.SENSITIVE)
steps += mutableListOf(
excludeStepExcludeCollectionIndex(0),
insensitiveExcludeTupleAttr("d"),
sensitiveExcludeTupleAttr("e"),
excludeStepExcludeCollectionWildcard(),
insensitiveExcludeTupleAttr("f"),
excludeStepExcludeTupleWildcard(),
)
}
}
}
},
)

private fun AstBuilder.insensitiveExcludeTupleAttr(str: String) = excludeStepExcludeTupleAttr {
symbol = id(str, Identifier.CaseSensitivity.INSENSITIVE)
}

private fun AstBuilder.sensitiveExcludeTupleAttr(str: String) = excludeStepExcludeTupleAttr {
symbol = id(str, Identifier.CaseSensitivity.SENSITIVE)
}

@JvmStatic
fun fromClauseCases() = listOf(
expect("SELECT a FROM T") {
Expand Down

1 comment on commit 7c9cc9a

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

JMH Benchmark

Benchmark suite Current: 7c9cc9a Previous: 1c3c79a Ratio
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.compileCrossJoinAggFuncGroupingWithInterruptible 262.076314442264 us/op 275.08167655884756 us/op 0.95
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.compileCrossJoinAggFuncGroupingWithoutInterruptible 256.9902593962837 us/op 259.4467977869029 us/op 0.99
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.compileCrossJoinAggFuncWithInterruptible 249.28077921903932 us/op 244.4911796966275 us/op 1.02
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.compileCrossJoinAggFuncWithoutInterruptible 239.89843741303952 us/op 237.30498750651591 us/op 1.01
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.compileCrossJoinWithInterruptible 185.51408744951425 us/op 172.1136738064709 us/op 1.08
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.compileCrossJoinWithoutInterruptible 167.6690122959913 us/op 177.53860029368542 us/op 0.94
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.evalCrossJoinAggGroupWithInterruptible 12757637.787750002 us/op 12798650.704600003 us/op 1.00
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.evalCrossJoinAggGroupWithoutInterruptible 13030339.304000001 us/op 12698953.638500001 us/op 1.03
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.evalCrossJoinAggWithInterruptible 5542451.387399999 us/op 5069813.8725 us/op 1.09
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.evalCrossJoinAggWithoutInterruptible 4864780.15865 us/op 4928765.23635 us/op 0.99
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.evalCrossJoinWithInterruptible 39.25787133520133 us/op 37.96811365130208 us/op 1.03
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.evalCrossJoinWithoutInterruptible 43.540181170739416 us/op 38.50414141205046 us/op 1.13
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.iterCrossJoinAggGroupWithInterruptible 13018378.384349998 us/op 12903491.11365 us/op 1.01
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.iterCrossJoinAggGroupWithoutInterruptible 13069558.32505 us/op 12664480.51395 us/op 1.03
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.iterCrossJoinAggWithInterruptible 4977623.07405 us/op 4907544.857899999 us/op 1.01
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.iterCrossJoinAggWithoutInterruptible 5182672.877 us/op 5087802.2048 us/op 1.02
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.iterCrossJoinWithInterruptible 96953.59315909092 us/op 98734.58502909091 us/op 0.98
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.iterCrossJoinWithoutInterruptible 94499.34447272727 us/op 91631.57110037877 us/op 1.03
org.partiql.jmh.benchmarks.MultipleLikeBenchmark.testPartiQLCompiler15 80.70858500776276 us/op 78.30976141304204 us/op 1.03
org.partiql.jmh.benchmarks.MultipleLikeBenchmark.testPartiQLCompiler30 152.61101169702596 us/op 187.03846804479429 us/op 0.82
org.partiql.jmh.benchmarks.MultipleLikeBenchmark.testPartiQLEvaluator15 375808.75516666664 us/op 373167.4658 us/op 1.01
org.partiql.jmh.benchmarks.MultipleLikeBenchmark.testPartiQLEvaluator30 726269.1046249999 us/op 736714.8382 us/op 0.99
org.partiql.jmh.benchmarks.MultipleLikeBenchmark.testPartiQLEvaluator30WithData10 7475472.862849998 us/op 7057953.625549999 us/op 1.06
org.partiql.jmh.benchmarks.MultipleLikeBenchmark.testPartiQLParser15 133.07222471232132 us/op 128.1026633616168 us/op 1.04
org.partiql.jmh.benchmarks.MultipleLikeBenchmark.testPartiQLParser30 250.85473394992928 us/op 243.10329461999396 us/op 1.03
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameCaseWhenThen 33.905198544791276 us/op 32.84862869757637 us/op 1.03
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameComplexQuery 41.640244713891505 us/op 40.2363548229556 us/op 1.03
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameComplexQuery01 223.7833641412007 us/op 218.6051453987202 us/op 1.02
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameComplexQuery02 387.93789616359794 us/op 375.4429095298506 us/op 1.03
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameExceptUnionIntersectSixty 160.16555726007786 us/op 155.08906535346955 us/op 1.03
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameExec20Expressions 47.95519358720533 us/op 48.834483399503156 us/op 0.98
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameFromLet 34.52920073994305 us/op 33.35263867593268 us/op 1.04
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameGraphPattern 32.66210411000365 us/op 31.706105926617177 us/op 1.03
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameGraphPreFilters 58.15232597413027 us/op 56.14860429339503 us/op 1.04
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameGroupLimit 40.280851294107336 us/op 38.258544264218 us/op 1.05
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameLongFromSourceOrderBy 48.11791141888645 us/op 47.07436613110177 us/op 1.02
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameManyJoins 50.960498717899455 us/op 47.98019174263992 us/op 1.06
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameNestedAggregates 86.45512536527227 us/op 83.87305944813019 us/op 1.03
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameNestedParen 13.590136307258224 us/op 13.390341682422484 us/op 1.01
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNamePivot 53.01243394177764 us/op 50.9433817378748 us/op 1.04
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameQuery15OrsAndLikes 158.43958545979223 us/op 150.9897418244527 us/op 1.05
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameQuery30Plus 85.72660446591837 us/op 84.79138721569856 us/op 1.01
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameQueryFunc 38.99370564283856 us/op 37.72591668710545 us/op 1.03
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameQueryFuncInProjection 42.778734438325216 us/op 42.5049964557297 us/op 1.01
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameQueryList 60.323317897507785 us/op 58.91066660106217 us/op 1.02
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameQueryNestedSelect 553.0381041611271 us/op 541.9106181214242 us/op 1.02
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameQuerySimple 12.30317478225619 us/op 12.131269287048863 us/op 1.01
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameSeveralJoins 17.679015641975575 us/op 17.13864992134051 us/op 1.03
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameSeveralProjections 55.862668784720974 us/op 54.94393573612632 us/op 1.02
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameSeveralSelect 158.88468769988415 us/op 155.63090131156815 us/op 1.02
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameSimpleInsert 22.80925155706892 us/op 23.364763049879326 us/op 0.98
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameSomeJoins 16.440738010830955 us/op 16.65819840690805 us/op 0.99
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameSomeProjections 22.982058523956532 us/op 22.327802173663155 us/op 1.03
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameSomeSelect 41.188221937043004 us/op 39.68560693708677 us/op 1.04
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameTimeZone 19.40961982899187 us/op 18.95081179813455 us/op 1.02
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameVeryLongQuery 192.24907676426727 us/op 193.0836910507022 us/op 1.00
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameVeryLongQuery01 773.2967791708586 us/op 756.2074126601756 us/op 1.02
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameCaseWhenThen 18.67613791882415 us/op 18.07999175585677 us/op 1.03
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameComplexQuery 180.11280085985325 us/op 183.17770069341645 us/op 0.98
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameComplexQuery01 85.67895938013767 us/op 83.90683805878953 us/op 1.02
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameExceptUnionIntersectSixty 169.40519799737623 us/op 166.6222088958918 us/op 1.02
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameExec20Expressions 46.459085993971506 us/op 47.3722832985659 us/op 0.98
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameFromLet 27.54029944769543 us/op 26.533923175458597 us/op 1.04
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameGraphPattern 30.439453280824345 us/op 29.548008947782865 us/op 1.03
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameGraphPreFilters 53.92174392572988 us/op 53.449845468772914 us/op 1.01
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameGroupLimit 25.11747795147675 us/op 24.826624051418953 us/op 1.01
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameLongFromSourceOrderBy 96.84959909013139 us/op 97.19821997984278 us/op 1.00
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameManyJoins 33.57050548612737 us/op 32.04642848779447 us/op 1.05
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameNestedAggregates 73.31615242024931 us/op 72.82367427582118 us/op 1.01
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameNestedParen 61.081785640388816 us/op 63.261770668746976 us/op 0.97
org.partiql.jmh.benchmarks.ParserBenchmark.parseNamePivot 46.91310692351012 us/op 47.10512662037796 us/op 1.00
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameQuery15OrsAndLikes 131.44092528652354 us/op 128.1855360923765 us/op 1.03
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameQuery30Plus 42.74639224524311 us/op 45.626963328483875 us/op 0.94
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameQueryFunc 96.4777534525169 us/op 94.94133133680437 us/op 1.02
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameQueryFuncInProjection 63.74394755739492 us/op 63.16384776914872 us/op 1.01
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameQueryList 56.21084096701484 us/op 56.01947311233994 us/op 1.00
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameQueryNestedSelect 106.74930436820883 us/op 101.71200299219264 us/op 1.05
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameQuerySimple 8.644745798088076 us/op 8.502448468794721 us/op 1.02
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameSeveralJoins 52.936565974926836 us/op 54.2481076333597 us/op 0.98
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameSeveralProjections 39.65095317452029 us/op 39.53458956664469 us/op 1.00
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameSeveralSelect 73.3103399704023 us/op 77.4352021266124 us/op 0.95
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameSimpleInsert 14.510889456344762 us/op 14.569854781735932 us/op 1.00
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameSomeJoins 14.488260257265669 us/op 14.485229906303129 us/op 1.00
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameSomeProjections 12.72374195864348 us/op 12.618405795560278 us/op 1.01
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameSomeSelect 24.18218599305276 us/op 24.380232529873663 us/op 0.99
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameTimeZone 5.962009320467764 us/op 5.945355951044599 us/op 1.00
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameVeryLongQuery 328.2427267924219 us/op 291.08945977790364 us/op 1.13
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameVeryLongQuery01 820.4208951738514 us/op 797.7509408179992 us/op 1.03
org.partiql.jmh.benchmarks.PartiQLBenchmark.testPartiQLCompiler 6.7604828072175795 us/op 6.712366207405813 us/op 1.01
org.partiql.jmh.benchmarks.PartiQLBenchmark.testPartiQLEvaluator 1.7817120184276363 us/op 1.7686056508135592 us/op 1.01
org.partiql.jmh.benchmarks.PartiQLBenchmark.testPartiQLParser 7.523662566273417 us/op 7.502771704911768 us/op 1.00
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameCaseWhenThen 32.764861204556766 us/op 31.225610024031727 us/op 1.05
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameComplexQuery 42.59092341284733 us/op 40.899146479087015 us/op 1.04
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameComplexQuery01 218.1312361394007 us/op 217.4202884543985 us/op 1.00
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameComplexQuery02 377.50566745973003 us/op 378.0919646287551 us/op 1.00
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameExceptUnionIntersectSixty 156.9671425489747 us/op 155.59236310139033 us/op 1.01
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameExec20Expressions 44.99433547565143 us/op 43.553090250035 us/op 1.03
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameFromLet 33.55576374606373 us/op 32.026063277890806 us/op 1.05
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameGraphPattern 31.558029901665897 us/op 30.63173044386506 us/op 1.03
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameGraphPreFilters 54.317200559472724 us/op 55.69639026749925 us/op 0.98
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameGroupLimit 39.33710524897323 us/op 38.24674234589749 us/op 1.03
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameLongFromSourceOrderBy 47.70060088148552 us/op 47.45143038059029 us/op 1.01
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameManyJoins 48.2919043907788 us/op 48.22832796155115 us/op 1.00
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameNestedAggregates 86.32566707636684 us/op 81.39996305475816 us/op 1.06
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameNestedParen 13.297609175805581 us/op 12.890416319395289 us/op 1.03
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNamePivot 51.054028673547705 us/op 51.28560340258783 us/op 1.00
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameQuery15OrsAndLikes 156.47896964896097 us/op 151.92132972545545 us/op 1.03
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameQuery30Plus 85.37920160490042 us/op 85.21215652943216 us/op 1.00
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameQueryFunc 37.507795440144776 us/op 37.47981483386944 us/op 1.00
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameQueryFuncInProjection 42.455645928291176 us/op 42.086884807729426 us/op 1.01
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameQueryList 58.12831749075027 us/op 57.992449708039956 us/op 1.00
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameQueryNestedSelect 546.5875733350861 us/op 545.1229281472249 us/op 1.00
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameQuerySimple 11.683251698620747 us/op 11.559920993566694 us/op 1.01
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameSeveralJoins 16.240730330878424 us/op 16.113678985437506 us/op 1.01
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameSeveralProjections 53.21506115102936 us/op 54.609786980515494 us/op 0.97
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameSeveralSelect 157.13377655275866 us/op 154.29563893944902 us/op 1.02
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameSimpleInsert 21.872029526476634 us/op 21.53272501526702 us/op 1.02
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameSomeJoins 15.966411711211066 us/op 15.780859325862192 us/op 1.01
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameSomeProjections 21.83298317279208 us/op 21.663007190271685 us/op 1.01
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameSomeSelect 40.12230234834502 us/op 38.846343378849326 us/op 1.03
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameTimeZone 18.813442301767687 us/op 18.65551374601672 us/op 1.01
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameVeryLongQuery 190.5300709483311 us/op 188.60723144251492 us/op 1.01
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameVeryLongQuery01 761.8557783889195 us/op 763.6096818106572 us/op 1.00
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameCaseWhenThen 23.518074166366628 us/op 23.468662378439767 us/op 1.00
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameComplexQuery 244.29141585781286 us/op 243.32623904981682 us/op 1.00
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameComplexQuery01 119.10900225570742 us/op 119.3410457301733 us/op 1.00
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameExceptUnionIntersectSixty 259.7784084736952 us/op 260.1489631719374 us/op 1.00
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameExec20Expressions 64.96838425777148 us/op 61.33308507038184 us/op 1.06
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameFromLet 39.5008378810415 us/op 38.0031752191436 us/op 1.04
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameGraphPattern 46.249391106209266 us/op 46.22511940034 us/op 1.00
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameGraphPreFilters 81.3917404287365 us/op 81.77063861342961 us/op 1.00
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameGroupLimit 28.89157547472077 us/op 27.696842421491265 us/op 1.04
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameLongFromSourceOrderBy 118.7460093651302 us/op 115.66052811452309 us/op 1.03
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameManyJoins 44.19841004566763 us/op 42.0414857565605 us/op 1.05
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameNestedAggregates 98.27830555610075 us/op 100.56505884227062 us/op 0.98
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameNestedParen 65.37007873087208 us/op 67.49522485875046 us/op 0.97
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNamePivot 62.43456810013011 us/op 61.93008749516216 us/op 1.01
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameQuery15OrsAndLikes 197.556515214873 us/op 187.9960194738942 us/op 1.05
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameQuery30Plus 59.53731709561318 us/op 57.419170343462326 us/op 1.04
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameQueryFunc 112.27037893070644 us/op 110.66765445651652 us/op 1.01
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameQueryFuncInProjection 79.5090538141524 us/op 78.42801678384481 us/op 1.01
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameQueryList 69.49792406000806 us/op 68.63749705992802 us/op 1.01
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameQueryNestedSelect 140.89744739202467 us/op 134.07861471738326 us/op 1.05
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameQuerySimple 11.923667537196295 us/op 11.67086225471088 us/op 1.02
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameSeveralJoins 79.55446133077228 us/op 75.02002252159545 us/op 1.06
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameSeveralProjections 64.98355575780263 us/op 60.56699299285761 us/op 1.07
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameSeveralSelect 116.86440420363098 us/op 111.66415327505983 us/op 1.05
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameSimpleInsert 22.31911313245558 us/op 21.454138464826244 us/op 1.04
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameSomeJoins 19.918529867077222 us/op 20.4080604604726 us/op 0.98
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameSomeProjections 18.140501411629103 us/op 18.709800103571986 us/op 0.97
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameSomeSelect 35.62465899930236 us/op 35.19635578639587 us/op 1.01
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameTimeZone 7.696116518264619 us/op 7.074989329820393 us/op 1.09
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameVeryLongQuery 461.68355606139784 us/op 456.02903302369316 us/op 1.01
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameVeryLongQuery01 1164.780521018247 us/op 1148.5689128441586 us/op 1.01

This comment was automatically generated by workflow using github-action-benchmark.

Please sign in to comment.