Download Latest Version dolt-windows-amd64.msi (45.7 MB)
Email in envelope

Get an email when there's a new version of Dolt

Home / v2.3.3
Name Modified Size InfoDownloads / Week
Parent folder
dolt-windows-amd64.msi 2026-09-09 45.7 MB
dolt-2.3.3-1.aarch64.rpm 2026-09-09 40.8 MB
dolt-2.3.3-1.x86_64.rpm 2026-09-09 44.0 MB
install.sh 2026-09-09 3.2 kB
dolt-windows-amd64.7z 2026-09-09 23.1 MB
dolt-windows-amd64.zip 2026-09-09 40.0 MB
dolt-darwin-arm64.tar.gz 2026-09-09 41.1 MB
dolt-darwin-amd64.tar.gz 2026-09-09 43.6 MB
dolt-linux-arm64.tar.gz 2026-09-09 40.8 MB
dolt-linux-amd64.tar.gz 2026-09-09 44.0 MB
2.3.3 source code.tar.gz 2026-09-09 12.4 MB
2.3.3 source code.zip 2026-09-09 14.1 MB
README.md 2026-09-09 80.0 kB
Totals: 13 Items   389.7 MB 1

Merged PRs

dolt

Commits


Dependabot compatibility score Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/dolthub/dolt/network/alerts).
Changelog

Sourced from mysql2's changelog.

3.23.1 (2026-07-19)

Bug Fixes

3.23.0 (2026-07-13)

Features

3.22.6 (2026-07-07)

Bug Fixes

3.22.5 (2026-06-06)

Bug Fixes

3.22.4 (2026-05-26)

Bug Fixes

3.22.3 (2026-04-24)

Bug Fixes

3.22.2 (2026-04-21)

Bug Fixes

... (truncated)

Commits
Maintainer changes

This version was pushed to npm by GitHub Actions, a new releaser for mysql2 since your current version.


Dependabot compatibility score Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/dolthub/dolt/network/alerts).
Changelog

Sourced from github.com/apache/thrift's changelog.

0.24.0

Build Process

... (truncated)

Commits
  • 6d2ec95 Tune make dist: drop generated/build artifacts, add missing sources
  • 4f303a2 Strip node_modules from dist to fix make dist symlink recursion
  • 270b81e Fix stale EXTRA_DIST references that broke make dist
  • c1df044 Fix Go and Rust version detection for multi-digit version numbers
  • 342a803 updated CHANGES.md
  • 0d66913 bump doap & debian changelog
  • f961cdb fix info-header string bound check in THeaderTransport::readString
  • 0ab16e3 enforce max_string_size on non-strict binary message name
  • 817e0f1 Bump rubygems/release-gem from 1.2.0 to 1.4.0
  • 6dfb0b2 THRIFT-6073: Allow injecting external SSL_CTX into C++ SSLContext
  • Additional commits viewable in compare view


Dependabot compatibility score Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/dolthub/dolt/network/alerts).
  • 11663: Add Doltgres transaction lifecycle callback Adds Doltgres transaction lifecycle notifications required by https://github.com/dolthub/doltgresql/pull/3256.
  • 11482: SECURITY.md: Update documentation to reflect this project's stance on panics as security issues.
  • 11359: Enable replication tests on MacOS DNS lookups on GitHub MacOS runners are very slow, which makes some of these test expectations fail. localhost resolves through DNS on MacOS but not on Ubuntu, which doesn't have this problem. This PR changes all localhost definitions in the test to the loopback address instead.
  • 11193: -C flag Implements -C with behavior matching git. Fixes https://github.com/dolthub/dolt/issues/11720

