| From: | "Konstantin Izmailov" <kizmailov(at)gmail(dot)com> | 
|---|---|
| To: | "Jeremy Lea" <reg(at)freebsd(dot)org> | 
| Cc: | oledb-devel(at)pgfoundry(dot)org, pgsql-general(at)postgresql(dot)org | 
| Subject: | Re: [Oledb-dev] A major rewrite of the Postgres OLE DB Provider. | 
| Date: | 2006-12-15 21:13:47 | 
| Message-ID: | 1225592b0612151313j678e8bd6h36d9703d4c1b4428@mail.gmail.com | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-general | 
Great! I will take a look and let you know. I had rewritten the Provider
about a year ago as well. However, I did not have time to clean-up most of
the new bugs and decided to keep the code for myself. There is certain
interest in the US to the more capable Provider.
On 12/15/06, Jeremy Lea <reg(at)freebsd(dot)org> wrote:
>
> Hi all,
>
> Because of various things, I have needed to move some stuff that I've
> been working on onto a Postgres DB.  It makes very heavy use of ADO from
> Excel, and so I was running into a number of little annoyances with the
> existing OLE DB provider...  Especially I could not get parameterised
> queries to run, nor could I run multiple commands in one block (which I
> need for speed to load big chunks of data).
>
> So, I started hacking on the Provider, and ended up almost completely
> rewriting it.  I have placed a copy at:
>
> http://people.freebsd.org/~reg/pgoledb-20061215.zip
>
> Things that it has gained:
>
> - Support for the IColumnsRowset interface, which means that ADO's
>   client cursor engine doesn't need to parse the SQL to make up UPDATE
>   and INSERT queries.
> - Support for IDBInfo and IDBSchemaRowset interfaces, which also help
>   ADO CCE.
> - Runs multiple queries (using PQexec) if you pass a command with no
>   parameters and IID_NULL for the return record set.
> - Proper type handling.
> - Passing all of the connection string options (hostaddr, ssl, etc.)
> - Lots of bug fixes.
> - Much cleaner code (IMHO), no more STL or exceptions.
>
> Things it has lost:
>
> - IMultipleRowsets.  libpq can't return multiple results.  What was
>   there was a complete hack.
> - Parsing of parameters on stored procedures.  This was a hack, which
>   was being done at the wrong place in the code.
> - Support for some types (_text, utinyint, varcharci)
> - TIMESTAMP WITH TIMEZONE is reported in GMT not local, since there is
>   no OLE DB type for this (so you can't go backwards).
> - Probably some other things...
>
> I've been testing the code some, and it's working with my application,
> but there are probably still many bugs.  I would love it if people could
> also test it and report errors!  I'm trying to get the OLE DB
> conformance tests up and running, and hopefully I will find more bugs
> that way.
>
> I still need to:
> - redo some of the Schema support (realised my design was bad...)
> - tidy up some of the tracing.
> - prepared queries.
> - there are a number of properties where I'm not sure of the right
>   value.
> - add more support for pg_types (especially the array/vector types).
> - check threading and locking.
> - check error reporting.
> - probably a few other things...
>
> I hope this is useful to someone.  I would welcome any patches to add
> other features.  I'm managing this in a local CVS repository at the
> moment...  Not quite sure what I'm going to do about this and the
> PgFoundry project yet.
>
> Regards,
> -Jeremy
> _______________________________________________
> Oledb-devel mailing list
> Oledb-devel(at)pgfoundry(dot)org
> http://pgfoundry.org/mailman/listinfo/oledb-devel
>
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Richard Troy | 2006-12-15 22:18:29 | Re: TIMESTAMP WITHOUT TIME ZONE | 
| Previous Message | Tom Lane | 2006-12-15 20:41:31 | Re: TIMESTAMP WITHOUT TIME ZONE |