Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merges tag v0.14.8 into v1 #1565

Merged
merged 31 commits into from
Aug 24, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
ec512d2
qualified identifier (#1411)
yliuuuu Apr 4, 2024
0f6e751
Add warning to not implement sprout-generated visitor interfaces (#1413)
alancai98 Apr 4, 2024
140b1f0
Prepares 0.14.5 release (#1419)
RCHowell Apr 10, 2024
e366fdc
Prepares v0.14.6 snapshot (#1421)
RCHowell Apr 11, 2024
f76705e
Add custom ktlint rules to prevent Java interop issues (#1414)
alancai98 Apr 18, 2024
04cbdae
Remove unnecessary conversion steps in PartiQLValueIonReaderBuilder (…
popematt May 7, 2024
0972fbe
Shade antlr dependency for partiql-parser and partiql-lang (#1439)
alancai98 May 14, 2024
2f2ab74
Upgrade JMH plugin dependency to 0.7.2 (#1462)
alancai98 May 15, 2024
2e22c43
delete staticTypeMeta (#1465)
yliuuuu May 16, 2024
005dbce
Fixes ANTLR parser grammar and renames parser g4 file (#1474)
RCHowell May 30, 2024
d04d3dc
Changes INT/INTEGER to be an alias for INT4 (#1473)
RCHowell May 30, 2024
6d98c8c
Fix Functions.md heading for text functions (#1479)
alancai98 Jun 3, 2024
1c3f1b9
Adds support for parameterized decimal cast (#1483)
RCHowell Jun 6, 2024
0b2cd46
Update conformance GH action gradle version (#1485)
alancai98 Jun 11, 2024
416527c
Add implementation of date, time, and timestamp values for `PartiQLVa…
alancai98 Jun 25, 2024
52d978f
Add some tests missing from #1492 (#1493)
alancai98 Jun 25, 2024
be6d8e4
Updates decimal PR with null/missing
RCHowell Jun 26, 2024
68ce31d
Merge remote-tracking branch 'origin/v0.14.6' into temp-v0.14.6
RCHowell Jun 26, 2024
f8da40b
Update CHANGELOG
RCHowell Jun 26, 2024
0066d2a
Merge pull request #1495 from partiql/temp-v0.14.6
RCHowell Jun 26, 2024
55a27e6
Fix published jars for non-shadowed packages (#1504)
alancai98 Jul 10, 2024
54c6c47
Add set op typing; fixes set op parsing and modeling (#1506)
alancai98 Jul 15, 2024
6c314d2
Update Maven publishing to use nexus publish plugin (#1517)
alancai98 Jul 18, 2024
f1d785f
Fix antlr dep partiql-lang (#1534)
alancai98 Aug 2, 2024
945558c
[v0.14.8-SNAPSHOT] Preserve constraint for decimal, string in dynamic…
yliuuuu Aug 19, 2024
546a126
Prepare 0.14.8 release (#1554)
alancai98 Aug 19, 2024
351b9b8
Merge tag 'v0.14.8' into v1-merge-v0_14_8
johnedquinn Aug 22, 2024
6877905
Fixes merge issues
johnedquinn Aug 22, 2024
83916ca
Removes unused nodes
johnedquinn Aug 22, 2024
1c2220b
Addresses PR comments
johnedquinn Aug 23, 2024
2aec078
Adds tag links
johnedquinn Aug 23, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 41 additions & 19 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,37 +23,52 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
Thank you to all who have contributed!
-->

## [Unreleased]
## [0.14.8]
Copy link
Member

Choose a reason for hiding this comment

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

The v0.14.8 CHANGELOG entry does not match w/ the v0.14.8 branch's CHANGELOG -- https://github.com/partiql/partiql-lang-kotlin/blob/v0.14.8/CHANGELOG.md. Perhaps it's because of a prior merge of main to v1?

Copy link
Member Author

Choose a reason for hiding this comment

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

Nice catch. Somehow that merged cleanly.

Copy link
Member

Choose a reason for hiding this comment

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

Seems like we're also missing some of the CHANGELOG release links for v0.14.6-v0.14.8 -- https://github.com/johnedquinn/partiql-lang-jvm/blob/v1-merge-v0_14_8/CHANGELOG.md?plain=1#L1124-L1125.


### 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

### Fixed
- Case When Branch inference will preserve type constraint for String Type and Decimal Type, if no coercion is required.
### Removed

### Security

### Contributors
Thank you to all who have contributed!

## [0.14.7]

### Fixed
- `partiql-lang`'s `PartiQLParserBuilder.standard()` will use the ANTLR dependency from `partiql-parser` to
prevent `NoSuchMethodError`s

## [0.14.6]

### Added
- Adds `PartiQLValueTextWriter` implementation of date, time, and timestamp values
- Shades ANTLR dependency to avoid dependency conflicts.

### Changed
- **Behavioral change**: The `INTEGER/INT` type is now an alias to the `INT4` type. Previously the INTEGER type was
unconstrained which is not SQL-conformant and is causing issues in integrating with other systems. This release makes
INTEGER an alias for INT4 which is the internal type name. In a later release, we will make INTEGER the default 32-bit
integer with INT/INT4/INTEGER4 being aliases per other systems. This change only applies to
org.partiql.parser.PartiQLParser, not the org.partiql.lang.syntax.PartiQLParser.
- **Breaking change**: partiql-plan: adds a set quantifier field to SQL set operators `UNION`, `INTERSECT`, and `EXCEPT`
- partiql-plan: adds a dedicated Rex node for PartiQL bag operators `UNION`, `INTERSECT`, and `EXCEPT`
- partiql-planner: Adds typing support for set operators
- partiql-parser: parses non-SFW expressions to be PartiQL `OUTER` bag operators
- partiql-ast: fixes missing parens from `bag_op` when printing using `SqlDialect`

### 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
- Fixed classpath conflict for IsStaticTypeMeta
- Fixes ANTLR parser grammar file naming.

### Removed

Expand All @@ -63,6 +78,10 @@ been deprecated:
Thank you to all who have contributed!
- @<your-username>

- @rchowell
- @alancai98
- @johnedquinn

## [0.14.5]

### Added
Expand Down Expand Up @@ -1102,7 +1121,10 @@ breaking changes if migrating from v0.9.2. The breaking changes accidentally int
### Added
Initial alpha release of PartiQL.

[Unreleased]: https://github.com/partiql/partiql-lang-kotlin/compare/v0.14.5...HEAD
[Unreleased]: https://github.com/partiql/partiql-lang-kotlin/compare/v0.14.8...HEAD
[0.14.8]: https://github.com/partiql/partiql-lang-kotlin/compare/v0.14.7...v0.14.8
[0.14.7]: https://github.com/partiql/partiql-lang-kotlin/compare/v0.14.6...v0.14.7
[0.14.6]: https://github.com/partiql/partiql-lang-kotlin/compare/v0.14.5...v0.14.6
[0.14.5]: https://github.com/partiql/partiql-lang-kotlin/compare/v0.14.4...v0.14.5
[0.14.4]: https://github.com/partiql/partiql-lang-kotlin/compare/v0.14.3...v0.14.4
[0.14.3]: https://github.com/partiql/partiql-lang-kotlin/compare/v0.14.2...v0.14.3
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.14.5` |
| `org.partiql` | `partiql-lang-kotlin` | `0.14.8` |


For Maven builds, add the following to your `pom.xml`:
Expand Down
28 changes: 28 additions & 0 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import io.github.gradlenexus.publishplugin.NexusPublishExtension
import java.time.Duration

plugins {
id("io.github.gradle-nexus.publish-plugin")
}

// We use gradle-nexus's publish-plugin to publish all of our published artifacts to Maven using OSSRH.
// Documentation for this plugin, see https://github.com/gradle-nexus/publish-plugin/blob/v2.0.0/README.md
// This plugin must be applied at the root project, so we include the following block around the nexus publish
// extension.
rootProject.run {
plugins.apply("io.github.gradle-nexus.publish-plugin")
extensions.getByType(NexusPublishExtension::class.java).run {
this.repositories {
sonatype {
nexusUrl.set(uri("https://aws.oss.sonatype.org/service/local/"))
username.set(properties["ossrhUsername"].toString())
password.set(properties["ossrhPassword"].toString())
}
}

// these are not strictly required. The default timeouts are set to 1 minute. But Sonatype can be really slow.
// If you get the error "java.net.SocketTimeoutException: timeout", these lines will help.
connectTimeout.set(Duration.ofMinutes(3))
clientTimeout.set(Duration.ofMinutes(3))
}
}
3 changes: 3 additions & 0 deletions buildSrc/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ object Versions {
const val dokka = "1.6.10"
const val kotlin = "1.6.20"
const val ktlintGradle = "10.2.1"
const val nexusPublish = "2.0.0"
const val pig = "0.6.1"
const val shadow = "8.1.1"
}
Expand All @@ -38,6 +39,7 @@ object Plugins {
const val dokka = "org.jetbrains.dokka:dokka-gradle-plugin:${Versions.dokka}"
const val kotlinGradle = "org.jetbrains.kotlin:kotlin-gradle-plugin:${Versions.kotlin}"
const val ktlintGradle = "org.jlleitschuh.gradle:ktlint-gradle:${Versions.ktlintGradle}"
const val nexusPublish = "io.github.gradle-nexus:publish-plugin:${Versions.nexusPublish}"
const val pig = "org.partiql:pig-gradle-plugin:${Versions.pig}"
const val shadow = "com.github.johnrengelman:shadow:${Versions.shadow}"
}
Expand All @@ -47,6 +49,7 @@ dependencies {
implementation(Plugins.dokka)
implementation(Plugins.kotlinGradle)
implementation(Plugins.ktlintGradle)
implementation(Plugins.nexusPublish)
implementation(Plugins.pig)
implementation(Plugins.binaryCompatibilityValidator)
implementation(Plugins.shadow)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@ import org.gradle.jvm.tasks.Jar
import org.gradle.kotlin.dsl.create
import org.gradle.kotlin.dsl.get
import org.gradle.kotlin.dsl.getByName
import org.gradle.kotlin.dsl.provideDelegate
import org.gradle.plugins.signing.SigningExtension
import org.gradle.plugins.signing.SigningPlugin
import org.jetbrains.dokka.gradle.DokkaPlugin
Expand Down Expand Up @@ -129,7 +128,7 @@ abstract class PublishPlugin : Plugin<Project> {
licenses {
license {
name.set("The Apache License, Version 2.0")
url.set("http://www.apache.org/licenses/LICENSE-2.0.txt")
url.set("https://www.apache.org/licenses/LICENSE-2.0.txt")
}
}
developers {
Expand Down Expand Up @@ -167,17 +166,6 @@ abstract class PublishPlugin : Plugin<Project> {
}
}
}
repositories {
maven {
url = uri("https://aws.oss.sonatype.org/service/local/staging/deploy/maven2")
credentials {
val ossrhUsername: String by rootProject
val ossrhPassword: String by rootProject
username = ossrhUsername
password = ossrhPassword
}
}
}
}

// Sign only if publishing to Maven Central
Expand Down
Loading
Loading