Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Created by
brew bumpCreated with
brew bump-formula-pr.release notes
Addresses several issues around primary key and foreign key naming:
pg_constaintsincorrectly listing non-unique and non-pk indexesNote that the regressions listed are all related to now honoring foreign key references inline in a column definition. Before, these statements were executing, but the FK reference was ignored. Now that we honor the FK reference, several tests broke for the following reasons:
DROP TABLEdoesn't automatically sort multiple tables by FK dependenciesRAISEin PL/pgSQLAdds initial support for
RAISEstatements in PL/pgSQL functions. There are still a few edge case TODOs (e.g. using theclient_min_messagesconfig param to determine what level of notices to send to clients), and this initial pass does not include any exception handling.Notice messages are queued in the current session, then sent to the client from the connection handler, right before results are sent to the client. Support for setting notices in the DoltSession is added in Add support for setting notices in the session dolthub/dolt#8974.
PostgreSQL Docs
Stacked on top of Implemented a couple jsonb functions dolthub/doltgresql#1243, relies on [no-release-notes] Exported several analyzer methods for use by doltgres dolthub/go-mysql-server#2871
This wasn't due to a bug in GMS, but rather a bug in our CreateTable wrapper node. This wasn't caught earlier because column default values in postgres can't contain column references, only generated columns can.
Fixing this bug exposed others, namely when using functions in check constraints.
This PR implements the parser changes in Added configurable options for how to quote identifiers in column defaults dolthub/go-mysql-server#2861 and adds tests.
There are still bugs around quoting in generated columns that need to be fixed in GMS, which will come in a follow-up PR.
CASE ... WHENin PL/pgSQLThis is a merge of servercfg: Add always-disabled AutoGCConfig to get doltgresql compiling. dolthub/doltgresql#1219 and Allow primary keys to contain address columns sorted by their resolved values. dolthub/doltgresql#1214
Due to concurrent changes in Dolt, these PRs need to be combined in order to get a clean CI.
DROP FUNCTIONAdds initial support for
DROP FUNCTION. (PostgreSQL Docs)Two of the main features not supported yet are: cascading deletes of function dependencies, and restricting deletes when function dependencies are detected. The resolution of a type from its name also needs to fleshed out more to support types outside of the
pg_catalogschema.Goes with sql-server: Add behavior: auto_gc_behavior: enable. dolthub/dolt#8849, which adds a config stanza like:
This is the Doltgres part of this change.
GMS PR: Allow primary keys to contain address columns sorted by their resolved values. dolthub/go-mysql-server#2854
Dolt PR: Allow primary keys to contain address columns sorted by their resolved values. dolthub/dolt#8870
The goal of the change is to allow for indexes to use an out-of-line variable-length type (like TEXT or BLOB) as a primary key while still storing just the address in the index (instead of being forced to store a prefix of the value).
As a result of this change, any tuple comparison operation may need to resolve a hash in the NodeStore. This poses two complications:
ValueStoreinterface that can store and retrieve variable-length bytestrings by their content hash.NodeStoreis the only implementation of this interface, but decoupling the interface from the implementation allows us to not depend onNodeStore's internals when passing it to lower-level code.This changes created functions such that they're now written to the root value, instead of being added to the global function list. This also supports overloading created functions.
Closed Issues
doltgres versionprints inappropriate warning about being out of date and update instructionsCREATE DOMAINsupportCREATE FUNCTIONsupport