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
919: support multi-alter statements
We support multi alter statements, so we shouldn't error.
918: partitions are no-ops
We parse, but ignore, PARTITION BY clauses in CREATE TABLE statements in gms, so do the same thing here.
Docs noting this here: dolthub/docs#2392
909: have rootFinalizerIter implement sql.MutableRowIter
We've moved rules out of analyzer into FinalizeIters so the applyRowUpdateAccumulator is applied afterwards.
However, this seems to be a special sql.RowIter, so we need to expose the child iterators through the sql.CustomRowIter interface to apply that rule
887: Bug fix: Make db.Ping(ctx) work correctly with Doltgres
Implementations of db.Ping(ctx) from Go's database/sql package typically send some sort of empty query to test the liveness of a database connection. For example, the pq library sends ; and the pgx library sends -- ping.
Before this change, Doltgres' parser would return an empty statement, instead of Vitess' ErrEmpty error, which caused GMS to try and execute a nil analyzed plan for these statements, return an error, and the ping check would fail. This change makes the Doltgres parser return the same Vitess ErrEmpty error that the Vitess parser throws, sending the same signal to GMS to handle an empty statement without returning an error to the client. The related PR dolthub/go-mysql-server#2716 updates the Parser interface documentation to explicitly call out the requirement to return ErrEmpty in order for empty statements to be handled correctly.
For testing, I've added some no-op statements to the smoke tests, but since these tests go through as prepared statements, they don't follow the exact code path as db.Ping(ctx), so I've also added calls to db.Ping(ctx) in the test framework, which do reproduce this error. I've also added a unit test for Doltgres' Parser implementation that explicitly tests empty statement parsing.
Fixes: #884
Related to: dolthub/go-mysql-server#2716
check for domain usage in tables for dropping domain
TODO:
creating domain type creates instance of array type of this domain type
unique OID generated for each domain created
add domains to pg_type
ALTER TABLE (e.g.: modify existing column to domain type column)
use domain type as underlying type to another domain
881: Update first batch of dolt system tables to use dolt schema
dolt_status -> dolt.status
dolt_branches -> dolt.branches
dolt_log -> dolt.log
dolt_tags -> dolt.tags
dolt_docs -> dolt.docs
These changes are mostly backwards compatible, unless you have an existing doc in dolt_docs, which will need to be recreated after updating
879: Allow nextval() to take a regclass instance
Allows the nextval() function to take a regclass parameter. Also changes the output function of regclass so that the returned relation name is schema-qualified if the schema is not on search_path.
This change also moves the GetCurrentSchemas() function into a new settings package to break a package import cycle. The new settings package is intended for low-level functions that access settings, without dependencies on other packages.
Fixes: #850
868: More ALTER TABLE Support
Adds support for additional ALTER TABLE syntax:
Adding a UNIQUE constraint
Adding a CHECK constraint
Dropping constraints
Adding support for check constraints triggered an issue with string literal value quoting that affects check constraints and column defaults. The fix was to make expression.Literal.String() match the behavior of GMS' expression.Literal.String() method and quote string literals. This required fixing another spot where we had been adding in quotes for string literals, as well as a small change in GMS (dolthub/go-mysql-server#2710). Fixes:
Regresions Report:
The regressions listed below are a little tricky to read, but everything seems to be working correctly as far as I can tell. In the first regression listed (INSERT INTO inhg VALUES ('foo');), this query now fails, because a previous statement now executes correctly to add a check constraint to a table, but our CREATE TABLE LIKE logic incorrectly copies over check constraints.
The rest of the regressions listed seem to actually be working correctly and I'm unable to repro problems with them, and they aren't reporting any errors in the regression report. For example, I've confirmed that the regression reported for ALTER TABLE inhx add constraint foo CHECK (xx = 'text'); actually executes correctly without error now, while on main it returns the error: ALTER TABLE with unsupported constraint definition type *tree.AlterTableAddConstraint.
867: Release v0.13.0
Created by the Release workflow to update DoltgreSQL's version
863: Added GRANT, REVOKE, Privilege Checking, Ownership, and persisting changes
This adds the majority of the core functionality that was missing for users, authorization, and privilege checking. This is missing rigorous testing, but that will be added in a separate PR (both engine and bats). All changes that will accompany those tests (such as missing statement support) will also be added in separate PRs.