191 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			191 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <!DOCTYPE html>
 | |
| <html><head>
 | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0">
 | |
| <meta http-equiv="content-type" content="text/html; charset=UTF-8">
 | |
| <link href="../sqlite.css" rel="stylesheet">
 | |
| <title>Extended Result Codes</title>
 | |
| <!-- path=../ -->
 | |
| </head>
 | |
| <body>
 | |
| <div class=nosearch>
 | |
| <a href="../index.html">
 | |
| <img class="logo" src="../images/sqlite370_banner.gif" alt="SQLite" border="0">
 | |
| </a>
 | |
| <div><!-- IE hack to prevent disappearing logo --></div>
 | |
| <div class="tagline desktoponly">
 | |
| Small. Fast. Reliable.<br>Choose any three.
 | |
| </div>
 | |
| <div class="menu mainmenu">
 | |
| <ul>
 | |
| <li><a href="../index.html">Home</a>
 | |
| <li class='mobileonly'><a href="javascript:void(0)" onclick='toggle_div("submenu")'>Menu</a>
 | |
| <li class='wideonly'><a href='../about.html'>About</a>
 | |
| <li class='desktoponly'><a href="../docs.html">Documentation</a>
 | |
| <li class='desktoponly'><a href="../download.html">Download</a>
 | |
| <li class='wideonly'><a href='../copyright.html'>License</a>
 | |
| <li class='desktoponly'><a href="../support.html">Support</a>
 | |
| <li class='desktoponly'><a href="../prosupport.html">Purchase</a>
 | |
| <li class='search' id='search_menubutton'>
 | |
| <a href="javascript:void(0)" onclick='toggle_search()'>Search</a>
 | |
| </ul>
 | |
| </div>
 | |
| <div class="menu submenu" id="submenu">
 | |
| <ul>
 | |
| <li><a href='../about.html'>About</a>
 | |
| <li><a href='../docs.html'>Documentation</a>
 | |
| <li><a href='../download.html'>Download</a>
 | |
| <li><a href='../support.html'>Support</a>
 | |
| <li><a href='../prosupport.html'>Purchase</a>
 | |
| </ul>
 | |
| </div>
 | |
| <div class="searchmenu" id="searchmenu">
 | |
| <form method="GET" action="../search">
 | |
| <select name="s" id="searchtype">
 | |
| <option value="d">Search Documentation</option>
 | |
| <option value="c">Search Changelog</option>
 | |
| </select>
 | |
| <input type="text" name="q" id="searchbox" value="">
 | |
| <input type="submit" value="Go">
 | |
| </form>
 | |
| </div>
 | |
| </div>
 | |
| <script>
 | |
| function toggle_div(nm) {
 | |
| var w = document.getElementById(nm);
 | |
| if( w.style.display=="block" ){
 | |
| w.style.display = "none";
 | |
| }else{
 | |
| w.style.display = "block";
 | |
| }
 | |
| }
 | |
| function toggle_search() {
 | |
| var w = document.getElementById("searchmenu");
 | |
| if( w.style.display=="block" ){
 | |
| w.style.display = "none";
 | |
| } else {
 | |
| w.style.display = "block";
 | |
| setTimeout(function(){
 | |
| document.getElementById("searchbox").focus()
 | |
| }, 30);
 | |
| }
 | |
| }
 | |
| function div_off(nm){document.getElementById(nm).style.display="none";}
 | |
| window.onbeforeunload = function(e){div_off("submenu");}
 | |
| /* Disable the Search feature if we are not operating from CGI, since */
 | |
| /* Search is accomplished using CGI and will not work without it. */
 | |
| if( !location.origin || !location.origin.match || !location.origin.match(/http/) ){
 | |
| document.getElementById("search_menubutton").style.display = "none";
 | |
| }
 | |
| /* Used by the Hide/Show button beside syntax diagrams, to toggle the */
 | |
| function hideorshow(btn,obj){
 | |
| var x = document.getElementById(obj);
 | |
| var b = document.getElementById(btn);
 | |
| if( x.style.display!='none' ){
 | |
| x.style.display = 'none';
 | |
| b.innerHTML='show';
 | |
| }else{
 | |
| x.style.display = '';
 | |
| b.innerHTML='hide';
 | |
| }
 | |
| return false;
 | |
| }
 | |
| </script>
 | |
| </div>
 | |
