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

[db] Add index 'ind_dbsync' on d_b_code_sync_resource #6005

Merged
merged 1 commit into from
Oct 4, 2021

Conversation

geropl
Copy link
Member

@geropl geropl commented Oct 4, 2021

Description

Adds missing index ind_dbsync to table d_b_code_sync_resource.

Related Issue(s)

Fixes #6004

How to test

Release Notes

[db] add missing index `ind_dbsync` to table `d_b_code_sync_resource`

@AlexTugarev
Copy link
Member

AlexTugarev commented Oct 4, 2021

/werft run

👍 started the job as gitpod-build-gpl-6004-sync-indexes.2

Copy link
Contributor

@jankeromnes jankeromnes left a comment

Choose a reason for hiding this comment

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

Thanks! Looks good to me 🚀 also works as intended:

mysql> show index from d_b_code_sync_resource;
+------------------------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| Table                  | Non_unique | Key_name   | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
+------------------------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| d_b_code_sync_resource |          0 | PRIMARY    |            1 | userId      | A         |           0 |     NULL | NULL   |      | BTREE      |         |               |
| d_b_code_sync_resource |          0 | PRIMARY    |            2 | kind        | A         |           0 |     NULL | NULL   |      | BTREE      |         |               |
| d_b_code_sync_resource |          0 | PRIMARY    |            3 | rev         | A         |           0 |     NULL | NULL   |      | BTREE      |         |               |
| d_b_code_sync_resource |          1 | ind_dbsync |            1 | created     | A         |           0 |     NULL | NULL   |      | BTREE      |         |               |
+------------------------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
4 rows in set (0.00 sec)

Although, now I wonder what this decorator does (if anything):

@Index('ind_dbsync', ['created']) // DBSync

}

public async down(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`DROP INDEX ${INDEX_NAME} ON ${TABLE_NAME}`);
Copy link
Contributor

Choose a reason for hiding this comment

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

Do we really want to remove the index again if rolling back? (I think we could also leave it in place without consequence.)

export class IndexCodeSyncCreated1633334251143 implements MigrationInterface {

public async up(queryRunner: QueryRunner): Promise<any> {
if (!(await indexExists(queryRunner, TABLE_NAME, INDEX_NAME))) {
Copy link
Contributor

Choose a reason for hiding this comment

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

FYI, today I learned about this helper (which doesn't seem to be used anywhere):

export async function createIndexIfNotExist(queryRunner: QueryRunner, tableName: string, indexName: string, columns: string[]): Promise<void> {
if (columns.length === 0) {
throw new Error("createIndexIfNotExist: Columns must not be empty!");
}
if (!indexExists(queryRunner, tableName, indexName)) {
const columnsStr = columns.map(cn => `\`${cn}\``).join(", ");
await queryRunner.query(`CREATE INDEX ${indexName} ON ${tableName} (${columnsStr})`);
}
};

However, no action needed here (feel free to resolve).

@roboquat
Copy link
Contributor

roboquat commented Oct 4, 2021

LGTM label has been added.

Git tree hash: dadabee06cd4abd4bb603b489a10fdfab71d1998

@roboquat
Copy link
Contributor

roboquat commented Oct 4, 2021

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: jankeromnes

Associated issue: #6004

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@roboquat roboquat merged commit fcff8ee into main Oct 4, 2021
@roboquat roboquat deleted the gpl/6004-sync-indexes branch October 4, 2021 14:24
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.

High Database Load (Continuation)
4 participants