@@ -462,7 +462,7 @@ job_t *set_job_error(job_t *j, const char *fmt, ...)
462
462
463
463
int move_job_to_log (job_t * j , bool status , bool process )
464
464
{
465
- if (j -> type == CronJob ) _cron_move_job_to_log (j , status );
465
+ if (j -> type == CronJob ) return _cron_move_job_to_log (j , status );
466
466
return _at_move_job_to_log (j , status , process );
467
467
}
468
468
@@ -513,9 +513,9 @@ int move_at_job_process(int job_id)
513
513
int set_at_job_done (job_t * job , char * error , int64 resubmit , char * * set_error )
514
514
{
515
515
char * this_error = NULL ;
516
- Datum values [20 ];
517
- char nulls [20 ];
518
- Oid argtypes [20 ] = { INT4OID };
516
+ Datum values [21 ];
517
+ char nulls [21 ];
518
+ Oid argtypes [21 ] = { INT4OID };
519
519
bool canceled = false;
520
520
int i ;
521
521
char * oldpath ;
@@ -524,8 +524,9 @@ int set_at_job_done(job_t *job, char *error, int64 resubmit, char **set_error)
524
524
int n = 1 ;
525
525
spi_response_t * r ;
526
526
spi_response_t * r2 ;
527
+
527
528
const char * get_sql = "select * from at_jobs_process where id = $1" ;
528
- const char * insert_sql = "insert into at_jobs_done values($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17, $18, $19, $20)" ;
529
+ const char * insert_sql = "insert into at_jobs_done values($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17, $18, $19, $20, $21 )" ;
529
530
const char * delete_sql = "delete from at_jobs_process where id = $1" ;
530
531
const char * resubmit_sql = "insert into at_jobs_submitted values($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17)" ;
531
532
@@ -558,8 +559,10 @@ int set_at_job_done(job_t *job, char *error, int64 resubmit, char **set_error)
558
559
}
559
560
argtypes [18 ] = BOOLOID ;
560
561
argtypes [19 ] = TEXTOID ;
562
+ argtypes [20 ] = TIMESTAMPTZOID ;
561
563
nulls [18 ] = ' ' ;
562
564
nulls [19 ] = ' ' ;
565
+ nulls [20 ] = ' ' ;
563
566
564
567
canceled = nulls [15 ] == 'n' ? false: DatumGetBool (values [15 ]);
565
568
@@ -569,10 +572,11 @@ int set_at_job_done(job_t *job, char *error, int64 resubmit, char **set_error)
569
572
{
570
573
this_error = _copy_string ("job was canceled while processing: cannot resubmit" );
571
574
sql = insert_sql ;
572
- n = 20 ;
575
+ n = 21 ;
573
576
574
577
values [18 ] = BoolGetDatum (false);
575
578
values [19 ] = CStringGetTextDatum (this_error );
579
+ values [20 ] = TimestampTzGetDatum (GetCurrentTimestamp ());
576
580
}
577
581
else if (job -> attempt + 1 < job -> resubmit_limit )
578
582
{
@@ -585,15 +589,16 @@ int set_at_job_done(job_t *job, char *error, int64 resubmit, char **set_error)
585
589
{
586
590
this_error = _copy_string ("resubmit limit reached" );
587
591
sql = insert_sql ;
588
- n = 20 ;
592
+ n = 21 ;
589
593
590
594
values [18 ] = BoolGetDatum (false);
591
595
values [19 ] = CStringGetTextDatum (this_error );
596
+ values [20 ] = TimestampTzGetDatum (GetCurrentTimestamp ());
592
597
}
593
598
}
594
599
else
595
600
{
596
- n = 20 ;
601
+ n = 21 ;
597
602
sql = insert_sql ;
598
603
if (error )
599
604
{
@@ -605,6 +610,7 @@ int set_at_job_done(job_t *job, char *error, int64 resubmit, char **set_error)
605
610
values [18 ] = BoolGetDatum (true);
606
611
nulls [19 ] = 'n' ;
607
612
}
613
+ values [20 ] = TimestampTzGetDatum (GetCurrentTimestamp ());
608
614
}
609
615
r2 = execute_spi_sql_with_args (sql , n , argtypes , values , nulls );
610
616
if (this_error ) pfree (this_error );
0 commit comments