Class: Gitlab::BackgroundMigration::BackfillDesiredShardingKeyPartitionJob
- Inherits:
-
BackfillDesiredShardingKeyJob
- Object
- BatchedMigrationJob
- BackfillDesiredShardingKeyJob
- Gitlab::BackgroundMigration::BackfillDesiredShardingKeyPartitionJob
- Defined in:
- lib/gitlab/background_migration/backfill_desired_sharding_key_partition_job.rb
Direct Known Subclasses
BackfillCiBuildNeedsProjectId, BackfillCiBuildPendingStatesProjectId, BackfillCiPipelineMessagesProjectId, BackfillPCiPipelineVariablesProjectId, BackfillPCiRunnerMachineBuildsProjectId
Constant Summary
Constants inherited from BatchedMigrationJob
Gitlab::BackgroundMigration::BatchedMigrationJob::DEFAULT_FEATURE_CATEGORY
Constants included from Database::DynamicModelHelpers
Database::DynamicModelHelpers::BATCH_SIZE
Instance Method Summary collapse
Methods inherited from BackfillDesiredShardingKeyJob
#backfill_via_table_primary_key, #perform
Methods inherited from BatchedMigrationJob
#batch_metrics, cursor, cursor?, cursor_columns, feature_category, #filter_batch, generic_instance, #initialize, job_arguments, job_arguments_count, operation_name, #perform, scope_to
Methods included from Database::DynamicModelHelpers
#define_batchable_model, #each_batch, #each_batch_range
Constructor Details
This class inherits a constructor from Gitlab::BackgroundMigration::BatchedMigrationJob
Instance Method Details
#construct_query(sub_batch:) ⇒ Object
12 13 14 15 16 17 18 19 20 21 |
# File 'lib/gitlab/background_migration/backfill_desired_sharding_key_partition_job.rb', line 12 def construct_query(sub_batch:) <<~SQL UPDATE #{batch_table} SET #{backfill_column} = #{backfill_via_table}.#{backfill_via_column} FROM #{backfill_via_table} WHERE #{backfill_via_table}.id = #{batch_table}.#{backfill_via_foreign_key} AND #{backfill_via_table}.#{partition_column} = #{batch_table}.#{partition_column} AND #{batch_table}.#{batch_column} IN (#{sub_batch.select(batch_column).to_sql}) SQL end |