github dolthub/dolt v0.35.9
0.35.9

latest releases: v1.43.14, v1.43.13, v1.43.12...
2 years ago

This is a patch release. It addresses several bugs:

  • Problems with column defaults causing errors and panics
  • Support for window frame definitions (ROWS PRECEDING and ROWS FOLLOWING)
  • Fix for certain GROUP BY expressions involving aliases
  • Fix for JSON_OBJECT()

Additionally, --batch mode is now disabled by default for dolt sql when piping SQL scripts to the dolt command. Use --batch to enable it when running SQL import scripts. Also new is the --file argument to dolt sql, useful for environment where it is difficult to redirect STDIN.

Merged PRs

dolt

  • 2699: Add CreateTagOnDB and DeleteTagsOnDB
    Closes #2693
  • 2696: Register server the metrics with prometheus so they get published
  • 2694: /go/libraries/doltcore/{doltdb/durable, sqle}: Added Format_7_18 to NomsBinFormat switch statements
    Format_7_18 is still used in ld in some cases
  • 2685: Disable --batch mode for dolt sql by default
    --batch mode for dolt sql has issues in when it flushes to disk which make it incompatible with some SQL scripts. It's now only enabled when asked for explicitly.
    As part of this work, also made multiple statements in a single -q block work by default (used to require --batch or --disable-batch, the latter of which is retired)
    Finally, added a --file option to dolt sql, useful for environments where it's hard to redirect STDIN.
  • 2677: fix vertical format printing issue
    row numbering was incorrect
  • 2611: Spatial types actually stored as spatial types
    The ReadPoint, ReadLine, and ReadPolygon methods just use ReadString and convert to correct types.
    Able to call st_methods on column types now.
  • 2609: Andy/prolly indexes
    This PR adds a second implementation of durable.Index and attempts to refactor pkg sqle to use durable.Index in place of types.Map. This is a major refactor in the SQL engine with the aim of supporting both the existing storage format and the new-and-improved™ storage format. As a measure of progress roughly 70% of the engine tests are passing against sqle while using the new format.
    Various changes were made in pkg val in order to support the SQL types/encodings need for sysbench. Some of these encodings are experimental and will change in the future.

go-mysql-server

  • 769: Fixed a bug (just introduced) in resolving default column expressions
    Unbreaks dolt
    The reason that this bug didn't break the in-memory implementation is it keeps its column defaults reified as Expressions, so it doesn't really use most of the related analyzer machinery
  • 768: go.mod,.github: Bump to 1.17.
  • 766: Fix panics and errors introduced by recent changes to column default resolution
    This will fix #2659 when picked up by dolt
  • 764: Window frame support
    This PR adds sql.WindowFrame and sql.WindowFramers to represent
    window frames from AST -> plan -> exec.
    Every unique and valid combination of window frame
    Start and End bounds has a plan node (sql.WindowFrame)
    and a framer (sql.WindowFramer) pair. The frames, framers,
    and constructor functions that map from AST -> plan and
    plan -> exec are generated by optgen.
  • 759: Revert "add ability to override logger (#758)"
    This reverts commit 2a4f3ea458b57c97bc3f1b70d697e103f62be6ef.
  • 758: add ability to override logger
  • 756: Adding support for non-string key types in JSON_OBJECT
    Resolves: #2626
  • 755: sql/expression/function: json_{array,object}.go: Fix to handle JSONValue subexpressions as well.
  • 749: GroupBy normalization rule maintains parent Projection dependencies
    We flatten GroupBy aggregations to isolation agg functions, but in the process lose nested column dependencies. The downstream qualifyColumns rule was erroring, but without passthrough projections binary expressions like Arithemtic(Sum(x.i), y.i) will fail at execution time without a full set of input dependencies.
    For this query:`
    select sum(x.i) + y.i from mytable as x, mytable as y where x.i = y.i GROUP BY x.i
    
    We correctly identify that the GroupBy node has one primary aggregation, Sum, and project the Arithmetic separately.
    GroupBy -> Sum(x.i) + y.i -> ... TableScan (x,y)
    =>
    Project (Arithmetic(sum(x.i) + (y.i)))-> GroupBy(Sum(x.i)) -> ...
    
    The Project node fails downstream trying to lookup the y.i dependency we discarded in the transform. This PR adds dependencies back to cover the new parent Project for GroupBy flattening.
    GroupBy -> Sum(x.i) + y.i -> ... TableScan (x,y)
    =>
    Project (Arithmetic(sum(x.i) + (y.i)))-> GroupBy(Sum(x.i), y.i) -> ...
    
  • 737: Adding functions st_asgeojson and st_geomfromgeojson
  • 732: Allow conversion of zero values of other types to date / timestamp values
    This is for compatibility with postgres dumps and other tools that expect it

vitess

  • 115: go.mod: Bump to go 1.17.
  • 114: Remove a bunch of unused stuff.
  • 113: .github,go: Cleanup workflows. Fix all tests to work under -race. Fix fragile prototext assertions in tests.
  • 112: go,go/vt/proto: Regenerate pb message implementations, upgrade to APIv2.
  • 111: go/vt/sqlparser: Get rid of partially parsed statements and {,ddl_}skip_to_end.

Closed Issues

  • 2693: actions.CreateTag and actions.DeleteTag can't be used from dolthubapi
  • 2658: dolt can't commit changes without a database selected
  • 2680: --disable-batch flag required in dolt sql to use autocommit off
  • 2659: Analyzer panic in resolveColumnDefaults when adding a new column or running describe

Don't miss a new dolt release

NewReleases is sending notifications on new releases.