-
Notifications
You must be signed in to change notification settings - Fork 243
feat: Add support for Microsoft Fabric Warehouse #4751
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
128 commits
Select commit
Hold shift + click to select a range
b679716
feat: Add support for Microsoft Fabric Waerhouse
fresioAS 9a6c575
removing some print statements
fresioAS 347d3ed
adding dialect & handling temp views
fresioAS 0ff075c
isnan error
fresioAS 332ea32
CTEs no qualify
fresioAS 585fb7e
simplifying
fresioAS 1bbe90e
docs & tests
fresioAS 6895570
connection tests
fresioAS 9c0a2dd
remove table_exist and columns
fresioAS f40fc4d
updated tests
fresioAS 5cc30ab
mypy
fresioAS d5f7aa7
ruff
fresioAS 873d9f5
Merge branch 'main' into add_fabric_warehouse
fresioAS 50fe5e4
Update fabric.md
fresioAS ae7197b
Merge branch 'main' into add_fabric_warehouse
fresioAS 3a06c90
Update sqlmesh/core/engine_adapter/fabric.py
fresioAS 15a9603
Merge branch 'main' into add_fabric_warehouse
fresioAS 145b69b
Update fabric.py
fresioAS 9c37b9e
Merge branch 'main' into add_fabric_warehouse
fresioAS ecf3e7b
Add Fabric to integration tests
erindru 481c9a7
Merge remote-tracking branch 'fresioAS/add_fabric_warehouse' into fea…
mattiasthalen ec87592
Merge remote-tracking branch 'erindru/fresioas-sqlmesh-fabric-integra…
mattiasthalen 9127bda
feat(tests): add fabric timestamp handling in dialects test
mattiasthalen deb9321
fix: update catalog support configuration in FabricConnectionConfig
mattiasthalen 4412fc9
fix(mssql): update driver selection logic to allow enforcing pyodbc i…
mattiasthalen 6ac197e
fix(fabric): Skip test_value_normalization for TIMESTAMPTZ
mattiasthalen 173e0ac
Manually set sqlglot to dev branch.
mattiasthalen 933a765
Merge branch 'main' into feat/add-fabric-engine
mattiasthalen e154241
feat: Add support for Microsoft Fabric Waerhouse
fresioAS 2bdd417
removing some print statements
fresioAS cbe3bdc
adding dialect & handling temp views
fresioAS 0080583
isnan error
fresioAS bded0d0
CTEs no qualify
fresioAS 51753f1
simplifying
fresioAS 55d7314
docs & tests
fresioAS 1f37a4b
connection tests
fresioAS 5cb0e4f
remove table_exist and columns
fresioAS 8253545
updated tests
fresioAS 6a54905
mypy
fresioAS 6f1a575
ruff
fresioAS c2d10a2
Update fabric.md
fresioAS cd9f261
Update sqlmesh/core/engine_adapter/fabric.py
fresioAS 1eb623a
Update fabric.py
fresioAS 5113ef4
Update sqlmesh/core/config/connection.py
fresioAS d17677e
Add Fabric to integration tests
erindru c89351a
added mattiasthalen fork changes
fresioAS 0bbca57
Merge remote-tracking branch 'upstream/main' into feat/add-fabric-engine
mattiasthalen a0ea870
Merge branch 'add_fabric_warehouse' into feat/add-fabric-engine
mattiasthalen e011ac6
Merge branch 'main' into feat/add-fabric-engine
mattiasthalen f54b0f6
fix: update varchar columns to varchar(max) in table diff tests
mattiasthalen cd4aa95
fix: change varchar(max) to varchar(8000) in integration tests
mattiasthalen 94e7978
Revert "fix(mssql): update driver selection logic to allow enforcing …
mattiasthalen 1628ca5
Test removal of fabric config
mattiasthalen 09a0534
Merge remote-tracking branch 'upstream/main' into feat/add-fabric-engine
mattiasthalen bce209e
Bump SQLGlot to 27.2.0
mattiasthalen 25c393f
Activate fabric profile in integration testing
mattiasthalen 7756a8f
Add odbc to engine_tests_cloud in circleci
mattiasthalen 1655263
feat(fabric): add catalog management for Fabric
mattiasthalen ea088aa
feat(fabric): update connection configuration for Fabric adapter
mattiasthalen e19e3e4
feat(fabric): Add support for catalog operations
mattiasthalen a869df3
feat(fabric): Refactor _create_catalog
mattiasthalen 90d5abd
feat(fabric): Refactor _drop_catalog
mattiasthalen eac16da
fix(fabric): update response json
mattiasthalen f4aad00
feat(fabric): Override set_current_catalog
mattiasthalen 38b82bb
feat(fabric): Override drop schema
mattiasthalen 719a1d5
feat(fabric): Override create schema
mattiasthalen 3af7ec9
feat(fabric): Override create view
mattiasthalen cedfab4
feat(fabric): Catalog dropping functionality in TestContext
mattiasthalen 7cb8447
fix(fabric): Ensure schemas exist before creating tables
mattiasthalen fc2731b
Merge branch 'main' into feat/add-fabric-engine
mattiasthalen 0ae2621
Revert "Add odbc to engine_tests_cloud in circleci"
mattiasthalen 3d95bba
fix(circleci): Add unixodbc-dev to common dependencies in install script
mattiasthalen 734dbda
Merge branch 'main' into feat/add-fabric-engine
mattiasthalen 9718fd9
Revert "fix: change varchar(max) to varchar(8000) in integration tests"
mattiasthalen bd0f759
fix(docs): update installation command and add tenant & workspace UUI…
mattiasthalen 6cd5430
fix(tests): change varchar(max) to varchar in table creation tests
mattiasthalen d4a3c2b
Bump sqlglot
mattiasthalen efa97af
feat(circleci): add fabric to the list of cloud engines to test
mattiasthalen 148915a
Merge branch 'main' into feat/add-fabric-engine
mattiasthalen e693baf
fix(fabric): Update docs and add id to parameter names
mattiasthalen 705a670
Merge remote-tracking branch 'upstream/main' into feat/add-fabric-engine
mattiasthalen eaba56a
fix(fabric): Leverage tenacity for retry logic
mattiasthalen 9a720c8
fix(fabric): Use SchemaName instead of t.Union
mattiasthalen 0dccfdc
fix(fabric): Use exp.Table to extract extract schema name
mattiasthalen 0569051
fix(fabric): Correct catalog.schema parsing
mattiasthalen e0c0d3b
Merge remote-tracking branch 'upstream/main' into feat/add-fabric-engine
mattiasthalen cfcc05f
fix(fabric): Add workspace_id and tenant_id to unit tests
mattiasthalen 550b917
Merge remote-tracking branch 'upstream/main' into feat/add-fabric-engine
mattiasthalen 6496dbc
install ODBC for CircleCI config
fresioAS d0abf94
Merge branch 'main' into add_fabric_warehouse
fresioAS 0d3f129
trying to fix circleci
fresioAS 6dabf98
Merge branch 'add_fabric_warehouse' of https://github.com/fresioAS/sq…
fresioAS ca1b9e2
trying to fix circleci 2
fresioAS dc87f83
circleci added fabric + windows_test fix
fresioAS 37c4062
circleci fabric dummy host
fresioAS 7b83f2f
circleci fabric under cloud test
fresioAS 406293e
Merge remote-tracking branch 'mattiasthalen/feat/add-fabric-engine' i…
fresioAS 948e8b1
Merge branch 'main' into add_fabric_warehouse
fresioAS 9feae31
Merge remote-tracking branch 'upstream/main' into add_fabric_warehouse
mattiasthalen b6a3bf5
fix(fabric): Rename to FabricEngineAdapter
mattiasthalen 57657fe
fix(fabric): Import requests directly and update type annotations
mattiasthalen 563366a
fix(fabric): Use thread-local storage for Fabric target catalog
mattiasthalen db078c2
feat(fabric): Consolidate catalog switching logic in Fabric adapter
mattiasthalen d67a101
fix(fabric): Use proper connection factory pattern for Fabric catalog…
mattiasthalen a490c81
Merge pull request #2 from mattiasthalen/add_fabric_warehouse
fresioAS 881dff0
reverting continue_config
fresioAS 8fe5faf
fix(fabric): Remove unwarranted checks
mattiasthalen b38b6c9
fix(fabric): Consolidate API methods
mattiasthalen 6e018bb
fix(fabric): Simplify warehouse ID retrieval using next() for better …
mattiasthalen 422d350
feat(fabric): Refactor connection factory
mattiasthalen 6b702fa
feat(fabric): Remove redundant create_table and ctas overrides
mattiasthalen 02121e2
Merge remote-tracking branch 'upstream/main' into add_fabric_warehouse
mattiasthalen 776b840
fix(fabric): Enhance adapter with production-ready improvements
mattiasthalen f4df373
fix(fabric): Simplify adapter architecture and fix integration issues
mattiasthalen 6a14738
Merge pull request #3 from mattiasthalen/add_fabric_warehouse
fresioAS 88b5f0b
removed odbc from continue_config
fresioAS d2f2169
Revert " fix(fabric): Simplify adapter architecture and fix integrati…
fresioAS d28a781
Revert " fix(fabric): Enhance adapter with production-ready improveme…
fresioAS 5652c7a
Merge branch 'main' into add_fabric_warehouse
fresioAS d0e4607
Factor out much of the vibe code
erindru d9729a1
Merge pull request #4 from erindru/erin/add_fabric_warehouse_mods
fresioAS 1c8fc5c
Merge branch 'main' into add_fabric_warehouse
fresioAS a3a1303
Merge branch 'main' into add_fabric_warehouse
fresioAS f5a562e
Merge branch 'main' into add_fabric_warehouse
fresioAS 6564b4e
Merge branch 'main' into add_fabric_warehouse
erindru 53184b6
fix mypy
erindru 0b837a1
fix unit tests
erindru 49fd7cc
Merge branch 'main' into add_fabric_warehouse
erindru File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
# Fabric | ||
|
||
## Local/Built-in Scheduler | ||
**Engine Adapter Type**: `fabric` | ||
|
||
NOTE: Fabric Warehouse is not recommended to be used for the SQLMesh [state connection](../../reference/configuration.md#connections). | ||
|
||
### Installation | ||
#### Microsoft Entra ID / Azure Active Directory Authentication: | ||
``` | ||
pip install "sqlmesh[fabric]" | ||
``` | ||
|
||
### Connection options | ||
|
||
| Option | Description | Type | Required | | ||
| ----------------- | ------------------------------------------------------------ | :----------: | :------: | | ||
| `type` | Engine type name - must be `fabric` | string | Y | | ||
| `host` | The hostname of the Fabric Warehouse server | string | Y | | ||
| `user` | The client id to use for authentication with the Fabric Warehouse server | string | N | | ||
| `password` | The client secret to use for authentication with the Fabric Warehouse server | string | N | | ||
| `port` | The port number of the Fabric Warehouse server | int | N | | ||
| `database` | The target database | string | N | | ||
| `charset` | The character set used for the connection | string | N | | ||
| `timeout` | The query timeout in seconds. Default: no timeout | int | N | | ||
| `login_timeout` | The timeout for connection and login in seconds. Default: 60 | int | N | | ||
| `appname` | The application name to use for the connection | string | N | | ||
| `conn_properties` | The list of connection properties | list[string] | N | | ||
| `autocommit` | Is autocommit mode enabled. Default: false | bool | N | | ||
| `driver` | The driver to use for the connection. Default: pyodbc | string | N | | ||
| `driver_name` | The driver name to use for the connection. E.g., *ODBC Driver 18 for SQL Server* | string | N | | ||
| `tenant_id` | The Azure / Entra tenant UUID | string | Y | | ||
| `workspace_id` | The Fabric workspace UUID. The preferred way to retrieve it is by running `notebookutils.runtime.context.get("currentWorkspaceId")` in a python notebook. | string | Y | | ||
| `odbc_properties` | The dict of ODBC connection properties. E.g., authentication: ActiveDirectoryServicePrincipal. See more [here](https://learn.microsoft.com/en-us/sql/connect/odbc/dsn-connection-string-attribute?view=sql-server-ver16). | dict | N | |
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
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
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
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
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
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
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.