Skip to content

Commit 333a45c

Browse files
suryaiyer95claude
andcommitted
docs: document minimum versions and make @azure/identity optional
- Add "Minimum Version Requirements" table to SKILL.md covering SQL Server 2022+, mssql v12, and @azure/identity v4 with rationale for each - Document auth shorthands (CLI, default, password, service-principal, msi) - Move @azure/identity from dependencies to optional peerDependencies so it is NOT installed by default — only required for Azure AD auth - Add runtime check in sqlserver driver: if Azure AD auth type is requested but @azure/identity is missing, throw a clear install instruction error Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 84e8828 commit 333a45c

4 files changed

Lines changed: 90 additions & 8 deletions

File tree

.opencode/skills/data-parity/SKILL.md

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -427,11 +427,23 @@ Even when tables match perfectly, state what was checked:
427427

428428
## SQL Server and Microsoft Fabric
429429

430+
### Minimum Version Requirements
431+
432+
| Component | Minimum Version | Why |
433+
|---|---|---|
434+
| **SQL Server** | 2022 (16.x) | `DATETRUNC()` used for date partitioning; `LEAST()`/`GREATEST()` used by Rust engine |
435+
| **Azure SQL Database** | Any current version | Always has `DATETRUNC()` and `LEAST()` |
436+
| **Microsoft Fabric** | Any current version | T-SQL surface includes all required functions |
437+
| **mssql** (npm) | 12.0.0 | `ConnectionPool` isolation for concurrent connections, tedious 19 |
438+
| **@azure/identity** (npm) | 4.0.0 | Required only for Azure AD authentication; tedious imports it internally |
439+
440+
> **Note:** Date partitioning (`partition_column` + `partition_granularity`) uses `DATETRUNC()` which is **not available on SQL Server 2019 or earlier**. Basic diff operations (joindiff, hashdiff, profile) work on older versions. If you need partitioned diffs on SQL Server < 2022, use numeric or categorical partitioning instead.
441+
430442
### Supported Configurations
431443

432444
| Warehouse Type | Authentication | Notes |
433445
|---|---|---|
434-
| `sqlserver` / `mssql` | User/password or Azure AD | On-prem or Azure SQL. Requires SQL Server 2022+ for `DATETRUNC` and `LEAST`. |
446+
| `sqlserver` / `mssql` | User/password or Azure AD | On-prem or Azure SQL. SQL Server 2022+ required for date partitioning. |
435447
| `fabric` | Azure AD only | Microsoft Fabric SQL endpoint. Always uses TLS encryption. |
436448

437449
### Connecting to Microsoft Fabric
@@ -445,9 +457,14 @@ database: "<warehouse-name>"
445457
authentication: "azure-active-directory-default" # recommended
446458
```
447459

448-
Supported Azure AD authentication types:
449-
- `azure-active-directory-default` — auto-discovers credentials via `DefaultAzureCredential` (recommended)
450-
- `token-credential` — same as above, with optional `azure_client_id` for managed identity
460+
Auth shorthands (mapped to full tedious type names):
461+
- `CLI` or `default``azure-active-directory-default`
462+
- `password``azure-active-directory-password`
463+
- `service-principal``azure-active-directory-service-principal-secret`
464+
- `msi` or `managed-identity``azure-active-directory-msi-vm`
465+
466+
Full Azure AD authentication types:
467+
- `azure-active-directory-default` — auto-discovers credentials via `DefaultAzureCredential` (recommended; works with `az login`)
451468
- `azure-active-directory-password` — username/password with `azure_client_id` and `azure_tenant_id`
452469
- `azure-active-directory-access-token` — pre-obtained token (does **not** auto-refresh)
453470
- `azure-active-directory-service-principal-secret` — service principal with `azure_client_id`, `azure_client_secret`, `azure_tenant_id`

0 commit comments

Comments
 (0)