
----- Original Message -----
From: Thorsten Ottosen <thorsten.ottosen@dezide.com> To: boost@lists.boost.org Cc: Sent: Thursday, January 12, 2012 11:24 AM Subject: Re: [boost] Request for Interest in several Modules
Den 12-01-2012 09:08, Dominique Devienne skrev:
Unless the community decides the high-performance use cases are out-of-bounds as too DB-vendor specific, but let that be a conscious decision at least, not an unforeseen consequence of the library's design/API.
Well, if a library could not support high-performance cases because of its design, I would vote "reject" immediately. I'm ok with the fact that its first release does not support it, but I want to be able to do so in the future.
Actually it is high performance by design from my experience I get sometimes x2-x3 performance advantage over other connectors I've used, however it does this in a different way: - It uses prepared statements exclusively by default - It caches prepared statements by default in transparent way, such that any following use of the statement reuses it - It has very easy and transparent connection pooling. Not little bit about type system. CppDB type system is dynamic, it allows you to cast almost anything to anything (integer to string, string to integer, date to string and so on) This make cross DB programming much easier as same queries and statements work across different RDBMS. It was one of the major ideas and goals behind CppDB because I was frustrated with some existing connectors that had too strict type system. So if you are looking for vendor specific functions that allow you to do some kind of data transfer directly from socket to memory buffer it is not for you, especially when only one API around supports it (OCI) Artyom Beilis -------------- CppCMS - C++ Web Framework: http://cppcms.sf.net/ CppDB - C++ SQL Connectivity: http://cppcms.sf.net/sql/cppdb/