Skip to content

feat(sqlserver): add partitions, types and constraints introspection - #12

Merged
vistart merged 4 commits into
release/v1.0.0.dev3from
feature/introspection-coverage
Nov 9, 2026
Merged

vistart merged 4 commits into
release/v1.0.0.dev3from
feature/introspection-coverage

Conversation

@vistart

@vistart vistart commented Nov 9, 2026

Copy link
Copy Markdown
Contributor

Description

Adds the missing sqlserver introspection coverage and aligns the CLI surface with what the backend can actually deliver.

  • partition functions, schemes, boundaries and aligned indexes
  • user-defined alias/table/CLR types
  • PK/UQ/FK/CHECK/DEFAULT constraints

The ddl introspection type is no longer advertised for this backend because
supports_ddl_extraction() is permanently False. introspect ddl is now an
argparse usage error (exit 2); the backend DDL expression/formatter remains for
a future implementation.

Adds # (no linked issue; operator-directed introspection coverage work)

Type of change

  • feat: A new feature
  • docs: Documentation only changes
  • test: Adding missing tests or correcting existing tests
  • ci: Changes to CI configuration files and scripts
  • perf
  • chore
  • build
  • revert

Breaking Change

  • Yes
  • No

The removed ddl CLI type never produced an answer for an ordinary table, so
its removal changes the help/type surface rather than a working capability.

Applicable rhosocial-activerecord Version Range:

>=1.0.0.dev30,<2.0.0

Related Repositories/Packages

  • rhosocial-activerecord core: release/v1.0.0.dev30
  • rhosocial-activerecord-testsuite: release/v1.0.0.dev17
  • This backend's own release branch: release/v1.0.0.dev3

Testing

  • CI run 42591173936: success (all jobs)
  • Local offline tests: 214 offline CLI tests; 1448 backend expression/CLI checks
  • introspect --help no longer lists ddl
  • introspect ddl exits 2 with invalid choice

Test Plan:

The CI run above is the full matrix. Targeted offline suites cover the new
formatters, parsers, sync/async dispatch, capability gates and CLI vocabulary.

Checklist

  • My code follows the project's code style guidelines.
  • I have performed a self-review of my own code.
  • I have commented my code, particularly in hard-to-understand areas.
  • I have made corresponding changes to the documentation.
  • My changes generate no new warnings.
  • I have added a Changelog fragment (changelog.d/<pr_number>.<type>.md).
    Not added: the operator explicitly requested no changelog fragments.
  • I have verified that my changes do not introduce SQL injection vulnerabilities.
  • I have checked for potential performance regressions.

Additional Notes

The backend capability/formatter for DDL extraction is intentionally left in
place; only the CLI type was removed until a real implementation exists.

Branch Commits

4915094 refactor(sqlserver): stop advertising ddl introspection
23aafed ci(sqlserver): test against testsuite release/v1.0.0.dev17
0165c79 feat(sqlserver): add partitions, types and constraints introspection

@codecov

codecov Bot commented Nov 9, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 94.35897% with 22 lines in your changes missing coverage. Please review.
✅ Project coverage is 79.02%. Comparing base (0958b82) to head (3dece11).

Files with missing lines Patch % Lines
...ckend/impl/sqlserver/introspection/introspector.py 90.90% 10 Missing and 10 partials ⚠️
...ord/backend/impl/sqlserver/mixins/introspection.py 96.66% 1 Missing and 1 partial ⚠️
Additional details and impacted files
@@                   Coverage Diff                   @@
##           release/v1.0.0.dev3      #12      +/-   ##
=======================================================
+ Coverage                78.32%   79.02%   +0.70%     
=======================================================
  Files                      144      144              
  Lines                     8522     8893     +371     
  Branches                  1325     1364      +39     
=======================================================
+ Hits                      6675     7028     +353     
- Misses                    1375     1383       +8     
- Partials                   472      482      +10     
Flag Coverage Δ
python-3.14 79.02% <94.35%> (+0.70%) ⬆️
sqlserver-2025 79.02% <94.35%> (+0.70%) ⬆️
unittests 79.02% <94.35%> (+0.70%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@sonarqubecloud

sonarqubecloud Bot commented Nov 9, 2026

Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
C Security Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

@vistart vistart added the enhancement New feature or request label Nov 9, 2026
@vistart vistart self-assigned this Nov 9, 2026
@vistart
vistart merged commit 9c9a249 into release/v1.0.0.dev3 Nov 9, 2026
12 of 13 checks passed
@vistart
vistart deleted the feature/introspection-coverage branch November 9, 2026 17:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant