Repository navigation
v0.22.0
YDB is installed separately
This is the first release without a built-in YDB engine. The ptah,
ptah-compat and ptah-ls binaries hold no YDB implementation. YDB is served
by the official provider stokaro/ptah-ydb-plugin,
which is installed on its own, on every installation channel:
ptah providers install ydbAfter the install, a command that names a ydb:// or ydbs:// URL or the
ydb dialect selects the provider without a flag or a manifest. Without it,
such a command fails with provider_missing and names the install command.
Container images and archives carry no provider, so a CI job or an image runs
the install command in its own step.
The provider renders, compares and plans, reads a live database, applies
changes, keeps the migration history and lock, lints YQL, writes data and runs
embedding generations, on YDB 25.1 and 26.2. See
Configure the YDB provider for
selection with a manifest, verification and the refusal codes.
Changelog
- d86ed76 Add a primary key a column declares to an existing table (#5387)
- c4f88e0 Add contract 25.21: database kinds, SQL schema facets, report counts and index facets (#5310)
- 2d3b938 Add contract 25.22: subtree coverage, SQL scanning, offline capabilities, password inputs and HCL platform groups (#5331)
- 2d54bc4 Add contract 25.24: the index kinds a provider models (#5393)
- 6959d7f Add contract 25.25: the identities a provider's models had before (#5431)
- faa6c49 Add contract 25.26: role scope reasons, Go placements, primary key changes and model references (#5455)
- 0f1d7eb Add contract 25.27: table outlines, shared coverage and reply-only checks (#5477)
- 869a578 Adopt contract 25.26 on the host: role scope reasons, Go placements, key changes and model references (#5456)
- e151d75 Adopt contract 25.27 on the host: table outlines and shared coverage (#5478)
- 134d350 Answer for a grant on a dropped relation with and without --schemas (#5403)
- d74d3c4 Change a constraint beside another on SQL Server (#5459)
- 7b0024f Compare a column's identity with its declaration (#5448)
- 9f0d76b Compare a policy's clause by meaning where the server cannot be asked (#5385)
- bffa57d Compare a provider index's covered columns when the key is unknown (#5342)
- 64c5164 Compare a provider release with the contract the host announces (#5407)
- 4ac45c6 Compare a serial column with an always identity (#5454)
- aebf651 Compare a temporal column's precision (#5405)
- a3b80b6 Converge a CockroachDB default on a sequence (#5366)
- 66f2ac3 Count a provider's objects in the drift inventory (#5351)
- 7064c76 Count a provider's values in schema stats (#5300)
- ff8a486 Count an engine's own indexes among the indexes in schema stats (#5378)
- 560a0ae Cover the flag wording of a forwarded native target (#5505)
- e4a1ece Create a declared empty schema on SQL Server (#5427)
- 96c457f Create a provider's tables before dropping table-scoped indexes (#5445)
- 6f24982 Create a schema the document declares and the database lacks (#5402)
- 51fc378 Create no schema in a rollback that the database holds (#5457)
- 4b30ef0 Declare ClickHouse 26.10 and match the reworded view refusal (#5346)
- b87df24 Declare PostgreSQL view options in a SQL schema (#5327)
- 36770f8 Declare view options in Go annotations and YAML (#5328)
- 2b4a11e Declare view options in HCL, and keep what HCL cannot state (#5334)
- 123d648 Delete the built-in YDB engine; YDB is served by its provider (#5298)
- 677552a Drop a UNIQUE over one column on SQL Server (#5466)
- b8ccd28 Drop a key under an AUTO_INCREMENT column in steps (#5414)
- a0bafe1 Drop a primary key ahead of the column changes it stands in the way of (#5389)
- 1d9b3cc Drop a released index once ahead of a foreign key under its name (#5480)
- 5bc30fc Drop a removed foreign key ahead of the key it stands on (#5461)
- a0f9b93 Drop a removed policy ahead of the column changes (#5443)
- c8f46bf Drop a removed routine ahead of the functions it calls (#5355)
- d2c5da2 Drop a removed routine and its callers ahead of what they read (#5400)
- b56cf36 Drop a table's keys and indexes ahead of a column it loses (#5467)
- 1379cf9 Drop an exclusion constraint ahead of the column changes under it (#5413)
- bed6126 Drop an exclusion constraint ahead of the columns it covers (#5350)
- e2ee77b Drop an index a foreign key takes the name of ahead of the key (#5451)
- c10ce5b Drop the index a removed foreign key leaves behind (#5436)
- f8d34b7 Drop what uses a removed type ahead of the type (#5437)
- 73ee0da Expect settled guards and catalog spelling in integration tests (#5404)
- 5024a84 Expect the catalog's spelling in four more integration tests (#5422)
- 0e3d5bd Expect the change comment in two ptah-compat provider lint tests (#5390)
- 4a4c946 Expect the exact statement style in the integration contour (#5363)
- eebea4d Expect the named primary key in the SQL Server scenario (#5507)
- e438d6d Fix the master gates the YDB engine removal broke (#5330)
- 1621df2 Free a UNIQUE's name ahead of the index a rollback adds under it (#5468)
- 090abd8 Give a kept foreign key an index of its own ahead of a removal (#5450)
- cda568c Give a kept key its index ahead of a foreign key that takes the old name (#5492)
- 2a2ca2c Give a plain column the sequence a declared serial type draws from (#5449)
- eab76c9 Give an AUTO_INCREMENT column and its plain key one statement (#5488)
- 36f35ae Give the integration contour room for its root package (#5503)
- 939d83b Hand a column's facets to the provider in an HCL export (#5377)
- 603dff9 Hand a provider the index declarations of the types it claims (#5396)
- 15d8c52 Handle grants on views and materialized views the plan drops (#5375)
- 4f7e28f Honor every diff.skip kind in schema apply on both surfaces (#5382)
- e782746 Keep Atlas CE flag wording on github.com/spf13/pflag v1.1.0 (#5496)
- 74fc273 Keep a CockroachDB sequence's owner around a change of its default (#5420)
- c117f4f Keep a SQLite current-time default valid (#5362)
- ffdf07b Keep a constraint on its own table when a plan creates a same-named one (#5446)
- 408f27d Keep a declared role password out of every output (#5324)
- 1c0a8e3 Keep an index diff.skip keeps through a SQLite table rebuild (#5397)
- e6e059f Keep github.com/spf13/pflag at v1.0.10 (#5494)
- 26977de Keep native grants behind the common statements ahead of them (#5473)
- e3a913d Keep the contour's PostgreSQL data directory in memory (#5512)
- bf81df6 Keep the dev database's name out of a migrate diff file (#5354)
- 2d4faa5 Keep the grants on a provider object the source does not describe (#5345)
- 14c6c0c Keep the grants on an object its owner keeps (#5501)
- e742d25 Keep the host's work on a large provider schema linear (#5463)
- 0dd9190 Leave a grant the migrations do not make to a derived rollback's target (#5511)
- 151dbd1 Leave a refresh's temporary table out of a ClickHouse read (#5309)
- eb7a993 Leave a reserved name's coverage out of a document made from a read (#5340)
- e50446c Leave the database owner's own rights out of the schema grants (#5430)
- 1db865c Leave the grants on a dropped table or view to its drop (#5344)
- 50c8fd8 Leave the relations an extension owns to the extension (#5409)
- 10b1b7d Leave the server-chosen index out of the projection comparison (#5391)
- d00fb70 Let a foreign key reference a key in another order on PostgreSQL (#5421)
- 4fb4d8b Let a lint check say who opens each file's transaction (#5339)
- 62f7cb0 Let a provider name an earlier definition of its own model (#5491)
- 13863b3 Let a provider's creation projection take the engine's own facts (#5356)
- 833af35 Let a read name the tables it leaves out (ADR 0063) (#5295)
- 88479f8 Let a statement shape reach the provider planner (#5411)
- 5624040 Let native lint and up say that golang-migrate applies a directory (#5321)
- f369466 Link the PostgreSQL page's YDB mention to the provider page (#5352)
- cd39473 Lint PostgreSQL identifiers the server cuts or refuses as one (#5319)
- f660527 Make a primary key's row reach the rule it pins (#5482)
- fb8517b Move a CockroachDB primary key in one statement (#5425)
- 60eda2d Move a MySQL primary key after what its foreign keys need (#5410)
- 2fc0137 Move the YDB-only documentation to the YDB provider (#5337)
- f95a7ee Move the target's values into its dev realm before the baseline (#5502)
- c240e07 Name a feature owner's change in a migrate diff file (#5357)
- 8a7db02 Name a primary key nobody named on SQL Server (#5458)
- 291d0cd Name a provider operation's change in a migrate diff file (#5343)
- 2095f58 Name a provider's change above its statement on schema apply (#5470)
- 16a6d7a Name a provider's index addition as the index it creates (#5434)
- 32fcc21 Name a provider's model in a captured header by the identity it owns (#5493)
- dd2370e Name a provider's table rebuild as the built-in YDB engine did (#5484)
- d35430c Name an unnamed UNIQUE and CHECK in a SQL Server schema file (#5462)
- 0c7808b Name each engine's changes in the community binary's words (#5353)
- 45957dd Name each statement's change on schema diff, apply and plan (#5367)
- ad89896 Name the unusable index when a rerun stops at its name (#5359)
- 1aa865e Pin the provider SDK at v0.20.0 (#5336)
- 7311227 Pin the provider SDK at v0.21.0 (#5399)
- 6d91b05 Pin the query builder's YQL rendering through the YDB provider's spelling (#5380)
- 863cf33 Place the facets of a SQL schema reading where a YAML source places them (#5301)
- a9a1014 Plan a moved primary key on the MySQL family and SQL Server (#5392)
- c4d8193 Plan a provider change's reverse through the provider's reversal (#5286)
- 802f7e6 Plan a provider engine with its session's facts when it states none (#5335)
- 11fc0a6 Plan a provider's reverse index change against the table the forward plan leaves (#5290)
- 129ed45 Plan native schema changes and migrations in the exact statement style (#5341)
- 437a793 Prepare one statement's operations as a node's own (#5485)
- aeeff91 Print a provider line's label as its preset name only (#5435)
- 32a58c3 Print a provider's plan under the heading an SQL plan has (#5500)
- d001c7f Project a provider's reverse column facet onto the column (#5291)
- 7326fda Project the removals of created tables from one conversion (#5471)
- a21bd4d Propose that a read covers a directory and everything below it (ADR 0064) (#5294)
- 25f687b Publish each provider's own docs/ pages on the documentation site (#5348)
- ef5e16f Read a ClickHouse string default as the server stores it (#5490)
- 001a7fb Read a PostgreSQL schema the same way for every connecting role (#5499)
- 9f6fb2b Read a backslash as an escape in a ClickHouse default (#5489)
- c20b795 Read a captured claim under the identity a provider's model had before (#5433)
- 77e73c4 Read a default on a sequence described on its own as an ordinary default (#5358)
- ac253b0 Read a provider's coverage region over a schema and the schemas below it (#5332)
- b637389 Read a quoted column past any literal in an expression (#5486)
- 6475b3b Read a reversed key moved under a foreign key back on CockroachDB (#5483)
- f11271c Read an engine's change wording from its descriptor (#5376)
- a9fd6cd Read an inspected index's own facets from a provider (#5306)
- 9d48865 Read and write a provider's platform group of an HCL table (#5347)
- d18f58a Read the catalog's spelling of bigserial in a migrate diff test (#5398)
- 5f31c64 Read the dev role note in the singular too (#5495)
- 62bd0b2 Read the exact plan's statements in three integration tests (#5388)
- 287c759 Read the grants a predefined PostgreSQL role holds (#5412)
- 3ccd4c2 Read the objects of a provider's database on a filtered read (#5305)
- 428b280 Read the schemas a directory puts tables in on migrate diff (#5465)
- 21a3a31 Rebuild a foreign key over a key the plan removes (#5370)
- 3cbc901 Rebuild a policy around a column it names when the plan retypes it (#5453)
- b409d52 Record the matrix run that measures ClickHouse 26.10 (#5386)
- ca57e5e Record the measured ClickHouse 26.10 line in the capability status (#5384)
- 928b6d6 Refuse a declaration at a table a provider's read leaves out (#5299)
- d52a855 Refuse a document naming another database on every verb that plans (#5416)
- 0eba96b Refuse an HCL schema outside --schema in strict compatibility mode (#5428)
- 8d6ccee Refuse the settings of a view in a provider's SQL schema reading (#5338)
- 3fb715a Refuse to remove a view's security option the schema leaves out (#5361)
- 708e61c Regenerate the migration safety report sample (#5383)
- 1f6afdc Rehearse a schema's own comment and privileges on a shared dev server (#5381)
- cadfd02 Remove a CockroachDB primary key by moving it to a hidden rowid (#5452)
- f4e2e85 Rename a primary key when only its declared name differs (#5447)
- 50071a6 Render a provider's role memberships beside the roles (#5444)
- ac57464 Repair the integration tests left red after the YDB removal and the exact style (#5373)
- 231e05d Replay a schema's comment where the reset gives it back (#5442)
- 523e593 Report HCL losses and undecided objects through the run report (#5318)
- af83fd3 Report a column's old and new value in schema compare (#5379)
- b790c0d Report a failed nightly run on one open issue (#5514)
- a224f15 Report a serial column the declaration writes as a plain type (#5424)
- 44414ff Report a width change on an nvarchar column (#5369)
- 6c288bf Report uncovered Atlas migration files from the shared integrity gate (#5325)
- ae3b93c Resolve a provider engine's server version on its declared lines (#5418)
- 92aa256 Return each MCP tool call's warnings in its result (#5320)
- 051ba00 Run the integration contour under the race detector only at night (#5513)
- 6b3659d Say that the declared provider release is kept by hand (#5365)
- 7d5f4d8 Say what DROP EXTENSION does in the plan's note (#5349)
- 2539438 Select the provider of the dialect a lint policy names (#5415)
- d5a53dc Send each planning service only the context kinds it assesses (#5312)
- ffce939 Settle guards on the MySQL-family, SQLite, SQL Server, Oracle and ClickHouse planners (#5374)
- 82cd344 Show a provider's operation as its statement in the schema apply preview (#5316)
- 59f42c7 Split a provider engine's SQL with its provider's scanner (#5419)
- 0d0e905 Take a provider's HCL claim only from the document's header (#5329)
- 79be944 Tell a provider's lint rules who opens each file's transaction (#5408)
- 798941d Tell column types apart by their whole name (#5401)
- c1bb3e6 Update astro monorepo (#5438)
- 005ff88 Update aws-sdk-go-v2 monorepo (#5439)
- 4269553 Update database server images (#5322)
- 3db9953 Update dependency astro to v7.4.6 (#5395)
- 0b255ef Update dependency playwright to v1.65.0 (#5440)
- 6770109 Update golang.org/x/exp digest to d498a4c (#5504)
- e34aaea Update google.golang.org/genproto digest to d1e00e9 (#5271)
- 85870bf Update google.golang.org/genproto/googleapis/rpc digest to d1e00e9 (#5272)
- 730cb1e Update module cloud.google.com/go/auth to v0.24.3 (#5432)
- 0710621 Update module cloud.google.com/go/secretmanager to v1.24.0 (#5426)
- 463c24c Update module github.com/spf13/pflag to v1.1.0 (#5487)
- 74de0b6 Update module go.yaml.in/yaml/v3 to v3.0.6 (#5307)
- 3af8025 Update module go.yaml.in/yaml/v3 to v4 (#5288)
- 7a8472d Verify a migration on a shadow realm against sources bound for it (#5292)
- 10a825f Write a SQL Server schema's comment to the catalog (#5479)
- 6d1a258 Write a SQL Server table's comment with the table (#5481)
- e7081f3 Write a declared primary key name when the key reaches an existing table (#5406)
- 0fb4dc2 Write a new table and its columns as the catalog prints them (#5394)
- f5601db Write each provider statement on its own lines in the inspect SQL format (#5311)
- 53ed092 Write grants on a provider's declared objects after the other statements (#5469)
- 2adee98 Write statements in the order the community binary writes them (#5441)