| <!-- keywords: SQLITE_ABORT_ROLLBACK SQLITE_AUTH_USER SQLITE_BUSY_RECOVERY SQLITE_BUSY_SNAPSHOT SQLITE_BUSY_TIMEOUT SQLITE_CANTOPEN_CONVPATH SQLITE_CANTOPEN_DIRTYWAL SQLITE_CANTOPEN_FULLPATH SQLITE_CANTOPEN_ISDIR SQLITE_CANTOPEN_NOTEMPDIR SQLITE_CANTOPEN_SYMLINK SQLITE_CONSTRAINT_CHECK SQLITE_CONSTRAINT_COMMITHOOK SQLITE_CONSTRAINT_FOREIGNKEY SQLITE_CONSTRAINT_FUNCTION SQLITE_CONSTRAINT_NOTNULL SQLITE_CONSTRAINT_PINNED SQLITE_CONSTRAINT_PRIMARYKEY SQLITE_CONSTRAINT_ROWID SQLITE_CONSTRAINT_TRIGGER SQLITE_CONSTRAINT_UNIQUE SQLITE_CONSTRAINT_VTAB SQLITE_CORRUPT_INDEX SQLITE_CORRUPT_SEQUENCE SQLITE_CORRUPT_VTAB SQLITE_ERROR_MISSING_COLLSEQ SQLITE_ERROR_RETRY SQLITE_ERROR_SNAPSHOT SQLITE_IOERR_ACCESS SQLITE_IOERR_AUTH SQLITE_IOERR_BEGIN_ATOMIC SQLITE_IOERR_BLOCKED SQLITE_IOERR_CHECKRESERVEDLOCK SQLITE_IOERR_CLOSE SQLITE_IOERR_COMMIT_ATOMIC SQLITE_IOERR_CONVPATH SQLITE_IOERR_DATA SQLITE_IOERR_DELETE SQLITE_IOERR_DELETE_NOENT SQLITE_IOERR_DIR_CLOSE SQLITE_IOERR_DIR_FSYNC SQLITE_IOERR_FSTAT SQLITE_IOERR_FSYNC SQLITE_IOERR_GETTEMPPATH SQLITE_IOERR_LOCK SQLITE_IOERR_MMAP SQLITE_IOERR_NOMEM SQLITE_IOERR_RDLOCK SQLITE_IOERR_READ SQLITE_IOERR_ROLLBACK_ATOMIC SQLITE_IOERR_SEEK SQLITE_IOERR_SHMLOCK SQLITE_IOERR_SHMMAP SQLITE_IOERR_SHMOPEN SQLITE_IOERR_SHMSIZE SQLITE_IOERR_SHORT_READ SQLITE_IOERR_TRUNCATE SQLITE_IOERR_UNLOCK SQLITE_IOERR_VNODE SQLITE_IOERR_WRITE SQLITE_LOCKED_SHAREDCACHE SQLITE_LOCKED_VTAB SQLITE_NOTICE_RECOVER_ROLLBACK SQLITE_NOTICE_RECOVER_WAL SQLITE_OK_LOAD_PERMANENTLY SQLITE_OK_SYMLINK SQLITE_READONLY_CANTINIT SQLITE_READONLY_CANTLOCK SQLITE_READONLY_DBMOVED SQLITE_READONLY_DIRECTORY SQLITE_READONLY_RECOVERY SQLITE_READONLY_ROLLBACK SQLITE_WARNING_AUTOINDEX {extended result code definitions} -->
 | |
| <div class=nosearch>
 | |
| <a href="intro.html"><h2>SQLite C Interface</h2></a>
 | |
| <h2>Extended Result Codes</h2>
 | |
| </div>
 | |
| <blockquote><pre>
 | |
| #define SQLITE_ERROR_MISSING_COLLSEQ   (SQLITE_ERROR | (1<<8))
 | |
| #define SQLITE_ERROR_RETRY             (SQLITE_ERROR | (2<<8))
 | |
| #define SQLITE_ERROR_SNAPSHOT          (SQLITE_ERROR | (3<<8))
 | |
| #define SQLITE_IOERR_READ              (SQLITE_IOERR | (1<<8))
 | |
| #define SQLITE_IOERR_SHORT_READ        (SQLITE_IOERR | (2<<8))
 | |
| #define SQLITE_IOERR_WRITE             (SQLITE_IOERR | (3<<8))
 | |
| #define SQLITE_IOERR_FSYNC             (SQLITE_IOERR | (4<<8))
 | |
| #define SQLITE_IOERR_DIR_FSYNC         (SQLITE_IOERR | (5<<8))
 | |
