From 86ad296189f4a113e0286428fb8555204bac3b70 Mon Sep 17 00:00:00 2001 From: Ben Date: Mon, 3 Aug 2026 22:44:49 -0400 Subject: [PATCH] Restore accepted share rollup lookup indexes --- ...eptedShare10mLookupIndexes1781403000000.ts | 47 +++++++++++++++++++ src/database.config.ts | 2 + 2 files changed, 49 insertions(+) create mode 100644 src/ORM/_migrations/AcceptedShare10mLookupIndexes1781403000000.ts diff --git a/src/ORM/_migrations/AcceptedShare10mLookupIndexes1781403000000.ts b/src/ORM/_migrations/AcceptedShare10mLookupIndexes1781403000000.ts new file mode 100644 index 0000000..7452c29 --- /dev/null +++ b/src/ORM/_migrations/AcceptedShare10mLookupIndexes1781403000000.ts @@ -0,0 +1,47 @@ +import { MigrationInterface, QueryRunner } from 'typeorm'; + +export class AcceptedShare10mLookupIndexes1781403000000 implements MigrationInterface { + public name = 'AcceptedShare10mLookupIndexes1781403000000'; + public transaction = false; + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query(` + CREATE INDEX CONCURRENTLY IF NOT EXISTS "IDX_accepted_share_10m_bucket" + ON "accepted_share_10m" ("bucket" DESC) + `); + await queryRunner.query(` + CREATE INDEX CONCURRENTLY IF NOT EXISTS "IDX_accepted_share_10m_address_bucket" + ON "accepted_share_10m" ("address", "bucket" DESC) + `); + await queryRunner.query(` + CREATE INDEX CONCURRENTLY IF NOT EXISTS "IDX_accepted_share_10m_address_mode_bucket" + ON "accepted_share_10m" ("address", "payoutMode", "bucket" DESC) + `); + await queryRunner.query(` + CREATE INDEX CONCURRENTLY IF NOT EXISTS "IDX_accepted_share_10m_group_bucket" + ON "accepted_share_10m" ("address", "clientName", "bucket" DESC) + `); + await queryRunner.query(` + CREATE INDEX CONCURRENTLY IF NOT EXISTS "IDX_accepted_share_10m_group_mode_bucket" + ON "accepted_share_10m" ("address", "clientName", "payoutMode", "bucket" DESC) + `); + await queryRunner.query(` + CREATE INDEX CONCURRENTLY IF NOT EXISTS "IDX_accepted_share_10m_client_bucket" + ON "accepted_share_10m" ("clientId", "bucket" DESC) + `); + await queryRunner.query(` + CREATE INDEX CONCURRENTLY IF NOT EXISTS "IDX_accepted_share_10m_client_mode_bucket" + ON "accepted_share_10m" ("clientId", "payoutMode", "bucket" DESC) + `); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(`DROP INDEX CONCURRENTLY IF EXISTS "IDX_accepted_share_10m_client_mode_bucket"`); + await queryRunner.query(`DROP INDEX CONCURRENTLY IF EXISTS "IDX_accepted_share_10m_group_mode_bucket"`); + await queryRunner.query(`DROP INDEX CONCURRENTLY IF EXISTS "IDX_accepted_share_10m_address_mode_bucket"`); + await queryRunner.query(`DROP INDEX CONCURRENTLY IF EXISTS "IDX_accepted_share_10m_client_bucket"`); + await queryRunner.query(`DROP INDEX CONCURRENTLY IF EXISTS "IDX_accepted_share_10m_group_bucket"`); + await queryRunner.query(`DROP INDEX CONCURRENTLY IF EXISTS "IDX_accepted_share_10m_address_bucket"`); + await queryRunner.query(`DROP INDEX CONCURRENTLY IF EXISTS "IDX_accepted_share_10m_bucket"`); + } +} diff --git a/src/database.config.ts b/src/database.config.ts index 9aba2c0..3a17e72 100644 --- a/src/database.config.ts +++ b/src/database.config.ts @@ -21,6 +21,7 @@ import { UserAgentReportNonzeroHashrate1781313000000 } from './ORM/_migrations/U import { PoolSummaryContinuousAggregate1781400000000 } from './ORM/_migrations/PoolSummaryContinuousAggregate1781400000000'; import { PoolSummaryRefreshWindow1781401000000 } from './ORM/_migrations/PoolSummaryRefreshWindow1781401000000'; import { AcceptedShareHighScoreNumericRetention1781402000000 } from './ORM/_migrations/AcceptedShareHighScoreNumericRetention1781402000000'; +import { AcceptedShare10mLookupIndexes1781403000000 } from './ORM/_migrations/AcceptedShare10mLookupIndexes1781403000000'; import { UserAgentReportView } from './ORM/_views/user-agent-report/user-agent-report.view'; import { AcceptedShareEntity } from './ORM/accepted-share/accepted-share.entity'; import { AddressSettingsEntity } from './ORM/address-settings/address-settings.entity'; @@ -68,6 +69,7 @@ export const databaseMigrations = [ PoolSummaryContinuousAggregate1781400000000, PoolSummaryRefreshWindow1781401000000, AcceptedShareHighScoreNumericRetention1781402000000, + AcceptedShare10mLookupIndexes1781403000000, ]; export function createDatabaseOptions(env: NodeJS.ProcessEnv): TypeOrmModuleOptions & DataSourceOptions {