Add Databricks Snowflake and MongoDB attribute stores - #490
Merged
longquanzheng merged 1 commit intoSep 17, 2026
Merged
Conversation
longquanzheng
force-pushed
the
codex/attribute-store-databricks-snowflake-mongodb
branch
from
September 17, 2026 19:18
832230f to
e239ba2
Compare
Codecov Report❌ Patch coverage is 📢 Thoughts on this report? Let us know! |
longquanzheng
force-pushed
the
codex/attribute-store-databricks-snowflake-mongodb
branch
from
September 17, 2026 19:34
e239ba2 to
fd441b1
Compare
longquanzheng
force-pushed
the
codex/attribute-store-databricks-snowflake-mongodb
branch
2 times, most recently
from
September 17, 2026 19:56
993ac65 to
d503bd5
Compare
longquanzheng
force-pushed
the
codex/attribute-store-databricks-snowflake-mongodb
branch
from
September 17, 2026 20:00
d503bd5 to
4f5ea64
Compare
longquanzheng
marked this pull request as ready for review
September 17, 2026 20:15
longquanzheng
deleted the
codex/attribute-store-databricks-snowflake-mongodb
branch
September 17, 2026 20:15
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
MERGEwrites_id, partial BSON upserts, and field-level filteringRationale
Attribute Sync previously projected only into PostgreSQL and MySQL. Applications that use cloud warehouses or MongoDB needed a separate dual-write path. These backends keep Dex's existing asynchronous latest-state and at-least-once attempt semantics while making every destination write idempotent by Flow ID.
User impact
Server operators can configure
databricks,snowflake, ormongodbstores without protobuf or SDK changes. SQL tables and MongoDB collections must already exist. Databricks and Snowflake require a logically unique stringflowIdColumn; MongoDB writes one document per Flow. Dex does not create schemas, constraints, indexes, migrations, or automatic backfills.Databricks and Snowflake are covered by local driver and SQL contract tests. This change does not claim live cloud warehouse wire-compatibility testing.
The Attribute Sync CI workflow contains independent relational and MongoDB jobs. A single
ci:attribute-synclabel runsattributeSyncIntegTestsagainst MySQL/PostgreSQL andmongodbAttributeStoreIntegTestsagainst MongoDB. Regular Server CI starts none of these databases.Validation
make -C server unitTestsmake -C cli testmake -C server attributeSyncIntegTestsmake -C server mongodbAttributeStoreIntegTestsmake copyright-checkcd docs && npm run checkgo mod tidy -diffinserverandcliskill-dex-developer0.9.0 package, source-fidelity, skill, Codex plugin, and Claude plugin validation