A colleague of mine is working with the following code (postgres Version
8.2.4):
#include <stdio.h>
#include <stdlib.h>
#include "pgtypes_timestamp.h"
#include "pgtypes_interval.h"
EXEC SQL INCLUDE sqlca;
main(argc, argv)
int argc;
char *argv[];
{
timestamp dt1st, dt2nd;
interval *int_day, *int_pt;
char timebeg[40];
char timeend[40];
int rc;
strcpy(timebeg,"2008-04-01");
strcpy(timeend,"2008-04-05");
printf("timebeg: %s\n", timebeg);
printf("timeend: %s\n", timeend);
dt1st=PGTYPEStimestamp_from_asc(timebeg,NULL);
dt2nd=PGTYPEStimestamp_from_asc(timeend,NULL);
int_day=PGTYPESinterval_from_asc("02 01:02:03", NULL);
printf("int_day : %s\n", PGTYPESinterval_to_asc(int_day));
rc=PGTYPEStimestamp_sub(&dt2nd, &dt1st, int_pt);
printf("rc, date2 - date1 = %d, %s\n", rc, PGTYPESinterval_to_asc(int_pt));
exit(0);
}
--------------------------------------------------------------------------------------------
The output is
timebeg: 2008-04-01
timeend: 2008-04-05
int_day : @ 2 days 1 hour 2 mins 3 secs
rc, date2 - date1 = 0, @ 1 sec ago
--------------------------------------------------------------------------------------------
The result of the subtraction of the the two timestamps is not correct.
What's going on?
TIA.
Paul Tilles