Андрей Лапин wrote:
Hi.
In mine to a database after the size of a file of base has reached
4096 Mb, I am not added any more records. After a command sqlite3_step
the mistake (sqlite3_errmsg) stands out: "SQL logic error or missing
database".
Please help, it is necessary for me to process a lot of records.
Operation system Windows XP (SP2)
sqlite versions 3.3.6
File system NTFS
Are you sure you are using an NTFS file system?
I ran the following test on a Windows XP box with NTFS drive and it ran
until the disk was full, at which point there were 2^28 records and the
database file was 5.39 GB (5,789,097,984 bytes).
SQLite version 3.3.5
Enter ".help" for instructions
sqlite> create table t(a integer primary key, b, c);
sqlite> insert into t values(NULL, "hello","world");
sqlite> insert into t select NULL, b, c from t;
sqlite> select max(a) from t;
2
sqlite> insert into t select NULL, b, c from t;
sqlite> select max(a) from t;
4
sqlite> insert into t select NULL, b, c from t;
sqlite> select max(a) from t;
8
sqlite> insert into t select NULL, b, c from t;
sqlite> select max(a) from t;
16
sqlite> insert into t select NULL, b, c from t;
sqlite> select max(a) from t;
32
sqlite> insert into t select NULL, b, c from t;
sqlite> select max(a) from t;
64
sqlite> insert into t select NULL, b, c from t;
sqlite> select max(a) from t;
128
sqlite> insert into t select NULL, b, c from t;
sqlite> select max(a) from t;
256
sqlite> insert into t select NULL, b, c from t;
sqlite> select max(a) from t;
512
sqlite> insert into t select NULL, b, c from t;
sqlite> select max(a) from t;
1024
sqlite> insert into t select NULL, b, c from t;
sqlite> select max(a) from t;
2048
sqlite> insert into t select NULL, b, c from t;
sqlite> select max(a) from t;
4096
sqlite> insert into t select NULL, b, c from t;
sqlite> select max(a) from t;
8192
sqlite> insert into t select NULL, b, c from t;
sqlite> select max(a) from t;
16384
sqlite> insert into t select NULL, b, c from t;
sqlite> select max(a) from t;
32768
sqlite> insert into t select NULL, b, c from t;
sqlite> select max(a) from t;
65536
sqlite> insert into t select NULL, b, c from t;
sqlite> select max(a) from t;
131072
sqlite> insert into t select NULL, b, c from t;
sqlite> select max(a) from t;
262144
sqlite> insert into t select NULL, b, c from t;
sqlite> select max(a) from t;
524288
sqlite> insert into t select NULL, b, c from t;
sqlite> select max(a) from t;
1048576
sqlite> insert into t select NULL, b, c from t;
sqlite> select max(a) from t;
2097152
sqlite> insert into t select NULL, b, c from t;
sqlite> select max(a) from t;
4194304
sqlite> insert into t select NULL, b, c from t;
sqlite> select max(a) from t;
8388608
sqlite> insert into t select NULL, b, c from t;
sqlite> select max(a) from t;
16777216
sqlite> insert into t select NULL, b, c from t;
sqlite> select max(a) from t;
33554432
sqlite> insert into t select NULL, b, c from t;
sqlite> select max(a) from t;
67108864
sqlite> insert into t select NULL, b, c from t;
sqlite> select max(a) from t;
134217728
sqlite> insert into t select NULL, b, c from t;
sqlite> select max(a) from t;
268435456
sqlite> insert into t select NULL, b, c from t;
SQL error: database or disk is full
sqlite> select max(a) from t;
268435456
sqlite> insert into t select NULL, b, c from t;
SQL error: database or disk is full
sqlite> select max(a) from t;
268435456
sqlite>
HTH
Dennis Cote