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")); assert (rs["i"] == 0);
Update: the commented portion in italics does not apply anymore (see the reply below)
SQLite is a bit more gracious than ODBC and will accept generic null value. For ODBC, the difference is that when inserting/updating null fileds, data type has to be specified, so the above code looks like this:
ses << "INSERT INTO NullTest VALUES(?)", use(NULL_INT32), now;
The rest is the same. ODBC code will work for SQLite (which will gracefully take any of NullData enum values), while the other way around is not true – ODBC will throw up when fed the generic one.
Code is in SVN, tested on windows with all supported drivers and Linux with PostgreSQL. Comments and bug reports are welcome.