Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add ability to track per-database applied hlc #1113

Conversation

percona-ysorokin
Copy link
Contributor

Summary:
Adds the ability in HybridLogicalClock to maintain per-database applied HLC. The
feature is guarded by a new sysvar 'maintain_database_hlc'.

The database name is extracted from all Table_map_log_event or Query_log_event
in a trx and stored as a set in THD. This gives a list of all databases touched
by this trx. After engine commit, the HLC of the trx is updated as
'applied_hlc' for every database touched by the trx.

We track the per-database applied_hlc as a map (with the key as the database
name and value as applied hlc) per instance.

Per-database applied HLC is exposed as a information schema table
'database_applied_hlc'. On querying this table, we get the map of per-database
applied hlc and populate the result set.

Reference Patch: b90a327

Originally Reviewed By: abhinav04sharma

8.0 porting notes:

  • 'sys_vars.maintain_database_hlc_basic' MTR test case expanded and
    unified.

Summary:
Adds the ability in HybridLogicalClock to maintain per-database applied HLC. The
feature is guarded by a new sysvar 'maintain_database_hlc'.

The database name is extracted from all Table_map_log_event or Query_log_event
in a trx and stored as a set in THD. This gives a list of all databases touched
by this trx. After engine commit, the HLC of the trx is updated as
'applied_hlc' for every database touched by the trx.

We track the per-database applied_hlc as a map (with the key as the database
name and value as applied hlc) per instance.

Per-database applied HLC is exposed as a information schema table
'database_applied_hlc'. On querying this table, we get the map of per-database
applied hlc and populate the result set.

Reference Patch: facebook/mysql-5.6@b90a327

Originally Reviewed By: abhinav04sharma

8.0 porting notes:
* 'sys_vars.maintain_database_hlc_basic' MTR test case expanded and
   unified.
Copy link

@facebook-github-bot facebook-github-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@hermanlee has imported this pull request. If you are a Facebook employee, you can view this diff on Phabricator.

@hermanlee hermanlee closed this Mar 26, 2020
facebook-github-bot pushed a commit that referenced this pull request Mar 26, 2020
Summary:
Adds the ability in HybridLogicalClock to maintain per-database applied HLC. The
feature is guarded by a new sysvar 'maintain_database_hlc'.

The database name is extracted from all Table_map_log_event or Query_log_event
in a trx and stored as a set in THD. This gives a list of all databases touched
by this trx. After engine commit, the HLC of the trx is updated as
'applied_hlc' for every database touched by the trx.

We track the per-database applied_hlc as a map (with the key as the database
name and value as applied hlc) per instance.

Per-database applied HLC is exposed as a information schema table
'database_applied_hlc'. On querying this table, we get the map of per-database
applied hlc and populate the result set.

Reference Patch: b90a327

8.0 porting notes:
* 'sys_vars.maintain_database_hlc_basic' MTR test case expanded and
   unified.

Pull Request resolved: #1113

Reviewed By: luqun

Differential Revision: D20131111

Pulled By: bhatvinay

fbshipit-source-id: e734faa
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jul 29, 2020
Summary:
Adds the ability in HybridLogicalClock to maintain per-database applied HLC. The
feature is guarded by a new sysvar 'maintain_database_hlc'.

The database name is extracted from all Table_map_log_event or Query_log_event
in a trx and stored as a set in THD. This gives a list of all databases touched
by this trx. After engine commit, the HLC of the trx is updated as
'applied_hlc' for every database touched by the trx.

We track the per-database applied_hlc as a map (with the key as the database
name and value as applied hlc) per instance.

Per-database applied HLC is exposed as a information schema table
'database_applied_hlc'. On querying this table, we get the map of per-database
applied hlc and populate the result set.

Reference Patch: facebook@b90a327

8.0 porting notes:
* 'sys_vars.maintain_database_hlc_basic' MTR test case expanded and
   unified.

Pull Request resolved: facebook#1113

Reviewed By: luqun

Differential Revision: D20131111

Pulled By: bhatvinay

fbshipit-source-id: e734faa
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Aug 10, 2020
Summary:
Adds the ability in HybridLogicalClock to maintain per-database applied HLC. The
feature is guarded by a new sysvar 'maintain_database_hlc'.

The database name is extracted from all Table_map_log_event or Query_log_event
in a trx and stored as a set in THD. This gives a list of all databases touched
by this trx. After engine commit, the HLC of the trx is updated as
'applied_hlc' for every database touched by the trx.

We track the per-database applied_hlc as a map (with the key as the database
name and value as applied hlc) per instance.

Per-database applied HLC is exposed as a information schema table
'database_applied_hlc'. On querying this table, we get the map of per-database
applied hlc and populate the result set.

Reference Patch: facebook@b90a327

8.0 porting notes:
* 'sys_vars.maintain_database_hlc_basic' MTR test case expanded and
   unified.

Pull Request resolved: facebook#1113

Reviewed By: luqun

Differential Revision: D20131111

Pulled By: bhatvinay

fbshipit-source-id: e734faa
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Aug 10, 2020
Summary:
Adds the ability in HybridLogicalClock to maintain per-database applied HLC. The
feature is guarded by a new sysvar 'maintain_database_hlc'.

The database name is extracted from all Table_map_log_event or Query_log_event
in a trx and stored as a set in THD. This gives a list of all databases touched
by this trx. After engine commit, the HLC of the trx is updated as
'applied_hlc' for every database touched by the trx.

We track the per-database applied_hlc as a map (with the key as the database
name and value as applied hlc) per instance.

Per-database applied HLC is exposed as a information schema table
'database_applied_hlc'. On querying this table, we get the map of per-database
applied hlc and populate the result set.

Reference Patch: facebook@b90a327

8.0 porting notes:
* 'sys_vars.maintain_database_hlc_basic' MTR test case expanded and
   unified.

Pull Request resolved: facebook#1113

Reviewed By: luqun

Differential Revision: D20131111

Pulled By: bhatvinay

fbshipit-source-id: e734faa
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Sep 7, 2020
Summary:
Adds the ability in HybridLogicalClock to maintain per-database applied HLC. The
feature is guarded by a new sysvar 'maintain_database_hlc'.

The database name is extracted from all Table_map_log_event or Query_log_event
in a trx and stored as a set in THD. This gives a list of all databases touched
by this trx. After engine commit, the HLC of the trx is updated as
'applied_hlc' for every database touched by the trx.

We track the per-database applied_hlc as a map (with the key as the database
name and value as applied hlc) per instance.

Per-database applied HLC is exposed as a information schema table
'database_applied_hlc'. On querying this table, we get the map of per-database
applied hlc and populate the result set.

Reference Patch: facebook@b90a327

8.0 porting notes:
* 'sys_vars.maintain_database_hlc_basic' MTR test case expanded and
   unified.

Pull Request resolved: facebook#1113

Reviewed By: luqun

Differential Revision: D20131111

Pulled By: bhatvinay

fbshipit-source-id: e734faa
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Sep 9, 2020
Summary:
Adds the ability in HybridLogicalClock to maintain per-database applied HLC. The
feature is guarded by a new sysvar 'maintain_database_hlc'.

