Skip to content

Commit

Permalink
Unpublishes ISL and removes unused schemadiscovery package
Browse files Browse the repository at this point in the history
  • Loading branch information
johnedquinn committed Jun 13, 2023
1 parent df67f5d commit 6c69a97
Show file tree
Hide file tree
Showing 15 changed files with 61 additions and 14 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,10 @@ Thank you to all who have contributed!
- **Breaking**: Removes deprecated `org.partiql.lang.syntax.SourceSpan`
- **Breaking**: Removes deprecated `org.partiql.lang.syntax.Token`
- **Breaking**: Removes deprecated `org.partiql.lang.syntax.TokenType`
- **Breaking**: Stops publishing PartiQL ISL to Maven Central.
- **Breaking**: Removes unused package `org.partiql.lang.schemadiscovery` which included unused classes of:
`SchemaInferencerFromExample`, `SchemaInferencerFromExampleImpl`, `TypeConstraint`, `NormalizeNullableVisitorTransform`,
`NormalizeDecimalPrecisionsToUpToRange`, and `IonExampleParser`.

### Security

Expand Down
5 changes: 4 additions & 1 deletion lib/isl/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
## PartiQL ISL Kotlin
## PartiQL ISL Kotlin (Testing Utility)

**NOTE**: PartiQL ISL is no longer published to Maven. The generated classes should only be used for
internal testing.

