Skip to content

Commit 1a99fe6

Browse files
author
MPCoreDeveloper
committed
Complete multitenancy phases 09-11 and update issue drafts
1 parent 4c39b25 commit 1a99fe6

File tree

62 files changed

+7498
-52
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

62 files changed

+7498
-52
lines changed
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
## Summary
2+
Deliver an administration and observability roadmap for `SharpCoreDB` that prioritizes compatibility with existing database tools and optionally adds a lightweight native admin experience.
3+
4+
This roadmap is based on current `v1.6.0` behavior:
5+
- `tools/SharpCoreDB.Viewer` exists but remains minimal.
6+
- Server binary protocol is PostgreSQL-wire-compatible in foundation form.
7+
- Existing docs/spec mention compatibility direction, but broad GUI tool certification and metadata completeness are not finalized.
8+
9+
## Problem Statement
10+
Users need practical development and operations tooling now:
11+
- Browse databases/data reliably.
12+
- Inspect indexes, constraints, relationships, triggers, and metadata.
13+
- Run ad-hoc SQL with clear result UX.
14+
- Access diagnostics and server metrics.
15+
16+
Building a full admin console from scratch is expensive; compatibility with mature tools (DBeaver, Beekeeper, DataGrip, pgAdmin) is likely the fastest value path.
17+
18+
## Goals
19+
1. Make external tool compatibility first-class and measurable.
20+
2. Close metadata introspection gaps (`pg_catalog`/`information_schema` equivalents).
21+
3. Improve query UX and diagnostics endpoints.
22+
4. Evolve `SharpCoreDB.Viewer` into a stronger developer utility.
23+
5. Optionally deliver a lightweight web admin for core operations.
24+
25+
## Non-Goals
26+
- Full SSMS/TDS emulation.
27+
- Replacing all external database clients with a bespoke UI in one release.
28+
29+
## Workstreams
30+
- External tool compatibility matrix and CI smoke validation.
31+
- Metadata compatibility expansion.
32+
- Protocol/auth hardening for GUI ecosystems.
33+
- SQL compatibility and error/reporting polish.
34+
- Diagnostics and monitoring enhancements.
35+
- Viewer modernization.
36+
- Optional lightweight web admin track.
37+
- ODBC/JDBC strategy and feasibility pack.
38+
39+
## Milestones
40+
- M1: Compatibility Baseline and Matrix
41+
- M2: Metadata + Protocol Maturity
42+
- M3: Diagnostics + Viewer UX
43+
- M4: Optional Web Admin and Driver Strategy
44+
45+
## Acceptance Criteria
46+
- Documented support matrix with tested versions and known limitations.
47+
- Significant metadata introspection improvements in common PostgreSQL clients.
48+
- Stable diagnostics endpoints and actionable telemetry.
49+
- Updated docs and onboarding guidance.
50+
51+
## Definition of Done
52+
- Epic checklist completed.
53+
- All child issues closed with tests/docs.
54+
- Release notes include compatibility status and migration guidance.
55+
- Version labels/docs aligned to `v1.6.0` policy.
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
## Summary
2+
Create a formal compatibility matrix for external tools (DBeaver, Beekeeper Studio, DataGrip, pgAdmin, psql/libpq) with repeatable validation.
3+
4+
## Why
5+
Adoption depends on transparent compatibility guarantees.
6+
7+
## Scope
8+
- Define supported tool versions and drivers.
9+
- Record supported workflows: connect, browse DB/tables, run query, introspect metadata.
10+
- Capture known gaps and workarounds.
11+
- Publish matrix in `docs/server`.
12+
13+
## Implementation Plan
14+
1. Define matrix template and pass/fail criteria.
15+
2. Build repeatable smoke scripts for key workflows.
16+
3. Execute validation against candidate tool versions.
17+
4. Publish results and known limitations.
18+
19+
## Acceptance Criteria
20+
- Matrix published and linked from server docs/readme.
21+
- At least 4 mainstream tools validated.
22+
- Known limitations tracked as linked issues.
23+
24+
## Dependencies
25+
- Foundation issue for this epic.
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
## Summary
2+
Expand PostgreSQL metadata compatibility (`pg_catalog`, `information_schema`) to improve GUI introspection.
3+
4+
## Why
5+
GUI tools rely on catalog views to discover tables, indexes, constraints, triggers, and relationships.
6+
7+
## Scope
8+
- Implement/expand required catalog views and columns used by major clients.
9+
- Ensure object discovery works for indexes, PK/FK, constraints, triggers.
10+
- Improve metadata consistency for DDL round-trip scenarios.
11+
12+
## Implementation Plan
13+
1. Trace metadata queries emitted by target tools.
14+
2. Prioritize missing views/columns by impact.
15+
3. Implement metadata mapping layer and tests.
16+
4. Validate with compatibility matrix scripts.
17+
18+
## Acceptance Criteria
19+
- External tools can introspect core schema objects without major fallback failures.
20+
- Metadata query test suite added.
21+
- Documentation updated with supported catalog coverage.
22+
23+
## Dependencies
24+
- Depends on compatibility matrix findings.
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
## Summary
2+
Harden binary protocol authentication/session behavior for external GUI and driver expectations.
3+
4+
## Why
5+
Current binary protocol startup/auth flow is functional but needs stronger parity and production behavior.
6+
7+
## Scope
8+
- Align auth flow semantics with expected PostgreSQL client patterns where feasible.
9+
- Improve session context handling and version/status reporting.
10+
- Add robust error codes/messages for client troubleshooting.
11+
12+
## Implementation Plan
13+
1. Audit startup/auth/session paths against protocol expectations.
14+
2. Add missing status parameters and negotiation behavior.
15+
3. Improve auth failure handling and observability.
16+
4. Add protocol integration tests for client libraries.
17+
18+
## Acceptance Criteria
19+
- Stable connect/auth behavior for tested tools.
20+
- Improved deterministic error handling and logging.
21+
- Protocol tests cover key handshake scenarios.
22+
23+
## Dependencies
24+
- Parallel to metadata expansion; feeds matrix certification.
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
## Summary
2+
Improve SQL compatibility and DDL/introspection behavior required by admin tools.
3+
4+
## Why
5+
Many tools execute introspection SQL and DDL probes beyond regular CRUD workloads.
6+
7+
## Scope
8+
- Identify unsupported or partially supported SQL patterns from tool traces.
9+
- Improve compatibility paths for common introspection statements.
10+
- Normalize command tags and result metadata where needed.
11+
12+
## Implementation Plan
13+
1. Capture failing SQL traces from target tools.
14+
2. Group failures by parser, execution, metadata, or result-shape category.
15+
3. Implement incremental fixes with regression tests.
16+
4. Re-run tool compatibility scripts.
17+
18+
## Acceptance Criteria
19+
- Reduced introspection/DDL failures in target tools.
20+
- Regression test set for known query patterns.
21+
- Release notes document improved compatibility.
22+
23+
## Dependencies
24+
- Depends on matrix data and protocol hardening.
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
## Summary
2+
Upgrade diagnostics surfaces for admin and monitoring workflows.
3+
4+
## Why
5+
Developers and operators need reliable health and metrics insight without deep internals access.
6+
7+
## Scope
8+
- Expand metrics coverage (connections, queries, latency, errors, protocol-level counters).
9+
- Improve health endpoints with richer status payloads.
10+
- Document Prometheus scraping and dashboards baseline.
11+
12+
## Implementation Plan
13+
1. Define diagnostics KPI set for server/admin use.
14+
2. Extend metrics collector and endpoint payloads.
15+
3. Add tests for metrics/health contracts.
16+
4. Publish observability setup guide.
17+
18+
## Acceptance Criteria
19+
- Metrics endpoints provide actionable server telemetry.
20+
- Health endpoint supports quick triage.
21+
- Docs include sample dashboard queries/panels.
22+
23+
## Dependencies
24+
- Independent but supports all UI/tooling tracks.
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
## Summary
2+
Evolve `tools/SharpCoreDB.Viewer` into a stronger development companion (`Viewer v2` foundation).
3+
4+
## Why
5+
A lightweight first-party desktop utility helps validate features and supports local workflows.
6+
7+
## Scope
8+
- Improve database/table browser UX.
9+
- Add richer query editor and result grid capabilities.
10+
- Add metadata panes (indexes/constraints/triggers where available).
11+
- Add connection profile management improvements.
12+
13+
## Implementation Plan
14+
1. Define MVP capabilities aligned to current server features.
15+
2. Refactor view-model/service layers for extensibility.
16+
3. Implement query/result and metadata exploration upgrades.
17+
4. Add user docs and basic smoke tests.
18+
19+
## Acceptance Criteria
20+
- Viewer supports practical daily development tasks.
21+
- Metadata and query UX clearly improved over baseline.
22+
- Documentation includes usage and limitations.
23+
24+
## Dependencies
25+
- Benefits from metadata/protocol improvements.
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
## Summary
2+
Add diagnostics and lightweight admin actions to `SharpCoreDB.Viewer`.
3+
4+
## Why
5+
Users requested direct access to runtime metrics and common operational actions.
6+
7+
## Scope
8+
- Diagnostics panel (health, core metrics, active sessions summary).
9+
- Safe admin actions: refresh schema, session cleanup trigger, export diagnostics snapshot.
10+
- Audit-conscious UX for sensitive operations.
11+
12+
## Implementation Plan
13+
1. Define diagnostics view contracts and data polling strategy.
14+
2. Implement non-destructive admin action commands.
15+
3. Add localization resources and error handling.
16+
4. Add tests/smoke verification for command flows.
17+
18+
## Acceptance Criteria
19+
- Viewer exposes actionable diagnostics data.
20+
- Admin actions are guarded and logged.
21+
- UX remains responsive under load.
22+
23+
## Dependencies
24+
- Depends on diagnostics endpoint upgrades.
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
## Summary
2+
Investigate and deliver an optional lightweight web admin MVP using ASP.NET Core Razor Pages.
3+
4+
## Why
5+
A browser-based console lowers operational friction without committing to a heavy full console rewrite.
6+
7+
## Scope
8+
- Razor Pages MVP for:
9+
- connection status/health
10+
- database list and basic browsing
11+
- ad-hoc query execution (guarded)
12+
- basic metrics display
13+
- Strict auth and role checks.
14+
- Feature toggle and optional deployment mode.
15+
16+
## Implementation Plan
17+
1. Define web admin boundaries and security model.
18+
2. Build Razor Pages host shell and auth integration.
19+
3. Add core pages for health/metrics/query/browse.
20+
4. Add docs and threat considerations.
21+
22+
## Acceptance Criteria
23+
- MVP pages support core admin workflows.
24+
- Security defaults are strict and documented.
25+
- Feature is optional and does not break server core.
26+
27+
## Dependencies
28+
- Depends on diagnostics and compatibility maturity.
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
## Summary
2+
Produce a concrete strategy for ODBC/JDBC enablement and external ecosystem integration.
3+
4+
## Why
5+
Some teams require standard connectivity layers for governance and tool compatibility.
6+
7+
## Scope
8+
- Evaluate direct driver development vs adapter approach.
9+
- Define phased roadmap (proof-of-concept to production support).
10+
- Identify protocol/metadata prerequisites.
11+
- Provide cost/benefit and maintenance analysis.
12+
13+
## Implementation Plan
14+
1. Document architecture options and constraints.
15+
2. Prototype minimal path for one target driver path.
16+
3. Assess compatibility/performance/security impact.
17+
4. Publish recommendation and decision record.
18+
19+
## Acceptance Criteria
20+
- Decision record with selected path and rationale.
21+
- Clear dependency map to protocol/catalog work.
22+
- Estimated implementation effort for next phases.
23+
24+
## Dependencies
25+
- Informed by compatibility matrix and protocol maturity.

0 commit comments

Comments
 (0)