The database name is extracted from all Table_map_log_event or Query_log_event
in a trx and stored as a set in THD. This gives a list of all databases touched
by this trx. After engine commit, the HLC of the trx is updated as
'applied_hlc' for every database touched by the trx.

We track the per-database applied_hlc as a map (with the key as the database
name and value as applied hlc) per instance.

Per-database applied HLC is exposed as a information schema table
'database_applied_hlc'. On querying this table, we get the map of per-database
applied hlc and populate the result set.

Reference Patch: facebook@b90a327

8.0 porting notes:
* 'sys_vars.maintain_database_hlc_basic' MTR test case expanded and
   unified.

Pull Request resolved: facebook#1113

Reviewed By: luqun

Differential Revision: D20131111

Pulled By: bhatvinay

fbshipit-source-id: e734faa
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Oct 5, 2020
Summary:
Adds the ability in HybridLogicalClock to maintain per-database applied HLC. The
feature is guarded by a new sysvar 'maintain_database_hlc'.

The database name is extracted from all Table_map_log_event or Query_log_event
in a trx and stored as a set in THD. This gives a list of all databases touched
by this trx. After engine commit, the HLC of the trx is updated as
'applied_hlc' for every database touched by the trx.

We track the per-database applied_hlc as a map (with the key as the database
name and value as applied hlc) per instance.

Per-database applied HLC is exposed as a information schema table
'database_applied_hlc'. On querying this table, we get the map of per-database
applied hlc and populate the result set.

Reference Patch: facebook@b90a327

8.0 porting notes:
* 'sys_vars.maintain_database_hlc_basic' MTR test case expanded and
   unified.

Pull Request resolved: facebook#1113

Reviewed By: luqun

Differential Revision: D20131111

Pulled By: bhatvinay

fbshipit-source-id: e734faa
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Mar 11, 2021
…ok#1113)

Summary:
Adds the ability in HybridLogicalClock to maintain per-database applied HLC. The
feature is guarded by a new sysvar 'maintain_database_hlc'.

The database name is extracted from all Table_map_log_event or Query_log_event
in a trx and stored as a set in THD. This gives a list of all databases touched
by this trx. After engine commit, the HLC of the trx is updated as
'applied_hlc' for every database touched by the trx.

We track the per-database applied_hlc as a map (with the key as the database
name and value as applied hlc) per instance.

Per-database applied HLC is exposed as a information schema table
'database_applied_hlc'. On querying this table, we get the map of per-database
applied hlc and populate the result set.

Reference Patch: facebook@b90a327

8.0 porting notes:
* 'sys_vars.maintain_database_hlc_basic' MTR test case expanded and
   unified.

Pull Request resolved: facebook#1113

Reviewed By: luqun

Differential Revision: D20131111 (facebook@9baebec)

Pulled By: bhatvinay

fbshipit-source-id: 05c84141380
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jul 26, 2021
…ok#1113)

Summary:
Adds the ability in HybridLogicalClock to maintain per-database applied HLC. The
feature is guarded by a new sysvar 'maintain_database_hlc'.

The database name is extracted from all Table_map_log_event or Query_log_event
in a trx and stored as a set in THD. This gives a list of all databases touched
by this trx. After engine commit, the HLC of the trx is updated as
'applied_hlc' for every database touched by the trx.

We track the per-database applied_hlc as a map (with the key as the database
name and value as applied hlc) per instance.

Per-database applied HLC is exposed as a information schema table
'database_applied_hlc'. On querying this table, we get the map of per-database
applied hlc and populate the result set.

Reference Patch: facebook@b90a327

8.0 porting notes:
* 'sys_vars.maintain_database_hlc_basic' MTR test case expanded and
   unified.

Pull Request resolved: facebook#1113

Reviewed By: luqun

Differential Revision: D20131111 (facebook@9baebec)

Pulled By: bhatvinay

fbshipit-source-id: 05c84141380
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jul 28, 2021
…ok#1113)

Summary:
Adds the ability in HybridLogicalClock to maintain per-database applied HLC. The
feature is guarded by a new sysvar 'maintain_database_hlc'.

The database name is extracted from all Table_map_log_event or Query_log_event
in a trx and stored as a set in THD. This gives a list of all databases touched
by this trx. After engine commit, the HLC of the trx is updated as
'applied_hlc' for every database touched by the trx.

We track the per-database applied_hlc as a map (with the key as the database
name and value as applied hlc) per instance.

Per-database applied HLC is exposed as a information schema table
'database_applied_hlc'. On querying this table, we get the map of per-database
applied hlc and populate the result set.

Reference Patch: facebook@b90a327

8.0 porting notes:
* 'sys_vars.maintain_database_hlc_basic' MTR test case expanded and
   unified.

Pull Request resolved: facebook#1113

Reviewed By: luqun

Differential Revision: D20131111 (facebook@9baebec)

Pulled By: bhatvinay

fbshipit-source-id: 05c84141380
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Sep 2, 2021
…ok#1113)

Summary:
Adds the ability in HybridLogicalClock to maintain per-database applied HLC. The
feature is guarded by a new sysvar 'maintain_database_hlc'.

The database name is extracted from all Table_map_log_event or Query_log_event
in a trx and stored as a set in THD. This gives a list of all databases touched
by this trx. After engine commit, the HLC of the trx is updated as
'applied_hlc' for every database touched by the trx.

We track the per-database applied_hlc as a map (with the key as the database
name and value as applied hlc) per instance.

Per-database applied HLC is exposed as a information schema table
'database_applied_hlc'. On querying this table, we get the map of per-database
applied hlc and populate the result set.

Reference Patch: facebook@b90a327

8.0 porting notes:
* 'sys_vars.maintain_database_hlc_basic' MTR test case expanded and
   unified.

Pull Request resolved: facebook#1113

Reviewed By: luqun

Differential Revision: D20131111 (facebook@9baebec)

Pulled By: bhatvinay

fbshipit-source-id: 05c84141380
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jan 17, 2022
…ok#1113)

Summary:
Adds the ability in HybridLogicalClock to maintain per-database applied HLC. The
feature is guarded by a new sysvar 'maintain_database_hlc'.

The database name is extracted from all Table_map_log_event or Query_log_event
in a trx and stored as a set in THD. This gives a list of all databases touched
by this trx. After engine commit, the HLC of the trx is updated as
'applied_hlc' for every database touched by the trx.

We track the per-database applied_hlc as a map (with the key as the database
name and value as applied hlc) per instance.

Per-database applied HLC is exposed as a information schema table
'database_applied_hlc'. On querying this table, we get the map of per-database
applied hlc and populate the result set.

Reference Patch: facebook@b90a327

8.0 porting notes:
* 'sys_vars.maintain_database_hlc_basic' MTR test case expanded and
   unified.

Pull Request resolved: facebook#1113

Reviewed By: luqun

Differential Revision: D20131111

Pulled By: bhatvinay
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jan 17, 2022
…ok#1113)

Summary:
Adds the ability in HybridLogicalClock to maintain per-database applied HLC. The
feature is guarded by a new sysvar 'maintain_database_hlc'.

