Skip to content

Commit

Permalink
Merge pull request #1463 from johnedquinn/main-deprecate-null-missing
Browse files Browse the repository at this point in the history
Deprecates absent types and removes associated planner logic
  • Loading branch information
johnedquinn authored May 28, 2024
2 parents 7b78453 + 994635a commit 8402db6
Show file tree
Hide file tree
Showing 68 changed files with 1,066 additions and 2,714 deletions.
17 changes: 17 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,25 @@ Thank you to all who have contributed!
### Added

### Changed
- **Behavioral change**: The planner now does NOT support the NullType and MissingType variants of StaticType. The logic
is that the null and missing values are part of *all* data types. Therefore, one must assume that the types returned by
the planner allow for NULL and MISSING values. Similarly, the testFixtures Ion-encoded test resources
representing the catalog do not use "null" or "missing".

### Deprecated
- We have deprecated `org.partiql.type.NullType` and `org.partiql.type.MissingType`. Please see the corresponding
information in the "Changed" section. In relation to the deprecation of the above, the following APIs have also
been deprecated:
- `org.partiql.type.StaticType.MISSING`
- `org.partiql.type.StaticType.NULL`
- `org.partiql.type.StaticType.NULL_OR_MISSING`
- `org.partiql.type.StaticType.asNullable()`
- `org.partiql.type.StaticType.isNullable()`
- `org.partiql.type.StaticType.isMissable()`
- `org.partiql.type.StaticType.asOptional()`
- `org.partiql.type.AnyOfType()`
- `org.partiql.value.PartiQLValueType.NULL`
- `org.partiql.value.PartiQLValueType.MISSING`