go-mysql-server

  • 3821: Fix correlated subqueries in window sorting Window execution appended each row's original position directly to the SQL row before evaluating partition and ordering expressions. Correlated scalar subqueries could observe that synthetic field and produce incorrect window sort keys. Track original positions in a parallel slice that is swapped alongside rows and cached sort keys, keeping bookkeeping outside the SQL-visible row. Add the reported regression and exact row-to-position invariants for reordered partitions, NULL keys, and stable duplicate keys. Fixes [#11419] Fixes [#11460]
  • 3816: Make sure window framer end is never after the partition start fixes [#11465]
  • 3813: Fix merging nondeterministic window expressions The window planner currently deduplicates identical expressions by their rendered SQL. Preserve that optimization for deterministic expressions, but emit separate window outputs when an expression tree contains a nondeterministic function. Evaluate each source-row value once per partition for FIRST_VALUE and LAST_VALUE, including NULL values and changing frame boundaries. Adds engine and focused unit regressions for both planner and executor behavior. Fixes [#11499]
  • 3811: Return error for standalone interval expressions Standalone INTERVAL expressions can reach Interval.Eval, whose placeholder implementation panics. Return the shared invalid-use error instead, centralize that error in the sql package, and cover the public query behavior with an engine regression. Fixes [#11452]
  • 3810: Fix windows over grouped inputs Build grouped window evaluation after aggregation and HAVING, preserving the grouped fields and aggregate results needed by window definitions and derived aliases. Allow aggregate and window expressions to coexist regardless of projection order while continuing to reject windows nested inside aggregate arguments. Also close the wrapped child iterator when a window iterator closes. Adds coverage for grouping, filtering, ordering, NULL groups, mixed aggregate/window aliases, invalid nesting, and iterator cleanup. Fixes [#11500]
  • 3809: Count nonnumeric strings as non-null in window AVG and SUM Fix [#11470]
  • 3804: Omit INVISIBLE columns projections from wildcard projections and default inserts Fix [#11551] Blocked by dolthub/vitess#487
  • 3802: Add non-window CURRENT_TIME precision regression test Adds non-window engine coverage for CURRENT_TIME precision. Fixes https://github.com/dolthub/dolt/issues/11543
  • 3800: Validate set ops for aggregations in ORDER BY clause fixes [#11462]
  • 3798: Fix count distinct tuple hashing Fix [#11562]
  • 3796: Fix constant window expression partitions Constant-only window expressions can leave zero-width projected rows. Partition and peer-group detection treated those rows as uninitialized, splitting every input row into its own partition or peer group. Use nil as the uninitialized-row sentinel and treat an absent ORDER BY as one peer group. Add current script-suite coverage for constant aggregate, partition, and ordering expressions, validated against MySQL 8.0.45 and PostgreSQL 15.17. This adapts and supersedes the core fix contributed by @vishnujayvel in [#3684]. Credit also goes to @wanteatfruit for the report. Fixes [#11409]
  • 3795: Fix correlated subqueries alongside window functions Window planning preserves ordinary projection dependencies, but did not preserve outer columns referenced only through a correlated scalar subquery. This left the subquery reading a stale post-window ordinal and silently producing empty-match results. Carry correlated outer columns through the window node using the same column-ID dependency handling already used by aggregation planning. Add engine regressions for correlated COUNT and SUM alongside two different window functions. Fixes [#11478]
  • 3794: Return ROW_NUMBER values as INT64 Aligns ROW_NUMBER runtime values with its declared INT64 type. Fixes https://github.com/dolthub/dolt/issues/11420
  • 3793: Support TIME values in HOUR Supports valid time-only values in the HOUR function. Fixes https://github.com/dolthub/dolt/issues/11512
  • 3792: Mark FIRST_VALUE results nullable Marks FIRST_VALUE nullable because legal window frames may be empty. Fixes https://github.com/dolthub/dolt/issues/11471
  • 3791: Distinguish window frame ending bounds Preserves distinct ending bounds when identifying sibling window frames. Fixes https://github.com/dolthub/dolt/issues/11395
  • 3790: Enable bitwise window aggregates Enables BIT_AND, BIT_OR, and BIT_XOR as window aggregates. Fixes https://github.com/dolthub/dolt/issues/11390
  • 3789: Fix tuple IN comparisons containing NULL Track scalar NULL values separately from tuples that contain NULL when building hash-optimized IN expressions. Definite non-NULL matches continue to use constant-time hash lookup, while ambiguous tuple-NULL misses fall back to componentwise three-valued comparison. Add unit and engine coverage that distinguishes an UNKNOWN partial tuple match from a definite FALSE mismatch and verifies nullable tuple metadata. Fixes [#11480]
  • 3788: Return NULL for all-NULL window sums Returns NULL when a window SUM frame contains no non-NULL values. Fixes https://github.com/dolthub/dolt/issues/11410
  • 3786: Include bucket count in NTILE identity Keeps sibling NTILE expressions with different bucket counts distinct. Fixes https://github.com/dolthub/dolt/issues/11466
  • 3785: Preserve literal case in window expression identity Preserves case-sensitive literals when deduplicating window expressions. Fixes https://github.com/dolthub/dolt/issues/11497
  • 3784: Preserve LIKE escape clauses in window expressions Preserves distinct LIKE escape clauses when identifying window expressions. Fixes https://github.com/dolthub/dolt/issues/11498
  • 3783: Fix CURRENT_TIME precision in window expressions Fixes CURRENT_TIME precision handling in cloned window expressions. Fixes https://github.com/dolthub/dolt/issues/11543
  • 3779: enginetest: cover keyless count column projection Adds shared engine coverage for COUNT(column) on nullable keyless columns, including duplicate rows. Part of [#11521]
  • 3778: Add MAKEDATE function Fix [#11595]
  • 3777: String inputs to integer division should be treated as decimals to match MySQL This is necessary to return the correct results. Because integer division takes the floor of the result, floating point error on a div operation that appears to divide evenly might even up returning a value one lower than expected. This PR also fixes a related issue, where a division operation that converts its input to a decimal will silently convert the input to 0 when the input must be truncated, without emitting a warning. This changes the behavior to match MySQL, producing a result from the truncated input and emitting a warning.
  • 3776: Warn when removing NO_ZERO_IN_DATE from @@SQL_MODE Because we don't properly support 0 Month and 0 Day for DATE/DATETIME types, we throw a warning when removing the NO_ZERO_IN_DATE sql_mode and behave as if it were enabled.
  • 3775: fix: change INFORMATION_SCHEMA default collation from utf8mb3 to utf8mb4 Changes INFORMATION_SCHEMA's default collation from utf8mb3 to utf8mb4; companion Dolt PR: https://github.com/dolthub/dolt/pull/11680.
  • 3774: Preserve empty strings in GROUP_CONCAT Fixes GROUP_CONCAT to preserve empty non-NULL strings while continuing to skip NULL values. Fixes https://github.com/dolthub/dolt/issues/11561 Fixes https://github.com/dolthub/dolt/issues/11427
  • 3773: Fix TIME_FORMAT hour specifiers Fixes TIME_FORMAT to preserve extended hours and support the non-padded hour specifier. Fixes https://github.com/dolthub/dolt/issues/11413
  • 3772: Support extended hours in TIME_TO_SEC Fixes TIME_TO_SEC to preserve valid TIME values with more than 24 hours. Fixes https://github.com/dolthub/dolt/issues/11560
  • 3771: Apply AM and PM in STR_TO_DATE Fixes STR_TO_DATE to apply AM and PM markers to 12-hour times. Fixes https://github.com/dolthub/dolt/issues/11544
  • 3770: Fix INET_NTOA for unsigned IPv4 values Fixes INET_NTOA conversion for IPv4 values above the signed 32-bit range. Fixes https://github.com/dolthub/dolt/issues/11510
  • 3769: Fix decimal CEIL and FLOOR input mutation Decimal CEIL and FLOOR now write their results to fresh values instead of mutating their inputs. This prevents shared decimal results, including window aggregate outputs, from being corrupted during projection. Adds direct input-immutability coverage and an engine regression for positive and negative decimal window peers. Fixes [#11542]
  • 3768: Match MySQL default SQL_MODE This PR changes the default SQL_MODE match MySQL's default, but does not change any query behavior associated with the new default modes. Additionally, throws warnings for invalid combinations of "strict" modes.
  • 3766: Fix recursive CTE result type coercion Recursive CTEs establish their output schema from the non-recursive term, but the executor previously hashed, buffered, and returned raw child values. This allowed a recursive boolean true to remain distinct from an existing integer 1 under UNION DISTINCT. Coerce the CTE-result suffix to the established schema before deduplication and buffering while preserving any correlated outer-row prefix. Add the reported windowed recursive UNION regression. Full GMS sql and enginetest suites, focused Dolt normal and prepared engine tests, MySQL 8.0.45 differential validation, and diff checks pass. Fixes [#11563]
  • 3765: Reject ABS of minimum BIGINT Returns an out-of-range error for ABS of the minimum signed BIGINT. Fixes https://github.com/dolthub/dolt/issues/11412
  • 3764: Preserve non-ASCII Soundex initial case Preserves the case of non-ASCII initial characters in SOUNDEX results. Fixes https://github.com/dolthub/dolt/issues/11546
  • 3763: Support binary values in CRC32 Adds CRC32 support for binary string values. Fixes https://github.com/dolthub/dolt/issues/11507
  • 3762: Allow REGEXP_REPLACE position after source Allows REGEXP_REPLACE to start immediately after the source string. Fixes https://github.com/dolthub/dolt/issues/11547
  • 3761: Fix STR_TO_DATE NULL propagation Propagates NULL arguments through STR_TO_DATE. Fixes https://github.com/dolthub/dolt/issues/11509
  • 3760: Fix aggregate reuse across scalar subquery scopes Prevents aggregate functions in scalar subqueries from reusing matching aggregate references from an outer query scope. Aggregate deduplication now considers only the current grouping scope, preserving same-query-block reuse while keeping subqueries independent. Adds regression coverage for MAX, MIN, SUM, COUNT, and AVG across numeric and datetime values. Fixes [#11638]
  • 3758: Limit PostgreSQL conflict ignores to duplicate keys Add a row-inserter contract for probing unique-key conflicts and use it to implement targetless ON CONFLICT DO NOTHING semantics. Duplicate-key conflicts are skipped while foreign-key, check, and NOT NULL errors remain errors, preserving the existing MySQL INSERT IGNORE path. Part of dolthub/doltgresql#3091 Depends on: https://github.com/dolthub/vitess/pull/485
  • 3753: Prevent insert expression slice aliasing Allocate an independent result slice in InsertInto.Expressions() instead of appending checks into backing storage owned by OnDupExprs. Analyzer index assignment can store duplicate-update, predicate, and RETURNING expressions in slices backed by the same array. Reusing that capacity while enumerating expressions can overwrite the predicate or RETURNING expressions before execution. The regression test verifies both the complete expression order and that enumeration leaves the insert plan unchanged.
  • 3748: sql.ValueRows: Correctly handle NULLs in comparisons.

This fixes a correctness issue running a query against a Dolt MySQL server: The test currently passes prior to this PR. This is because the test harness needs to be updated to more accurately reflect running against a Dolt MySQL server, but this currently causes other tests to fail. Instead, this change was tested locally to with the new test harness, and I confirmed that this PR fixes some of the failing tests and does not introduce any new failures.

  • 3723: Refactor and improve DATE parsing and SQL_MODE handling This PR improves support for parsing various strings into DATETIME. There are a few improvements to converting DATETIME types to other types, but just enough to get exist tests to pass. Improvements to that area will come in future PRs. Warnings have also been improved to match MySQL, but we are currently ignoring the delimiter ones. Dolt bump: https://github.com/dolthub/dolt/pull/11584 Changes:
  • Default SQL_MODE matches MySQL.
  • The time.Time package does not fully support ZERO_IN_DATE, so that SQL_MODE isn't supported for now.
  • Refactor datetimeType.Convert()
  • Tests Fixes:
  • https://github.com/dolthub/dolt/issues/11414 Possibly a breaking change, because of SQL_MODE changes.
  • 3675: sql/types: trim whitespace before parsing date/datetime strings MySQL trims leading and trailing whitespace before parsing a string literal into a DATE/DATETIME/TIMESTAMP value. datetimeType.ConvertWithoutRangeCheck (sql/types/datetime.go) did not, so passing a whitespace-padded string through CAST(... AS DATE) or DATE(...) caused every layout in parseDatetime's time.Parse attempts to fail, and the caller silently converted that parse failure into NULL (with a 1292 warning from the DATE() path). Fixes [#11414], reported by @Yibo-Dong. sql SELECT CAST('2024-01-01' AS DATE) AS plain_date, CAST(' 2024-01-01 ' AS DATE) AS spaced_date, CAST(CONCAT(' ', '2024-01-01') AS DATE) AS leading_date, DATE(' 2024-01-01 ') AS date_func; Before this change, spaced_date, leading_date, and date_func were all NULL; MySQL returns 2024-01-01 for all four columns. ## Root cause ConvertWithoutRangeCheck's case string: branch (sql/types/datetime.go) passed the raw string straight into IsZeroTimestampStr and parseDatetime. None of the fixed layouts in TimestampDatetimeLayouts that parseDatetime tries via time.Parse tolerate leading/trailing whitespace, so parsing failed and ConvertWithoutRangeCheck returned ErrConvertingToTime. Both CAST(... AS DATE/DATETIME/TIMESTAMP) (via datetimeType.Convert -> ConvertToTime -> ConvertWithoutRangeCheck) and the DATE() function (via its getDate helper, which calls the same ConvertWithoutRangeCheck) go through this one function, so a single fix covers both. ## Fix Trim the string at the top of the case string: branch, before the zero-timestamp check and before parseDatetime, so downstream parsing behaves the same as MySQL. Uses strings.Trim(value, " \t\n\r\v\f") rather than strings.TrimSpace deliberately: MySQL's my_isspace only treats ASCII whitespace as significant for this purpose, while Go's unicode.IsSpace (what TrimSpace uses) also strips Unicode whitespace (e.g. U+00A0 NO-BREAK SPACE) that MySQL does not trim and would reject. ## Test plan
  • Added padded-string cases to the existing TestDatetimeConvert table in sql/types/datetime_test.go, matching the repo's own test-table style for this function: Date with leading (" 2010-06-03"), trailing ("2010-06-03 "), and surrounding (" 2010-06-03 ", "\t2010-06-03\n") whitespace; a DatetimeMaxPrecision case with a fractional-second value padded on both sides; and a padded zero-date case (" 0000-00-00 ") to pin the trim-before-IsZeroTimestampStr ordering.
  • Added an end-to-end enginetest query case (enginetest/queries/queries.go) reproducing the exact issue repro: CAST(' 2024-01-01 ' AS DATE), CAST(CONCAT(' ', '2024-01-01') AS DATE), and DATE(' 2024-01-01 '), all asserting the correct (non-NULL) date.
  • Verified all 6 new TestDatetimeConvert cases and the new TestQueries case fail without the fix, then pass with it (reverted the fix, confirmed 6 --- FAIL: lines plus the query-test failure, restored the fix, confirmed all pass). Note on the trailing-only case ("2010-06-03 "): the value MySQL expects is recoverable even pre-fix, because parseDatetime's findDatetimeEnd loop shrinks the parse window and finds a match on "2010-06-03". But that path also returns a non-nil ErrTruncatedIncorrect alongside the (correct) value, and the test harness's require.NoError(t, err) treats that as a failure — so this case is genuinely red pre-fix under the existing assertion style, not just wrong-by-value. Confirmed by isolating this single case against the pre-fix code with the real test harness (not a value-only probe). Commands run (from a go-mysql-server worktree, CGO_ENABLED=0, -tags gms_pure_go to avoid the icu4c/cgo regex dependency, matching how this package already gates cgo-free builds): go test -tags gms_pure_go ./sql/types/... -run TestDatetimeConvert -v go test -tags gms_pure_go ./sql/types/... -count=1 -timeout 10m go test -tags gms_pure_go ./enginetest/... -run "TestQueries$" -timeout 20m gofmt -l sql/types/datetime.go sql/types/datetime_test.go enginetest/queries/queries.go go vet -tags gms_pure_go ./sql/types/... All green: ok github.com/dolthub/go-mysql-server/sql/types 0.649s ok github.com/dolthub/go-mysql-server/sql/types/jsontests 1.196s ok github.com/dolthub/go-mysql-server/enginetest 12.393s gofmt and go vet report no issues on the changed files.
  • 3630: server/listener.go: Fix a race on listener shutdown where an Accept goroutine could try to send on a closed conns channel.
  • 3625: Advertise binary charset for BIT result columns MySQL marks BIT result columns with the binary charset (63) in the wire protocol. We were sending utf8mb4 (255), so clients like the mysql CLI printed BIT values as raw bytes instead of hex.
  • schemaToFields now sets the binary charset for BIT columns Block [#11306]

vitess

  • 491: Added NULLs ordering This implements NULL ordering (nulls can be set to be first or last) Related PRs:
  • https://github.com/dolthub/go-mysql-server/pull/3820
  • https://github.com/dolthub/dolt/pull/11746
  • https://github.com/dolthub/doltgresql/pull/3285
  • 489: Support nested parentheses around subqueries, CTEs, and derived tables
  • Add paren_query_expression for CTEs and derived tables
  • Add paren_subquery for EXISTS
  • Add PREFER_PARENTHESES precedence token to disambiguate lookahead on shift/reduce conflicts. Fix [#8058] Fix [#11722] Block dolthub/go-mysql-server#3806
  • 488: Support directed TRIM without removal string pattern Fix [#11511] Block dolthub/go-mysql-server#3805
  • 486: Suppress idle connection timeout errors Suppress expected error logging when sql-server reaps idle connections after their read deadline. Timeout identity remains available to shared packet-reader callers; only the server command-loop error log is suppressed. Fixes [#11658]
  • 485: Add insert conflict target to AST Expose the parsed INSERT conflict target so downstream query engines can distinguish targetless ON CONFLICT DO NOTHING from targeted conflict handling. Part of dolthub/doltgresql#3091
  • 484: Disallow star expressions in FIRST_VALUE and LAST_VALUE window functions Fix queries containing FIRST_VALUE(*) or LAST_VALUE(*) to not be accepted by the MySQL parser.
  • sql.y: Update FIRST_VALUE and LAST_VALUE rules to require expression. Fix [#11468] Block dolthub/go-mysql-server#3756
  • 483: Add conditional duplicate update metadata Add insert AST metadata for a duplicate-update predicate and single-row affected-count semantics. This lets PostgreSQL dialect translation carry ON CONFLICT DO UPDATE ... WHERE behavior through the shared parser boundary. Adds formatting and AST-walk coverage for the predicate. Supports [dolthub/doltgresql#3235](https://github.com/dolthub/doltgresql/issues/3235).

Closed Issues

  • 11434: ExistingRefError.Error() omits the ref name and type
  • 11500: Dolt reaches an internal error on grouped one-column input.
  • 11470: Window AVG drops a non-NULL nonnumeric VARCHAR
  • 11720: Global-args gate rejects -C on the nine unmigrated commands, which is the case -C exists for
  • 11460: Dolt forms incorrect RANGE boundaries for a correlated computed order key
  • 11419: Dolt misorders a window when ORDER BY contains a correlated scalar subquery.
  • 11465: MIN panics on a legal empty leading ROWS frame
  • 11425: Dolt reports an internal row-index bug for invalid NTILE(column).
  • 8580: Error importing mysqldump with incorrect string value
  • 9534: Panic or no results for information_schema query
  • 11722: EXISTS ((subquery)) fails to parse, while IN ((subquery)) and scalar ((subquery)) succeed
  • 11452: Dolt panics with Interval.Evalwithin standalone INTERVAL expression
  • 8058: Double parentheses ie. ((...)) do not parse in Dolt
  • 11721: Nine commands reject --data-dir, so they cannot be run against a database from outside its directory
  • 11545: Dolt swallows a child-expression evaluation error in SUM
  • 11499: Identical nondeterministic window expressions are incorrectly merged
  • 11559: Dolt loses expression-index metadata in a windowed information_schema projection
  • 11551: Dolt exposes a user INVISIBLE column through SELECT *
  • 11511: Windowed TRIM(LEADING FROM str) is rejected by the parser
  • 11562: Dolt collides distinct text tuples in COUNT(DISTINCT ...) before a window wrapper
  • 10688: dolt sql auto-creates .doltcfg/privileges.db in CWD, causing multiple .doltcfg errors
  • 11512: Windowed HOUR() returns NULL for a valid time-only value
  • 11420: Dolt rejects unary negation of a ROW_NUMBER() window result.
  • 11497: Window expression de-duplication folds case-sensitive literals
  • 11352: dolt push prints '[new branch]' for every successful push of an existing branch
  • 11395: Dolt sibling window aggregates with different explicit frames reuse the wrong frame.
  • 11410: Dolt window SUM returns 0 for an all-NULL frame.
  • 11471: Empty value-window frame is incorrectly non-nullable in CTAS
  • 11390: Dolt supports BIT_AND, BIT_OR, and BIT_XOR as ordinary aggregates, but the same functions fail when used as window aggregates.
  • 11462: Final window ORDER BY on a set operation panics
  • 11466: Dolt sibling NTILE expressions reuse the first bucket count
  • 11498: Dolt window expression omits LIKE ESCAPE
  • 11543: Dolt raises an internal child-count error for CURRENT_TIME(precision)
  • 11409: COUNT(*) OVER () returns 1 instead of the partition size
  • 11478: Wrong results: a window function makes a correlated scalar subquery in the same SELECT collapse to its empty-match value (0/NULL)
  • 11521: COUNT(<column>) counts the wrong column on dolt sql-server
  • 11480: Wrong results: row-value (tuple) IN treats NULL = NULL as TRUE (three-valued-logic violation)
  • 11473: WHERE <col> <= <expr> and >= return rows where IS NULL on dolt sql-server
  • 11581: DOLT_RESET('--hard') permanently returns "context canceled" on a fraction of freshly created databases (regression in 2.3.0)
  • 11510: INET_NTOA corrupts valid IPv4 values above signed 32-bit
  • 11413: Dolt TIME_FORMAT mishandles hour format specifiers for TIME values.
  • 11595: Feature Request: MAKEDATE function
  • 11427: Dolt GROUP_CONCAT(expr1, expr2, ...) ignores later expressions.
  • 11561: Dolt skips empty strings in GROUP_CONCAT before a window wrapper
  • 11560: Dolt returns NULL for a 25-hour TIME in a windowed TIME_TO_SEC call
  • 11563: Dolt keeps boolean true separate from integer 1 in recursive UNION DISTINCT
  • 11542: CEIL/FLOOR of a windowed DECIMAL returns unexpected results
  • 11544: Dolt ignores the PM marker in STR_TO_DATE
  • 11414: Dolt converts valid date strings with leading or trailing whitespace to NULL
  • 11546: Dolt uppercases a lowercase non-ASCII initial in SOUNDEX
  • 11638: Wrong results: a scalar subquery's aggregate returns the OUTER query's aggregate when both use the same aggregate expression on the same table
  • 11412: Dolt returns a negative value for ABS(-9223372036854775808).
  • 11547: Dolt rejects a legal REGEXP_REPLACE position after the source
  • 11507: CRC32 rejects a legal binary value produced by a window
  • 11648: git-remote: dolt_remote_info under refs/heads/ makes concurrent git fetch fail with "incorrect old value provided"
  • 11509: STR_TO_DATE() errors instead of propagating NULL
  • 11589: Incorrect NULL filtering with nullable projection and ORDER BY
  • 11658: sql-server logs expected idle-connection reaps at ERROR (6565 lines/day on a healthy server)
Source: README.md, updated 2026-09-09