The database name is extracted from all Table_map_log_event or Query_log_event
in a trx and stored as a set in THD. This gives a list of all databases touched
by this trx. After engine commit, the HLC of the trx is updated as
'applied_hlc' for every database touched by the trx.

We track the per-database applied_hlc as a map (with the key as the database
name and value as applied hlc) per instance.

Per-database applied HLC is exposed as a information schema table
'database_applied_hlc'. On querying this table, we get the map of per-database
applied hlc and populate the result set.

Reference Patch: facebook@b90a327

8.0 porting notes:
* 'sys_vars.maintain_database_hlc_basic' MTR test case expanded and
   unified.

Pull Request resolved: facebook#1113

Reviewed By: luqun

Differential Revision: D20131111

Pulled By: bhatvinay
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jan 18, 2022
…ok#1113)

Summary:
Adds the ability in HybridLogicalClock to maintain per-database applied HLC. The
feature is guarded by a new sysvar 'maintain_database_hlc'.

The database name is extracted from all Table_map_log_event or Query_log_event
in a trx and stored as a set in THD. This gives a list of all databases touched
by this trx. After engine commit, the HLC of the trx is updated as
'applied_hlc' for every database touched by the trx.

We track the per-database applied_hlc as a map (with the key as the database
name and value as applied hlc) per instance.

Per-database applied HLC is exposed as a information schema table
'database_applied_hlc'. On querying this table, we get the map of per-database
applied hlc and populate the result set.

Reference Patch: facebook@b90a327

8.0 porting notes:
* 'sys_vars.maintain_database_hlc_basic' MTR test case expanded and
   unified.

Pull Request resolved: facebook#1113

Reviewed By: luqun

Differential Revision: D20131111

Pulled By: bhatvinay
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jan 19, 2022
…ok#1113)

Summary:
Adds the ability in HybridLogicalClock to maintain per-database applied HLC. The
feature is guarded by a new sysvar 'maintain_database_hlc'.

The database name is extracted from all Table_map_log_event or Query_log_event
in a trx and stored as a set in THD. This gives a list of all databases touched
by this trx. After engine commit, the HLC of the trx is updated as
'applied_hlc' for every database touched by the trx.

We track the per-database applied_hlc as a map (with the key as the database
name and value as applied hlc) per instance.

Per-database applied HLC is exposed as a information schema table
'database_applied_hlc'. On querying this table, we get the map of per-database
applied hlc and populate the result set.

Reference Patch: facebook@b90a327

8.0 porting notes:
* 'sys_vars.maintain_database_hlc_basic' MTR test case expanded and
   unified.

Pull Request resolved: facebook#1113

Reviewed By: luqun

Differential Revision: D20131111

Pulled By: bhatvinay
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jan 20, 2022
…ok#1113)

Summary:
Adds the ability in HybridLogicalClock to maintain per-database applied HLC. The
feature is guarded by a new sysvar 'maintain_database_hlc'.

The database name is extracted from all Table_map_log_event or Query_log_event
in a trx and stored as a set in THD. This gives a list of all databases touched
by this trx. After engine commit, the HLC of the trx is updated as
'applied_hlc' for every database touched by the trx.

We track the per-database applied_hlc as a map (with the key as the database
name and value as applied hlc) per instance.

Per-database applied HLC is exposed as a information schema table
'database_applied_hlc'. On querying this table, we get the map of per-database
applied hlc and populate the result set.

Reference Patch: facebook@b90a327

8.0 porting notes:
* 'sys_vars.maintain_database_hlc_basic' MTR test case expanded and
   unified.

Pull Request resolved: facebook#1113

Reviewed By: luqun

Differential Revision: D20131111

Pulled By: bhatvinay
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jan 28, 2022
…ok#1113)

Summary:
Adds the ability in HybridLogicalClock to maintain per-database applied HLC. The
feature is guarded by a new sysvar 'maintain_database_hlc'.

The database name is extracted from all Table_map_log_event or Query_log_event
in a trx and stored as a set in THD. This gives a list of all databases touched
by this trx. After engine commit, the HLC of the trx is updated as
'applied_hlc' for every database touched by the trx.

We track the per-database applied_hlc as a map (with the key as the database
name and value as applied hlc) per instance.

Per-database applied HLC is exposed as a information schema table
'database_applied_hlc'. On querying this table, we get the map of per-database
applied hlc and populate the result set.

Reference Patch: facebook@b90a327

8.0 porting notes:
* 'sys_vars.maintain_database_hlc_basic' MTR test case expanded and
   unified.

Pull Request resolved: facebook#1113

Reviewed By: luqun

Differential Revision: D20131111

Pulled By: bhatvinay
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jan 28, 2022
…ok#1113)

Summary:
Adds the ability in HybridLogicalClock to maintain per-database applied HLC. The
feature is guarded by a new sysvar 'maintain_database_hlc'.

The database name is extracted from all Table_map_log_event or Query_log_event
in a trx and stored as a set in THD. This gives a list of all databases touched
by this trx. After engine commit, the HLC of the trx is updated as
'applied_hlc' for every database touched by the trx.

We track the per-database applied_hlc as a map (with the key as the database
name and value as applied hlc) per instance.

Per-database applied HLC is exposed as a information schema table
'database_applied_hlc'. On querying this table, we get the map of per-database
applied hlc and populate the result set.

Reference Patch: facebook@b90a327

8.0 porting notes:
* 'sys_vars.maintain_database_hlc_basic' MTR test case expanded and
   unified.

Pull Request resolved: facebook#1113

Reviewed By: luqun

Differential Revision: D20131111

Pulled By: bhatvinay
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Mar 4, 2022
…ok#1113)

Summary:
Adds the ability in HybridLogicalClock to maintain per-database applied HLC. The
feature is guarded by a new sysvar 'maintain_database_hlc'.

The database name is extracted from all Table_map_log_event or Query_log_event
in a trx and stored as a set in THD. This gives a list of all databases touched
by this trx. After engine commit, the HLC of the trx is updated as
'applied_hlc' for every database touched by the trx.

We track the per-database applied_hlc as a map (with the key as the database
name and value as applied hlc) per instance.

Per-database applied HLC is exposed as a information schema table
'database_applied_hlc'. On querying this table, we get the map of per-database
applied hlc and populate the result set.

Reference Patch: facebook@b90a327

8.0 porting notes:
* 'sys_vars.maintain_database_hlc_basic' MTR test case expanded and
   unified.

Pull Request resolved: facebook#1113

Reviewed By: luqun

Differential Revision: D20131111

Pulled By: bhatvinay
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Mar 4, 2022
…ok#1113)

Summary:
Adds the ability in HybridLogicalClock to maintain per-database applied HLC. The
feature is guarded by a new sysvar 'maintain_database_hlc'.

The database name is extracted from all Table_map_log_event or Query_log_event
in a trx and stored as a set in THD. This gives a list of all databases touched
by this trx. After engine commit, the HLC of the trx is updated as
'applied_hlc' for every database touched by the trx.

