1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-08-08 14:02:16 +03:00

Modify sub-query handling. Tickets #1083 and #1084. (CVS 2286)

FossilOrigin-Name: b1b50f315873a8614920d1e3af4a07fb29a7ff6a
This commit is contained in:
danielk1977
2005-01-29 08:32:43 +00:00
parent c9ec413a08
commit b3bce66232
27 changed files with 833 additions and 449 deletions

View File

@@ -18,7 +18,7 @@
** file simultaneously, or one process from reading the database while
** another is writing.
**
** @(#) $Id: pager.c,v 1.186 2005/01/22 03:39:39 danielk1977 Exp $
** @(#) $Id: pager.c,v 1.187 2005/01/29 08:32:45 danielk1977 Exp $
*/
#include "sqliteInt.h"
#include "os.h"
@@ -1802,7 +1802,19 @@ int sqlite3pager_close(Pager *pPager){
case PAGER_RESERVED:
case PAGER_SYNCED:
case PAGER_EXCLUSIVE: {
/* We ignore any IO errors that occur during the rollback
** operation. So disable IO error simulation so that testing
** works more easily.
*/
#if defined(SQLITE_TEST) && (defined(OS_UNIX) || defined(OS_WIN))
extern int sqlite3_io_error_pending;
int ioerr_cnt = sqlite3_io_error_pending;
sqlite3_io_error_pending = -1;
#endif
sqlite3pager_rollback(pPager);
#if defined(SQLITE_TEST) && (defined(OS_UNIX) || defined(OS_WIN))
sqlite3_io_error_pending = ioerr_cnt;
#endif
if( !MEMDB ){
sqlite3OsUnlock(&pPager->fd, NO_LOCK);
}