I would be surprised if something called SQLITE_INT64_TYPE would work 
with any type that offers less than 64 bit precision.

Some comments in sqliteInt.h:

typedef sqlite_int64 i64;          /* 8-byte signed integer */
typedef sqlite_uint64 u64;         /* 8-byte unsigned integer */
typedef UINT32_TYPE u32;           /* 4-byte unsigned integer */
typedef UINT16_TYPE u16;           /* 2-byte unsigned integer */
typedef INT16_TYPE i16;            /* 2-byte signed integer */
typedef UINT8_TYPE u8;             /* 1-byte unsigned integer */
typedef UINT8_TYPE i8;             /* 1-byte signed integer */

A quick check in a few of the .c files turn up 64 bit assumptions
in sqlite3VdbeSerialType, sqlite3VdbeSerialGet and anything related
to floating point number support.

--- Steffen Gutmann <[EMAIL PROTECTED]> wrote:
> That said, I am wondering if 32bit-only integers are properly
> supported?  I downloaded 3.3.8, and executed "mkdir build; cd build;
> ../configure; make test" on an (older) Fedora Core 3 i386 Linux
> computer and it builds, runs and tests itself (really cool!) without
> failing any of the plenty tests.  
> 
> I am targeting a custom environment where it would make sense to only
> have 32bit integers (no large file support, no large data amount,
> compiler does not have 64bit integers).  So for finding out if sqlite3
> would work in such an environment, I browsed this mailing list, found
> message
> http://www.mail-archive.com/sqlite-users@sqlite.org/msg17647.html"; 
> target=_blank 
> >http://www.mail-archive.com/sqlite-users@sqlite.org/msg17647.html 
> and
> added the following to the compile flags: 
> 
> TCC += -DSQLITE_INT64_TYPE=long -DSQLITE_32BIT_ROWID
> 
> However, when running make test, some of the tests fail:
> 
> avtrans-7.2...
> Expected: [eace792e90be464d92d865f980dc0b31]
>      Got: [0c4af064469f09b4508ede5c18338ec2]
> ...more avtrans-tests fail here...
> 
> bigfile-1.2...
> Error: file is encrypted or is not a database
> ..more bigfile-tests fail here...
> 
> bind-3.2...
> Expected: [integer integer integer]
>      Got: []
> bind-4.1...
> Expected: [1 1234.1234 1e-05 123456789.0]
>      Got: [1 2.06495910676928e-267 2.06497421493723e-267
> 2.06498862119476e-267]
> btree-1.6...make: *** [test] Segmentation fault
> 
> I haven't looked at what the tests are actually doing (I though I just
> ask here...) and my guess is that some of them simply don't work with
> 32bit integers.  Unfortunately the last one (btree-1.6) seg faults so
> without changing the test procedure it is not possible to see the
> output of the remaining tests.
> 
> I am wondering if a 32bit version (using -DSQLITE_INT64_TYPE=long
> -DSQLITE_32BIT_ROWID) is really supported by the library?



 
____________________________________________________________________________________
Do you Yahoo!?
Everyone is raving about the all-new Yahoo! Mail beta.
http://new.mail.yahoo.com

-----------------------------------------------------------------------------
To unsubscribe, send email to [EMAIL PROTECTED]
-----------------------------------------------------------------------------

Reply via email to