Tom Lane wrote:
> Andrew Vick <avick@remote-print.com> writes:
>
>>Tom Lane wrote:
>>
>>>Why are these drivers trying to include elog.h? That's a backend-only
>>>header. If the reason is that they're including postgres.h, they should
>>>likely be including postgres_fe.h instead.
>
>
>>That is the case. I tried switching it to postgres_fe.h, but then I
>>got errors about the pg_type structure not being defined.
>
>
> Where were those coming from? I'm trying to burrow down to what they're
> really after that's forcing them to include headers they shouldn't be
> including ...
>
In Postgres, the errors were coming from pg_type.h.
In Qt. they were coming from src/sql/drivers/psql/qsql_psql.cpp.
I've glanced through the Qt source, and I don't see any places where they try to access the members of any Postgres
structures. I believe Qt is just wrapping the C interface to the Postgres libraries; maybe the problem is that this
versionof Qt (3.3.6) is too old for this version of Postgres (8.1 stable). Perhaps the Postgres headers have changed
sincethe 8.0 release to cause this, and this release of Qt predates the change. If it weren't for that problem with
errcode,I might be using an earlier version of Postgres.
-Andrew