We track the per-database applied_hlc as a map (with the key as the database
name and value as applied hlc) per instance.

Per-database applied HLC is exposed as a information schema table
'database_applied_hlc'. On querying this table, we get the map of per-database
applied hlc and populate the result set.

Reference Patch: facebook@b90a327

8.0 porting notes:
* 'sys_vars.maintain_database_hlc_basic' MTR test case expanded and
   unified.

Pull Request resolved: facebook#1113

Reviewed By: luqun

Differential Revision: D20131111

Pulled By: bhatvinay
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Mar 7, 2022
…ok#1113)

Summary:
Adds the ability in HybridLogicalClock to maintain per-database applied HLC. The
feature is guarded by a new sysvar 'maintain_database_hlc'.

The database name is extracted from all Table_map_log_event or Query_log_event
in a trx and stored as a set in THD. This gives a list of all databases touched
by this trx. After engine commit, the HLC of the trx is updated as
'applied_hlc' for every database touched by the trx.

We track the per-database applied_hlc as a map (with the key as the database
name and value as applied hlc) per instance.

Per-database applied HLC is exposed as a information schema table
'database_applied_hlc'. On querying this table, we get the map of per-database
applied hlc and populate the result set.

Reference Patch: facebook@b90a327

8.0 porting notes:
* 'sys_vars.maintain_database_hlc_basic' MTR test case expanded and
   unified.

Pull Request resolved: facebook#1113

Reviewed By: luqun

Differential Revision: D20131111

Pulled By: bhatvinay
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Mar 11, 2022
…ok#1113)

Summary:
Adds the ability in HybridLogicalClock to maintain per-database applied HLC. The
feature is guarded by a new sysvar 'maintain_database_hlc'.

The database name is extracted from all Table_map_log_event or Query_log_event
in a trx and stored as a set in THD. This gives a list of all databases touched
by this trx. After engine commit, the HLC of the trx is updated as
'applied_hlc' for every database touched by the trx.

We track the per-database applied_hlc as a map (with the key as the database
name and value as applied hlc) per instance.

Per-database applied HLC is exposed as a information schema table
'database_applied_hlc'. On querying this table, we get the map of per-database
applied hlc and populate the result set.

Reference Patch: facebook@b90a327

8.0 porting notes:
* 'sys_vars.maintain_database_hlc_basic' MTR test case expanded and
   unified.

Pull Request resolved: facebook#1113

Reviewed By: luqun

Differential Revision: D20131111

Pulled By: bhatvinay
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Mar 14, 2022
…ok#1113)

Summary:
Adds the ability in HybridLogicalClock to maintain per-database applied HLC. The
feature is guarded by a new sysvar 'maintain_database_hlc'.

The database name is extracted from all Table_map_log_event or Query_log_event
in a trx and stored as a set in THD. This gives a list of all databases touched
by this trx. After engine commit, the HLC of the trx is updated as
'applied_hlc' for every database touched by the trx.

We track the per-database applied_hlc as a map (with the key as the database
name and value as applied hlc) per instance.

Per-database applied HLC is exposed as a information schema table
'database_applied_hlc'. On querying this table, we get the map of per-database
applied hlc and populate the result set.

Reference Patch: facebook@b90a327

8.0 porting notes:
* 'sys_vars.maintain_database_hlc_basic' MTR test case expanded and
   unified.

Pull Request resolved: facebook#1113

Reviewed By: luqun

Differential Revision: D20131111

Pulled By: bhatvinay
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Mar 14, 2022
…ok#1113)

Summary:
Adds the ability in HybridLogicalClock to maintain per-database applied HLC. The
feature is guarded by a new sysvar 'maintain_database_hlc'.

The database name is extracted from all Table_map_log_event or Query_log_event
in a trx and stored as a set in THD. This gives a list of all databases touched
by this trx. After engine commit, the HLC of the trx is updated as
'applied_hlc' for every database touched by the trx.

We track the per-database applied_hlc as a map (with the key as the database
name and value as applied hlc) per instance.

Per-database applied HLC is exposed as a information schema table
'database_applied_hlc'. On querying this table, we get the map of per-database
applied hlc and populate the result set.

Reference Patch: facebook@b90a327

8.0 porting notes:
* 'sys_vars.maintain_database_hlc_basic' MTR test case expanded and
   unified.

Pull Request resolved: facebook#1113

Reviewed By: luqun

Differential Revision: D20131111

Pulled By: bhatvinay
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Mar 15, 2022
…ok#1113)

Summary:
Adds the ability in HybridLogicalClock to maintain per-database applied HLC. The
feature is guarded by a new sysvar 'maintain_database_hlc'.

The database name is extracted from all Table_map_log_event or Query_log_event
in a trx and stored as a set in THD. This gives a list of all databases touched
by this trx. After engine commit, the HLC of the trx is updated as
'applied_hlc' for every database touched by the trx.

We track the per-database applied_hlc as a map (with the key as the database
name and value as applied hlc) per instance.

Per-database applied HLC is exposed as a information schema table
'database_applied_hlc'. On querying this table, we get the map of per-database
applied hlc and populate the result set.

Reference Patch: facebook@b90a327

8.0 porting notes:
* 'sys_vars.maintain_database_hlc_basic' MTR test case expanded and
   unified.

Pull Request resolved: facebook#1113

Reviewed By: luqun

Differential Revision: D20131111

Pulled By: bhatvinay
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Mar 15, 2022
…ok#1113)

Summary:
Adds the ability in HybridLogicalClock to maintain per-database applied HLC. The
feature is guarded by a new sysvar 'maintain_database_hlc'.

The database name is extracted from all Table_map_log_event or Query_log_event
in a trx and stored as a set in THD. This gives a list of all databases touched
by this trx. After engine commit, the HLC of the trx is updated as
'applied_hlc' for every database touched by the trx.

We track the per-database applied_hlc as a map (with the key as the database
name and value as applied hlc) per instance.

Per-database applied HLC is exposed as a information schema table
'database_applied_hlc'. On querying this table, we get the map of per-database
applied hlc and populate the result set.

Reference Patch: facebook@b90a327

8.0 porting notes:
* 'sys_vars.maintain_database_hlc_basic' MTR test case expanded and
   unified.

Pull Request resolved: facebook#1113

Reviewed By: luqun

Differential Revision: D20131111

Pulled By: bhatvinay
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jun 19, 2023
…ok#1113)

Summary:
Adds the ability in HybridLogicalClock to maintain per-database applied HLC. The
feature is guarded by a new sysvar 'maintain_database_hlc'.

The database name is extracted from all Table_map_log_event or Query_log_event
in a trx and stored as a set in THD. This gives a list of all databases touched
by this trx. After engine commit, the HLC of the trx is updated as
'applied_hlc' for every database touched by the trx.

We track the per-database applied_hlc as a map (with the key as the database
name and value as applied hlc) per instance.

Per-database applied HLC is exposed as a information schema table
'database_applied_hlc'. On querying this table, we get the map of per-database
applied hlc and populate the result set.

Reference Patch: facebook@b90a327

8.0 porting notes:
* 'sys_vars.maintain_database_hlc_basic' MTR test case expanded and
   unified.

