Hi, hopefully I've not overlooked another thread which covers this issue.
The problem is that I want to use std::size_t through soci::row. This is not possible because it's base_type is long long which expands to _int64 on MSVC. row::operator>> now calls row::get which in turn tries a dynamic_cast of holder<int> to holder<_int64> which is not possible. This leads to a bad_cast. Is there any way to fix this? At the moment I select into an int and convert it afterwards. But this is really ugly :) I've attached a simple example using SQLite3 which only supports int as datatype. This applies to all UDT which use soci::values as base_type e.g. the adaption of fusion::vector. Best Regards Henning
main.cpp
Description: Binary data
------------------------------------------------------------------------------ Nokia and AT&T present the 2010 Calling All Innovators-North America contest Create new apps & games for the Nokia N8 for consumers in U.S. and Canada $10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store http://p.sf.net/sfu/nokia-dev2dev
_______________________________________________ Soci-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/soci-users
