Subject Firebird timestamp precision
Author David Johnson
If I am not mistaken, this code from the gds.c explains why I have only been able to get timestamps to 1 second precision: It appears that the underlying database storage allows for milliseconds, but the gds32 dll interface does not.

Does anyone know if this is by design or if it is an oversight?

Thanks,
void API_ROUTINE isc_encode_timestamp(void *times_arg, GDS_TIMESTAMP * date)

{

/**************************************

*

* i s c _ e n c o d e _ t i m e s t a m p

*

**************************************

*

* Functional description

* Convert from UNIX time structure to internal timestamp format.

*

* Note: the date arguement is really an ISC_TIMESTAMP -- however the

* definition of ISC_TIMESTAMP is not available from all the source

* modules that need to use isc_encode_timestamp

*

**************************************/

struct tm *times;

times = (struct tm *) times_arg;

date->timestamp_date = nday(times);

date->timestamp_time =

((times->tm_hour * 60 + times->tm_min) * 60 +

times->tm_sec) * ISC_TIME_SECONDS_PRECISION;

}


[Non-text portions of this message have been removed]