Skip to content

v0.3 to v0.4 upgrade

yliuuuu edited this page Nov 2, 2022 · 4 revisions

v0.4.* (latest v0.4.0)

New features

Deprecated items

Misc/bug fixes

  • [fix] structs to handle non-text struct fields
  • Allows configuration of default timezone

Breaking changes

Breaking behavioral changes

Breaking API changes

  1. Upgrades PIG major version to v0.4.0 which may introduce some breaking changes related to imported builders
  • Note: partiql-lang-kotlin v0.3.3 and partiql-lang-kotlin v0.3.4 use the PIG v0.4.0 behavior; partiql-lang-kotlin v0.3.1 and v0.3.0 and before allows use of the old builders
// ----- v0.3.* ----- (v0.3.1 and v0.3.0)
import org.partiql.lang.domains.PartiqlAst.Builder.lit

// PartiQL v0.3.1 and older used partiql-ir-generator (PIG) v0.3.0 and older, which allowed for specifying PIG-
// generated objects using the <TypeDomain>.Builder object and importing the builder functions. These were
// unintended exposed APIs and bypassed the recommended way to create domain objects.
//
// The following uses the imported builder function to create the int literal, 1
lit(value = ionInt(1), emptyMetaContainer())

// Newer versions made this builder an interface with a private implementation. The recommended way to create
// the objects is to use `<TypeDomain>.build { ... }`:
PartiqlAst.build {
    lit(value = ionInt(1), emptyMetaContainer())
}
// ----- v0.4.* -----
// Newer versions made this builder an interface with a private implementation, so users can no longer import
// the TypeDomain's builders. The recommended way to create the objects is to use `<TypeDomain>.build { ... }`
// pattern:
PartiqlAst.build {
    lit(value = ionInt(1), emptyMetaContainer())
}
Clone this wiki locally