DateTime construction from a TIMESTAMP_STRUCT

Terrence Enger <[email protected]> Tue, 23 Mar 2010 14:44:16 -0400
Newsgroups gmane.comp.openoffice.dba.devel
Message-ID <1269369856.13859.1.camel@cougar-hardy>
Greetings,

This question points to my weak understanding of C++, but perhaps you
will let me impose on you for help.


How does soffice.bin get from
connectivity/source/drivers/odbcbase/OResultSet.cxx line 659, which
reads

    (DateTime) aValue;

(where aValue is a TIMESTAMP_STRUCT) to
solver/300/unxlngi6/inc/offuh/com/sun/star/util/DateTime.hpp line 34?
The latter line is a constructor of DateTime from seven sal_uInt16's
providing values for the subfields from year down to centiseconds.
Under gdb, I see it happen in one 'step'; perhaps I just need to bring
in the right file with debugging symbols.


This silly question arises because I am looking at issue 94543
<http://www.openoffice.org/issues/show_bug.cgi?id=94543>.

I observe in my attachement
<http://www.openoffice.org/nonav/issues/showattachment.cgi/68434/example_DEV300_m75.ods>
that the value
    1990-03-02 08:30:00.1000000 
is being shown as
    1990-03-02 08:39:54
I observe further that the fraction of a second comes from
SQLGetData() as 10,000,000 nanoseconds, and that (100000000 * 1000)
modulo 65536 is 59392, and that 59392 centiseconds is the error in the
displayed value.


Cheers,
Terry.