-
Notifications
You must be signed in to change notification settings - Fork 62
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fixes parsing of signed numeric literals (#1484)
- Loading branch information
Showing
6 changed files
with
208 additions
and
55 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
74 changes: 74 additions & 0 deletions
74
partiql-lang/src/test/kotlin/org/partiql/lang/syntax/PartiQLParserLiteralTests.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,74 @@ | ||
package org.partiql.lang.syntax | ||
|
||
import org.junit.jupiter.api.parallel.Execution | ||
import org.junit.jupiter.api.parallel.ExecutionMode | ||
import org.junit.jupiter.params.ParameterizedTest | ||
import org.junit.jupiter.params.provider.MethodSource | ||
|
||
class PartiQLParserLiteralTests : PartiQLParserTestBase() { | ||
|
||
override val targets: Array<ParserTarget> = arrayOf(ParserTarget.EXPERIMENTAL) | ||
|
||
@ParameterizedTest | ||
@MethodSource("cases") | ||
@Execution(ExecutionMode.CONCURRENT) | ||
fun testAll(case: Case) { | ||
assertExpression( | ||
source = case.input, | ||
expectedPigAst = case.expect, | ||
) | ||
Long.MAX_VALUE | ||
} | ||
|
||
companion object { | ||
|
||
@JvmStatic | ||
fun cases() = listOf( | ||
Case( | ||
input = "1", | ||
expect = "(lit 1)" | ||
), | ||
Case( | ||
input = "+-1", | ||
expect = "(lit -1)" | ||
), | ||
Case( | ||
input = "-+1", | ||
expect = "(lit -1)" | ||
), | ||
Case( | ||
input = "-+-1", | ||
expect = "(lit 1)" | ||
), | ||
Case( | ||
input = "+++1", | ||
expect = "(lit 1)" | ||
), | ||
Case( | ||
input = "-1", | ||
expect = "(lit -1)" | ||
), | ||
Case( | ||
input = "+1", | ||
expect = "(lit 1)" | ||
), | ||
Case( | ||
input = "9223372036854775808", // Long.MAX_VALUE + 1 | ||
expect = "(lit 9223372036854775808)" | ||
), | ||
Case( | ||
input = "-9223372036854775809", // Long.MIN_VALUE - 1 | ||
expect = "(lit -9223372036854775809)" | ||
), | ||
Case( | ||
input = "+9223372036854775808", | ||
expect = "(lit 9223372036854775808)" | ||
), | ||
) | ||
} | ||
|
||
class Case( | ||
@JvmField val input: String, | ||
@JvmField val expect: String, | ||
) | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
55 changes: 55 additions & 0 deletions
55
partiql-parser/src/main/kotlin/org/partiql/parser/internal/util/NumberUtils.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
package org.partiql.parser.internal.util | ||
|
||
import org.partiql.value.DecimalValue | ||
import org.partiql.value.Float32Value | ||
import org.partiql.value.Float64Value | ||
import org.partiql.value.Int16Value | ||
import org.partiql.value.Int32Value | ||
import org.partiql.value.Int64Value | ||
import org.partiql.value.Int8Value | ||
import org.partiql.value.IntValue | ||
import org.partiql.value.NumericValue | ||
import org.partiql.value.PartiQLValueExperimental | ||
import org.partiql.value.decimalValue | ||
import org.partiql.value.float32Value | ||
import org.partiql.value.float64Value | ||
import org.partiql.value.int16Value | ||
import org.partiql.value.int32Value | ||
import org.partiql.value.int64Value | ||
import org.partiql.value.int8Value | ||
import org.partiql.value.intValue | ||
import java.math.BigInteger | ||
|
||
internal object NumberUtils { | ||
|
||
/** | ||
* We might consider a `negate` method on the NumericValue but this is fine for now and is internal. | ||
*/ | ||
@OptIn(PartiQLValueExperimental::class) | ||
internal fun NumericValue<*>.negate(): NumericValue<*> = when (this) { | ||
is DecimalValue -> decimalValue(value?.negate()) | ||
is Float32Value -> float32Value(value?.let { it * -1 }) | ||
is Float64Value -> float64Value(value?.let { it * -1 }) | ||
is Int8Value -> when (value) { | ||
null -> this | ||
Byte.MIN_VALUE -> int16Value(value?.let { (it.toInt() * -1).toShort() }) | ||
else -> int8Value(value?.let { (it.toInt() * -1).toByte() }) | ||
} | ||
is Int16Value -> when (value) { | ||
null -> this | ||
Short.MIN_VALUE -> int32Value(value?.let { it.toInt() * -1 }) | ||
else -> int16Value(value?.let { (it.toInt() * -1).toShort() }) | ||
} | ||
is Int32Value -> when (value) { | ||
null -> this | ||
Int.MIN_VALUE -> int64Value(value?.let { it.toLong() * -1 }) | ||
else -> int32Value(value?.let { it * -1 }) | ||
} | ||
is Int64Value -> when (value) { | ||
null -> this | ||
Long.MIN_VALUE -> intValue(BigInteger.valueOf(Long.MAX_VALUE).add(BigInteger.ONE)) | ||
else -> int64Value(value?.let { it * -1 }) | ||
} | ||
is IntValue -> intValue(value?.negate()) | ||
} | ||
} |
36 changes: 36 additions & 0 deletions
36
partiql-parser/src/test/kotlin/org/partiql/parser/internal/util/NumberUtilsTest.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
package org.partiql.parser.internal.util | ||
|
||
import org.junit.jupiter.api.Assertions.assertEquals | ||
import org.junit.jupiter.api.Test | ||
import org.partiql.parser.internal.util.NumberUtils.negate | ||
import org.partiql.value.PartiQLValueExperimental | ||
import org.partiql.value.decimalValue | ||
import org.partiql.value.int16Value | ||
import org.partiql.value.int32Value | ||
import org.partiql.value.int64Value | ||
import org.partiql.value.int8Value | ||
import org.partiql.value.intValue | ||
import java.math.BigDecimal | ||
import java.math.BigInteger | ||
|
||
@OptIn(PartiQLValueExperimental::class) | ||
class NumberUtilsTest { | ||
|
||
@Test | ||
fun negate_normal() { | ||
assertEquals(int8Value(-1), int8Value(1).negate()) | ||
assertEquals(int16Value(-1), int16Value(1).negate()) | ||
assertEquals(int32Value(-1), int32Value(1).negate()) | ||
assertEquals(int64Value(-1), int64Value(1).negate()) | ||
assertEquals(intValue(BigInteger.valueOf(-1L)), intValue(BigInteger.valueOf(1L)).negate()) | ||
assertEquals(decimalValue(BigDecimal.valueOf(-1L)), decimalValue(BigDecimal.valueOf(1L)).negate()) | ||
} | ||
|
||
@Test | ||
fun negate_overflow() { | ||
assertEquals(int16Value((Byte.MAX_VALUE.toShort() + 1).toShort()), int8Value(Byte.MIN_VALUE).negate()) | ||
assertEquals(int32Value((Short.MAX_VALUE.toInt() + 1)), int16Value(Short.MIN_VALUE).negate()) | ||
assertEquals(int64Value((Int.MAX_VALUE.toLong() + 1)), int32Value(Int.MIN_VALUE).negate()) | ||
assertEquals(intValue(BigInteger.valueOf(Long.MAX_VALUE) + BigInteger.ONE), int64Value(Long.MIN_VALUE).negate()) | ||
} | ||
} |
d660231
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
JMH Benchmark
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.compileCrossJoinAggFuncGroupingWithInterruptible
252.74594999358305
us/op261.33603685220567
us/op0.97
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.compileCrossJoinAggFuncGroupingWithoutInterruptible
274.8959913825206
us/op250.88568690392304
us/op1.10
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.compileCrossJoinAggFuncWithInterruptible
259.8630433979977
us/op245.24412756601564
us/op1.06
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.compileCrossJoinAggFuncWithoutInterruptible
256.4195753769164
us/op236.30122678028124
us/op1.09
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.compileCrossJoinWithInterruptible
175.07959678917265
us/op173.75145089606343
us/op1.01
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.compileCrossJoinWithoutInterruptible
170.39735975672028
us/op183.99085784865943
us/op0.93
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.evalCrossJoinAggGroupWithInterruptible
12899255.396300001
us/op13046294.04905
us/op0.99
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.evalCrossJoinAggGroupWithoutInterruptible
12893145.015199997
us/op13105217.3649
us/op0.98
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.evalCrossJoinAggWithInterruptible
5004979.8982
us/op4941015.965550001
us/op1.01
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.evalCrossJoinAggWithoutInterruptible
5433915.424699998
us/op5071254.4001
us/op1.07
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.evalCrossJoinWithInterruptible
38.268947813264084
us/op38.80149495434966
us/op0.99
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.evalCrossJoinWithoutInterruptible
39.337832809420824
us/op42.842476652838265
us/op0.92
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.iterCrossJoinAggGroupWithInterruptible
12909761.950499998
us/op13031613.67835
us/op0.99
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.iterCrossJoinAggGroupWithoutInterruptible
12716975.629150001
us/op12797969.11705
us/op0.99
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.iterCrossJoinAggWithInterruptible
5043147.137799999
us/op4907738.499
us/op1.03
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.iterCrossJoinAggWithoutInterruptible
4950251.758699999
us/op4905678.717049999
us/op1.01
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.iterCrossJoinWithInterruptible
99591.28350636364
us/op106343.99628333333
us/op0.94
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.iterCrossJoinWithoutInterruptible
99533.01736454546
us/op99662.41013454545
us/op1.00
org.partiql.jmh.benchmarks.MultipleLikeBenchmark.testPartiQLCompiler15
81.5261306004321
us/op80.40449915383036
us/op1.01
org.partiql.jmh.benchmarks.MultipleLikeBenchmark.testPartiQLCompiler30
153.65639989901544
us/op152.20720378103616
us/op1.01
org.partiql.jmh.benchmarks.MultipleLikeBenchmark.testPartiQLEvaluator15
367132.5676
us/op370428.93231666664
us/op0.99
org.partiql.jmh.benchmarks.MultipleLikeBenchmark.testPartiQLEvaluator30
733300.199125
us/op718000.7548249998
us/op1.02
org.partiql.jmh.benchmarks.MultipleLikeBenchmark.testPartiQLEvaluator30WithData10
7213312.239499999
us/op7362304.684950002
us/op0.98
org.partiql.jmh.benchmarks.MultipleLikeBenchmark.testPartiQLParser15
133.83899577053273
us/op128.96303953467384
us/op1.04
org.partiql.jmh.benchmarks.MultipleLikeBenchmark.testPartiQLParser30
251.670251463973
us/op248.50444018598688
us/op1.01
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameCaseWhenThen
34.0793791819675
us/op34.02288977118842
us/op1.00
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameComplexQuery
43.22350298938118
us/op43.492036191212904
us/op0.99
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameComplexQuery01
237.99949245077414
us/op240.9402435618923
us/op0.99
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameComplexQuery02
407.84703505294107
us/op414.15124732628794
us/op0.98
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameExceptUnionIntersectSixty
156.2051361803257
us/op157.06712182974542
us/op0.99
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameExec20Expressions
48.61696447973553
us/op46.929297399705995
us/op1.04
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameFromLet
33.89907707905799
us/op34.80151389563001
us/op0.97
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameGraphPattern
32.834628770443494
us/op32.45882806557138
us/op1.01
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameGraphPreFilters
57.254522295699
us/op60.27610472211776
us/op0.95
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameGroupLimit
38.823223815822146
us/op40.07316515519824
us/op0.97
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameLongFromSourceOrderBy
48.48182967741001
us/op49.500203371867315
us/op0.98
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameManyJoins
50.4001945124691
us/op49.77695493925118
us/op1.01
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameNestedAggregates
83.60255239650704
us/op87.38645985864687
us/op0.96
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameNestedParen
13.532154173692717
us/op13.571128969083507
us/op1.00
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNamePivot
52.73212762096259
us/op51.713761259393685
us/op1.02
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameQuery15OrsAndLikes
161.5610888179796
us/op157.87304321674344
us/op1.02
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameQuery30Plus
86.58111656236782
us/op86.6944414742785
us/op1.00
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameQueryFunc
39.21522137679006
us/op38.71894503900163
us/op1.01
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameQueryFuncInProjection
43.40426797902607
us/op43.04118121028708
us/op1.01
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameQueryList
59.45998557910243
us/op59.59528262912737
us/op1.00
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameQueryNestedSelect
586.0026029269786
us/op585.2096181784718
us/op1.00
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameQuerySimple
12.394485099296281
us/op12.178714772582127
us/op1.02
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameSeveralJoins
17.514444300068586
us/op17.014883931166494
us/op1.03
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameSeveralProjections
55.92331681519456
us/op56.17960073399833
us/op1.00
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameSeveralSelect
159.44346024344065
us/op160.64511531825173
us/op0.99
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameSimpleInsert
24.029782229221702
us/op23.44199351499048
us/op1.03
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameSomeJoins
17.065451979701415
us/op17.43851331021063
us/op0.98
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameSomeProjections
22.750601566430984
us/op23.13996844041295
us/op0.98
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameSomeSelect
40.93799891286057
us/op40.875299178300615
us/op1.00
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameTimeZone
19.50313971088059
us/op20.117227037102733
us/op0.97
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameVeryLongQuery
193.1759079317999
us/op194.1433957554483
us/op1.00
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameVeryLongQuery01
756.6017772378686
us/op754.2157870481351
us/op1.00
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameCaseWhenThen
18.30527475201561
us/op18.51554563105075
us/op0.99
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameComplexQuery
197.1822214575953
us/op180.9766894886884
us/op1.09
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameComplexQuery01
84.05585193147165
us/op85.92825335882964
us/op0.98
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameExceptUnionIntersectSixty
159.27023315802305
us/op163.30085999508344
us/op0.98
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameExec20Expressions
47.34734017424496
us/op46.82164321854195
us/op1.01
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameFromLet
28.43933802341788
us/op28.815743515283494
us/op0.99
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameGraphPattern
28.864575033371022
us/op29.798836843981906
us/op0.97
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameGraphPreFilters
51.41582544258557
us/op52.21823257476806
us/op0.98
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameGroupLimit
25.4417300803064
us/op25.178786593232367
us/op1.01
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameLongFromSourceOrderBy
96.91100401329811
us/op99.47262827621672
us/op0.97
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameManyJoins
33.361835090764224
us/op34.036639919938004
us/op0.98
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameNestedAggregates
71.573792078148
us/op73.83619447937498
us/op0.97
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameNestedParen
61.522751570250605
us/op66.19915545614069
us/op0.93
org.partiql.jmh.benchmarks.ParserBenchmark.parseNamePivot
49.09310564336383
us/op50.26782306299042
us/op0.98
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameQuery15OrsAndLikes
133.33091678332875
us/op130.02106286684523
us/op1.03
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameQuery30Plus
44.45019994895141
us/op42.62140038671453
us/op1.04
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameQueryFunc
98.50677331014045
us/op97.70809350840693
us/op1.01
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameQueryFuncInProjection
63.7858413136258
us/op63.60394558218403
us/op1.00
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameQueryList
55.29135618363853
us/op58.15901639782934
us/op0.95
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameQueryNestedSelect
109.86176268365776
us/op105.70209539637862
us/op1.04
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameQuerySimple
8.424733279857781
us/op8.387697823825572
us/op1.00
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameSeveralJoins
52.5940931870907
us/op53.21211048276344
us/op0.99
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameSeveralProjections
39.519006137464025
us/op40.93894736195539
us/op0.97
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameSeveralSelect
74.72219374283851
us/op73.73451813598092
us/op1.01
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameSimpleInsert
15.142688546796979
us/op15.228602235236858
us/op0.99
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameSomeJoins
15.034532723989063
us/op14.734385707362202
us/op1.02
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameSomeProjections
12.769477308436514
us/op13.096974781469157
us/op0.97
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameSomeSelect
25.183501243186658
us/op24.320413898975897
us/op1.04
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameTimeZone
5.989788409163304
us/op6.000245632479522
us/op1.00
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameVeryLongQuery
303.19707769375617
us/op305.83927468800385
us/op0.99
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameVeryLongQuery01
856.0356871910075
us/op852.6250754387153
us/op1.00
org.partiql.jmh.benchmarks.PartiQLBenchmark.testPartiQLCompiler
6.962837692557528
us/op6.927880518735319
us/op1.01
org.partiql.jmh.benchmarks.PartiQLBenchmark.testPartiQLEvaluator
1.9804672926421614
us/op1.9542023318394435
us/op1.01
org.partiql.jmh.benchmarks.PartiQLBenchmark.testPartiQLParser
7.595988534808508
us/op7.7416988853925846
us/op0.98
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineAsyncBenchmark.testCompileQuery1
7.06922776606103
us/op7.0910472641779165
us/op1.00
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineAsyncBenchmark.testCompileQuery2
13.833757888857056
us/op13.7842539002849
us/op1.00
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineAsyncBenchmark.testCompileQuery3
15.28321838803063
us/op15.661838619477862
us/op0.98
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineAsyncBenchmark.testCompileQuery4
22.20305431395258
us/op22.506485318243147
us/op0.99
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineAsyncBenchmark.testCompileQuery5
23.853112104145588
us/op23.89735826260511
us/op1.00
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineAsyncBenchmark.testEvalQuery1
147196.21780625
us/op144152.76230714284
us/op1.02
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineAsyncBenchmark.testEvalQuery10
15.57329815257521
us/op15.3888635844567
us/op1.01
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineAsyncBenchmark.testEvalQuery11
2.4669394560180944
us/op2.4775454609086527
us/op1.00
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineAsyncBenchmark.testEvalQuery2
243656.78642999995
us/op239121.77421
us/op1.02
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineAsyncBenchmark.testEvalQuery3
242269.17701499996
us/op239246.03900000002
us/op1.01
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineAsyncBenchmark.testEvalQuery4
301660.0472125
us/op307184.3175125
us/op0.98
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineAsyncBenchmark.testEvalQuery5
298111.20568749995
us/op302047.39670000004
us/op0.99
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineAsyncBenchmark.testEvalQuery6
376012.54099999985
us/op360231.12326666666
us/op1.04
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineAsyncBenchmark.testEvalQuery7
31257.009074092202
us/op30062.62051346575
us/op1.04
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineAsyncBenchmark.testEvalQuery8
2798.7868804811233
us/op2803.6434614384684
us/op1.00
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineAsyncBenchmark.testEvalQuery9
265.20660448790187
us/op264.3797724790646
us/op1.00
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineBenchmark.testCompileQuery1
6.891763147030598
us/op6.903937331194221
us/op1.00
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineBenchmark.testCompileQuery2
13.015188494071248
us/op13.090091776749622
us/op0.99
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineBenchmark.testCompileQuery3
15.0515103761702
us/op14.719238371024767
us/op1.02
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineBenchmark.testCompileQuery4
21.141545639914206
us/op21.245124106808213
us/op1.00
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineBenchmark.testCompileQuery5
21.557032148641973
us/op21.863727369588485
us/op0.99
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineBenchmark.testEvalQuery1
123165.63322847223
us/op133234.12681875002
us/op0.92
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineBenchmark.testEvalQuery10
9.826778855439555
us/op9.667403934425574
us/op1.02
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineBenchmark.testEvalQuery11
1.3666093100355312
us/op1.4122193067068085
us/op0.97
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineBenchmark.testEvalQuery2
196562.07847500005
us/op191842.0537333333
us/op1.02
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineBenchmark.testEvalQuery3
202741.864475
us/op197375.24134166667
us/op1.03
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineBenchmark.testEvalQuery4
249969.77810499998
us/op237944.06124999997
us/op1.05
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineBenchmark.testEvalQuery5
233933.81089999998
us/op237174.40517
us/op0.99
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineBenchmark.testEvalQuery6
295989.9691625
us/op295592.2919125
us/op1.00
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineBenchmark.testEvalQuery7
23094.518138758544
us/op23097.531480549856
us/op1.00
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineBenchmark.testEvalQuery8
2181.9821339564087
us/op2191.36433108353
us/op1.00
org.partiql.jmh.benchmarks.PartiQLCompilerPipelineBenchmark.testEvalQuery9
200.13381643991937
us/op200.17900098555816
us/op1.00
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameCaseWhenThen
32.63788173450541
us/op31.93782445377849
us/op1.02
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameComplexQuery
42.81383754135324
us/op41.494045161732316
us/op1.03
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameComplexQuery01
235.89611267098508
us/op236.22006002620884
us/op1.00
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameComplexQuery02
406.10239105905066
us/op411.59175439915924
us/op0.99
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameExceptUnionIntersectSixty
157.61554220516913
us/op156.70532087545206
us/op1.01
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameExec20Expressions
44.70955097868541
us/op45.40519329231049
us/op0.98
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameFromLet
32.74088970766555
us/op33.4873820248679
us/op0.98
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameGraphPattern
31.501409809806837
us/op31.81722302069871
us/op0.99
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameGraphPreFilters
55.784696823017654
us/op56.1245369368814
us/op0.99
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameGroupLimit
39.4743227681785
us/op41.091448875259445
us/op0.96
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameLongFromSourceOrderBy
47.398560157775215
us/op47.969347473157896
us/op0.99
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameManyJoins
49.869439620812315
us/op50.278919792328665
us/op0.99
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameNestedAggregates
85.48947479780426
us/op82.03954508493494
us/op1.04
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameNestedParen
13.109100450527063
us/op13.08602144214205
us/op1.00
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNamePivot
51.72811055672021
us/op51.24754090834951
us/op1.01
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameQuery15OrsAndLikes
160.37632147519665
us/op153.5879063173848
us/op1.04
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameQuery30Plus
86.56652175332506
us/op85.82352062627021
us/op1.01
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameQueryFunc
38.688499772171454
us/op38.2877103133687
us/op1.01
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameQueryFuncInProjection
42.49535057788865
us/op42.99082670369021
us/op0.99
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameQueryList
57.87560286501444
us/op58.2035561209172
us/op0.99
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameQueryNestedSelect
587.489399544416
us/op578.496683714498
us/op1.02
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameQuerySimple
11.92793478927479
us/op12.085418524115042
us/op0.99
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameSeveralJoins
16.650081065399295
us/op16.14675452812662
us/op1.03
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameSeveralProjections
52.95532450932988
us/op54.4752113047705
us/op0.97
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameSeveralSelect
160.49637108529697
us/op159.28686922449873
us/op1.01
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameSimpleInsert
22.061276153101325
us/op22.523179091275143
us/op0.98
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameSomeJoins
16.003684381179887
us/op16.264924859614727
us/op0.98
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameSomeProjections
21.79218218038202
us/op21.9432916440536
us/op0.99
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameSomeSelect
39.73787487218975
us/op40.07415496845793
us/op0.99
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameTimeZone
18.965587910320043
us/op18.90535153725048
us/op1.00
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameVeryLongQuery
192.84208035336866
us/op195.704410586612
us/op0.99
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseFailNameVeryLongQuery01
756.6536290533362
us/op775.8387251732881
us/op0.98
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameCaseWhenThen
23.57749132121111
us/op23.719082061203572
us/op0.99
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameComplexQuery
235.83242540170667
us/op241.45481463992897
us/op0.98
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameComplexQuery01
125.12092967430726
us/op126.9080421310179
us/op0.99
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameExceptUnionIntersectSixty
255.85798063714736
us/op268.170126911437
us/op0.95
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameExec20Expressions
61.006173446737264
us/op62.39470319782329
us/op0.98
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameFromLet
40.722513409407824
us/op38.45850214143097
us/op1.06
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameGraphPattern
44.95968363753475
us/op46.61165359956202
us/op0.96
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameGraphPreFilters
82.18722625960629
us/op77.89741720344071
us/op1.06
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameGroupLimit
28.634451747761325
us/op28.528270594088344
us/op1.00
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameLongFromSourceOrderBy
115.60974516170215
us/op120.80060481135278
us/op0.96
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameManyJoins
43.0731775969935
us/op41.7884909402704
us/op1.03
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameNestedAggregates
99.38240980356156
us/op101.98079054773055
us/op0.97
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameNestedParen
68.27936402066616
us/op65.0878908715368
us/op1.05
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNamePivot
63.56879916561669
us/op64.39839992486392
us/op0.99
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameQuery15OrsAndLikes
189.75473393658854
us/op188.83558449895594
us/op1.00
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameQuery30Plus
60.546264714990606
us/op58.4204692447934
us/op1.04
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameQueryFunc
113.5094121829165
us/op112.10706924202638
us/op1.01
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameQueryFuncInProjection
79.65527361891527
us/op79.68488657922278
us/op1.00
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameQueryList
70.02286267276271
us/op69.32395119397849
us/op1.01
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameQueryNestedSelect
141.85139707784822
us/op137.9744517230177
us/op1.03
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameQuerySimple
12.080429534002475
us/op12.384590667684659
us/op0.98
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameSeveralJoins
79.12792742463327
us/op80.15597414037242
us/op0.99
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameSeveralProjections
64.51245099372
us/op63.88486832879115
us/op1.01
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameSeveralSelect
113.67328525027305
us/op115.91801765972536
us/op0.98
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameSimpleInsert
22.154403935059484
us/op21.917085671192265
us/op1.01
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameSomeJoins
19.97608672990859
us/op20.462739671602932
us/op0.98
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameSomeProjections
17.917465414317117
us/op18.887548957003926
us/op0.95
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameSomeSelect
35.002944161833724
us/op34.44528095902976
us/op1.02
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameTimeZone
7.691838011732628
us/op7.401224760077291
us/op1.04
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameVeryLongQuery
458.8393237031967
us/op460.63447242619634
us/op1.00
org.partiql.jmh.benchmarks.PartiQLParserBenchmark.parseNameVeryLongQuery01
1200.0273616518666
us/op1125.6095387611267
us/op1.07
This comment was automatically generated by workflow using github-action-benchmark.