Name | Modified | Size | Downloads / Week |
---|---|---|---|
Parent folder | |||
doltgresql-windows-amd64.7z | 2025-04-16 | 22.4 MB | |
doltgresql-windows-amd64.zip | 2025-04-16 | 39.2 MB | |
doltgresql-darwin-arm64.tar.gz | 2025-04-16 | 41.1 MB | |
doltgresql-darwin-amd64.tar.gz | 2025-04-16 | 43.0 MB | |
doltgresql-linux-arm64.tar.gz | 2025-04-16 | 40.2 MB | |
doltgresql-linux-amd64.tar.gz | 2025-04-16 | 43.0 MB | |
0.50.0 source code.tar.gz | 2025-04-16 | 8.7 MB | |
0.50.0 source code.zip | 2025-04-16 | 10.0 MB | |
README.md | 2025-04-16 | 11.1 kB | |
Totals: 9 Items | 247.6 MB | 0 |
Merged PRs
doltgresql
- 1395: Slight README tweak
- 1390: support for array subscript Only supports one-dimension subscripts and no slices
- 1385: Support for ArrayFlatten and string_agg functions Also added stubs for a couple functions used by various psql commands
- 1384: Add support for
ALTER TABLE ... DROP CONSTRAINT IF EXISTS
Depends on: https://github.com/dolthub/go-mysql-server/pull/2936 Depends on: https://github.com/dolthub/vitess/pull/411 - 1383: Add support for
default_with_oids
Postgres docs A few sample Postgres dumps setdefault_with_oids
. This change allows them to set the parameter without triggering an error. Note that Doltgres does not support creating tables with OID columns, even if this parameter is set to true. - 1381: Add support for
ANALYZE;
without any tables specified When Postgres processes anANALYZE;
statement without any tables explicitly specified, it analyzes all tables. Postgres docs - 1378: Remove implicit prefix length now that we support adaptive inlining
Removes the Doltgres custom analyzer rule that added an implicit prefix length to
TEXT
columns when they were used in a key. - 1375: Compatibility with psql commands This PR adds a couple compatibility features for commands issued by psql:
- Support for the
operator(...)
syntax for built-in postgres operators - Support for collation expressions, currently ignored
These two things get us to near 100% coverage for psql commands without special casing. The last piece is the
array(select ...)
syntax. Relies on https://github.com/dolthub/go-mysql-server/pull/2931 - 1373: Add skipped tests for bugs hit from testing js frameworks, fix
current_setting
For https://github.com/dolthub/doltgresql/issues/1366 - 1370:
CREATE TABLE
formatter support This letsdolt_merge
correctly handle tables with column default values, constraints, etc. As part of the merge, Dolt generates and then parses theCREATE TABLE
statement for the table being merged. - 1367: Upgrade pganalyze/pg_query_go to v6.1.0 v6.1.0 includes a fix for building on MacOS 15.4
- 1363: Fixed index performance regression
I've left a fairly detailed comment for the future, but it doesn't quite explain the exact issue here. It's more so to prevent making a change that would lead to the issue again.
In a nutshell, we were always adding boolean literal expressions in our
start
andstop
expressions, which define the start and stop positions for the underlying tuple iterator. With the Dolt change to fix a case of incorrect results, we were met with even worse results in some circumstances. With the original logic, these literals were harmless to include in multi-expression ranges, but they fundamentally changed the behavior of the stop position with the new logic. They're required to be there though if there are no other expressions, hence it made sense to just always include them. The behavioral change isn't obvious at first glance, hence the need for the long comment (which should make it appear relatively obvious after reading). This also makes use ofQuickFunction
where possible, which should always be true for tuple-level filtering, and should provide a small speedup in those cases. - 1349: turn off stats by default for doltgres launch
- 1347: Bug fix for multi-column indexes Fixes https://github.com/dolthub/doltgresql/issues/1331 Also fixes an encoding bug: limited length varchar columns were always being encoded out of band. Tests for the changes in https://github.com/dolthub/dolt/pull/9061 Also fixes a bug in parsing --prof args
- 1344: Changing how a constraint addition is structured, to match what Dolt/GMS does We were previously modeling an inline constraint definition as a separate DDL command. This changes it to be consistent with how GMS and Dolt works, by using a single DDL command, and setting the constraint action.
- 1336: Infer types when clients specify a bind argument with OID zero When specifying parameters for a prepared query, callers can specify OID zero to instruct the server to infer the type. Doltgres was error'ing out in this case, because it couldn't find a valid OID registered for zero. This changes Doltgres to infer types when the specified parameter OIDs contains a zero. Found while testing a basic Rails app with Doltgres.
- 1333: More lenient handling of unsupported options in CREATE INDEX
- 1332: Account for new server config interfaces. NoOp
- 1329:
GENERATED BY DEFAULT AS IDENTITY
inCREATE TABLE
statement Fixes https://github.com/dolthub/doltgresql/issues/1328 - 1326: Initial support for advisory lock functions Adds support for three Postgres advisory lock functions:
pg_try_advisory_lock()
pg_advisory_lock()
pg_advisory_unlock()
A couple TODOs call out follow-ups to makeLockSubsystem
work better with Postgres' behavior, such as supporting reentrant locking. Fixes: https://github.com/dolthub/doltgresql/issues/1262- 1325: Bug fix: parsing iso8601 date strings Fixes [#1323]
- 1319: New tests and removed errors for various
ALTER .. OWNER
statements, which are no-ops - 1313: Add support for adaptive inline storage
- 1312: Relaxed collation restrictions (reduced to warnings) in CREATE DATABASE Also improved the error message for certain type errors.
- 1299: Allow
ALTER TABLE ADD COLUMN
to specify an inline FK constraint The regressions listed below are caused by us now honoring the inline check constraint definition, instead of ignoring them. GMS doesn't update the scope with the new column, so check constraints that use the column at the same time as adding it don't work properly. MySQL also supports this behavior, but we don't support it in GMS yet, so the fix for these regressions will be in GMS. - 1298: Fix spelling
- 1295: Support for
INSERT .. RETURNING
- 1294: Add tests for
ALTER COLUMN
to assert that column default expressions are resolved Altering a column with an existing column default expression was triggering a panic in Doltgres, because Doltgres'TypeSanitizer
was finding anUnresolvedColumnDefault
instance in theplan.ModifyColumn
instances'scolumn
field. This is not an issue from Dolt or GMS, because they don't support MySQL's syntax to alter a single component of an existing column, without requiring its full column definition to be respecified. (And also because they don't use Doltgres'TypeSanitizer
.) Depends on https://github.com/dolthub/dolt/pull/8994 Depends on https://github.com/dolthub/go-mysql-server/pull/2895 - 1291: Log stack traces when panics are caught
- 1289: Support
ENCODING
inCREATE DATABASE
Fixes https://github.com/dolthub/doltgresql/issues/1261 - 1288: Unskip node test for
INSERT INTO ... ON CONFLICT
- 1285: Avoid name collisions for generated FK names Matches Postgres' behavior where default foreign key name collisions are resolved by adding an integer suffix to the name to make it unique. Also includes a bug fix for setting the target schema when dropping a primary key. Fixes a couple more issues with supporting DoltHub's schema in Doltgres.
- 1277: Allow different but compatible types in foreign key constraints Relies on https://github.com/dolthub/go-mysql-server/pull/2888
- 1267: testing(sql): fix typo in code comment
- 1265: Root Object Rework This reworks root objects so that they actually work, as they previously did not (outside of the session cache).
Closed Issues
- 1366:
current_setting('server_version_num')
errors - 1377: Support
ANALYZE
with no tables specified - 1331: Django requires CREATE INDEX with what looks like a regex pattern
- 1262: Standard Rails deployments require
pg_try_advisory_lock()
function - 1328: Django uses
PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY
in create table which parse but does not generate a default - 1323: Django migrations use
::timestamptz
syntax on dates and Doltgres cannot parse - 39:
as of
syntax not supported yet - 28: Help message still from Dolt
- 1259: Standard Django migrations use RETURNING syntax that is not supported
- 1261: Standard Rails deployments require ENCODING syntax
- 805: Support
INSERT INTO...ON CONFLICT
- 1272:
DROP TABLE
should sort tables by dependencies