Summary
Tracking issue for server-side column-level masking in TiDB.
Goal: support policy-based masking at query-result time, with optional operation restrictions and policy lifecycle management.
Scope
- New masking policy DDL / SHOW syntax
- Expression-based masking (
CASE WHEN ..., current_user(), current_role())
RESTRICT ON operation controls
- Supported masking functions and type coverage
- System table metadata (
masking_type, policy state, binding metadata)
- Privilege model for policy management
Current Status (as of February 27, 2026)
- Parser phase is in progress and being iterated in dedicated PR(s)
- Design doc
- User Document
- Test Resport (internal)
Planned PR Breakdown
phase1-parser: syntax / AST / parser tests
phaseX-executor|planner|privilege|infoschema: incremental runtime implementation PRs
- docs PRs for design/spec alignment when needed
Issue found
Notes
- This feature is TiDB-specific (not full MySQL parity).
- Current baseline follows the latest spec revision (no backward-compat layer for pre-merge drafts).
Summary
Tracking issue for server-side column-level masking in TiDB.
Goal: support policy-based masking at query-result time, with optional operation restrictions and policy lifecycle management.
Scope
CASE WHEN ...,current_user(),current_role())RESTRICT ONoperation controlsmasking_type, policy state, binding metadata)Current Status (as of February 27, 2026)
Planned PR Breakdown
phase1-parser: syntax / AST / parser testsphaseX-executor|planner|privilege|infoschema: incremental runtime implementation PRsIssue found
Notes