Hello everbody.
I have started work on native OLE DB Provider for PostgreSQL. i think it is
really important to have native OLE DB proviader even if there is OLE DB to
ODBC Provider. Microsoft started to withdraw support for ODBC and seems to
force to switch to OLE DB(eg VS .Net have limited support for ODBC which
must be spearetly downloaded), so we could expect more such moves. So I
started work on native PostgreSQL OLE DB provider. It slowly begin
to work. (it registers to system, shows property pages, connects to
database, and do first quries). Now I'm working on creating resultset.
I would like somebody to help answer some questions:
1.is it safe to use binary cursors (basic types format e.g date would not
change in future)
2.how could I control result type (binary/ASCII) for ordinary SELECTS ?
3.could ODBC driver mix auto-commit and FETCH/DECLARE mode ? how it can
handle such situation:
start select (fetch some data) /as I understand it should start
transaction silently/
update (it should commit as we are in auto-commit)
fetch more data.
next update (commit again)
4. maybe it would have sense to make some common library with ODBC to handle
prepared statements and some kind of conversions (althougth maybe not
becouse we convert to different types (OLE DB uses OLE Automation types))
5. Is there any way to truncate PQresult in libpq ? I implement fast forward
cursors so i have no need to store whole result (I can read piece of data
and forget it when client read it from me). I think there would be no
problem if I add some PQtruncate(PQresult *) to pqlib, but maybe there is
any different way ?
I use ATL templates for OLE DB which is MS library and it can't be compiled
withot Visual Studio. (you have right to distribute ATL if you bougth VS).
So It would be not "pure" solution, but starting from scratch is to
difficult, as I don't know COM prefectly. Maybe somebody will rewrite it
later.