Pull Request resolved: facebook#1113

Reviewed By: luqun

Differential Revision: D20131111

Pulled By: bhatvinay
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jun 23, 2023
…ok#1113)

Summary:
Adds the ability in HybridLogicalClock to maintain per-database applied HLC. The
feature is guarded by a new sysvar 'maintain_database_hlc'.

The database name is extracted from all Table_map_log_event or Query_log_event
in a trx and stored as a set in THD. This gives a list of all databases touched
by this trx. After engine commit, the HLC of the trx is updated as
'applied_hlc' for every database touched by the trx.

We track the per-database applied_hlc as a map (with the key as the database
name and value as applied hlc) per instance.

Per-database applied HLC is exposed as a information schema table
'database_applied_hlc'. On querying this table, we get the map of per-database
applied hlc and populate the result set.

Reference Patch: facebook@b90a327

8.0 porting notes:
* 'sys_vars.maintain_database_hlc_basic' MTR test case expanded and
   unified.

Pull Request resolved: facebook#1113

Reviewed By: luqun

Differential Revision: D20131111

Pulled By: bhatvinay
hermanlee pushed a commit to hermanlee/mysql-5.6 that referenced this pull request Oct 3, 2023
…ok#1113)

Summary:
Adds the ability in HybridLogicalClock to maintain per-database applied HLC. The
feature is guarded by a new sysvar 'maintain_database_hlc'.

The database name is extracted from all Table_map_log_event or Query_log_event
in a trx and stored as a set in THD. This gives a list of all databases touched
by this trx. After engine commit, the HLC of the trx is updated as
'applied_hlc' for every database touched by the trx.

We track the per-database applied_hlc as a map (with the key as the database
name and value as applied hlc) per instance.

Per-database applied HLC is exposed as a information schema table
'database_applied_hlc'. On querying this table, we get the map of per-database
applied hlc and populate the result set.

Reference Patch: facebook@b90a327

8.0 porting notes:
* 'sys_vars.maintain_database_hlc_basic' MTR test case expanded and
   unified.

Pull Request resolved: facebook#1113

Reviewed By: luqun

Differential Revision: D20131111

Pulled By: bhatvinay
hermanlee pushed a commit to hermanlee/mysql-5.6 that referenced this pull request Oct 18, 2023
…ok#1113)

Summary:
Adds the ability in HybridLogicalClock to maintain per-database applied HLC. The
feature is guarded by a new sysvar 'maintain_database_hlc'.

The database name is extracted from all Table_map_log_event or Query_log_event
in a trx and stored as a set in THD. This gives a list of all databases touched
by this trx. After engine commit, the HLC of the trx is updated as
'applied_hlc' for every database touched by the trx.

We track the per-database applied_hlc as a map (with the key as the database
name and value as applied hlc) per instance.

Per-database applied HLC is exposed as a information schema table
'database_applied_hlc'. On querying this table, we get the map of per-database
applied hlc and populate the result set.

Reference Patch: facebook@b90a327

8.0 porting notes:
* 'sys_vars.maintain_database_hlc_basic' MTR test case expanded and
   unified.

Pull Request resolved: facebook#1113

Reviewed By: luqun

Differential Revision: D20131111

Pulled By: bhatvinay
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Apr 23, 2024
…ok#1113)

Summary:
Adds the ability in HybridLogicalClock to maintain per-database applied HLC. The
feature is guarded by a new sysvar 'maintain_database_hlc'.

The database name is extracted from all Table_map_log_event or Query_log_event
in a trx and stored as a set in THD. This gives a list of all databases touched
by this trx. After engine commit, the HLC of the trx is updated as
'applied_hlc' for every database touched by the trx.

We track the per-database applied_hlc as a map (with the key as the database
name and value as applied hlc) per instance.

Per-database applied HLC is exposed as a information schema table
'database_applied_hlc'. On querying this table, we get the map of per-database
applied hlc and populate the result set.

Reference Patch: facebook@b90a327

8.0 porting notes:
* 'sys_vars.maintain_database_hlc_basic' MTR test case expanded and
   unified.

Pull Request resolved: facebook#1113

Reviewed By: luqun

Differential Revision: D20131111

Pulled By: bhatvinay
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Apr 23, 2024
…ok#1113)

Summary:
Adds the ability in HybridLogicalClock to maintain per-database applied HLC. The
feature is guarded by a new sysvar 'maintain_database_hlc'.

The database name is extracted from all Table_map_log_event or Query_log_event
in a trx and stored as a set in THD. This gives a list of all databases touched
by this trx. After engine commit, the HLC of the trx is updated as
'applied_hlc' for every database touched by the trx.

We track the per-database applied_hlc as a map (with the key as the database
name and value as applied hlc) per instance.

Per-database applied HLC is exposed as a information schema table
'database_applied_hlc'. On querying this table, we get the map of per-database
applied hlc and populate the result set.

Reference Patch: facebook@b90a327

8.0 porting notes:
* 'sys_vars.maintain_database_hlc_basic' MTR test case expanded and
   unified.

Pull Request resolved: facebook#1113

Reviewed By: luqun

Differential Revision: D20131111

Pulled By: bhatvinay
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Apr 25, 2024
…ok#1113)

Summary:
Adds the ability in HybridLogicalClock to maintain per-database applied HLC. The
feature is guarded by a new sysvar 'maintain_database_hlc'.

The database name is extracted from all Table_map_log_event or Query_log_event
in a trx and stored as a set in THD. This gives a list of all databases touched
by this trx. After engine commit, the HLC of the trx is updated as
'applied_hlc' for every database touched by the trx.

We track the per-database applied_hlc as a map (with the key as the database
name and value as applied hlc) per instance.

Per-database applied HLC is exposed as a information schema table
'database_applied_hlc'. On querying this table, we get the map of per-database
applied hlc and populate the result set.

Reference Patch: facebook@b90a327

8.0 porting notes:
* 'sys_vars.maintain_database_hlc_basic' MTR test case expanded and
   unified.

Pull Request resolved: facebook#1113

Reviewed By: luqun

Differential Revision: D20131111

Pulled By: bhatvinay
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request May 7, 2024
…ok#1113)

Summary:
Adds the ability in HybridLogicalClock to maintain per-database applied HLC. The
feature is guarded by a new sysvar 'maintain_database_hlc'.

The database name is extracted from all Table_map_log_event or Query_log_event
in a trx and stored as a set in THD. This gives a list of all databases touched
by this trx. After engine commit, the HLC of the trx is updated as
'applied_hlc' for every database touched by the trx.

We track the per-database applied_hlc as a map (with the key as the database
name and value as applied hlc) per instance.

Per-database applied HLC is exposed as a information schema table
'database_applied_hlc'. On querying this table, we get the map of per-database
applied hlc and populate the result set.

Reference Patch: facebook@b90a327

8.0 porting notes:
* 'sys_vars.maintain_database_hlc_basic' MTR test case expanded and
   unified.

Pull Request resolved: facebook#1113

Reviewed By: luqun

Differential Revision: D20131111

