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 bump
Created with
brew bump-formula-pr
.release notes
AGGREGATE
statement syntaxesThis PR adds support for
CREATE AGGREGATE
andDROP AGGREGATE
statements syntaxes.TYPE
andDOMAIN
statements syntaxesThis PR adds support for
CREATE TYPE
,ALTER TYPE
,CREATE DOMAIN
,ALTER DOMAIN
ANDDROP DOMAIN
statement syntaxes.LANGUAGE
syntaxesThis PR adds support for
CREATE
,ALTER
andDROP
LANGUAGE
statements syntaxes.Also fixed an issue where the --config option wasn't working (looking in the wrong directory).
This adds all of the internal functions for unary and binary operators (for types that are currently implemented).
SEQUENCE
statements syntaxThis PR adds complete support for parsing
SEQUENCE
syntaxes.There are two bugs here. The first is that
INTEGER
andINT
were parsing asINT8
. The second is thatORDER BY 1
was failing for tables that had anINT4
but not anINT8
. For the first, our parser simply used the wrong bit width, which is fairly straightforward.The second bug was far trickier to track down. Essentially,
ORDER BY 1
has been broken, however some combinations of tables and rows would result in the correct order on accident, and that's what led to the confusion on how the second bug worked. It's even more coincidental that the literal1
inORDER BY 1
happened to correspond to the first value in the affected tests, further masking the issue.Fundamentally, the issue has not been fixed, and this submits a workaround. The root of the issue is that GMS expects the
vitess.SQLVal
type, and does not handle our case (Postgres literals). As a workaround, we're converting our Postgres literals tovitess.SQLVal
specifically for this exact case. The real fix would be for GMS to defer to Doltgres when encountering types that it cannot hardcode (or to un-hardcode types, which seems relatively bad for GMS just to work better with Doltgres). We do not have a standard way of implementing this differing interface yet, so we'll punt on that and just get this workaround in.This PR includes changes for:
sql.SystemVariableRegistry
interface is for Dolt only, but we add all the postgres configuration parameters to theSystemVariables
global variable in GMS. This should be updated to handle Doltgres config parameters separately in future.SESSION
, which is used asSESSION
scope in GMS. There is no GLOBAL scope inpostgres
to be set during a session.Depends on GMS PR: create system variable interface dolthub/go-mysql-server#2375
Depends on Dolt PR: use system variable interface dolthub/dolt#7579
Next up:
Parameter
such as accept setting memory and time values that has unit information, etc.This adds tests for most of the functions, along with the generation code that grabs results from a running PostgreSQL 15 to create tests with.
Addition
expressionNote: majority of the tests regressed because of not being able to check doltgres-specific types in GMS.
E.g: doltgres
types.Int64Type
is not recognized asNumberTypeImpl_
in GMS.TRIGGER
statements parsingAdds syntax parsing support for:
CREATE TRIGGER
ALTER TRIGGER
DROP TRIGGER
VIEW
andMATERIALIZED VIEW
statements parsingAdds syntax parsing support for:
CREATE VIEW
CREATE MATERIALIZED VIEW
ALTER VIEW
ALTER MATERIALIZED VIEW
Tests discovered and fixed several issues from first draft, mostly involving stopping and resuming replication and many races in testing and the replicator itself.
Next step: error handling tests using toxiproxy
Final step: UX and docs
PROCEDURE
statements syntax parsingThis PR includes syntax parsing support for:
CREATE PROCEDURE
DROP PROCEDURE
ALTER PROCEDURE
ALTER FUNCTION
ALTER INDEX
stmtThis PR also fixes all the synopsis that had
[ $argmode$ ] [ $argname$ ] $argtype$ [ , ... ]
to correct format of{ [ $argmode$ ] [ $argname$ ] $argtype$ } [ , ... ]
. The tests that are affected by this change is updated.What this adds:
The previous function overload framework only worked in a very limited capacity. This PR intends to remove those limitations, allowing for all current (and future) Postgres functions to be defined. In general, this is also designed to support user-defined functionality, or at least designed in such a way that it will be relatively easy to fully implement it later on.
Related PR: Fixed handler bug related to ExtendedTypes dolthub/dolt#7537
Test runner for docker-based replication tests
Seeking some feedback on this approach. This works locally for me on my local Docker when I build the image from the package root:
docker build --file=testing/ReplicationTestDockerfile .
CREATE TABLE
andALTER TABLE
statement syntaxThis PR adds support for parsing
CREATE TABLE
andALTER TABLE
statementsIt also removes some parsing code for statements that are not supported in Postgres.
Looking for feedback on this approach before polishing it off for submission.
Missing / next steps:
Created by the Release workflow to update DoltgreSQL's version
Closed Issues