Date: prev next · Thread: first prev next last
2011 Archives by date, by thread · List index


I am sorry for the length of this answer; hope it is worth
reading.

On Tue, 2011-10-04 at 11:27 +0100, Michael Meeks wrote:
On Fri, 2011-09-30 at 14:13 -0400, Terrence Enger wrote:
My interest is in the fractions of seconds in times and
timestamps, an interest provoked by bug 34309 "Error on
importing a timestamp field from db2 via ODBC"
<https://bugs.freedesktop.org/show_bug.cgi?id=34309>.

      Nice - thanks for your help & testing there, looks like we're blocking
on some input from Lionel - I guess if we don't get that in a few days,
and it seems to work we should just commit your patch :-)

Well, the bug has been around for three years, so it cannot
be very urgent.  Moreover, I have some hesitations ...

(*) Caolán's patch gives smaller code and looks like it
    would require much less work from the machine, and in
    every case I have seen it gives the same result as my
    patch.  All these factors favour Caolán's patch.

(*) Caolán's patch fixes also
    ODatabaseMetaDataResultSet::getTimestamp.  (Hunh?  
    Why does the diff say that the changed line is in
    ODatabaseMetaDataResultSet::getShort?  I still think the
    changed function is getTimestamp.)  My patch does not do
    this, merely because I do not know where to look for a
    resulting difference in the output.  So, my patch is
    deficient in this respect.

    Perhaps it would be in order to "push down" the fix by
    creating either
      - a constructor DateTime(TIME_STRUCT) to encapsulate
        the changed factor in the calculation of hundreths
        of a second, or
      - a constructor DateTime(rtl::OUString) to encapsulate
        the string manipulations.

(*) In the hope of attracting critical feedback (but
    constructive, of course: this is after all LibreOffice
    <grin />), I sprinkled the code liberally with questions
    and comments.  Most conspicuously,
      - I cite the X/Open reference manual.  I have not seen
        any comparable citation in LO code.  Perhaps the
        citation does not belong in the code at all.
      - I express my own doubts about that manual.  This is
        a more personal expression than anything I have
        noticed elsewhere in the code.  Does it belong?
      - Since I have just asked these questions here, there
        is no more need for the TODO comment saying to ask
        these questions <grin />.

(*) I think I remember reading that a database may return a
    time with fractions of a second, but I do not know any
    database driver which actually does this.  Is my memory
    mistaken?  Is there a known database driver which
    delivers fractions of a second?  Neither patch addresses
    this issue.

    Again, the TODO comment can go away.  Perhaps the
    question itself should go away, too.

(*) Both patches discard milliseconds.  I *guess* this is
    the right thing to do, but would welcome others'
    opinions.  Anyway, there is no more need for the TODO
    comment saying to ask this question.

(*) Is this really all it takes to fix the bug?  It seems
    too simple.  Maybe I have spent too many decades working
    on less well organized code.

    A couple of forays into opengrok turned up so much that
    I gave up in despair.

Then there is the question of whether Caolán's
ODBC_FRACTION_UNITS_PER_HSECOND should be calculated the
precision (or, do I mean the "scale") of the column.  I
simply do not want to go there.


      It's normally better (FWIW) to post patches to the list with a [PATCH]
in the Subject - so they annoy more people into action.

My reticence was deliberate.  With all the questions and
difficulties that my patch has, I offer it more as an
earnest of good intentions than as completed work.


      Wondering what's next on the hit list, there are rumours of badness
with the form / reports designer out there apparently ;-)

I heard those rumours too, but I do not think I am competent
to address them.  UI's are complex beasts.

Of course, I shall try to deal with any suggestions arising
from the questions and hesitations I wrote about above.

My immediate task is to complete a build from recent master.
If Calc still exhibits some funny (IMO) cursor movement, I
shall work toward filing a bug report.

After that, perhaps ...

(*) Programmed testing of some part of Base.  The
    second^h^h^h^h^h^hthird step here would be reading about
    the testing infrastructure.  So, it will be a while
    before I can expect to do anything more useful than
    bother busy people with questions <sigh />.

(*) An arbitrarily chosen "TODO" from one of the hundred or
    so thrown up by `git grep` of connectivity and dbaccess.
    This seems a bit less daunting, but that is only because
    I know absolutely nothing about what I am talking about
    <sigh />.


      Thanks !

              Michael.



Thank you, Michael, for your continual patience with a noob.

Terry.



Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.