Pulled By: bhatvinay
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request May 8, 2024
…ok#1113)

Summary:
Adds the ability in HybridLogicalClock to maintain per-database applied HLC. The
feature is guarded by a new sysvar 'maintain_database_hlc'.

The database name is extracted from all Table_map_log_event or Query_log_event
in a trx and stored as a set in THD. This gives a list of all databases touched
by this trx. After engine commit, the HLC of the trx is updated as
'applied_hlc' for every database touched by the trx.

We track the per-database applied_hlc as a map (with the key as the database
name and value as applied hlc) per instance.

Per-database applied HLC is exposed as a information schema table
'database_applied_hlc'. On querying this table, we get the map of per-database
applied hlc and populate the result set.

Reference Patch: facebook@b90a327

8.0 porting notes:
* 'sys_vars.maintain_database_hlc_basic' MTR test case expanded and
   unified.

Pull Request resolved: facebook#1113

Reviewed By: luqun

Differential Revision: D20131111

Pulled By: bhatvinay
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request May 9, 2024
…ok#1113)

Summary:
Adds the ability in HybridLogicalClock to maintain per-database applied HLC. The
feature is guarded by a new sysvar 'maintain_database_hlc'.

The database name is extracted from all Table_map_log_event or Query_log_event
in a trx and stored as a set in THD. This gives a list of all databases touched
by this trx. After engine commit, the HLC of the trx is updated as
'applied_hlc' for every database touched by the trx.

We track the per-database applied_hlc as a map (with the key as the database
name and value as applied hlc) per instance.

Per-database applied HLC is exposed as a information schema table
'database_applied_hlc'. On querying this table, we get the map of per-database
applied hlc and populate the result set.

Reference Patch: facebook@b90a327

8.0 porting notes:
* 'sys_vars.maintain_database_hlc_basic' MTR test case expanded and
   unified.

Pull Request resolved: facebook#1113

Reviewed By: luqun

Differential Revision: D20131111

Pulled By: bhatvinay
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request May 10, 2024
…ok#1113)

Summary:
Adds the ability in HybridLogicalClock to maintain per-database applied HLC. The
feature is guarded by a new sysvar 'maintain_database_hlc'.

The database name is extracted from all Table_map_log_event or Query_log_event
in a trx and stored as a set in THD. This gives a list of all databases touched
by this trx. After engine commit, the HLC of the trx is updated as
'applied_hlc' for every database touched by the trx.

We track the per-database applied_hlc as a map (with the key as the database
name and value as applied hlc) per instance.

Per-database applied HLC is exposed as a information schema table
'database_applied_hlc'. On querying this table, we get the map of per-database
applied hlc and populate the result set.

Reference Patch: facebook@b90a327

8.0 porting notes:
* 'sys_vars.maintain_database_hlc_basic' MTR test case expanded and
   unified.

Pull Request resolved: facebook#1113

Reviewed By: luqun

Differential Revision: D20131111

Pulled By: bhatvinay
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request May 13, 2024
…ok#1113)

Summary:
Adds the ability in HybridLogicalClock to maintain per-database applied HLC. The
feature is guarded by a new sysvar 'maintain_database_hlc'.

The database name is extracted from all Table_map_log_event or Query_log_event
in a trx and stored as a set in THD. This gives a list of all databases touched
by this trx. After engine commit, the HLC of the trx is updated as
'applied_hlc' for every database touched by the trx.

We track the per-database applied_hlc as a map (with the key as the database
name and value as applied hlc) per instance.

Per-database applied HLC is exposed as a information schema table
'database_applied_hlc'. On querying this table, we get the map of per-database
applied hlc and populate the result set.

Reference Patch: facebook@b90a327

8.0 porting notes:
* 'sys_vars.maintain_database_hlc_basic' MTR test case expanded and
   unified.

Pull Request resolved: facebook#1113

Reviewed By: luqun

Differential Revision: D20131111

Pulled By: bhatvinay
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request May 15, 2024
…ok#1113)

Summary:
Adds the ability in HybridLogicalClock to maintain per-database applied HLC. The
feature is guarded by a new sysvar 'maintain_database_hlc'.

The database name is extracted from all Table_map_log_event or Query_log_event
in a trx and stored as a set in THD. This gives a list of all databases touched
by this trx. After engine commit, the HLC of the trx is updated as
'applied_hlc' for every database touched by the trx.

We track the per-database applied_hlc as a map (with the key as the database
name and value as applied hlc) per instance.

Per-database applied HLC is exposed as a information schema table
'database_applied_hlc'. On querying this table, we get the map of per-database
applied hlc and populate the result set.

Reference Patch: facebook@b90a327

8.0 porting notes:
* 'sys_vars.maintain_database_hlc_basic' MTR test case expanded and
   unified.

Pull Request resolved: facebook#1113

Reviewed By: luqun

Differential Revision: D20131111

Pulled By: bhatvinay
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request May 16, 2024
…ok#1113)

Summary:
Adds the ability in HybridLogicalClock to maintain per-database applied HLC. The
feature is guarded by a new sysvar 'maintain_database_hlc'.

The database name is extracted from all Table_map_log_event or Query_log_event
in a trx and stored as a set in THD. This gives a list of all databases touched
by this trx. After engine commit, the HLC of the trx is updated as
'applied_hlc' for every database touched by the trx.

We track the per-database applied_hlc as a map (with the key as the database
name and value as applied hlc) per instance.

Per-database applied HLC is exposed as a information schema table
'database_applied_hlc'. On querying this table, we get the map of per-database
applied hlc and populate the result set.

Reference Patch: facebook@b90a327

8.0 porting notes:
* 'sys_vars.maintain_database_hlc_basic' MTR test case expanded and
   unified.

Pull Request resolved: facebook#1113

Reviewed By: luqun

Differential Revision: D20131111

Pulled By: bhatvinay
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request May 17, 2024
…ok#1113)

Summary:
Adds the ability in HybridLogicalClock to maintain per-database applied HLC. The
feature is guarded by a new sysvar 'maintain_database_hlc'.

The database name is extracted from all Table_map_log_event or Query_log_event
in a trx and stored as a set in THD. This gives a list of all databases touched
by this trx. After engine commit, the HLC of the trx is updated as
'applied_hlc' for every database touched by the trx.

We track the per-database applied_hlc as a map (with the key as the database
name and value as applied hlc) per instance.

Per-database applied HLC is exposed as a information schema table
'database_applied_hlc'. On querying this table, we get the map of per-database
applied hlc and populate the result set.

Reference Patch: facebook@b90a327

8.0 porting notes:
* 'sys_vars.maintain_database_hlc_basic' MTR test case expanded and
   unified.

Pull Request resolved: facebook#1113

Reviewed By: luqun

Differential Revision: D20131111

Pulled By: bhatvinay
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request May 17, 2024
…ok#1113)

Summary:
Adds the ability in HybridLogicalClock to maintain per-database applied HLC. The
feature is guarded by a new sysvar 'maintain_database_hlc'.