| #define SQLITE_IOERR_TRUNCATE          (SQLITE_IOERR | (6<<8))
 | |
| #define SQLITE_IOERR_FSTAT             (SQLITE_IOERR | (7<<8))
 | |
| #define SQLITE_IOERR_UNLOCK            (SQLITE_IOERR | (8<<8))
 | |
| #define SQLITE_IOERR_RDLOCK            (SQLITE_IOERR | (9<<8))
 | |
| #define SQLITE_IOERR_DELETE            (SQLITE_IOERR | (10<<8))
 | |
| #define SQLITE_IOERR_BLOCKED           (SQLITE_IOERR | (11<<8))
 | |
| #define SQLITE_IOERR_NOMEM             (SQLITE_IOERR | (12<<8))
 | |
| #define SQLITE_IOERR_ACCESS            (SQLITE_IOERR | (13<<8))
 | |
| #define SQLITE_IOERR_CHECKRESERVEDLOCK (SQLITE_IOERR | (14<<8))
 | |
| #define SQLITE_IOERR_LOCK              (SQLITE_IOERR | (15<<8))
 | |
| #define SQLITE_IOERR_CLOSE             (SQLITE_IOERR | (16<<8))
 | |
| #define SQLITE_IOERR_DIR_CLOSE         (SQLITE_IOERR | (17<<8))
 | |
| #define SQLITE_IOERR_SHMOPEN           (SQLITE_IOERR | (18<<8))
 | |
| #define SQLITE_IOERR_SHMSIZE           (SQLITE_IOERR | (19<<8))
 | |
| #define SQLITE_IOERR_SHMLOCK           (SQLITE_IOERR | (20<<8))
 | |
| #define SQLITE_IOERR_SHMMAP            (SQLITE_IOERR | (21<<8))
 | |
| #define SQLITE_IOERR_SEEK              (SQLITE_IOERR | (22<<8))
 | |
| #define SQLITE_IOERR_DELETE_NOENT      (SQLITE_IOERR | (23<<8))
 | |
| #define SQLITE_IOERR_MMAP              (SQLITE_IOERR | (24<<8))
 | |
| #define SQLITE_IOERR_GETTEMPPATH       (SQLITE_IOERR | (25<<8))
 | |
| #define SQLITE_IOERR_CONVPATH          (SQLITE_IOERR | (26<<8))
 | |
| #define SQLITE_IOERR_VNODE             (SQLITE_IOERR | (27<<8))
 | |
| #define SQLITE_IOERR_AUTH              (SQLITE_IOERR | (28<<8))
 | |
| #define SQLITE_IOERR_BEGIN_ATOMIC      (SQLITE_IOERR | (29<<8))
 | |
| #define SQLITE_IOERR_COMMIT_ATOMIC     (SQLITE_IOERR | (30<<8))
 | |
| #define SQLITE_IOERR_ROLLBACK_ATOMIC   (SQLITE_IOERR | (31<<8))
 | |
| #define SQLITE_IOERR_DATA              (SQLITE_IOERR | (32<<8))
 | |
| #define SQLITE_LOCKED_SHAREDCACHE      (SQLITE_LOCKED |  (1<<8))
 | |
| #define SQLITE_LOCKED_VTAB             (SQLITE_LOCKED |  (2<<8))
 | |
| #define SQLITE_BUSY_RECOVERY           (SQLITE_BUSY   |  (1<<8))
 | |
| #define SQLITE_BUSY_SNAPSHOT           (SQLITE_BUSY   |  (2<<8))
 | |
| #define SQLITE_BUSY_TIMEOUT            (SQLITE_BUSY   |  (3<<8))
 | |
| #define SQLITE_CANTOPEN_NOTEMPDIR      (SQLITE_CANTOPEN | (1<<8))
 | |
| #define SQLITE_CANTOPEN_ISDIR          (SQLITE_CANTOPEN | (2<<8))
 | |
| #define SQLITE_CANTOPEN_FULLPATH       (SQLITE_CANTOPEN | (3<<8))
 | |
| #define SQLITE_CANTOPEN_CONVPATH       (SQLITE_CANTOPEN | (4<<8))
 | |
| #define SQLITE_CANTOPEN_DIRTYWAL       (SQLITE_CANTOPEN | (5<<8)) /* Not Used */
 | |
| #define SQLITE_CANTOPEN_SYMLINK        (SQLITE_CANTOPEN | (6<<8))
 | |
