On Sun, 2010-12-26 at 18:17 +0100, Sylvain Pointeau wrote:
>         unsigned 64 bit types are not supported by sqlite3.
>         So unsigned long long and unsigned long (when 64 bit) fail the
>         testsuite.
>         I do not really know how to best handle that.
>         Maybe we should drop the support for this type from sqlite3
>         backend?
> 
> 
> I though that taking the data with sqlite3_column_int64
> then casting with unsigned long long would have been good.
> 
> 
> and taking a text then transforming it into a unsigned long long would
> be better?

no sqlite3 does not support it.

Example:
>sqlite3
>CREATE TABLE test (num UNSIGNED BIG INT);
>INSERT  INTO TEST (num) VALUES(9223372036854775807,
9223372036854775808);
>SELECT * FROM test;
9223372036854775807
9.22337203685478e+18

you see also the text representation gets truncated (maybe saving it as
blob would be a workaround).

you run the testsuite by typing: make check
or by running the tests manually from the bin folder in your build
directory:
#faster enough for this test
./bin/soci_sqlite3_test
#more extensive tests
./bin/soci_sqlite3_test "dummy connect string"

Unfortunately a good test for 64 bit unsigned is still missing as this
is a recent addition.
But you can add one in common_tests by just copying the 32 bit unsigned
test and increasing the number to 64 bit.

Attachment: signature.asc
Description: This is a digitally signed message part

------------------------------------------------------------------------------
Learn how Oracle Real Application Clusters (RAC) One Node allows customers
to consolidate database storage, standardize their database environment, and, 
should the need arise, upgrade to a full multi-node Oracle RAC database 
without downtime or disruption
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
Soci-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/soci-users

Reply via email to