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

Attachment: libdbi-time_t-timezone.patch
Description: Binary data

Reply via email to