I'm a new user of libdbi, and so far it's great. I have no problem building simple test programs, and, other than timezone support for DBI_DATETIME types (which I plan to submit a patch for), it does exactly what I need.
However, I'm having a problem using libdbi from within a shared object. In much the same way that Apache loads DSOs, we have built a server infrastructure that allows loading of application implementation shared libraries. The problem is that in order for libdbi to load a driver on demand we must link both libdbi proper (normal) any driver we may want to use (eh?) against our implementation libraries. Not only that, but we have to add an LDFLAGS setting to the libdbi-drivers configure.in to tell it to link against libdbi.so. I'm hoping that we're just overlooking something simple here, but we've been pulling our hair out for the last couple days trying to figure this out, and that's the only solution we could come up with. Thanks in advance for any help you can provide. [UPDATE] While my coworker was investigating the problem described above further, I've developed (and attached) a patch to dbd_helper.c to parse ISO8601 timezone offsets inside _dbd_parse_datetime() if they happen to occur. I use Postgres as my main database, and this allows me to use TIMESTAMP WITH TIME ZONE columns and get the correct date and time out, without having to mangle the timezone on the system (or inside the database) to assume UTC. It is untested with other databases, but it's fairly protective, looking for specific timezone markers, and should be able to handle any standard ISO timezone offset. Thanks again, in advance. -- Mike Rylander [EMAIL PROTECTED] GPLS -- PINES Development Database Developer http://open-ils.org
libdbi-time_t-timezone.patch
Description: Binary data