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


Hi,

My "git pull" today brought the firebird work in. Cool!

1) I notice that Debian has neither fb_config, nor fbembed.pc; are
   these part of the upstream build (and then it is a bug in Debian
   that they are not in the packages)? Do other distros have them?

2) This is a bit scary in the Debian package description of
   libfbembed:

    Contrary to libfbclient, libfbembed is not thread-safe.

   Taking a quick look at e.g. OResultSet::ensureDataAvailable,
   it is mutexed, but (as far as I understand) with a *different*
   mutex for each instance (for each object). So this does not keep
   multiple ResultSets from making parallel calls to non-thread-safe
   libfbembed from different threads.

3) You seem to have duplicated
   connectivity/source/{inc,commontools}/propertyids.[hc]xx
   in connectivity/source/drivers/firebird/propertyids.[hc]xx?

   With the _same_ include guard?

4) OResultSet::m_sqlData: the driver caches the *whole* resultset? Oh
   my... And not only that, it eagerly fetches the *whole* resultset?

   That will *not* scale.

   Does Firebird 3 support scrollable cursors?

   I'm not actually sure any LibreOffice code really requires
   scrollable cursors; it seems to me that when it detects that the
   driver / database does not support that, it makes a *new* query
   with "WHERE primary_key=VALUE" each time it wants to "go back"
   (this happens in dbaccess/source/core/api/KeySet.cxx and
   RowSetCache.cxx).

   If FireBird can't support previous() et al, it could just throw an
   SQLError when they are called?

   If the LibreOffice detection logic is b0rken, we should fix
   *that* rather than inefficiently fake in the driver capabilities
   that the database does not have.


(I'm away until Sunday evening.)

-- 
Lionel

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.