Skip to content

Conversation

@BrewTestBot
Copy link
Member

Created by brew bump


Created with brew bump-formula-pr.

release notes
# Merged PRs

doltgresql

  • 1641: Fix binary encoded bind vars
    Bind vars can be specified in a string format or a binary format. The library Doltgres uses for decoding the bind vars (pgtype) errors out when converting some types in binary format to string format. The error looks like: cannot scan timestamp (OID 1114) in binary format into *string.
    As part of fixing timestamp, I also found that date and bool needed special handling, too, and I updated our prepared statement tests with more type coverage and to ensure we hit both the string format and binary format bind var code paths.
    Fixes: Error for INSERT using prepared statement with timestamp column dolthub/doltgresql#1419
  • 1639: Perf improvement for oid_eq
    OID equality is found very commonly in expensive joins on pg_catalog tables, and was revealed to be a major bottleneck in SQLAlchemy performance via profiling.
  • 1638: Remove duplicate type definitions
    Removes two duplicate type definitions. Original customer report also mentioned unused tokens, although those have been left in, since they are valid Postgres tokens and many will likely be used as we continue extending Doltgres support.
    Related to: Duplicated %type declarations in postgres/parser/parser/sql.y dolthub/doltgresql#1592
  • 1634: Named all anonymous callable funcs in binary func package
  • 1633: Removed wasteful engine instantiation
    This takes 30% or more off pg_catalog accesses. Before:
    image
    After:
    image
  • 1632: Remove error out for global parameters
    Erroring out is preventing gms from setting system variables when server starts (dolthub/go-mysql-server#3005) since AssignValues calls InitValue with global set to true.
  • 1630: Small bug fixes for SQLAlchemy compatibility
  • 1610: support for bool_and, bool_or
    Also unskipped a few formerly skipped tests for another aggregate function since it's now supported by the engine.
  • 1605: Added GCC and Clang building
    This extends the definitions build script to search for GCC and Clang too. These were all tested and confirmed to work locally.
  • 1604: Fix SET queries to expect OKResult
    companion pr: Only print Query Ok results in interactive shell. dolthub/dolt#9441
  • 1601: parse MM DD HH:MM:SS YYYY format for timestamp type
  • 1595: scripts/build_binaries.sh: Windows builds: statically link libssp so that doltgres.exe does not have a dependency on MinGW at runtime.
    Also picks up newer versions of our crosstools toolchain and sets the platform_version metadata in the MacOS builds so that they will be more compatible with App Store release in the future if the Workbench ever supports Doltgres.
  • 1593: support timezone input in time and timetz types
  • 1589: Support for set-returning functions
    Depends on Support for set-returning functions dolthub/go-mysql-server#3054
  • 1573: Fix dolthub/dolt#483 - truncate expected err str due to auto-gen postfix
    Fixes dolthub/dolt#483
    Removed Doltgres over specific expected error string on constraint check test
  • 1570: Fix dolthub/dolt#483 - add skip for remote tracking branch and table same name test
    Fixes dolthub/dolt#483
    Add skip for test since doltgres harness does not create remote dir with h.UseLocalFileSystem()
  • 1562: support set returning function
  • 1555: Added partial support for CREATE EXTENSION
    Relies on:
    • Changes for Doltgres integration dolthub/pg_extension#4
      This implements support for CREATE EXTENSION, in that only uuid-ossp is tested. This doesn't handle everything else that's needed for DROP EXTENSION, such as tracking the created artifacts. There are also some skipped tests where the results aren't quite what are expected, but besides that everything works assuming the environment requirements are satisfied.
  • 1544: Added generated system tables to pg_catalog tables
    Relies on Utility method to list all system tables in a schema dolthub/dolt#9339
    Also fixes a bug in NOT IN expressions
  • 1536: Add support for UPDATE ... FROM
    Adds support for using UPDATE ... FROM statements to update a table using data joined from other tables.
    The biggest gap I'm aware of is support for executing triggers on the updated table. GMS needs some additional changes to clean up the interface for plan.GetUpdatable() and needs to return implementations of sql.DatabaseSchemaTable in order for Doltgres triggers to work with UPDATE ... FROM statements.
    Depends on: Minor updates to support UPDATE ... FROM in Doltgres dolthub/go-mysql-server#3016
  • 1534: support char type with length for string input
  • 1522: Add support for SELECT statements with no expressions
    Resolves SELECT FROM ... support dolthub/doltgresql#1470
  • 1520: Add support for IS NULL expression on records
    Postgres semantics for IS NULL and IS NOT NULL differ slightly from the the MySQL semantics implemented in GMS. For records and composites, IS NULL returns true if the record/composite itself is NULL or if all values in the record/composite are NULL. IS NOT NULL returns true only if all values in the record/composite are not NULL. Note that this means, for records and composites in Postgres, IS NOT NULL is not equivalent to NOT(IS NULL).
    This change adds custom implementations of IS NULL and IS NOT NULL to support Postgres' behavior with records and composites.
    Depends on: Abstract IsNull and IsNotNull expression logic  dolthub/go-mysql-server#3064
  • 1515: Support for ORDER BY in array_agg
    Depends on Support for injected expressions with ORDER BY clauses dolthub/go-mysql-server#3001
    This invalidates the previous approach, but I want feedback on this technique before I remove it.
  • 1504: Implemented pg_type_is_visible
    Also added user types to pg_types table
    Partial fix for #1465
  • 1497: array_agg support and general framework for postgres aggregate functions
    Other aggregate functions will require type overload resolution logic that this first function, array_agg, does not.
    Also not yet supported: the ORDER BY clause in the function, e.g.:
    array_agg ( anyarray ORDER BY input_sort_columns )
    Relies on Hacky extension point for aggregate function determination dolthub/go-mysql-server#2992
  • 1495: fix displaying correct column name for dolt_ tables
    This behavior was introduced in Bug fix for dolt_ tables with incompatible types dolthub/doltgresql#1408
  • 1489: set ReadyForQuery transaction indicator for in transaction query
    Depends on add returning clause case for assign exec index rule dolthub/go-mysql-server#2986
  • 1473: Bug fixes for EXISTS, prepared statement typing
  • 1471: new gms and fix compile errors
  • 1467: Bug fix for name resolution
    This fixes the failing query in SQLAlchemy Demo no work with Doltgres dolthub/doltgresql#1464
  • 1458: Implemented support for various SHOW statements
    One of the new tests for SHOW SEQUENCES exposes a very bad bug:
    error running query: dangling ref: found dangling references to HashSet {
    a084r0i9e18t0gq6m3s6qmp86pfq4hos
    dq8tbqfe39u1hah2bs0ilg63rfk3vok2
    }
    
    I'm worried this is something pretty nasty in session / context management in doltgres.
  • 1451: Add ROW() record constructor support
    Initial support for the ROW() constructor expression, which creates anonymous records.
    This PR adds support for basic uses of the ROW() constructor, such as creating records from groups of expressions, selecting records, comparing records, and using records in WHERE clauses. There are still several record features that don't work yet, such as using a table alias with the ROW() constructor.
    Fixes: ROW keyword for tuples not yet supported dolthub/doltgresql#1425
    Depends on: Bug fix: use ExtendedType serialization if present dolthub/go-mysql-server#2982
  • 1448: Added test for VALUES() select statements interacting with prepared statements
    Confirmed fix for unable to prepare query: unsupported syntax dolthub/doltgresql#1424

Closed Issues

  • 1464: SQLAlchemy Demo no work with Doltgres
  • 1419: Error for INSERT using prepared statement with timestamp column
  • 1430: OFFSET $1 errors with unsupported syntax: <nil>
  • 1470: SELECT FROM ... support
  • 1334: ORDER BY support in aggregate functions
  • 1425: ROW keyword for tuples not yet supported
  • 1424: unable to prepare query: unsupported syntax

View the full release notes at https://github.com/dolthub/doltgresql/releases/tag/v0.51.0.


@github-actions github-actions bot added go Go use is a significant feature of the PR or issue bump-formula-pr PR was created using `brew bump-formula-pr` labels Jul 18, 2025
@github-actions
Copy link
Contributor

🤖 An automated task has requested bottles to be published to this PR.

Caution

Please do not push to this PR branch before the bottle commits have been pushed, as this results in a state that is difficult to recover from. If you need to resolve a merge conflict, please use a merge commit. Do not force-push to this PR branch.

@github-actions github-actions bot added the CI-published-bottle-commits The commits for the built bottles have been pushed to the PR branch. label Jul 18, 2025
@BrewTestBot BrewTestBot enabled auto-merge July 18, 2025 17:56
@BrewTestBot BrewTestBot added this pull request to the merge queue Jul 18, 2025
Merged via the queue into main with commit 3e5b2a2 Jul 18, 2025
22 checks passed
@BrewTestBot BrewTestBot deleted the bump-doltgres-0.51.0 branch July 18, 2025 18:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bump-formula-pr PR was created using `brew bump-formula-pr` CI-published-bottle-commits The commits for the built bottles have been pushed to the PR branch. go Go use is a significant feature of the PR or issue

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants