SQLite

Check-in [f7b76d02e0]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Retain the error string if an error is generated by SSE during a VACUUM. (CVS 2476)
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: f7b76d02e003faf0310b87949d3cb0f38062853f
User & Date: danielk1977 2005-05-23 13:00:58.000
Context
2005-05-23
15:06
Make sure that the use of a double-quoted string literal does not trick the optimizer into using a correlated subquery when a static subquery would suffice. (CVS 2477) (check-in: ef4059e3af user: drh tags: trunk)
13:00
Retain the error string if an error is generated by SSE during a VACUUM. (CVS 2476) (check-in: f7b76d02e0 user: danielk1977 tags: trunk)
04:51
Add pFetch variable (used by SSE) to sqlite3 structure. (CVS 2475) (check-in: 2a8ac86967 user: danielk1977 tags: trunk)
Changes
Unified Diff Ignore Whitespace Patch
Changes to src/util.c.
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
**
*************************************************************************
** Utility functions used throughout sqlite.
**
** This file contains functions for allocating memory, comparing
** strings, and stuff like that.
**
** $Id: util.c,v 1.134 2005/05/22 20:12:37 drh Exp $
*/
#include "sqliteInt.h"
#include <stdarg.h>
#include <ctype.h>

#if SQLITE_MEMDEBUG>2 && defined(__GLIBC__)
#include <execinfo.h>







|







10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
**
*************************************************************************
** Utility functions used throughout sqlite.
**
** This file contains functions for allocating memory, comparing
** strings, and stuff like that.
**
** $Id: util.c,v 1.135 2005/05/23 13:00:58 danielk1977 Exp $
*/
#include "sqliteInt.h"
#include <stdarg.h>
#include <ctype.h>

#if SQLITE_MEMDEBUG>2 && defined(__GLIBC__)
#include <execinfo.h>
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
**      %d      Insert an integer
**      %T      Insert a token
**      %S      Insert the first element of a SrcList
**
** zFormat and any string tokens that follow it are assumed to be
** encoded in UTF-8.
**
** To clear the most recent error for slqite handle "db", sqlite3Error
** should be called with err_code set to SQLITE_OK and zFormat set
** to NULL.
*/
void sqlite3Error(sqlite3 *db, int err_code, const char *zFormat, ...){
  if( db && (db->pErr || (db->pErr = sqlite3ValueNew())) ){
    db->errCode = err_code;
    if( zFormat ){







|







393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
**      %d      Insert an integer
**      %T      Insert a token
**      %S      Insert the first element of a SrcList
**
** zFormat and any string tokens that follow it are assumed to be
** encoded in UTF-8.
**
** To clear the most recent error for sqlite handle "db", sqlite3Error
** should be called with err_code set to SQLITE_OK and zFormat set
** to NULL.
*/
void sqlite3Error(sqlite3 *db, int err_code, const char *zFormat, ...){
  if( db && (db->pErr || (db->pErr = sqlite3ValueNew())) ){
    db->errCode = err_code;
    if( zFormat ){
Changes to src/vacuum.c.
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
**
*************************************************************************
** This file contains code used to implement the VACUUM command.
**
** Most of the code in this file may be omitted by defining the
** SQLITE_OMIT_VACUUM macro.
**
** $Id: vacuum.c,v 1.42 2005/05/22 06:49:57 danielk1977 Exp $
*/
#include "sqliteInt.h"
#include "os.h"

#ifndef SQLITE_OMIT_VACUUM
/*
** Generate a random name of 20 character in length.







|







10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
**
*************************************************************************
** This file contains code used to implement the VACUUM command.
**
** Most of the code in this file may be omitted by defining the
** SQLITE_OMIT_VACUUM macro.
**
** $Id: vacuum.c,v 1.43 2005/05/23 13:00:58 danielk1977 Exp $
*/
#include "sqliteInt.h"
#include "os.h"

#ifndef SQLITE_OMIT_VACUUM
/*
** Generate a random name of 20 character in length.
309
310
311
312
313
314
315



316
317
318
319
320
#ifdef SQLITE_SSE
  /* If the SSE extension is compiled in, recompile all statements
  ** in the sqlite_statements table after a successful VACUUM
  */
  if( rc==SQLITE_OK ){
    extern int sqlite3RecompileStatements(sqlite3*);
    rc = sqlite3RecompileStatements(db);



  }
#endif /* SQLITE_SSE */

  return rc;
}







>
>
>





309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
#ifdef SQLITE_SSE
  /* If the SSE extension is compiled in, recompile all statements
  ** in the sqlite_statements table after a successful VACUUM
  */
  if( rc==SQLITE_OK ){
    extern int sqlite3RecompileStatements(sqlite3*);
    rc = sqlite3RecompileStatements(db);
    if( rc!=SQLITE_OK ){
      sqlite3SetString(pzErrMsg, sqlite3_errmsg(db), (char *)0);
    }
  }
#endif /* SQLITE_SSE */

  return rc;
}