The database name is extracted from all Table_map_log_event or Query_log_event
in a trx and stored as a set in THD. This gives a list of all databases touched
by this trx. After engine commit, the HLC of the trx is updated as
'applied_hlc' for every database touched by the trx.

We track the per-database applied_hlc as a map (with the key as the database
name and value as applied hlc) per instance.

Per-database applied HLC is exposed as a information schema table
'database_applied_hlc'. On querying this table, we get the map of per-database
applied hlc and populate the result set.

Reference Patch: facebook@b90a327

8.0 porting notes:
* 'sys_vars.maintain_database_hlc_basic' MTR test case expanded and
   unified.

Pull Request resolved: facebook#1113

Reviewed By: luqun

Differential Revision: D20131111

Pulled By: bhatvinay
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request May 21, 2024
…ok#1113)

Summary:
Adds the ability in HybridLogicalClock to maintain per-database applied HLC. The
feature is guarded by a new sysvar 'maintain_database_hlc'.

The database name is extracted from all Table_map_log_event or Query_log_event
in a trx and stored as a set in THD. This gives a list of all databases touched
by this trx. After engine commit, the HLC of the trx is updated as
'applied_hlc' for every database touched by the trx.

We track the per-database applied_hlc as a map (with the key as the database
name and value as applied hlc) per instance.

Per-database applied HLC is exposed as a information schema table
'database_applied_hlc'. On querying this table, we get the map of per-database
applied hlc and populate the result set.

Reference Patch: facebook@b90a327

8.0 porting notes:
* 'sys_vars.maintain_database_hlc_basic' MTR test case expanded and
   unified.

Pull Request resolved: facebook#1113

Reviewed By: luqun

Differential Revision: D20131111

Pulled By: bhatvinay
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request May 21, 2024
…ok#1113)

Summary:
Adds the ability in HybridLogicalClock to maintain per-database applied HLC. The
feature is guarded by a new sysvar 'maintain_database_hlc'.

The database name is extracted from all Table_map_log_event or Query_log_event
in a trx and stored as a set in THD. This gives a list of all databases touched
by this trx. After engine commit, the HLC of the trx is updated as
'applied_hlc' for every database touched by the trx.

We track the per-database applied_hlc as a map (with the key as the database
name and value as applied hlc) per instance.

Per-database applied HLC is exposed as a information schema table
'database_applied_hlc'. On querying this table, we get the map of per-database
applied hlc and populate the result set.

Reference Patch: facebook@b90a327

8.0 porting notes:
* 'sys_vars.maintain_database_hlc_basic' MTR test case expanded and
   unified.

Pull Request resolved: facebook#1113

Reviewed By: luqun

Differential Revision: D20131111

Pulled By: bhatvinay
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request May 30, 2024
…ok#1113)

Summary:
Adds the ability in HybridLogicalClock to maintain per-database applied HLC. The
feature is guarded by a new sysvar 'maintain_database_hlc'.

The database name is extracted from all Table_map_log_event or Query_log_event
in a trx and stored as a set in THD. This gives a list of all databases touched
by this trx. After engine commit, the HLC of the trx is updated as
'applied_hlc' for every database touched by the trx.

We track the per-database applied_hlc as a map (with the key as the database
name and value as applied hlc) per instance.

Per-database applied HLC is exposed as a information schema table
'database_applied_hlc'. On querying this table, we get the map of per-database
applied hlc and populate the result set.

Reference Patch: facebook@b90a327

8.0 porting notes:
* 'sys_vars.maintain_database_hlc_basic' MTR test case expanded and
   unified.

Pull Request resolved: facebook#1113

Reviewed By: luqun

Differential Revision: D20131111

Pulled By: bhatvinay
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jun 19, 2024
…ok#1113)

Summary:
Adds the ability in HybridLogicalClock to maintain per-database applied HLC. The
feature is guarded by a new sysvar 'maintain_database_hlc'.

The database name is extracted from all Table_map_log_event or Query_log_event
in a trx and stored as a set in THD. This gives a list of all databases touched
by this trx. After engine commit, the HLC of the trx is updated as
'applied_hlc' for every database touched by the trx.

We track the per-database applied_hlc as a map (with the key as the database
name and value as applied hlc) per instance.

Per-database applied HLC is exposed as a information schema table
'database_applied_hlc'. On querying this table, we get the map of per-database
applied hlc and populate the result set.

Reference Patch: facebook@b90a327

8.0 porting notes:
* 'sys_vars.maintain_database_hlc_basic' MTR test case expanded and
   unified.

Pull Request resolved: facebook#1113

Reviewed By: luqun

Differential Revision: D20131111

Pulled By: bhatvinay
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jun 19, 2024
…ok#1113)

Summary:
Adds the ability in HybridLogicalClock to maintain per-database applied HLC. The
feature is guarded by a new sysvar 'maintain_database_hlc'.

The database name is extracted from all Table_map_log_event or Query_log_event
in a trx and stored as a set in THD. This gives a list of all databases touched
by this trx. After engine commit, the HLC of the trx is updated as
'applied_hlc' for every database touched by the trx.

We track the per-database applied_hlc as a map (with the key as the database
name and value as applied hlc) per instance.

Per-database applied HLC is exposed as a information schema table
'database_applied_hlc'. On querying this table, we get the map of per-database
applied hlc and populate the result set.

Reference Patch: facebook@b90a327

8.0 porting notes:
* 'sys_vars.maintain_database_hlc_basic' MTR test case expanded and
   unified.

Pull Request resolved: facebook#1113

Reviewed By: luqun

Differential Revision: D20131111

Pulled By: bhatvinay
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jun 20, 2024
…ok#1113)

Summary:
Adds the ability in HybridLogicalClock to maintain per-database applied HLC. The
feature is guarded by a new sysvar 'maintain_database_hlc'.

The database name is extracted from all Table_map_log_event or Query_log_event
in a trx and stored as a set in THD. This gives a list of all databases touched
by this trx. After engine commit, the HLC of the trx is updated as
'applied_hlc' for every database touched by the trx.

We track the per-database applied_hlc as a map (with the key as the database
name and value as applied hlc) per instance.

Per-database applied HLC is exposed as a information schema table
'database_applied_hlc'. On querying this table, we get the map of per-database
applied hlc and populate the result set.

Reference Patch: facebook@b90a327

8.0 porting notes:
* 'sys_vars.maintain_database_hlc_basic' MTR test case expanded and
   unified.

Pull Request resolved: facebook#1113

Reviewed By: luqun

Differential Revision: D20131111

Pulled By: bhatvinay
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jun 21, 2024
…ok#1113)

Summary:
Adds the ability in HybridLogicalClock to maintain per-database applied HLC. The
feature is guarded by a new sysvar 'maintain_database_hlc'.

The database name is extracted from all Table_map_log_event or Query_log_event
in a trx and stored as a set in THD. This gives a list of all databases touched
by this trx. After engine commit, the HLC of the trx is updated as
'applied_hlc' for every database touched by the trx.

We track the per-database applied_hlc as a map (with the key as the database
name and value as applied hlc) per instance.

Per-database applied HLC is exposed as a information schema table
'database_applied_hlc'. On querying this table, we get the map of per-database
applied hlc and populate the result set.

