Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Add an entry to faq.tcl regarding SQLITE_SCHEMA errors. (CVS 2277) |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
12defe8cd6a0d7434c8f74b88169155d |
User & Date: | danielk1977 2005-01-26 10:39:58.000 |
Context
2005-01-26
| ||
17:47 | An optimization to sqlite3VdbeSerialType(). (CVS 2278) (check-in: db36773830 user: drh tags: trunk) | |
10:39 | Add an entry to faq.tcl regarding SQLITE_SCHEMA errors. (CVS 2277) (check-in: 12defe8cd6 user: danielk1977 tags: trunk) | |
03:58 | Allow GROUP BY on non-aggregate queries. Ticket #1064 (CVS 2276) (check-in: 0642d3e3d6 user: danielk1977 tags: trunk) | |
Changes
Changes to www/faq.tcl.
1 2 3 | # # Run this script to generated a faq.html output file # | | | 1 2 3 4 5 6 7 8 9 10 11 | # # Run this script to generated a faq.html output file # set rcsid {$Id: faq.tcl,v 1.28 2005/01/26 10:39:58 danielk1977 Exp $} source common.tcl header {SQLite Frequently Asked Questions</title>} set cnt 1 proc faq {question answer} { set ::faq($::cnt) [list [string trim $question] [string trim $answer]] incr ::cnt |
︙ | ︙ | |||
421 422 423 424 425 426 427 428 429 430 431 432 433 434 | language in the regard. SQLite follows this standard. Example: </p> <blockquote><pre> INSERT INTO xyz VALUES('5 O''clock'); </pre></blockquote> } # End of questions and answers. ############# puts {<h2>Frequently Asked Questions</h2>} # puts {<DL COMPACT>} | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 | language in the regard. SQLite follows this standard. Example: </p> <blockquote><pre> INSERT INTO xyz VALUES('5 O''clock'); </pre></blockquote> } faq {What is an SQLITE_SCHEMA error, and why am I getting one?} { <p>In version 3 of SQLite, an SQLITE_SCHEMA error is returned when a prepared SQL statement is no longer valid and cannot be executed. When this occurs, the statement must be recompiled from SQL using the sqlite3_prepare() API. In SQLite 3, an SQLITE_SCHEMA error can only occur when using the sqlite3_prepare()/sqlite3_step()/sqlite3_finalize() API to execute SQL, not when using the sqlite3_exec(). This was not the case in version 2.</p> <p>The most common reason for a prepared statement to become invalid is that the schema of the database was modified after the SQL was prepared (possibly by another process). The other reasons this can happen are:</p> <ul> <li>A database was DETACHed. <li>A user-function definition was deleted or changed. <li>A collation sequence definition was deleted or changed. <li>The authorization function was changed. </ul> <p>In all cases, the solution is to recompile the statement from SQL and attempt to execute it again. Because a prepared statement can be invalidated by another process changing the database schema, all code that uses the sqlite3_prepare()/sqlite3_step()/sqlite3_finalize() API should be prepared to handle SQLITE_SCHEMA errors. An example of one approach to this follows:</p> <blockquote><pre> int rc; sqlite3_stmt *pStmt; char zSql[] = "SELECT ....."; do { /* Compile the statement from SQL. Assume success. */ sqlite3_prepare(pDb, zSql, -1, &pStmt, 0); while( SQLITE_ROW==sqlite3_step(pStmt) ){ /* Do something with the row of available data */ } /* Finalize the statement. If an SQLITE_SCHEMA error has ** occured, then the above call to sqlite3_step() will have ** returned SQLITE_ERROR. sqlite3_finalize() will return ** SQLITE_SCHEMA. In this case the loop will execute again. */ rc = sqlite3_finalize(pStmt); } while( rc==SQLITE_SCHEMA ); </pre></blockquote> } # End of questions and answers. ############# puts {<h2>Frequently Asked Questions</h2>} # puts {<DL COMPACT>} |
︙ | ︙ |