PartiQL ISL Kotlin provides an in-memory [Ion Schema Language](https://amzn.github.io/ion-schema/docs/spec.html) (ISL) object
model. The open-source Kotlin implementation of ISL, [ion-schema-kotlin](https://github.com/amzn/ion-schema-kotlin) allows
Expand Down
9 changes: 1 addition & 8 deletions lib/isl/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
//

plugins {
id(Plugins.conventions)
id(Plugins.dokka)
Expand All @@ -33,13 +33,6 @@ kotlin {
explicitApi = null
}

publish {
artifactId = "partiql-isl-kotlin"
name = "PartiQL ISL Kotlin"
description = "An object model that allows for programmatic manipulation of Ion Schema Language schemas."
url = "https://github.com/partiql/partiql-lang-kotlin/tree/main/lib/isl"
}

pig {
namespace = "org.partiql.ionschema.model"
}
Expand Down
3 changes: 2 additions & 1 deletion partiql-lang/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,12 @@ kotlin {
}

dependencies {
api(project(":lib:isl"))
api(project(":partiql-ast"))
api(project(":partiql-spi"))
api(project(":partiql-types"))
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-parser"))
libs(project(":partiql-plan"))
Expand All @@ -46,6 +46,7 @@ dependencies {
implementation(Deps.kotlinReflect)

testImplementation(project(":plugins:partiql-mockdb"))
testImplementation(project(":lib:isl"))
testImplementation(Deps.assertj)
testImplementation(Deps.junit4)
testImplementation(Deps.junit4Params)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,54 @@ internal const val MAX_INT8 = Long.MAX_VALUE
internal val INT2_RANGE = BigInteger.valueOf(MIN_INT2)..BigInteger.valueOf(MAX_INT2)
internal val INT4_RANGE = BigInteger.valueOf(MIN_INT4)..BigInteger.valueOf(MAX_INT4)
internal val INT8_RANGE = BigInteger.valueOf(MIN_INT8)..BigInteger.valueOf(MAX_INT8)
internal val INT2_RANGE_CONSTRAINT = IonSchemaModel.build { validValues(rangeOfValidValues(numRange(numberRange(inclusive(ionInt(MIN_INT2)), inclusive(ionInt(MAX_INT2)))))) }
internal val INT4_RANGE_CONSTRAINT = IonSchemaModel.build { validValues(rangeOfValidValues(numRange(numberRange(inclusive(ionInt(MIN_INT4)), inclusive(ionInt(MAX_INT4)))))) }
internal val INT8_RANGE_CONSTRAINT = IonSchemaModel.build { validValues(rangeOfValidValues(numRange(numberRange(inclusive(ionInt(MIN_INT8)), inclusive(ionInt(MAX_INT8)))))) }
internal val INT2_RANGE_CONSTRAINT = IonSchemaModel.build {
validValues(
rangeOfValidValues(
numRange(
numberRange(
inclusive(
ionInt(
MIN_INT2
)
),
inclusive(ionInt(MAX_INT2))
)
)
)
)
}
internal val INT4_RANGE_CONSTRAINT = IonSchemaModel.build {
validValues(
rangeOfValidValues(
numRange(
numberRange(
inclusive(
ionInt(
MIN_INT4
)
),
inclusive(ionInt(MAX_INT4))
)
)
)
)
}
internal val INT8_RANGE_CONSTRAINT = IonSchemaModel.build {
validValues(
rangeOfValidValues(
numRange(
numberRange(
inclusive(
ionInt(
MIN_INT8
)
),
inclusive(ionInt(MAX_INT8))
)
)
)
)
}

/**
* Defines how additional constraints are to be discovered. This is intended to be called by a [ConstraintInferer] for
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@ import org.partiql.lang.util.stringValueOrNull
* generated schema. The passed [schemaIds] will also be used for the generated
* [IonSchemaModel.SchemaStatement.HeaderStatement]'s [IonSchemaModel.ImportList].
*/
class SchemaInferencerFromExampleImpl(val typeName: String, iss: IonSchemaSystem, val schemaIds: List<String>) : SchemaInferencerFromExample {
class SchemaInferencerFromExampleImpl(val typeName: String, iss: IonSchemaSystem, val schemaIds: List<String>) :
SchemaInferencerFromExample {
private val importedTypes = schemaIds.loadImportedTypes(iss)
private val sequenceTypes = importedTypes.loadSequenceTypes()
private val islAnyConstraints = IonSchemaModel.build { constraintList() }
Expand Down

1 comment on commit 6c69a97

@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: 6c69a97 Previous: 120f0bb Ratio
org.partiql.jmh.benchmarks.MultipleLikeBenchmark.testPartiQLCompiler15 188.75048981226846 us/op 119.76110166992176 us/op 1.58
org.partiql.jmh.benchmarks.MultipleLikeBenchmark.testPartiQLCompiler30 354.3647881721647 us/op 231.48952595030158 us/op 1.53
org.partiql.jmh.benchmarks.MultipleLikeBenchmark.testPartiQLEvaluator15 613899.4171500001 us/op 488982.4307833334 us/op 1.26
org.partiql.jmh.benchmarks.MultipleLikeBenchmark.testPartiQLEvaluator30 1239333.49205 us/op 953084.21425 us/op 1.30
org.partiql.jmh.benchmarks.MultipleLikeBenchmark.testPartiQLEvaluator30WithData10 12352337.2732 us/op 8637604.389150001 us/op 1.43
org.partiql.jmh.benchmarks.MultipleLikeBenchmark.testPartiQLParser15 304.27589666668075 us/op 202.75292857305857 us/op 1.50
org.partiql.jmh.benchmarks.MultipleLikeBenchmark.testPartiQLParser30 543.6840783364061 us/op 383.54706990148253 us/op 1.42
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameCaseWhenThen 85.77109466168642 us/op 46.32608259488528 us/op 1.85
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameComplexQuery 100.57344573109114 us/op 61.01205151165988 us/op 1.65
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameComplexQuery01 496.1937463021762 us/op 336.5790216702851 us/op 1.47
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameComplexQuery02 819.6450197216354 us/op 546.6055990252039 us/op 1.50
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameExceptUnionIntersectSixty 317.6372007487738 us/op 211.76571751809018 us/op 1.50
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameExec20Expressions 106.75491593985896 us/op 72.10558139483571 us/op 1.48
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameFromLet 84.42209211706725 us/op 47.88021692068923 us/op 1.76
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameGraphPattern 81.35747734388713 us/op 46.74233774975029 us/op 1.74
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameGraphPreFilters 127.25977757164874 us/op 69.90185070403622 us/op 1.82
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameGroupLimit 103.86950181243594 us/op 54.76210373835305 us/op 1.90
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameLongFromSourceOrderBy 113.10975351977348 us/op 67.38889712431306 us/op 1.68
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameManyJoins 121.01435266930018 us/op 67.34279572130218 us/op 1.80
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameNestedAggregates 191.68716907004537 us/op 115.29522310198043 us/op 1.66
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameNestedParen 34.71647200437822 us/op 21.708990007349257 us/op 1.60
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNamePivot 124.01755160055805 us/op 72.07883206912142 us/op 1.72
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameQuery15OrsAndLikes 399.5678520524981 us/op 213.96230319780574 us/op 1.87
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameQuery30Plus 187.02076711305742 us/op 119.28233128993284 us/op 1.57
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameQueryFunc 91.92716532276648 us/op 55.66157175823686 us/op 1.65
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameQueryFuncInProjection 194.44646325607243 us/op 122.08598333370307 us/op 1.59
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameQueryList 131.70470778291514 us/op 83.57412217717173 us/op 1.58
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameQueryNestedSelect 1195.969180989038 us/op 760.5104140469587 us/op 1.57
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameQuerySimple 32.56707542789447 us/op 19.93459462205004 us/op 1.63
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameSeveralJoins 44.44372183812546 us/op 26.21338256211454 us/op 1.70
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameSeveralProjections 126.66679833152853 us/op 81.29654118828694 us/op 1.56
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameSeveralSelect 345.1147016103562 us/op 209.24817914354495 us/op 1.65
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameSimpleInsert 60.039370146113036 us/op 34.776717246072934 us/op 1.73
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameSomeJoins 44.34024258797696 us/op 25.816194178111317 us/op 1.72
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameSomeProjections 58.54731750831743 us/op 34.11822044501864 us/op 1.72
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameSomeSelect 100.56260800513152 us/op 56.397359613537944 us/op 1.78
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameTimeZone 48.618690420263405 us/op 29.01445773584063 us/op 1.68
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameVeryLongQuery 535.0652719473619 us/op 344.01279874095434 us/op 1.56
org.partiql.jmh.benchmarks.ParserBenchmark.parseFailNameVeryLongQuery01 1644.5396557637882 us/op 1062.9474873334475 us/op 1.55
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameCaseWhenThen 47.34266522191554 us/op 30.419094856958672 us/op 1.56
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameComplexQuery 427.30869339189786 us/op 268.6619642172508 us/op 1.59
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameComplexQuery01 203.04920868449523 us/op 119.58797552135889 us/op 1.70
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameExceptUnionIntersectSixty 340.7306655649944 us/op 245.79170135141712 us/op 1.39
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameExec20Expressions 112.61505122260792 us/op 74.16815294283491 us/op 1.52
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameFromLet 70.91687784253787 us/op 41.590357178694084 us/op 1.71
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameGraphPattern 75.7964354614277 us/op 44.550412923495415 us/op 1.70
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameGraphPreFilters 129.6810478603354 us/op 75.01914066898684 us/op 1.73
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameGroupLimit 68.84747968814209 us/op 37.653009913076275 us/op 1.83
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameLongFromSourceOrderBy 231.23363545706442 us/op 144.10940983105806 us/op 1.60
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameManyJoins 80.12047769614632 us/op 52.12863316350224 us/op 1.54
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameNestedAggregates 169.89731483035732 us/op 102.45702360993407 us/op 1.66
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameNestedParen 126.28225351999777 us/op 91.51974719918132 us/op 1.38
org.partiql.jmh.benchmarks.ParserBenchmark.parseNamePivot 119.02906057173843 us/op 72.35336213875813 us/op 1.65
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameQuery15OrsAndLikes 292.56771376076676 us/op 196.3417887427268 us/op 1.49
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameQuery30Plus 98.38388329546649 us/op 67.59668349775346 us/op 1.46
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameQueryFunc 224.2906960983768 us/op 140.37713756391602 us/op 1.60
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameQueryFuncInProjection 161.06518857566624 us/op 109.48500114049052 us/op 1.47
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameQueryList 129.02241800325663 us/op 89.04463601248597 us/op 1.45
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameQueryNestedSelect 241.73835596521266 us/op 144.70384776978895 us/op 1.67
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameQuerySimple 24.44644730620717 us/op 15.086455041104832 us/op 1.62
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameSeveralJoins 121.86792359539962 us/op 86.22306988704912 us/op 1.41
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameSeveralProjections 95.14217835561834 us/op 62.22144583292369 us/op 1.53
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameSeveralSelect 191.10247520262206 us/op 124.31844113597006 us/op 1.54
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameSimpleInsert 40.866490860779514 us/op 25.197151201892567 us/op 1.62
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameSomeJoins 40.67267771768357 us/op 24.9455901690181 us/op 1.63
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameSomeProjections 34.410029808186394 us/op 22.558462956453802 us/op 1.53
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameSomeSelect 62.39906832254405 us/op 41.42382335185872 us/op 1.51
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameTimeZone 17.944508357264123 us/op 10.87121552085765 us/op 1.65
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameVeryLongQuery 665.1007950200224 us/op 455.85853922221656 us/op 1.46
org.partiql.jmh.benchmarks.ParserBenchmark.parseNameVeryLongQuery01 1838.8272554148941 us/op 1353.1068912744909 us/op 1.36
org.partiql.jmh.benchmarks.PartiQLBenchmark.testPartiQLCompiler 15.131305543147604 us/op 10.134226993716535 us/op 1.49
org.partiql.jmh.benchmarks.PartiQLBenchmark.testPartiQLEvaluator 3.395420514678482 us/op 2.408825597738975 us/op 1.41
org.partiql.jmh.benchmarks.PartiQLBenchmark.testPartiQLParser 23.68454417583882 us/op 13.618172744570609 us/op 1.74

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

Please sign in to comment.