SQLite

Check-in [18d61c8e40]
Login

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

Overview
Comment:Improve performance of sqlite3VtabImportErrmsg().
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 18d61c8e40ed1466b6a3a2f53bf0eeb09687c20e
User & Date: dan 2016-01-20 08:47:55.546
Context
2016-01-20
14:22
Case folding in the LIKE operator should look at all bits of the character, not just the lower 8 bits. Fix for ticket [80369eddd5c94]. This is a back-out of check-in [0a99a8c4facf] with a testcase added. (check-in: 204432ee72 user: drh tags: trunk)
12:18
Merge recent enhancements from trunk. (check-in: 5520f600ea user: drh tags: begin-concurrent)
11:40
Merge all recent enhancements from trunk. (check-in: 3ed49691a1 user: drh tags: apple-osx)
11:33
Merge recent enhancements from trunk. (check-in: 327af5f644 user: drh tags: sessions)
08:47
Improve performance of sqlite3VtabImportErrmsg(). (check-in: 18d61c8e40 user: dan tags: trunk)
03:36
Performance improvement in sqlite3DbMallocRaw(). (check-in: ff8eadbed5 user: drh tags: trunk)
Changes
Unified Diff Ignore Whitespace Patch
Changes to src/vdbeaux.c.
4441
4442
4443
4444
4445
4446
4447

4448
4449
4450
4451
4452

4453
4454
#ifndef SQLITE_OMIT_VIRTUALTABLE
/*
** Transfer error message text from an sqlite3_vtab.zErrMsg (text stored
** in memory obtained from sqlite3_malloc) into a Vdbe.zErrMsg (text stored
** in memory obtained from sqlite3DbMalloc).
*/
void sqlite3VtabImportErrmsg(Vdbe *p, sqlite3_vtab *pVtab){

  sqlite3 *db = p->db;
  sqlite3DbFree(db, p->zErrMsg);
  p->zErrMsg = sqlite3DbStrDup(db, pVtab->zErrMsg);
  sqlite3_free(pVtab->zErrMsg);
  pVtab->zErrMsg = 0;

}
#endif /* SQLITE_OMIT_VIRTUALTABLE */







>
|
|
|
|
|
>


4441
4442
4443
4444
4445
4446
4447
4448
4449
4450
4451
4452
4453
4454
4455
4456
#ifndef SQLITE_OMIT_VIRTUALTABLE
/*
** Transfer error message text from an sqlite3_vtab.zErrMsg (text stored
** in memory obtained from sqlite3_malloc) into a Vdbe.zErrMsg (text stored
** in memory obtained from sqlite3DbMalloc).
*/
void sqlite3VtabImportErrmsg(Vdbe *p, sqlite3_vtab *pVtab){
  if( pVtab->zErrMsg ){
    sqlite3 *db = p->db;
    sqlite3DbFree(db, p->zErrMsg);
    p->zErrMsg = sqlite3DbStrDup(db, pVtab->zErrMsg);
    sqlite3_free(pVtab->zErrMsg);
    pVtab->zErrMsg = 0;
  }
}
#endif /* SQLITE_OMIT_VIRTUALTABLE */