Reference Patch: facebook@b90a327

8.0 porting notes:
* 'sys_vars.maintain_database_hlc_basic' MTR test case expanded and
   unified.

Pull Request resolved: facebook#1113

Reviewed By: luqun

Differential Revision: D20131111

Pulled By: bhatvinay
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jun 25, 2024
…ok#1113)

Summary:
Adds the ability in HybridLogicalClock to maintain per-database applied HLC. The
feature is guarded by a new sysvar 'maintain_database_hlc'.

The database name is extracted from all Table_map_log_event or Query_log_event
in a trx and stored as a set in THD. This gives a list of all databases touched
by this trx. After engine commit, the HLC of the trx is updated as
'applied_hlc' for every database touched by the trx.

We track the per-database applied_hlc as a map (with the key as the database
name and value as applied hlc) per instance.

Per-database applied HLC is exposed as a information schema table
'database_applied_hlc'. On querying this table, we get the map of per-database
applied hlc and populate the result set.

Reference Patch: facebook@b90a327

8.0 porting notes:
* 'sys_vars.maintain_database_hlc_basic' MTR test case expanded and
   unified.

Pull Request resolved: facebook#1113

Reviewed By: luqun

Differential Revision: D20131111

Pulled By: bhatvinay
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jul 2, 2024
…ok#1113)

Summary:
Adds the ability in HybridLogicalClock to maintain per-database applied HLC. The
feature is guarded by a new sysvar 'maintain_database_hlc'.

The database name is extracted from all Table_map_log_event or Query_log_event
in a trx and stored as a set in THD. This gives a list of all databases touched
by this trx. After engine commit, the HLC of the trx is updated as
'applied_hlc' for every database touched by the trx.

We track the per-database applied_hlc as a map (with the key as the database
name and value as applied hlc) per instance.

Per-database applied HLC is exposed as a information schema table
'database_applied_hlc'. On querying this table, we get the map of per-database
applied hlc and populate the result set.

Reference Patch: facebook@b90a327

8.0 porting notes:
* 'sys_vars.maintain_database_hlc_basic' MTR test case expanded and
   unified.

Pull Request resolved: facebook#1113

Reviewed By: luqun

Differential Revision: D20131111

Pulled By: bhatvinay
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jul 19, 2024
…ok#1113)

Summary:
Adds the ability in HybridLogicalClock to maintain per-database applied HLC. The
feature is guarded by a new sysvar 'maintain_database_hlc'.

The database name is extracted from all Table_map_log_event or Query_log_event
in a trx and stored as a set in THD. This gives a list of all databases touched
by this trx. After engine commit, the HLC of the trx is updated as
'applied_hlc' for every database touched by the trx.

We track the per-database applied_hlc as a map (with the key as the database
name and value as applied hlc) per instance.

Per-database applied HLC is exposed as a information schema table
'database_applied_hlc'. On querying this table, we get the map of per-database
applied hlc and populate the result set.

Reference Patch: facebook@b90a327

8.0 porting notes:
* 'sys_vars.maintain_database_hlc_basic' MTR test case expanded and
   unified.

Pull Request resolved: facebook#1113

Reviewed By: luqun

Differential Revision: D20131111

Pulled By: bhatvinay
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jul 19, 2024
…ok#1113)

Summary:
Adds the ability in HybridLogicalClock to maintain per-database applied HLC. The
feature is guarded by a new sysvar 'maintain_database_hlc'.

The database name is extracted from all Table_map_log_event or Query_log_event
in a trx and stored as a set in THD. This gives a list of all databases touched
by this trx. After engine commit, the HLC of the trx is updated as
'applied_hlc' for every database touched by the trx.

We track the per-database applied_hlc as a map (with the key as the database
name and value as applied hlc) per instance.

Per-database applied HLC is exposed as a information schema table
'database_applied_hlc'. On querying this table, we get the map of per-database
applied hlc and populate the result set.

Reference Patch: facebook@b90a327

8.0 porting notes:
* 'sys_vars.maintain_database_hlc_basic' MTR test case expanded and
   unified.

Pull Request resolved: facebook#1113

Reviewed By: luqun

Differential Revision: D20131111

Pulled By: bhatvinay
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jul 31, 2024
…ok#1113)

Summary:
Adds the ability in HybridLogicalClock to maintain per-database applied HLC. The
feature is guarded by a new sysvar 'maintain_database_hlc'.

The database name is extracted from all Table_map_log_event or Query_log_event
in a trx and stored as a set in THD. This gives a list of all databases touched
by this trx. After engine commit, the HLC of the trx is updated as
'applied_hlc' for every database touched by the trx.

We track the per-database applied_hlc as a map (with the key as the database
name and value as applied hlc) per instance.

Per-database applied HLC is exposed as a information schema table
'database_applied_hlc'. On querying this table, we get the map of per-database
applied hlc and populate the result set.

Reference Patch: facebook@b90a327

8.0 porting notes:
* 'sys_vars.maintain_database_hlc_basic' MTR test case expanded and
   unified.

Pull Request resolved: facebook#1113

Reviewed By: luqun

Differential Revision: D20131111

Pulled By: bhatvinay
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Aug 2, 2024
…ok#1113)

Summary:
Adds the ability in HybridLogicalClock to maintain per-database applied HLC. The
feature is guarded by a new sysvar 'maintain_database_hlc'.

The database name is extracted from all Table_map_log_event or Query_log_event
in a trx and stored as a set in THD. This gives a list of all databases touched
by this trx. After engine commit, the HLC of the trx is updated as
'applied_hlc' for every database touched by the trx.

We track the per-database applied_hlc as a map (with the key as the database
name and value as applied hlc) per instance.

Per-database applied HLC is exposed as a information schema table
'database_applied_hlc'. On querying this table, we get the map of per-database
applied hlc and populate the result set.

Reference Patch: facebook@b90a327

8.0 porting notes:
* 'sys_vars.maintain_database_hlc_basic' MTR test case expanded and
   unified.

Pull Request resolved: facebook#1113

Reviewed By: luqun

Differential Revision: D20131111

Pulled By: bhatvinay
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Aug 6, 2024
…ok#1113)

Summary:
Adds the ability in HybridLogicalClock to maintain per-database applied HLC. The
feature is guarded by a new sysvar 'maintain_database_hlc'.

The database name is extracted from all Table_map_log_event or Query_log_event
in a trx and stored as a set in THD. This gives a list of all databases touched
by this trx. After engine commit, the HLC of the trx is updated as
'applied_hlc' for every database touched by the trx.

We track the per-database applied_hlc as a map (with the key as the database
name and value as applied hlc) per instance.

Per-database applied HLC is exposed as a information schema table
'database_applied_hlc'. On querying this table, we get the map of per-database
applied hlc and populate the result set.

Reference Patch: facebook@b90a327

8.0 porting notes:
* 'sys_vars.maintain_database_hlc_basic' MTR test case expanded and
   unified.

Pull Request resolved: facebook#1113

Reviewed By: luqun

Differential Revision: D20131111

Pulled By: bhatvinay
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants