/ Check-in [9bcdec85]
Login
SQLite training in Houston TX on 2019-11-05 (details)
Part of the 2019 Tcl Conference

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

Overview
Comment:Fixes for SQLITE_OMIT_VIRTUAL_TABLE builds.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 9bcdec85e21a5228c700f7373b92ae7ea14b585bcda34235b605be4f7ec15a15
User & Date: dan 2018-11-28 08:02:28
Context
2018-11-28
08:09
Remove -DSQLITE_USER_AUTHENTICATION from the "Unlock-Notify" configuration. Create a dedicated "User-Auth" configuration for testing this feature. check-in: 8c41024f user: dan tags: trunk
08:02
Fixes for SQLITE_OMIT_VIRTUAL_TABLE builds. check-in: 9bcdec85 user: dan tags: trunk
01:45
Always enable SQLITE_ENABLE_DESERIALIZE for the MSVC makefile as this is necessary to get releasetest.tcl to work. check-in: d362dedb user: drh tags: trunk
Changes
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Changes to src/build.c.

  1895   1895       assert( pTab->nCol==j );
  1896   1896     }else{
  1897   1897       pPk->nColumn = pTab->nCol;
  1898   1898     }
  1899   1899     recomputeColumnsNotIndexed(pPk);
  1900   1900   }
  1901   1901   
         1902  +#ifndef SQLITE_OMIT_VIRTUALTABLE
  1902   1903   /*
  1903   1904   ** Return true if zName is a shadow table name in the current database
  1904   1905   ** connection.
  1905   1906   **
  1906   1907   ** zName is temporarily modified while this routine is running, but is
  1907   1908   ** restored to its original value prior to this routine returning.
  1908   1909   */
................................................................................
  1920   1921     if( !IsVirtual(pTab) ) return 0;
  1921   1922     pMod = (Module*)sqlite3HashFind(&db->aModule, pTab->azModuleArg[0]);
  1922   1923     if( pMod==0 ) return 0;
  1923   1924     if( pMod->pModule->iVersion<3 ) return 0;
  1924   1925     if( pMod->pModule->xShadowName==0 ) return 0;
  1925   1926     return pMod->pModule->xShadowName(zTail+1);
  1926   1927   }
         1928  +#else
         1929  +# define isShadowTableName(x,y) 0
         1930  +#endif /* ifndef SQLITE_OMIT_VIRTUALTABLE */
  1927   1931   
  1928   1932   /*
  1929   1933   ** This routine is called to report the final ")" that terminates
  1930   1934   ** a CREATE TABLE statement.
  1931   1935   **
  1932   1936   ** The table structure that other action routines have been building
  1933   1937   ** is added to the internal hash tables, assuming no errors have

Changes to src/delete.c.

    66     66     }
    67     67     if( (pTab->tabFlags & (TF_Readonly|TF_Shadow))==0 ) return 0;
    68     68     db = pParse->db;
    69     69     if( (pTab->tabFlags & TF_Readonly)!=0 ){
    70     70       return sqlite3WritableSchema(db)==0 && pParse->nested==0;
    71     71     }
    72     72     assert( pTab->tabFlags & TF_Shadow );
    73         -  return (db->flags & SQLITE_Defensive)!=0
    74         -           && db->nVdbeExec==0
    75         -           && db->pVtabCtx==0;
           73  +  return (db->flags & SQLITE_Defensive)!=0 
           74  +#ifndef SQLITE_OMIT_VIRTUALTABLE
           75  +          && db->pVtabCtx==0
           76  +#endif
           77  +          && db->nVdbeExec==0;
    76     78   }
    77     79   
    78     80   /*
    79     81   ** Check to make sure the given table is writable.  If it is not
    80     82   ** writable, generate an error message and return 1.  If it is
    81     83   ** writable return 0;
    82     84   */

Changes to src/loadext.c.

    80     80   
    81     81   #ifdef SQLITE_OMIT_VIRTUALTABLE
    82     82   # define sqlite3_create_module 0
    83     83   # define sqlite3_create_module_v2 0
    84     84   # define sqlite3_declare_vtab 0
    85     85   # define sqlite3_vtab_config 0
    86     86   # define sqlite3_vtab_on_conflict 0
           87  +# define sqlite3_vtab_collation 0
    87     88   #endif
    88     89   
    89     90   #ifdef SQLITE_OMIT_SHARED_CACHE
    90     91   # define sqlite3_enable_shared_cache 0
    91     92   #endif
    92     93   
    93     94   #if defined(SQLITE_OMIT_TRACE) || defined(SQLITE_OMIT_DEPRECATED)