mysql / mysql/mysql-server

Introduce Support for CHECK/NO CHECK at Table and Column Level, and UPDATE/NO UPDATE at Column Level in Json Duality View

Open
#699 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
12.4k
Forks
4.4k
Avg merge
8d 16h
Merged PRs (30d)
1

Description

Problem / use case

Column level annotations CHECK/NO CHECK/UPDATE/NO UPDATE in JSON Duality views are not supported now.

Columb level annotations strengthens MySQL JSON Relational Duality Views by introducing fine-grained control over optimistic concurrency checks and column updates. It allows customers to decide which relational values protect a JSON document from conflicting changes and which fields may be updated through the duality view.

Proposed behavior

Column level annotations should be supported as part of this task for JSON duality views.

The new CHECK and NO CHECK annotations determine whether a table or column participates in ETAG calculation.
CHECK is the default at the table level. Untagged columns inherit their table's setting. A column-level annotation overrides the table setting.
Updating a NO CHECK field does not change the document's ETAG. This lets customers distinguish business-critical fields from values that should not trigger concurrency conflicts.

The new column-level UPDATE and NO UPDATE annotations control whether individual fields can be modified through the duality view.
Attempts to update a field whose effective setting is NO UPDATE are rejected. Primary-key columns cannot be marked as updatable, protecting relational identity and referential integrity.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the existing JSON Duality View annotation implementation and its tests in MySQL Server. Use the proposed behavior as the acceptance criteria: support table- and column-level CHECK/NO CHECK and column-level UPDATE/NO UPDATE, including inheritance, ETAG effects, update rejection, and primary-key restrictions.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, mysql
Domain
databases
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.