@@ -118,6 +118,7 @@ pub struct SourceTrackingInfoForPrecommit {
118118 pub staging_target_keys : sqlx:: types:: Json < TrackedTargetKeyForSource > ,
119119
120120 pub processed_source_ordinal : Option < i64 > ,
121+ pub processed_source_fp : Option < Vec < u8 > > ,
121122 pub process_logic_fingerprint : Option < Vec < u8 > > ,
122123 pub process_ordinal : Option < i64 > ,
123124 pub target_keys : Option < sqlx:: types:: Json < TrackedTargetKeyForSource > > ,
@@ -130,7 +131,12 @@ pub async fn read_source_tracking_info_for_precommit(
130131 db_executor : impl sqlx:: Executor < ' _ , Database = sqlx:: Postgres > ,
131132) -> Result < Option < SourceTrackingInfoForPrecommit > > {
132133 let query_str = format ! (
133- "SELECT max_process_ordinal, staging_target_keys, processed_source_ordinal, process_logic_fingerprint, process_ordinal, target_keys FROM {} WHERE source_id = $1 AND source_key = $2" ,
134+ "SELECT max_process_ordinal, staging_target_keys, processed_source_ordinal, {}, process_logic_fingerprint, process_ordinal, target_keys FROM {} WHERE source_id = $1 AND source_key = $2" ,
135+ if db_setup. has_fast_fingerprint_column {
136+ "processed_source_fp"
137+ } else {
138+ "NULL::bytea AS processed_source_fp"
139+ } ,
134140 db_setup. table_name
135141 ) ;
136142 let precommit_tracking_info = sqlx:: query_as ( & query_str)
@@ -282,6 +288,7 @@ pub async fn delete_source_tracking_info(
282288pub struct TrackedSourceKeyMetadata {
283289 pub source_key : serde_json:: Value ,
284290 pub processed_source_ordinal : Option < i64 > ,
291+ pub processed_source_fp : Option < Vec < u8 > > ,
285292 pub process_logic_fingerprint : Option < Vec < u8 > > ,
286293}
287294
@@ -303,7 +310,12 @@ impl ListTrackedSourceKeyMetadataState {
303310 pool : & ' a PgPool ,
304311 ) -> impl Stream < Item = Result < TrackedSourceKeyMetadata , sqlx:: Error > > + ' a {
305312 self . query_str = format ! (
306- "SELECT source_key, processed_source_ordinal, process_logic_fingerprint FROM {} WHERE source_id = $1" ,
313+ "SELECT source_key, processed_source_ordinal, {}, process_logic_fingerprint FROM {} WHERE source_id = $1" ,
314+ if db_setup. has_fast_fingerprint_column {
315+ "processed_source_fp"
316+ } else {
317+ "NULL::bytea AS processed_source_fp"
318+ } ,
307319 db_setup. table_name
308320 ) ;
309321 sqlx:: query_as ( & self . query_str ) . bind ( source_id) . fetch ( pool)
0 commit comments