Skip to content

Commit

Permalink
Prepare v0.13.1 release and add partiql-planner Maven publishing plug…
Browse files Browse the repository at this point in the history
…in v0.13.1 (#1217)

Co-authored-by: John Ed Quinn <[email protected]>
  • Loading branch information
alancai98 and johnedquinn authored Sep 20, 2023
1 parent 1c08148 commit 8a8fdd0
Show file tree
Hide file tree
Showing 6 changed files with 38 additions and 28 deletions.
29 changes: 22 additions & 7 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,22 +25,15 @@ Thank you to all who have contributed!
-->


## [Unreleased]

### Added
- Adds `isInterruptible` property to `CompileOptions`. The default value is `false`. Please see the KDocs for more information.
- Adds support for thread interruption in compilation and execution. If you'd like to opt-in to this addition, please see
the `isInterruptible` addition above for more information.
- Adds support for CLI users to use CTRL-C to cancel long-running compilation/execution of queries

### Changed

### Deprecated

### Fixed
- Fix a bug in `FilterScanToKeyLookup` pass wherein it was rewriting primary key equality expressions with references
to the candidate row on both sides. Now it will correctly ignore such expressions.

### Removed

Expand All @@ -50,6 +43,28 @@ Thank you to all who have contributed!
Thank you to all who have contributed!
- @<your-username>

## [0.13.1] - 2023-09-19

### Added
- Adds `isInterruptible` property to `CompileOptions`. The default value is `false`. Please see the KDocs for more information.
- Adds support for thread interruption in compilation and execution. If you'd like to opt-in to this addition, please see
the `isInterruptible` addition above for more information.
- Adds support for CLI users to use CTRL-C to cancel long-running compilation/execution of queries

### Fixed
- Fix a bug in `FilterScanToKeyLookup` pass wherein it was rewriting primary key equality expressions with references
to the candidate row on both sides. Now it will correctly ignore such expressions.
- Fixes build failure for version `0.13.0` by publishing `partiql-plan` as an independent artifact. Please note that `partiql-plan` is experimental.


### Contributors
Thank you to all who have contributed!
- @dlurton
- @yliuuuu
- @am357
- @johnedquinn
- @alancai98

## [0.13.0] - 2023-09-07

### Added
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ This project is published to [Maven Central](https://search.maven.org/artifact/o

| Group ID | Artifact ID | Recommended Version |
|---------------|-----------------------|---------------------|
| `org.partiql` | `partiql-lang-kotlin` | `0.13.0` |
| `org.partiql` | `partiql-lang-kotlin` | `0.13.1` |


For Maven builds, add the following to your `pom.xml`:
Expand Down
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
group=org.partiql
version=0.13.1-SNAPSHOT
version=0.13.1

ossrhUsername=EMPTY
ossrhPassword=EMPTY
Expand Down
19 changes: 1 addition & 18 deletions partiql-lang/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,6 @@ plugins {
id(Plugins.publish)
}

val libs: Configuration by configurations.creating

configurations {
api.get().extendsFrom(libs)
}

// Disabled for partiql-lang project.
kotlin {
explicitApi = null
Expand All @@ -36,11 +30,10 @@ dependencies {
api(project(":partiql-parser"))
api(project(":partiql-spi"))
api(project(":partiql-types"))
api(project(":partiql-plan"))
api(Deps.ionElement)
api(Deps.ionJava)
api(Deps.ionSchema)
// libs are included in partiql-lang-kotlin JAR, but are not published independently yet.
libs(project(":partiql-plan"))
implementation(Deps.antlrRuntime)
implementation(Deps.csv)
implementation(Deps.kotlinReflect)
Expand Down Expand Up @@ -79,13 +72,3 @@ tasks.processResources {
include("partiql.ion")
}
}

tasks.jar {
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
// adds all `libs(project(...))` to the partiql-lang-kotlin jar
from(
libs.dependencies.filterIsInstance<ProjectDependency>().map {
it.dependencyProject.sourceSets.main.get().output.classesDirs
}
)
}
2 changes: 1 addition & 1 deletion partiql-parser/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -55,5 +55,5 @@ tasks.processResources {
publish {
artifactId = "partiql-parser"
name = "PartiQL Parser"
description = "PartiQL's Parser"
description = "PartiQL's experimental Parser"
}
12 changes: 12 additions & 0 deletions partiql-plan/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@

plugins {
id(Plugins.conventions)
id(Plugins.publish)
id(Plugins.library)
}

Expand All @@ -25,6 +26,17 @@ dependencies {
implementation(Deps.kotlinReflect)
}

// Disabled for partiql-plan project.
kotlin {
explicitApi = null
}

publish {
artifactId = "partiql-plan"
name = "PartiQL Plan"
description = "PartiQL Plan experimental data structures"
}

val generate = tasks.register<Exec>("generate") {
dependsOn(":lib:sprout:install")
workingDir(projectDir)
Expand Down

1 comment on commit 8a8fdd0

@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: 8a8fdd0 Previous: 1c08148 Ratio
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.compileCrossJoinAggFuncGroupingWithInterruptible 614.1878603088155 us/op 385.8535749750248 us/op 1.59
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.compileCrossJoinAggFuncGroupingWithoutInterruptible 608.5191134017807 us/op 385.0247868482748 us/op 1.58
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.compileCrossJoinAggFuncWithInterruptible 522.9803571922064 us/op 336.3341732555503 us/op 1.55
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.compileCrossJoinAggFuncWithoutInterruptible 517.5549545989422 us/op 317.76214049290303 us/op 1.63
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.compileCrossJoinWithInterruptible 385.60029681234687 us/op 239.11189052612275 us/op 1.61
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.compileCrossJoinWithoutInterruptible 371.08685234586034 us/op 242.78654591342274 us/op 1.53
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.evalCrossJoinAggWithInterruptible 11307677.14135 us/op 7490552.546200002 us/op 1.51
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.evalCrossJoinAggWithoutInterruptible 11265610.77305 us/op 7613467.579600001 us/op 1.48
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.evalCrossJoinWithInterruptible 94.86138539846257 us/op 62.66471346218746 us/op 1.51
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.evalCrossJoinWithoutInterruptible 91.28302577727649 us/op 59.409830399312554 us/op 1.54
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.iterCrossJoinAggWithInterruptible 11010991.94375 us/op 8672290.6677 us/op 1.27
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.iterCrossJoinAggWithoutInterruptible 10785716.714799998 us/op 8540773.668149998 us/op 1.26
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.iterCrossJoinWithInterruptible 182095.56028 us/op 152606.64315714285 us/op 1.19
org.partiql.jmh.benchmarks.CompilerInterruptionBenchmark.iterCrossJoinWithoutInterruptible 183513.5928916667 us/op 153569.73290714287 us/op 1.19
org.partiql.jmh.benchmarks.MultipleLikeBenchmark.testPartiQLCompiler15 186.2030455354638 us/op 138.79642778507522 us/op 1.34
org.partiql.jmh.benchmarks.MultipleLikeBenchmark.testPartiQLCompiler30 420.9617539453596 us/op 261.0646059014297 us/op 1.61
org.partiql.jmh.benchmarks.MultipleLikeBenchmark.testPartiQLEvaluator15 660025.8126999999 us/op 649932.346375 us/op 1.02
org.partiql.jmh.benchmarks.MultipleLikeBenchmark.testPartiQLEvaluator30 1296769.73735 us/op 1308399.0264 us/op 0.99
org.partiql.jmh.benchmarks.MultipleLikeBenchmark.testPartiQLEvaluator30WithData10 12927491.74305 us/op 12828998.287749996 us/op 1.01
org.partiql.jmh.benchmarks.MultipleLikeBenchmark.testPartiQLParser15 268.40184466291134 us/op 213.128718777517 us/op 1.26
org.partiql.jmh.benchmarks.MultipleLikeBenchmark.testPartiQLParser30 499.52468438958766 us/op 426.0383206185035 us/op 1.17
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameCaseWhenThen 82.8682951742749 us/op 53.06810354547751 us/op 1.56
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameComplexQuery 99.95866336857681 us/op 73.81562257843501 us/op 1.35
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameComplexQuery01 489.1332311017637 us/op 371.62660599353524 us/op 1.32
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameComplexQuery02 809.525405631508 us/op 649.1550583441019 us/op 1.25
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameExceptUnionIntersectSixty 314.76679532842644 us/op 253.52142286237626 us/op 1.24
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameExec20Expressions 104.7350940638396 us/op 83.53422049321019 us/op 1.25
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameFromLet 84.46057960580626 us/op 55.06186344757632 us/op 1.53
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameGraphPattern 80.59664860215115 us/op 53.83358116710449 us/op 1.50
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameGraphPreFilters 136.51257793978408 us/op 87.3576287154029 us/op 1.56
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameGroupLimit 95.08763761848788 us/op 59.81661748789422 us/op 1.59
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameLongFromSourceOrderBy 110.40707223949963 us/op 85.47104678556799 us/op 1.29
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameManyJoins 127.49398270896366 us/op 81.08687685900097 us/op 1.57
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameNestedAggregates 192.69562139349026 us/op 142.7514566836876 us/op 1.35
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameNestedParen 34.40823197159269 us/op 25.940067371253672 us/op 1.33
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNamePivot 123.20395026247118 us/op 87.26420585049416 us/op 1.41
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameQuery15OrsAndLikes 403.5659905478959 us/op 280.13810929384005 us/op 1.44
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameQuery30Plus 189.30493779808265 us/op 142.465359702656 us/op 1.33
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameQueryFunc 90.23709368268625 us/op 66.78821741775917 us/op 1.35
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameQueryFuncInProjection 194.7527885276577 us/op 148.57273257176985 us/op 1.31
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameQueryList 132.2132452654836 us/op 101.4367508122031 us/op 1.30
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameQueryNestedSelect 1092.1039334499956 us/op 900.9716389465286 us/op 1.21
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameQuerySimple 32.279677258317236 us/op 23.078439816799495 us/op 1.40
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameSeveralJoins 45.087982809965396 us/op 30.626961741320024 us/op 1.47
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameSeveralProjections 125.34008897575896 us/op 95.6484017742529 us/op 1.31
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameSeveralSelect 348.85987251940946 us/op 254.8188926334796 us/op 1.37
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameSimpleInsert 56.97030119654562 us/op 39.04119527831246 us/op 1.46
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameSomeJoins 44.956603787031746 us/op 30.23783280995039 us/op 1.49
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameSomeProjections 56.7352677427326 us/op 41.43465531484775 us/op 1.37
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameSomeSelect 98.98645395171451 us/op 66.6475227025011 us/op 1.49
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameTimeZone 49.16336122989374 us/op 33.701586677229876 us/op 1.46
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameVeryLongQuery 529.1020516092733 us/op 425.5501022114762 us/op 1.24
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameVeryLongQuery01 1681.2512893197722 us/op 1254.0653777919294 us/op 1.34
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameCaseWhenThen 43.197178278118194 us/op 34.620676474023135 us/op 1.25
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameComplexQuery 394.43872841815335 us/op 296.2286651409627 us/op 1.33
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameComplexQuery01 179.1241608999323 us/op 136.63806825853206 us/op 1.31
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameExceptUnionIntersectSixty 328.6123348934167 us/op 285.93933484482034 us/op 1.15
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameExec20Expressions 95.87909582969938 us/op 84.9823886897242 us/op 1.13
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameFromLet 65.08018715935506 us/op 47.18553500646068 us/op 1.38
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameGraphPattern 71.23644017244357 us/op 53.72661535394243 us/op 1.33
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameGraphPreFilters 121.57588339088113 us/op 88.31602963082018 us/op 1.38
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameGroupLimit 66.99627935264434 us/op 45.162111048322274 us/op 1.48
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameLongFromSourceOrderBy 206.01920284996964 us/op 158.51136631747437 us/op 1.30
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameManyJoins 75.51686631940369 us/op 56.34421514951434 us/op 1.34
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameNestedAggregates 149.83753797135424 us/op 115.62143417116565 us/op 1.30
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameNestedParen 118.30474072585139 us/op 100.73957765907114 us/op 1.17
org.partiql.jmh.benchmarks.ParserBenchmark.parseNamePivot 107.73841468401471 us/op 83.82937133602431 us/op 1.29
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameQuery15OrsAndLikes 277.2723562660475 us/op 223.95032592103007 us/op 1.24
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameQuery30Plus 89.77688498888485 us/op 78.9723665476191 us/op 1.14
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameQueryFunc 225.87172396639647 us/op 170.30023290981063 us/op 1.33
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameQueryFuncInProjection 140.1260593388694 us/op 114.69343478636577 us/op 1.22
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameQueryList 117.51579171520743 us/op 99.99833056666472 us/op 1.18
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameQueryNestedSelect 219.01590219593922 us/op 171.6880904640219 us/op 1.28
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameQuerySimple 22.71864764842065 us/op 16.70466712812266 us/op 1.36
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameSeveralJoins 114.40159131830346 us/op 95.90867660017943 us/op 1.19
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameSeveralProjections 89.4778694792492 us/op 70.92193735892593 us/op 1.26
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameSeveralSelect 168.98587991315185 us/op 140.7547076572051 us/op 1.20
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameSimpleInsert 36.871340369767395 us/op 29.149893364432103 us/op 1.26
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameSomeJoins 36.78982418072724 us/op 26.921978512488995 us/op 1.37
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameSomeProjections 32.45022258608178 us/op 23.998781086418155 us/op 1.35
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameSomeSelect 56.952567682348786 us/op 44.156139256845115 us/op 1.29
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameTimeZone 16.85367387837276 us/op 11.762177931999044 us/op 1.43
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameVeryLongQuery 632.4347984570134 us/op 549.3721635099971 us/op 1.15
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameVeryLongQuery01 1679.8820112735073 us/op 1552.6088311939543 us/op 1.08
org.partiql.jmh.benchmarks.PartiQLBenchmark.testPartiQLCompiler 14.969167523572875 us/op 11.96680076996124 us/op 1.25
org.partiql.jmh.benchmarks.PartiQLBenchmark.testPartiQLEvaluator 3.643275992888701 us/op 3.1513331163405107 us/op 1.16
org.partiql.jmh.benchmarks.PartiQLBenchmark.testPartiQLParser 20.943634962469655 us/op 15.425383865793256 us/op 1.36

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

Please sign in to comment.