POCO C++ Libraries Blog

News and discussion for the POCO Community


Data News

Two significant modifications to Poco::Data: 1) Due to the perils of std::vector<bool>, sdt::deque was promoted to the default RecordSet container 2) Asynchronous execution support: // execute asynchronous statement Statement stmt = (ses << “SELECT (age) FROM Person”, into(age), async, now); // … do something else Statement::ResultType rows = stmt.wait(); Code is in SVN. User Manual […]


Data User Manual Updated

The Data User Manual has been updated to reflect the recent changes in the Data library. Comments, opinions, flames … all welcome 😉


QNX Open Sourced

See http://community.qnx.com There is not much changed in the commercial licensing but now it is possible to get Neutrino/Momentics perpetual license for non-commercial use. Also, there is a software repository available for third-party products running on QNX.


Intel TBB goes Open Source

Intel has open sourced (GPL2) the Threading Building Blocks – a library for for multi-core parallelism support. An interesting quote from A. Stepanov (found in the interview with J. Erickson of Intel) captured my attention: “Threading Building Blocks… could become a basis for the concurrency dimension of the C++ standard library.” Coming from someone of […]


Can Poco::Data Speak C++ as a Native?

Wouldn’t every true C++ programmer talking to a database be happy to be able to do something like this: RecordSet rset(session, “SELECT * FROM Vectors”); for (RecordSet::Iterator it = rset.begin(); it != rset.end(); ++it) std::cout << *it; Or this: std::copy(rset.begin(), rset.end(), std::ostream_iterator<Row>(std::cout)); No doubt. Well, if you’re a C++ aficionado and have a need to […]


The latest on Data

The latest is null support. Not being able to insert/update and check for nulls was an important shortcoming, so I have pushed it ahead of Unicode. Now, the following works: ses << “CREATE TABLE NullTest (i INTEGER)”, now; ses << “INSERT INTO NullTest VALUES(:i)”, use(null), now; RecordSet rs(ses, “SELECT * FROM NullTest”); rs.moveFirst(); assert (rs.isNull(“i”)); […]


NamedTuple and DynamicAny

Since we are doing 1.4 overhaul, I’m not sure what (if anything) to do about following: DynamicAny NamedTuple::operator[] (const std::string& name) It would be nice to be able to do this on a NamedTuple: NamedTuple nt(“name”, 1); nt[“name”] = 2; The way it is done right now is deceptive because it does not modify the […]


The Quality Without a Name

It’s been a while now since I’ve read The Timeless Way of Building by Christopher Alexander, but had no time to comment on it. The central theme of the book is the quality without a name. Well, since Alexander found no name for it, I certainly shall not attempt to do it either. But this […]


The State of Data::ODBC

For those folks who have expressed interest in Data library, I’ve been spending some time these days with it and here is the current state of the affairs: – I found a couple of bugs (logged in SF): 1723148 1724388 Drivers passing all tests: Windows: MS Access, DB2, Oracle, MySQL, PostgreSQL, SQLServer, SQLite3 Linux (unixODBC): […]


What’s Your Cup of Java?

Interesting things are happening. While Steve Jobs, explaining why iPhone comes Java-less, says: “Java’s not worth building in. Nobody uses Java anymore. It’s this big heavyweight ball and chain.”, on Artima some folks are lamenting about their frustration with Java ME. In the mean time, Symbian goes POSIX. And last but not least: the last […]