3

I have a embedded system which uses C/C++ api with a compiled version of SQLite v3. I get a SQLITE_NOMEM error on pragma integrity_check(10);. I asked the underlying system programmer what the applications heap size is and he tells me that the value is 500k. And also there's a SQL vector size of 4096.

What options do I have to get rid of this? Except splitting the databases to multiple ones?

Taha Paksu
  • 15,371
  • 2
  • 44
  • 78
  • `pragma integrity_check` is an administrative function that should not be run during normal operation. (And what to you do when the check fails?) – CL. Aug 05 '13 at 14:39
  • I'm restoring the backup file on the corrupted database. Now it happens even it's a NOMEM error. I want to fix this. – Taha Paksu Aug 05 '13 at 14:44
  • Try the pragma on a test db. Use the sqlite3 command. Work from there to find what specifically leads to failure. (It's possible that the SQLite environment is mucked up somehow.) – Hot Licks Aug 05 '13 at 15:55
  • It automatically does integrity check on 4 databases, and it only gives NOMEM error on the bigger sized one. I asked for increasing the application heap size. Tomorrow it'll be clear if it's because of it. – Taha Paksu Aug 05 '13 at 16:10

1 Answers1

1

Increasing heap memory size to 1.5M fixed this problem.

Taha Paksu
  • 15,371
  • 2
  • 44
  • 78