### Fixed

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package org.partiql.lang.ast.passes.inference
import junitparams.JUnitParamsRunner
import junitparams.Parameters
import org.junit.Assert.assertEquals
import org.junit.Ignore
import org.junit.Test
import org.junit.runner.RunWith
import org.partiql.types.DecimalType
Expand Down Expand Up @@ -85,6 +86,7 @@ class StaticTypeCastTests {

@Test
@Parameters
@Ignore("StaticType.ALL_TYPES no longer supports NULL/MISSING") // @Test comes from JUnit4, and therefore we must use @Ignore.
fun unionTypeCastTests(tc: TestCase) = runTest(tc)

@Test
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package org.partiql.lang.eval.visitors.inferencer

import org.junit.jupiter.api.Disabled
import org.junit.jupiter.params.ParameterizedTest
import org.junit.jupiter.params.provider.MethodSource
import org.partiql.errors.Problem
Expand All @@ -20,6 +21,7 @@ import org.partiql.types.StructType

class InferencerMultipleProblemsTests {
@ParameterizedTest
@Disabled
@MethodSource("parametersForMultipleInferenceProblemsTests")
fun multipleInferenceProblemsTests(tc: TestCase) = runTest(tc)

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package org.partiql.lang.eval.visitors.inferencer

import org.junit.jupiter.api.Disabled
import org.junit.jupiter.params.ParameterizedTest
import org.junit.jupiter.params.provider.MethodSource
import org.partiql.errors.Problem
Expand Down Expand Up @@ -29,6 +30,7 @@ class InferencerNaryArithmeticTests {

@ParameterizedTest
@MethodSource("parametersForNAryArithmeticTests")
@Disabled
fun naryArithmeticInferenceTests(tc: InferencerTestUtil.TestCase) = runTest(tc)

companion object {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package org.partiql.lang.eval.visitors.inferencer

import org.junit.jupiter.api.Disabled
import org.junit.jupiter.params.ParameterizedTest
import org.junit.jupiter.params.provider.MethodSource
import org.partiql.errors.Problem
Expand All @@ -26,6 +27,7 @@ import org.partiql.types.StaticType
class InferencerNaryBetweenTests {
@ParameterizedTest
@MethodSource("parametersForNAryBetweenTests")
@Disabled("StaticType.ALL_TYPES no longer supports NULL/MISSING")
fun naryBetweenInferenceTests(tc: TestCase) = runTest(tc)

companion object {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package org.partiql.lang.eval.visitors.inferencer

import org.junit.jupiter.api.Disabled
import org.junit.jupiter.params.ParameterizedTest
import org.junit.jupiter.params.provider.MethodSource
import org.partiql.errors.Problem
Expand Down Expand Up @@ -33,6 +34,7 @@ import org.partiql.types.StructType
class InferencerNaryComparisonAndEqualityTests {
@ParameterizedTest
@MethodSource("parametersForNAryComparisonAndEqualityTests")
@Disabled("StaticType.ALL_TYPES no longer supports NULL/MISSING")
fun naryComparisonAndEqualityInferenceTests(tc: TestCase) = runTest(tc)

companion object {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package org.partiql.lang.eval.visitors.inferencer

import org.junit.jupiter.api.Disabled
import org.junit.jupiter.params.ParameterizedTest
import org.junit.jupiter.params.provider.MethodSource
import org.partiql.errors.Problem
Expand All @@ -25,6 +26,7 @@ import org.partiql.types.StringType
class InferencerNaryConcatTests {
@ParameterizedTest
@MethodSource("parametersForNAryConcatTests")
@Disabled("StaticType.ALL_TYPES no longer supports NULL/MISSING")
fun naryConcatInferenceTests(tc: TestCase) = runTest(tc)

companion object {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package org.partiql.lang.eval.visitors.inferencer

import org.junit.jupiter.api.Disabled
import org.junit.jupiter.params.ParameterizedTest
import org.junit.jupiter.params.provider.MethodSource
import org.partiql.errors.Problem
Expand All @@ -22,6 +23,7 @@ class InferencerNaryLikeTests {

@ParameterizedTest
@MethodSource("parametersForNAryLikeTests")
@Disabled("StaticType.ALL_TYPES no longer supports NULL/MISSING")
fun naryLikeInferenceTests(tc: TestCase) = runTest(tc)

companion object {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package org.partiql.lang.eval.visitors.inferencer

import org.junit.jupiter.api.Disabled
import org.junit.jupiter.params.ParameterizedTest
import org.junit.jupiter.params.provider.MethodSource
import org.partiql.errors.Problem
Expand All @@ -25,6 +26,7 @@ import org.partiql.types.StaticType
class InferencerNaryLogicalTests {
@ParameterizedTest
@MethodSource("parametersForNAryLogicalTests")
@Disabled("StaticType.ALL_TYPES no longer supports NULL/MISSING")
fun naryLogicalInferenceTests(tc: TestCase) = runTest(tc)

companion object {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package org.partiql.lang.eval.visitors.inferencer

import org.junit.jupiter.api.Disabled
import org.junit.jupiter.params.ParameterizedTest
import org.junit.jupiter.params.provider.MethodSource
import org.partiql.errors.Problem
Expand Down Expand Up @@ -31,6 +32,7 @@ import org.partiql.types.StaticType
class InferencerNaryOpInTests {
@ParameterizedTest
@MethodSource("parametersForNAryOpInTests")
@Disabled("StaticType.ALL_TYPES no longer supports NULL/MISSING")
fun nAryOpInTests(tc: TestCase) = runTest(tc)

companion object {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package org.partiql.lang.eval.visitors.inferencer

import org.junit.jupiter.api.Disabled
import org.junit.jupiter.params.ParameterizedTest
import org.junit.jupiter.params.provider.MethodSource
import org.partiql.lang.eval.visitors.inferencer.InferencerTestUtil.TestCase
Expand All @@ -10,6 +11,7 @@ import org.partiql.types.StaticType
class InferencerTrimFunctionTests {
@ParameterizedTest
@MethodSource("parametersForTrimFunctionTests")
@Disabled("StaticType.ALL_TYPES no longer supports NULL/MISSING")
fun trimFunctionTests(tc: TestCase) = runTest(tc)

companion object {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package org.partiql.lang.eval.visitors.inferencer

import org.junit.jupiter.api.Disabled
import org.junit.jupiter.params.ParameterizedTest
import org.junit.jupiter.params.provider.MethodSource
import org.partiql.errors.Problem
Expand All @@ -15,6 +16,7 @@ import org.partiql.types.StaticType
class InferencerUnaryArithmeticOpTests {
@ParameterizedTest
@MethodSource("parametersForUnaryArithmeticOpTests")
@Disabled("StaticType.ALL_TYPES no longer supports NULL/MISSING")
fun unaryArithmeticInferenceTests(tc: InferencerTestUtil.TestCase) = InferencerTestUtil.runTest(tc)

companion object {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -365,7 +365,7 @@ internal object PlanTransform : PlanBaseVisitor<PlanNode, ProblemCallback>() {
org.partiql.plan.Agg(
FunctionSignature.Aggregation(
"UNKNOWN_AGG::$name",
returns = PartiQLValueType.MISSING,
returns = PartiQLValueType.ANY, // TODO: Make unknown or something similar
parameters = emptyList()
)
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,6 @@ import org.partiql.planner.internal.ir.rexOpStructField
import org.partiql.planner.internal.ir.rexOpSubquery
import org.partiql.planner.internal.ir.rexOpTupleUnion
import org.partiql.planner.internal.ir.rexOpVarUnresolved
import org.partiql.planner.internal.typer.toNonNullStaticType
import org.partiql.planner.internal.typer.toStaticType
import org.partiql.types.StaticType
import org.partiql.types.TimeType
Expand Down Expand Up @@ -70,10 +69,7 @@ internal object RexConverter {
throw IllegalArgumentException("unsupported rex $node")

override fun visitExprLit(node: Expr.Lit, context: Env): Rex {
val type = when (node.value.isNull) {
true -> node.value.type.toStaticType()
else -> node.value.type.toNonNullStaticType()
}
val type = node.value.type.toStaticType()
val op = rexOpLit(node.value)
return rex(type, op)
}
Expand All @@ -82,10 +78,7 @@ internal object RexConverter {
val value =
PartiQLValueIonReaderBuilder
.standard().build(node.value).read()
val type = when (value.isNull) {
true -> value.type.toStaticType()
else -> value.type.toNonNullStaticType()
}
val type = value.type.toStaticType()
return rex(type, rexOpLit(value))
}

Expand Down Expand Up @@ -287,7 +280,7 @@ internal object RexConverter {
}.toMutableList()

val defaultRex = when (val default = node.default) {
null -> rex(type = StaticType.NULL, op = rexOpLit(value = nullValue()))
null -> rex(type = StaticType.ANY, op = rexOpLit(value = nullValue()))
else -> visitExprCoerce(default, context)
}
val op = rexOpCase(branches = branches, default = defaultRex)
Expand Down Expand Up @@ -528,8 +521,8 @@ internal object RexConverter {
val type = node.asType
val arg0 = visitExprCoerce(node.value, ctx)
return when (type) {
is Type.NullType -> rex(StaticType.NULL, call("cast_null", arg0))
is Type.Missing -> rex(StaticType.MISSING, call("cast_missing", arg0))
is Type.NullType -> error("Cannot cast any value to NULL")
is Type.Missing -> error("Cannot cast any value to MISSING")
is Type.Bool -> rex(StaticType.BOOL, call("cast_bool", arg0))
is Type.Tinyint -> TODO("Static Type does not have TINYINT type")
is Type.Smallint, is Type.Int2 -> rex(StaticType.INT2, call("cast_int16", arg0))
Expand Down
Loading

1 comment on commit 8402db6

@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: 8402db6 Previous: 7b78453 Ratio
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.compileCrossJoinAggFuncGroupingWithInterruptible 267.3260569559802 us/op 258.0312578118349 us/op 1.04
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.compileCrossJoinAggFuncGroupingWithoutInterruptible 253.44771417204174 us/op 271.9216550476268 us/op 0.93
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.compileCrossJoinAggFuncWithInterruptible 247.3448316801278 us/op 236.7708045057049 us/op 1.04
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.compileCrossJoinAggFuncWithoutInterruptible 234.67216810966625 us/op 239.6976051160806 us/op 0.98
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.compileCrossJoinWithInterruptible 176.78431528987957 us/op 181.61706306369186 us/op 0.97
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.compileCrossJoinWithoutInterruptible 173.36922254979706 us/op 170.81230057622656 us/op 1.01
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.evalCrossJoinAggGroupWithInterruptible 13205045.768900001 us/op 13084511.07955 us/op 1.01
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.evalCrossJoinAggGroupWithoutInterruptible 12908708.23795 us/op 12965861.352550002 us/op 1.00
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.evalCrossJoinAggWithInterruptible 4988838.262599999 us/op 5413760.367749999 us/op 0.92
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.evalCrossJoinAggWithoutInterruptible 4989374.918350001 us/op 4991999.8992 us/op 1.00
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.evalCrossJoinWithInterruptible 40.86251862953145 us/op 38.83560609004853 us/op 1.05
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.evalCrossJoinWithoutInterruptible 43.33114199461602 us/op 39.272231767926456 us/op 1.10
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.iterCrossJoinAggGroupWithInterruptible 12724730.512449998 us/op 13125282.528349997 us/op 0.97
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.iterCrossJoinAggGroupWithoutInterruptible 13024444.027350001 us/op 12852043.497849997 us/op 1.01
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.iterCrossJoinAggWithInterruptible 4996501.605049999 us/op 5262568.458800001 us/op 0.95
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.iterCrossJoinAggWithoutInterruptible 5084787.008100001 us/op 4843938.34585 us/op 1.05
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.iterCrossJoinWithInterruptible 97384.38810636364 us/op 92369.2777181818 us/op 1.05
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.iterCrossJoinWithoutInterruptible 92628.01298030301 us/op 97563.47155727274 us/op 0.95
org.partiql.jmh.benchmarks.MultipleLikeBenchmark.testPartiQLCompiler15 79.74152767798164 us/op 80.90974293513418 us/op 0.99
org.partiql.jmh.benchmarks.MultipleLikeBenchmark.testPartiQLCompiler30 150.35416185029686 us/op 152.6911463450802 us/op 0.98
org.partiql.jmh.benchmarks.MultipleLikeBenchmark.testPartiQLEvaluator15 376324.43185 us/op 372684.91524999996 us/op 1.01
org.partiql.jmh.benchmarks.MultipleLikeBenchmark.testPartiQLEvaluator30 723467.6094000001 us/op 728361.468175 us/op 0.99
org.partiql.jmh.benchmarks.MultipleLikeBenchmark.testPartiQLEvaluator30WithData10 7469771.327050002 us/op 7220257.0293999985 us/op 1.03
org.partiql.jmh.benchmarks.MultipleLikeBenchmark.testPartiQLParser15 135.03039946373866 us/op 131.11539497599318 us/op 1.03
org.partiql.jmh.benchmarks.MultipleLikeBenchmark.testPartiQLParser30 246.72321303375102 us/op 251.63815977477162 us/op 0.98
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameCaseWhenThen 33.24363246800381 us/op 34.10151251106041 us/op 0.97
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameComplexQuery 42.62168846796432 us/op 43.00005498075624 us/op 0.99
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameComplexQuery01 243.0015293560019 us/op 240.00054858896138 us/op 1.01
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameComplexQuery02 416.4310533042395 us/op 413.2758531553084 us/op 1.01
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameExceptUnionIntersectSixty 161.02739749473352 us/op 158.74084877287711 us/op 1.01
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameExec20Expressions 49.656264304374986 us/op 47.18522668585566 us/op 1.05
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameFromLet 33.816967498744766 us/op 34.46729497552174 us/op 0.98
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameGraphPattern 32.07328740161807 us/op 32.40841353713087 us/op 0.99
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameGraphPreFilters 58.59787287636401 us/op 58.49444672973781 us/op 1.00
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameGroupLimit 39.6420968057892 us/op 39.97458275684829 us/op 0.99
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameLongFromSourceOrderBy 48.53045429780985 us/op 48.38922371772451 us/op 1.00
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameManyJoins 50.237518927186045 us/op 51.12093524723656 us/op 0.98
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameNestedAggregates 86.66341327656806 us/op 83.72017072454773 us/op 1.04
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameNestedParen 13.825581581276358 us/op 13.705020498200767 us/op 1.01
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNamePivot 50.7662278735329 us/op 51.15301559893682 us/op 0.99
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameQuery15OrsAndLikes 158.84080687194813 us/op 160.37233981722508 us/op 0.99
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameQuery30Plus 87.52497892278282 us/op 85.97194502429457 us/op 1.02
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameQueryFunc 38.72988198195826 us/op 39.70867845849524 us/op 0.98
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameQueryFuncInProjection 43.301220832595206 us/op 42.890822273976184 us/op 1.01
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameQueryList 59.99700666631777 us/op 60.63155385417191 us/op 0.99
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameQueryNestedSelect 573.2430406485947 us/op 586.3379159375794 us/op 0.98
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameQuerySimple 12.255097979740524 us/op 12.276617906628163 us/op 1.00
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameSeveralJoins 16.693446773541844 us/op 16.915179685834183 us/op 0.99
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameSeveralProjections 55.83786533607773 us/op 56.006244025619196 us/op 1.00
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameSeveralSelect 159.1951944787998 us/op 161.92162326609852 us/op 0.98
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameSimpleInsert 23.253641787093457 us/op 23.28180889253779 us/op 1.00
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameSomeJoins 17.316172870130725 us/op 17.113497749714067 us/op 1.01
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameSomeProjections 23.515071421280076 us/op 23.368756813447877 us/op 1.01
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameSomeSelect 41.99965224308029 us/op 40.73910363487401 us/op 1.03
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameTimeZone 19.353616408013387 us/op 19.914847283148553 us/op 0.97
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameVeryLongQuery 195.6518563893121 us/op 191.4290738460998 us/op 1.02
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameVeryLongQuery01 750.1900734819778 us/op 753.7090913926368 us/op 1.00
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameCaseWhenThen 18.562605093767655 us/op 18.391018174098893 us/op 1.01
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameComplexQuery 183.41503352728012 us/op 198.3114336649004 us/op 0.92
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameComplexQuery01 86.33498646444605 us/op 86.71656159397119 us/op 1.00
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameExceptUnionIntersectSixty 165.25284745328452 us/op 165.154672185388 us/op 1.00
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameExec20Expressions 46.37756447095283 us/op 46.51200840046726 us/op 1.00
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameFromLet 27.582931764590946 us/op 27.79609346938891 us/op 0.99
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameGraphPattern 30.456340907404563 us/op 29.854219047345754 us/op 1.02
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameGraphPreFilters 53.287253894154865 us/op 52.34035864672717 us/op 1.02
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameGroupLimit 25.143723163548298 us/op 26.028581541138845 us/op 0.97
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameLongFromSourceOrderBy 100.84203494112404 us/op 96.88544200738741 us/op 1.04
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameManyJoins 33.44493056131786 us/op 33.966640262479274 us/op 0.98
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameNestedAggregates 70.48910765823294 us/op 73.97880178780329 us/op 0.95
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameNestedParen 60.1080475114126 us/op 60.48582113522199 us/op 0.99
org.partiql.jmh.benchmarks.ParserBenchmark.parseNamePivot 49.71896925302251 us/op 48.82957994595456 us/op 1.02
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameQuery15OrsAndLikes 127.12507343852344 us/op 131.77518415786673 us/op 0.96
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameQuery30Plus 46.24982695116474 us/op 45.98975586729797 us/op 1.01
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameQueryFunc 100.21569489295305 us/op 99.22916584690572 us/op 1.01
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameQueryFuncInProjection 64.42892578512797 us/op 64.11130345502495 us/op 1.00
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameQueryList 54.957436860903684 us/op 57.064710305053325 us/op 0.96
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameQueryNestedSelect 104.79191775774045 us/op 104.90904255988684 us/op 1.00
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameQuerySimple 8.603778803482554 us/op 8.572868576882822 us/op 1.00
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameSeveralJoins 56.32005410612781 us/op 54.86523610020497 us/op 1.03
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameSeveralProjections 40.15874548688065 us/op 40.39690534817943 us/op 0.99
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameSeveralSelect 77.2031413580128 us/op 74.53966981042502 us/op 1.04
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameSimpleInsert 15.038627829502497 us/op 15.034381966413472 us/op 1.00
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameSomeJoins 14.768332482378266 us/op 14.619816209405409 us/op 1.01
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameSomeProjections 13.122499841319856 us/op 13.026158911944089 us/op 1.01
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameSomeSelect 24.07329201427802 us/op 25.74193562255051 us/op 0.94
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameTimeZone 6.123654417029387 us/op 6.05915451313289 us/op 1.01
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameVeryLongQuery 311.7927062885107 us/op 300.7631057254705 us/op 1.04
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameVeryLongQuery01 869.9349224794289 us/op 836.9570088963832 us/op 1.04
org.partiql.jmh.benchmarks.PartiQLBenchmark.testPartiQLCompiler 6.8870943250086025 us/op 7.129727931959238 us/op 0.97
org.partiql.jmh.benchmarks.PartiQLBenchmark.testPartiQLEvaluator 1.9402491460746147 us/op 2.138618041325344 us/op 0.91
org.partiql.jmh.benchmarks.PartiQLBenchmark.testPartiQLParser 7.702415643701488 us/op 7.726849619377783 us/op 1.00
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineAsyncBenchmark.testCompileQuery1 7.121328464609187 us/op 6.860282406992245 us/op 1.04
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineAsyncBenchmark.testCompileQuery2 13.82434793751626 us/op 13.943736070753388 us/op 0.99
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineAsyncBenchmark.testCompileQuery3 15.437704942912342 us/op 14.881810718621509 us/op 1.04
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineAsyncBenchmark.testCompileQuery4 23.38962746560393 us/op 22.48043232588453 us/op 1.04
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineAsyncBenchmark.testCompileQuery5 23.467519558075423 us/op 23.79027448104745 us/op 0.99
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineAsyncBenchmark.testEvalQuery1 143325.45045982144 us/op 147844.5163714286 us/op 0.97
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineAsyncBenchmark.testEvalQuery10 15.822722344055801 us/op 15.470132303498545 us/op 1.02
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineAsyncBenchmark.testEvalQuery11 2.4757354483966902 us/op 2.4029605846159776 us/op 1.03
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineAsyncBenchmark.testEvalQuery2 248823.54752749996 us/op 249744.27475000004 us/op 1.00
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineAsyncBenchmark.testEvalQuery3 243044.4310025 us/op 244805.72318749997 us/op 0.99
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineAsyncBenchmark.testEvalQuery4 310468.8655249999 us/op 309275.7964666666 us/op 1.00
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineAsyncBenchmark.testEvalQuery5 305770.6130541666 us/op 313703.3800375 us/op 0.97
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineAsyncBenchmark.testEvalQuery6 360639.90318333334 us/op 376441.74405000004 us/op 0.96
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineAsyncBenchmark.testEvalQuery7 30216.12557488478 us/op 31601.466255636544 us/op 0.96
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineAsyncBenchmark.testEvalQuery8 2827.624665036121 us/op 2802.352345802803 us/op 1.01
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineAsyncBenchmark.testEvalQuery9 270.76176133566037 us/op 260.23045805629505 us/op 1.04
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineBenchmark.testCompileQuery1 6.842369023987392 us/op 6.907705451943251 us/op 0.99
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineBenchmark.testCompileQuery2 13.232292255232656 us/op 13.344927277362228 us/op 0.99
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineBenchmark.testCompileQuery3 15.37126570222534 us/op 14.58921685000718 us/op 1.05
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineBenchmark.testCompileQuery4 21.595966773720136 us/op 21.46576952362623 us/op 1.01
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineBenchmark.testCompileQuery5 21.71378183069816 us/op 21.75900885708789 us/op 1.00
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineBenchmark.testEvalQuery1 135350.64745625 us/op 133304.404375 us/op 1.02
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineBenchmark.testEvalQuery10 9.784835289976602 us/op 9.504296831550125 us/op 1.03
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineBenchmark.testEvalQuery11 1.3355247324429635 us/op 1.3767242124317463 us/op 0.97
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineBenchmark.testEvalQuery2 190714.34316666663 us/op 195120.04669 us/op 0.98
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineBenchmark.testEvalQuery3 194711.02396666666 us/op 200046.0033116667 us/op 0.97
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineBenchmark.testEvalQuery4 253034.31774749997 us/op 257074.72326249993 us/op 0.98
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineBenchmark.testEvalQuery5 235340.38906000002 us/op 228350.43838 us/op 1.03
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineBenchmark.testEvalQuery6 296709.71166250005 us/op 295796.48618750006 us/op 1.00
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineBenchmark.testEvalQuery7 24485.46995051328 us/op 22490.189015770746 us/op 1.09
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineBenchmark.testEvalQuery8 2194.7321869904517 us/op 2129.2437977011905 us/op 1.03
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineBenchmark.testEvalQuery9 202.5705162620759 us/op 198.12106708615391 us/op 1.02
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameCaseWhenThen 32.847814586924486 us/op 32.33818510977178 us/op 1.02
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameComplexQuery 44.429246896138736 us/op 41.24234773993463 us/op 1.08
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameComplexQuery01 234.5451059610977 us/op 235.6902019076319 us/op 1.00
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameComplexQuery02 414.05782872180123 us/op 410.9298063607648 us/op 1.01
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameExceptUnionIntersectSixty 156.37561231019313 us/op 154.6221190372893 us/op 1.01
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameExec20Expressions 45.562326912295674 us/op 44.53113719197147 us/op 1.02
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameFromLet 32.48170078676561 us/op 32.957582701466684 us/op 0.99
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameGraphPattern 32.096499773317504 us/op 31.65736253752745 us/op 1.01
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameGraphPreFilters 57.396671590126594 us/op 56.5676848203218 us/op 1.01
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameGroupLimit 39.899736007568386 us/op 39.583842532260164 us/op 1.01
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameLongFromSourceOrderBy 47.5850294622104 us/op 46.93536385760632 us/op 1.01
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameManyJoins 48.12295173335623 us/op 50.686529994380344 us/op 0.95
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameNestedAggregates 84.34170951827411 us/op 83.29947735037354 us/op 1.01
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameNestedParen 13.277349806526752 us/op 13.114613882080672 us/op 1.01
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNamePivot 51.75761542044861 us/op 51.19884717964114 us/op 1.01
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameQuery15OrsAndLikes 153.86184953166844 us/op 157.65433695270153 us/op 0.98
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameQuery30Plus 88.05848649404201 us/op 85.75842236546222 us/op 1.03
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameQueryFunc 38.093165607654406 us/op 39.48043916748856 us/op 0.96
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameQueryFuncInProjection 43.086733698349725 us/op 43.11468321398296 us/op 1.00
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameQueryList 58.552883189994745 us/op 58.392728969428084 us/op 1.00
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameQueryNestedSelect 577.5857286940291 us/op 579.4096084207562 us/op 1.00
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameQuerySimple 12.023276528451552 us/op 11.9455988670317 us/op 1.01
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameSeveralJoins 16.459748712993992 us/op 16.51254039117163 us/op 1.00
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameSeveralProjections 53.27366426732764 us/op 53.1907577261657 us/op 1.00
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameSeveralSelect 158.08478941470918 us/op 154.4153527685885 us/op 1.02
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameSimpleInsert 22.16062156663256 us/op 22.204756402320697 us/op 1.00
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameSomeJoins 16.17398689877142 us/op 16.292629302364087 us/op 0.99
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameSomeProjections 22.800032880848995 us/op 21.873013615968933 us/op 1.04
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameSomeSelect 40.2345353134137 us/op 40.20783564015042 us/op 1.00
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameTimeZone 18.773320374348298 us/op 19.713557170583123 us/op 0.95
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameVeryLongQuery 190.81603231505542 us/op 193.18763335191142 us/op 0.99
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameVeryLongQuery01 758.3747827188151 us/op 751.1613109578883 us/op 1.01
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameCaseWhenThen 23.78132809366082 us/op 23.820582085994836 us/op 1.00
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameComplexQuery 241.86842881237172 us/op 245.2926123174981 us/op 0.99
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameComplexQuery01 121.6159894263238 us/op 118.92642586705101 us/op 1.02
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameExceptUnionIntersectSixty 258.13365337355475 us/op 263.3797331882896 us/op 0.98
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameExec20Expressions 65.04787581890415 us/op 65.74008798292324 us/op 0.99
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameFromLet 38.61827095150126 us/op 41.13482251761617 us/op 0.94
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameGraphPattern 46.58394554751969 us/op 46.47716044399294 us/op 1.00
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameGraphPreFilters 83.33152905487796 us/op 83.97290490347096 us/op 0.99
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameGroupLimit 28.790162675070015 us/op 27.81084798742952 us/op 1.04
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameLongFromSourceOrderBy 119.6107117256386 us/op 115.53260407351715 us/op 1.04
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameManyJoins 42.726217375272 us/op 43.71038080629727 us/op 0.98
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameNestedAggregates 100.25766007064473 us/op 100.17221399622913 us/op 1.00
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameNestedParen 66.97842853258274 us/op 66.7736954334948 us/op 1.00
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNamePivot 64.45954261370804 us/op 64.71512801156156 us/op 1.00
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameQuery15OrsAndLikes 189.3049782430452 us/op 193.35094694359006 us/op 0.98
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameQuery30Plus 57.71237027615549 us/op 57.304756606931335 us/op 1.01
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameQueryFunc 112.46477892318073 us/op 113.3471733697327 us/op 0.99
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameQueryFuncInProjection 77.13480780906164 us/op 80.63709252927586 us/op 0.96
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameQueryList 69.660976521972 us/op 68.20680770045576 us/op 1.02
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameQueryNestedSelect 140.15611977371327 us/op 137.87585724717275 us/op 1.02
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameQuerySimple 11.901864089856968 us/op 11.826444803527918 us/op 1.01
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameSeveralJoins 77.83520831796662 us/op 79.25964764829732 us/op 0.98
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameSeveralProjections 62.82041015874604 us/op 60.017036811748675 us/op 1.05
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameSeveralSelect 116.5476920794359 us/op 112.97719943722959 us/op 1.03
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameSimpleInsert 21.805480973579357 us/op 22.34700707050764 us/op 0.98
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameSomeJoins 20.19709173656236 us/op 21.06976668520552 us/op 0.96
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameSomeProjections 20.260474420131324 us/op 18.882041805095255 us/op 1.07
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameSomeSelect 36.8732111230996 us/op 36.053144902117545 us/op 1.02
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameTimeZone 7.64533268156196 us/op 7.750670546767108 us/op 0.99
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameVeryLongQuery 468.4012664159266 us/op 465.4046977924716 us/op 1.01
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameVeryLongQuery01 1163.4950753889439 us/op 1167.3570637368034 us/op 1.00

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

Please sign in to comment.