[GNC] Sluggish after 5.13
Sherlock
sh025622 at gmail.com
Wed Oct 29 23:02:49 EDT 2025
I've been trying to understand why this hasn't been an issue on the
other platforms that have been on libdbi 0.9.1 for sometime. The
generic bug was introduced 2 years ago (commit b011c81). I suspect the
issue isn't seen on Linux where libdbi is installed in the system
location or on a Mac build machine. I think the issue should appear on
non-build Macs but, of course, the issue won't be apparent to a user
unless they aren't using the xml format.
Regards,
Sherlock
On 10/29/25 6:54 PM, Sherlock wrote:
> I maybe wrong about the c:\libdbi\lib\dbd folder as there are compile
> time definition that will override the location which appears to be
> something like /mingw32/lib/dbd but that should still typically miss in
> a typical user's gnucash installation.
>
> Setting GNC_DBD_DIR to something like C:\Program Files
> (x86)\gnucash\lib\dbd should work around the issue.
>
> Regards,
>
> Sherlock
>
> On 10/29/25 4:32 PM, Sherlock wrote:
>> Hi John,
>>
>> I suspect the Windows nightly builds have not been properly supporting
>> databases since libdbi was updated to 0.9.1 on October 5th unless the
>> drivers are in the c:\libdbi\lib\dbd folder or the folder to which the
>> GNC_DBD_DIR environment variable is set.
>>
>> For example, attempt to save as sqlite3.
>>
>> It appears there is a generic bug in gnc_module_init_backend_dbi()
>> when HAVE_LIBDBI_R is defined. Specifically, when the initial
>> dbi_initialize_r() returns no drivers, the dbi_instance variable is
>> still set.
>>
>> So, instead of:
>>
>> #if HAVE_LIBDBI_R
>> if (dbi_instance)
>> return;
>> #endif
>>
>> the code should be:
>>
>> #if HAVE_LIBDBI_R
>> if (dbi_instance)
>> {
>> dbi_shutdown_r (dbi_instance);
>> dbi_instance = nullptr;
>> }
>> #endif
>>
>>
>> Regards,
>>
>> Sherlock
>>
More information about the gnucash-user
mailing list