Skip to content

Releases: substrait-io/substrait

v0.62.0

24 Nov 02:58
Compare
Choose a tag to compare

0.62.0 (2024-11-24)

Features

Bug Fixes

  • fix function lookup in coverage tool (#744) (3d2ff77)

v0.61.0

17 Nov 02:57
Compare
Choose a tag to compare

0.61.0 (2024-11-17)

Features

  • add substrait test files to go embedded fs (#740) (e3a7773)
  • handle parsing of list arguments in func testcases (#737) (1f9c710)
  • update operator to update a table (#734) (adb1079)

Bug Fixes

  • misc fixes and cleanup to func testcase grammar (#742) (ea994c2)

v0.60.0

10 Nov 02:46
Compare
Choose a tag to compare

0.60.0 (2024-11-10)

Features

  • add antlr grammar for test file format (#728) (752aa63)
  • add CreateMode for CTAS in WriteRel (#715) (2e13d0b)
  • update test file format to support aggregate functions (#736) (c18c0c1)

Bug Fixes

  • typo in site/docs/tutorial/sql_to_substrait.md (#735) (9cccb04)

v0.59.0

03 Nov 02:52
Compare
Choose a tag to compare

0.59.0 (2024-11-03)

⚠ BREAKING CHANGES

  • changes the message type for Expressions field in
    VirtualTable

Features

Bug Fixes

  • virtualTable expression should represent a row of expression (#727) (a2df42c)

v0.58.0

13 Oct 02:50
Compare
Choose a tag to compare

0.58.0 (2024-10-13)

Features

v0.57.1

06 Oct 02:51
Compare
Choose a tag to compare

0.57.1 (2024-10-06)

Bug Fixes

  • add missing udt identifier in functions_geometry (#716) (f1cedd2)

v0.57.0

02 Oct 18:17
Compare
Choose a tag to compare

0.57.0 (2024-10-02)

⚠ BREAKING CHANGES

  • This PR changes the definition of grouping sets in
    AggregateRel to consist of references into a list of grouping
    expressions instead of consisting of expressions directly.

With the previous definition, consumers had to deduplicate the
expressions in the grouping sets in order to execute the query or even
derive the output schema (which is problematic, as explained below).
With this change, the responsibility of deduplicating expressions is now
on the producer. Concretely, consumers are now expected to be simpler:
The list of grouping expressions immediately provides the information
needed to derive the output schema and the list of grouping sets
explicitly and unambiguously provides the equality of grouping
expressions. Producers now have to specify the grouping sets explicitly.
If their internal representation of grouping sets consists of full
grouping expressions (rather than references), then they must
deduplicate these expressions according to their internal notion of
expression equality in order to produce grouping sets consisting of
references to these deduplicated expressions.

If the previous format is desired, it can be obtained from the new
format by (1) deduplicating the grouping expressions (according to the
previously applicable definition of expression equality), (2)
re-establishing the duplicates using the emit clause, and (3)
"dereferencing" the references in the grouping sets, i.e., by replacing
each reference in the grouping sets with the expression it refers to.

The previous version was problematic because it required the consumers
to deduplicate the expressions from the grouping sets. This, in turn,
requires to parse and understand 100% of these expression even in cases
where that understanding is otherwise optional, which is in opposition
to the general philosophy of allowing for simple-minded consumers. The
new version avoids that problem and, thus, allows consumers to be

Features

  • change grouping expressions in AggregateRel to references (#706) (65a7d38), closes #700
  • clarify behaviour of SetRel operations (#708) (f796521)
  • make substrait repo a go module (#712) (3dca9b5)

v0.56.0

15 Sep 02:47
Compare
Choose a tag to compare

0.56.0 (2024-09-15)

Features

  • add optional metadata containing field names to RelCommon (#696) (5a73281)
  • define mark join (#682) (bc1b93f)

Bug Fixes

  • correct format for nullable interval_day parameters (#687) (8ae1084), closes #679

v0.55.0

18 Aug 02:34
Compare
Choose a tag to compare

0.55.0 (2024-08-18)

Features

  • update interval_day function extensions to include precision param (#679) (28025cb)

v0.54.0

11 Aug 02:36
Compare
Choose a tag to compare

0.54.0 (2024-08-11)

⚠ BREAKING CHANGES

  • The encoding of IntervalDay literals has changed in a
    strictly backwards incompatible way. However, the logical meaning across
    encoding is maintained using a oneof. Moving a field into a oneof makes
    unset/set to zero unclear with older messages but the fields are defined
    such that the logical meaning of the two is indistinct. If neither
    microseconds nor precision is set, the value can be considered a
    precision 6 value. If you aren't using IntervalDay type, you will not
    need to make any changes.
  • TypeExpression and Parameterized type protobufs (used
    to serialize output derivation) are updated to match the now compound
    nature of IntervalDay. If you use protobuf to serialize output
    derivation that refer to IntervalDay type, you will need to rework that
    logic.
  • JoinRel's type enum now has LEFT_SINGLE
    instead of SINGLE. Similarly there is now LEFT_ANTI and LEFT_SEMI.
    Other values are available in all join type enums. This affects JSON and
    text formats only (binary plans -- the interoperable part of Substrait --
    will still be compatible before and after this change).

Features

  • add arithmetic function "power" with decimal type (#660) (9af2d66)
  • add CSV (text) file support (#646) (5d49e04)
  • add precision to IntervalDay and new IntervalCompound type (#665) (e41eff2), closes #664
  • normalize the join types (#662) (bed84ec)