| #define SQLITE_CORRUPT_VTAB            (SQLITE_CORRUPT | (1<<8))
 | |
| #define SQLITE_CORRUPT_SEQUENCE        (SQLITE_CORRUPT | (2<<8))
 | |
| #define SQLITE_CORRUPT_INDEX           (SQLITE_CORRUPT | (3<<8))
 | |
| #define SQLITE_READONLY_RECOVERY       (SQLITE_READONLY | (1<<8))
 | |
| #define SQLITE_READONLY_CANTLOCK       (SQLITE_READONLY | (2<<8))
 | |
| #define SQLITE_READONLY_ROLLBACK       (SQLITE_READONLY | (3<<8))
 | |
| #define SQLITE_READONLY_DBMOVED        (SQLITE_READONLY | (4<<8))
 | |
| #define SQLITE_READONLY_CANTINIT       (SQLITE_READONLY | (5<<8))
 | |
| #define SQLITE_READONLY_DIRECTORY      (SQLITE_READONLY | (6<<8))
 | |
| #define SQLITE_ABORT_ROLLBACK          (SQLITE_ABORT | (2<<8))
 | |
| #define SQLITE_CONSTRAINT_CHECK        (SQLITE_CONSTRAINT | (1<<8))
 | |
| #define SQLITE_CONSTRAINT_COMMITHOOK   (SQLITE_CONSTRAINT | (2<<8))
 | |
| #define SQLITE_CONSTRAINT_FOREIGNKEY   (SQLITE_CONSTRAINT | (3<<8))
 | |
| #define SQLITE_CONSTRAINT_FUNCTION     (SQLITE_CONSTRAINT | (4<<8))
 | |
| #define SQLITE_CONSTRAINT_NOTNULL      (SQLITE_CONSTRAINT | (5<<8))
 | |
| #define SQLITE_CONSTRAINT_PRIMARYKEY   (SQLITE_CONSTRAINT | (6<<8))
 | |
| #define SQLITE_CONSTRAINT_TRIGGER      (SQLITE_CONSTRAINT | (7<<8))
 | |
| #define SQLITE_CONSTRAINT_UNIQUE       (SQLITE_CONSTRAINT | (8<<8))
 | |
| #define SQLITE_CONSTRAINT_VTAB         (SQLITE_CONSTRAINT | (9<<8))
 | |
| #define SQLITE_CONSTRAINT_ROWID        (SQLITE_CONSTRAINT |(10<<8))
 | |
| #define SQLITE_CONSTRAINT_PINNED       (SQLITE_CONSTRAINT |(11<<8))
 | |
| #define SQLITE_NOTICE_RECOVER_WAL      (SQLITE_NOTICE | (1<<8))
 | |
| #define SQLITE_NOTICE_RECOVER_ROLLBACK (SQLITE_NOTICE | (2<<8))
 | |
| #define SQLITE_WARNING_AUTOINDEX       (SQLITE_WARNING | (1<<8))
 | |
| #define SQLITE_AUTH_USER               (SQLITE_AUTH | (1<<8))
 | |
| #define SQLITE_OK_LOAD_PERMANENTLY     (SQLITE_OK | (1<<8))
 | |
| #define SQLITE_OK_SYMLINK              (SQLITE_OK | (2<<8))
 | |
| </pre></blockquote>
 | |
| <p>
 | |
| In its default configuration, SQLite API routines return one of 30 integer
 | |
| <a href="../rescode.html">result codes</a>.  However, experience has shown that many of
 | |
| these result codes are too coarse-grained.  They do not provide as
 | |
| much information about problems as programmers might like.  In an effort to
 | |
| address this, newer versions of SQLite (version 3.3.8 2006-10-09
 | |
| and later) include
 | |
| support for additional result codes that provide more detailed information
 | |
| about errors. These <a href="../rescode.html#extrc">extended result codes</a> are enabled or disabled
 | |
| on a per database connection basis using the
 | |
| <a href="../c3ref/extended_result_codes.html">sqlite3_extended_result_codes()</a> API.  Or, the extended code for
 | |
| the most recent error can be obtained using
 | |
| <a href="../c3ref/errcode.html">sqlite3_extended_errcode()</a>.
 | |
| </p><p>See also lists of
 | |
|   <a href="objlist.html">Objects</a>,
 | |
|   <a href="constlist.html">Constants</a>, and
 | |
|   <a href="funclist.html">Functions</a>.</p>
 |