You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
1383: Add support for default_with_oids Postgres docs
A few sample Postgres dumps set default_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 an ANALYZE; 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 dolthub/go-mysql-server#2931
1373: Add skipped tests for bugs hit from testing js frameworks, fix current_setting
For #1366
1370: CREATE TABLE formatter support
This lets dolt_merge correctly handle tables with column default values, constraints, etc. As part of the merge, Dolt generates and then parses the CREATE TABLE statement for the table being merged.
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 and stop 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 of QuickFunction 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 #1331
Also fixes an encoding bug: limited length varchar columns were always being encoded out of band.
Tests for the changes in dolthub/dolt#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 in CREATE TABLE statement
Fixes #1328
pg_advisory_unlock()
A couple TODOs call out follow-ups to make LockSubsystem work better with Postgres' behavior, such as supporting reentrant locking.
Fixes: #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
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.
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 an UnresolvedColumnDefault instance in the plan.ModifyColumn instances's column 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 dolthub/dolt#8994
Depends on dolthub/go-mysql-server#2895
1289: Support ENCODING in CREATE DATABASE
Fixes #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.