Skip to content

0.37.8

Compare
Choose a tag to compare
@github-actions github-actions released this 30 Mar 20:54

This is patch release, containing bug fixes and performance improvements.

  • Better retries for push and pull
  • Allow system variables related to replication to be set globally, or on the session
  • Performance fix for covering indexes on the primary key
  • Better schema validation for auto_increment columns
  • Better support for ALTER TABLE statements that include multiple clauses
  • Bug fix for dropping creating or dropping triggers or stored procedures in other databases
  • Bug fix for the output schema of show tables statement
  • Trigger creation times in information_schema now supported
  • Bug fix for incorrect results from some indexed joins
  • show create procedure now supported
  • show function status now supported
  • Bug fix for CREATE VIEW statements inside MySQL special comments

Merged PRs

dolt

  • 3108: DoltChunkStore: Table file uploads now retry both the GetUploadLocations call and the PUT call
    For each table file upload, we now call GetUploadLocations for that a single table file, and upload it in the same retriable
    operation.
  • 3106: Make dolt_replicate_heads and dolt_replicate_all_heads both Global and Session variable
    Fix for #3104
  • 3098: Enable the primary key to act as a proper covering index
    This pr ensures that the primary key can appropriately be used as a covering index when selected.
  • 3095: go/libraries/doltcore: Fix bad upload table file retries
    Fixes #2183
  • 3090: go/libraries/doltcore/schema: Added auto increment validation to schema serialization
  • 3083: Build Dolt against GMS to test multi-alter DDL changes
    Bump GMS to fit in multi-alter ddl changes.
  • 3080: go/libraries/doltcore/dbfactory: Thread memory quota provider through store layer to onHeapTableIndex
    This PR allows creators of noms block stores to manage memory resources related to them.
  • 3032: go/libraries/doltcore/sqle: Refactored Auto Increment
    companion PR
  • 2998: Added clarifying test for AS OF behavior in view definitions

go-mysql-server

  • 918: Multi Alter Add/Drop Columns
    This pr does the following
    1. Modifies Add/Drop/Rename/Modify columns to pull the relevant table fresh from the database
    2. Adds error checks in validate_create_table to make sure that invalid columns are detected at analyze time
      This pr does not:
    3. Address multi-alter ddls and edge cases with default values. I found a ton of small errors while working through edge cases here that I think there is a good amount of work separate from the immediate multi-alter ddl needs. This pr is enough to get us unblocked on panics that used occur when mass add/drop pairs were created.
  • 915: fix create/drop TRIGGER parsing to support database name specific query
  • 910: Ensure that the local index map uses the computed id
    We should use the computed id of index as key for the index map of the memory table. Previously we were using the given index name which would conflict when multiple indexes were assigned the empty string.
  • 909: fix create/drop procedure parsing to support database name specific query
  • 907: Add db name to the column name for show tables statement
    • Database name is now included in column name in SHOW TABLES statement
    • Fixed cardinality column of information_schema.statistics table returned wrong type before
  • 906: Store the creation time for trigger statements
    Will have changes to Dolt side to store this for Dolt Databases.
    MySQL has nanosecond precision, which we wont have here.
    I mimicked stored procedure behavior creation time for mysqlshim: https://github.com/dolthub/go-mysql-server/blob/main/enginetest/mysqlshim/database.go#L169
  • 904: IndexedJoins mark handled filters
    Applying an indexed join in applyJoinPlan should apply equality
    lookup expressions, but currently do not. pushdown mistakenly
    marked those expressions as handled and eliminated necessary filters.
    This PR prevents IndexedJoinAccess with nil lookups from marking
    filters as handled.
    A future improvement could the pushdown range logic
    to opportunistically apply lookups in applyJoinPlan, and let
    pushdown mark those as handled. This would improve perf by both
    removing both a table scan and filter from some index joins.
  • 903: support show create procedure
  • 898: Improve MultiAlters error handling with Alter Primary Key, Alter Index, Alter Default, Alter AutoIncrement
    This pr does the following
    1. Improves MultiAlter DDL analyzer by checking for failure modes in adding/dropping pks, adding/dropping indexes, adding/dropping defaults
    2. Pushes the table resolution of AlterPk, AlterIndex, AlterDefault,Alter AutoIncrement at execution time. This is due to the fact that the node should know whether columns were added or dropped in previous steps of a MultiAlter DDL.
    3. Adds a small bug fix with how columns were being dropped in the validate_create_table
    4. This pr does not include changes to multialters with ADD/DROP constraints due to additional complexity.
  • 890: support SHOW FUNCTION STATUS functionality
    SHOW FUNCTION STATUS result is queried from INFORMATION_SCHEMA.ROUTINES table
  • 886: Auto Increment Refactor

vitess

  • 149: add db name specification to create/drop TRIGGER statements
  • 148: add db name specification to create/drop procedure statements
    Database name is case sensitive but procedure name is not, so TableIdent and ColIdent structs are used for defining db and procedure names, respectively.
  • 147: Have SHOW CREATE PROCEDURE <procedure_name> parse
    TODO: need changes in GMS to handle show create procedure logic.
  • 144: Fix of View, Trigger, Procedure position params when used in MySQL special comments

Closed Issues

  • 2980: Dolt Panic when creating view
  • 3102: Truncated time strings are not parsed correctly
  • 3075: Bad foreign key error message
  • 3104: dolt_replicate_heads should be available as a global var
  • 3071: dolt errors and crashes when trying to use DBeaver
  • 2183: unknown push error When pushing a branch with a single commit to DoltHub
  • 3065: WHERE statement has no effect when joining multiple tables
  • 2325: Support Compound Primary Key Change Statements
  • 3046: Adding/changing PK through TablePlus display fails
  • 2999: Dolt uses current view definition even with AS OF
  • 2804: Support SHOW FUNCTION STATUS syntax
  • 3048: Procedures do not show on Tableplus display
  • 894: when is version 1.0 api standard set?
  • 900: Does go-mysql-server support create database and table from SQL file?
  • 901: ERROR 1105 (HY000): Error: index already exists