[MDEV-21704] Add a new JSON field "version_id" into mysql.global_priv.priv Created: 2020-02-11 Updated: 2020-03-02 Resolved: 2020-02-28 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Authentication and Privilege System |
| Fix Version/s: | 10.5.2 |
| Type: | Task | Priority: | Critical |
| Reporter: | Alexander Barkov | Assignee: | Alexander Barkov |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Issue Links: |
|
||||||||
| Description |
|
Under terms of So the following script:
returns about this output:
Notice, the new "version_id" field in the JSON record. The version id is needed to translate a set of bits to a set of privileges. If the version_id JSON field is missing in a record, the server will consider that this record was created by MariaDB-10.5.1 or earlier. As version_id is determined per record, records of different formats will co-exist in the same table without conflicts, so no mysql_upgrade execution will be needed to make the global_priv table up-to-date after upgrade to a new server version with new privilege bits defined. If the version_id JSON field is missing in a record, the server will consider that this record was created by MariaDB-10.5.1 or earlier. As version_id is determined per record, records of different formats will co-exist in the same table without conflicts, so no mysql_upgrade execution will be needed to make the global_priv table up-to-date after upgrade to a new server version with new privilege bits defined. This change will also include:
|