context = { 'destination_s3_key': 'active_contracts/data/active_contracts.txt.gz', 'chunk_size': 100000, 'table': 'vendor', 'primary_key': 'vendor_id', 'bucket': '{env}-db-data', 'query': ''' SELECT vcc.id, vcc.vendor_id, vcc.cont_start, vcc.cont_end, vcc.cont_version, vcc.exclusive, vcc.orchrep_name, vcc.carve_out, vcc.qualification_level, vcc.territory_carve_out, vcc.dms_carve_out, vcc.dms_master_carve_out, vcc.encoding_fees_cap_back_ctlg, vcc.encoding_fees_cap_new_release, vcc.digital_split, vcc.physical_split, vcc.contract_type, vcc.release_term, vcc.advance_payment, vcc.advance_recoupable_percentage, vcc.dig_distribution_type, vcc.possible_track_restrictions, vcc.oms_type, vcc.oms_fee_percentage, vcc.negotiated_changes, stripSpecialChars(vcc.negotiated_change_comments), vcc.contract_complete, vcc.signature_date, vcc.marketing_restrictions, vcc.orchard_assignment_right_restriction, vcc.currency_id, vcc.third_party_responsibility, vcc.third_party_responsibility_detail, vcc.possible_track_restriction_detail, vcc.is_amendment, vcc.extend_until_recouped, vcc.sync_admin_territory, vcc.sync_admin_commission, vcc.sync_admin_type_of_deal, vcc.royalty_collection_territory, vcc.royalty_collection_commission, vcc.publishing_admin_commission, vcc.publishing_admin_territory, vcc.publishing_admin_limit_grant_of_rights, vcc.publishing_admin_misc_provisions, vcc.parent_vendor_contract_id, vcc.vendor_type, vcc.vendor_proposed_term_id, vcc.sync_admin_response_time, vcc.ringtone_publishing_type, vcc.unlimited_roll, vcc.rollover_length_in_months, vcc.can_terminate, vcc.youtube_composition_clause, vcc.sx_royalty_collection_commission, vcc.topspin_rate, vcc.topspin_rate_territory, vcc.notice_required_in_days, vcc.term_continues_until_recouped, vcc.brand_split, vcc.other_rights_option, vcc.other_rights_text, vcc.special_product_split, vcc.special_product_carve_out, vcc.payment_interval, vcc.pay_after, vcc.show_credit_card, vcc.opt_out, vcc.apply_fx_spread FROM vendor v INNER JOIN vendor_contract vcc ON v.vendor_id=vcc.vendor_id INNER JOIN vendor_contract_distribution_type vcdt ON vcdt.vendor_contract_id = vcc.id LEFT JOIN vendor_contract vcc2 ON vcc.vendor_id = vcc2.vendor_id AND vcc2.cont_start <= CURDATE() AND ( vcc2.contract_type = 'per_release_term' AND ( vcc2.cont_start = '0000-00-00' OR vcc2.release_term <=0 OR ( vcc2.cont_start + interval vcc2.release_term month) > CURDATE() ) OR ( (vcc2.contract_type <> 'per_release_term' OR vcc2.contract_type IS NULL) AND (vcc2.cont_end >= CURDATE() OR vcc2.cont_end IS NULL OR vcc2.cont_end = '0000-00-00') )) AND vcc.cont_start < vcc2.cont_start WHERE vcc2.id IS NULL AND vcc.cont_start <= CURDATE() AND ( vcc.contract_type = 'per_release_term' AND ( vcc.cont_start = '0000-00-00' OR vcc.release_term <=0 OR ( vcc.cont_start + interval vcc.release_term month) > CURDATE()) OR ( (vcc.contract_type <> 'per_release_term' OR vcc.contract_type IS NULL) AND (vcc.cont_end >= CURDATE() OR vcc.cont_end IS NULL OR vcc.cont_end = '0000-00-00'))) AND vcdt.distribution_type_id = 1 AND NOT FIND_IN_SET(1,vcc.territory_carve_out) AND v.vendor_id BETWEEN {min_id} and {max_id} GROUP BY v.vendor_id, vcc.id''' }