亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? pragma.c

?? sqlite 3.3.8 支持加密的版本
?? C
?? 第 1 頁 / 共 3 頁
字號:
      returnSingleInt(pParse, "auto_vacuum", auto_vacuum);
    }else{
      sqlite3BtreeSetAutoVacuum(pBt, getBoolean(zRight));
    }
  }else
#endif

#ifndef SQLITE_OMIT_PAGER_PRAGMAS
  /*
  **  PRAGMA [database.]cache_size
  **  PRAGMA [database.]cache_size=N
  **
  ** The first form reports the current local setting for the
  ** page cache size.  The local setting can be different from
  ** the persistent cache size value that is stored in the database
  ** file itself.  The value returned is the maximum number of
  ** pages in the page cache.  The second form sets the local
  ** page cache size value.  It does not change the persistent
  ** cache size stored on the disk so the cache size will revert
  ** to its default value when the database is closed and reopened.
  ** N should be a positive integer.
  */
  if( sqlite3StrICmp(zLeft,"cache_size")==0 ){
    if( sqlite3ReadSchema(pParse) ) goto pragma_out;
    if( !zRight ){
      returnSingleInt(pParse, "cache_size", pDb->pSchema->cache_size);
    }else{
      int size = atoi(zRight);
      if( size<0 ) size = -size;
      pDb->pSchema->cache_size = size;
      sqlite3BtreeSetCacheSize(pDb->pBt, pDb->pSchema->cache_size);
    }
  }else

  /*
  **   PRAGMA temp_store
  **   PRAGMA temp_store = "default"|"memory"|"file"
  **
  ** Return or set the local value of the temp_store flag.  Changing
  ** the local value does not make changes to the disk file and the default
  ** value will be restored the next time the database is opened.
  **
  ** Note that it is possible for the library compile-time options to
  ** override this setting
  */
  if( sqlite3StrICmp(zLeft, "temp_store")==0 ){
    if( !zRight ){
      returnSingleInt(pParse, "temp_store", db->temp_store);
    }else{
      changeTempStorage(pParse, zRight);
    }
  }else

  /*
  **   PRAGMA temp_store_directory
  **   PRAGMA temp_store_directory = ""|"directory_name"
  **
  ** Return or set the local value of the temp_store_directory flag.  Changing
  ** the value sets a specific directory to be used for temporary files.
  ** Setting to a null string reverts to the default temporary directory search.
  ** If temporary directory is changed, then invalidateTempStorage.
  **
  */
  if( sqlite3StrICmp(zLeft, "temp_store_directory")==0 ){
    if( !zRight ){
      if( sqlite3_temp_directory ){
        sqlite3VdbeSetNumCols(v, 1);
        sqlite3VdbeSetColName(v, 0, COLNAME_NAME, 
            "temp_store_directory", P3_STATIC);
        sqlite3VdbeOp3(v, OP_String8, 0, 0, sqlite3_temp_directory, 0);
        sqlite3VdbeAddOp(v, OP_Callback, 1, 0);
      }
    }else{
      if( zRight[0] && !sqlite3OsIsDirWritable(zRight) ){
        sqlite3ErrorMsg(pParse, "not a writable directory");
        goto pragma_out;
      }
      if( TEMP_STORE==0
       || (TEMP_STORE==1 && db->temp_store<=1)
       || (TEMP_STORE==2 && db->temp_store==1)
      ){
        invalidateTempStorage(pParse);
      }
      sqliteFree(sqlite3_temp_directory);
      if( zRight[0] ){
        sqlite3_temp_directory = zRight;
        zRight = 0;
      }else{
        sqlite3_temp_directory = 0;
      }
    }
  }else

  /*
  **   PRAGMA [database.]synchronous
  **   PRAGMA [database.]synchronous=OFF|ON|NORMAL|FULL
  **
  ** Return or set the local value of the synchronous flag.  Changing
  ** the local value does not make changes to the disk file and the
  ** default value will be restored the next time the database is
  ** opened.
  */
  if( sqlite3StrICmp(zLeft,"synchronous")==0 ){
    if( sqlite3ReadSchema(pParse) ) goto pragma_out;
    if( !zRight ){
      returnSingleInt(pParse, "synchronous", pDb->safety_level-1);
    }else{
      if( !db->autoCommit ){
        sqlite3ErrorMsg(pParse, 
            "Safety level may not be changed inside a transaction");
      }else{
        pDb->safety_level = getSafetyLevel(zRight)+1;
      }
    }
  }else
#endif /* SQLITE_OMIT_PAGER_PRAGMAS */

#ifndef SQLITE_OMIT_FLAG_PRAGMAS
  if( flagPragma(pParse, zLeft, zRight) ){
    /* The flagPragma() subroutine also generates any necessary code
    ** there is nothing more to do here */
  }else
#endif /* SQLITE_OMIT_FLAG_PRAGMAS */

#ifndef SQLITE_OMIT_SCHEMA_PRAGMAS
  /*
  **   PRAGMA table_info(<table>)
  **
  ** Return a single row for each column of the named table. The columns of
  ** the returned data set are:
  **
  ** cid:        Column id (numbered from left to right, starting at 0)
  ** name:       Column name
  ** type:       Column declaration type.
  ** notnull:    True if 'NOT NULL' is part of column declaration
  ** dflt_value: The default value for the column, if any.
  */
  if( sqlite3StrICmp(zLeft, "table_info")==0 && zRight ){
    Table *pTab;
    if( sqlite3ReadSchema(pParse) ) goto pragma_out;
    pTab = sqlite3FindTable(db, zRight, zDb);
    if( pTab ){
      int i;
      Column *pCol;
      sqlite3VdbeSetNumCols(v, 6);
      sqlite3VdbeSetColName(v, 0, COLNAME_NAME, "cid", P3_STATIC);
      sqlite3VdbeSetColName(v, 1, COLNAME_NAME, "name", P3_STATIC);
      sqlite3VdbeSetColName(v, 2, COLNAME_NAME, "type", P3_STATIC);
      sqlite3VdbeSetColName(v, 3, COLNAME_NAME, "notnull", P3_STATIC);
      sqlite3VdbeSetColName(v, 4, COLNAME_NAME, "dflt_value", P3_STATIC);
      sqlite3VdbeSetColName(v, 5, COLNAME_NAME, "pk", P3_STATIC);
      sqlite3ViewGetColumnNames(pParse, pTab);
      for(i=0, pCol=pTab->aCol; i<pTab->nCol; i++, pCol++){
        const Token *pDflt;
        static const Token noDflt =  { (unsigned char*)"", 0, 0 };
        sqlite3VdbeAddOp(v, OP_Integer, i, 0);
        sqlite3VdbeOp3(v, OP_String8, 0, 0, pCol->zName, 0);
        sqlite3VdbeOp3(v, OP_String8, 0, 0,
           pCol->zType ? pCol->zType : "", 0);
        sqlite3VdbeAddOp(v, OP_Integer, pCol->notNull, 0);
        pDflt = pCol->pDflt ? &pCol->pDflt->span : &noDflt;
        if( pDflt->z ){
          sqlite3VdbeOp3(v, OP_String8, 0, 0, (char*)pDflt->z, pDflt->n);
        }else{
          sqlite3VdbeAddOp(v, OP_Null, 0, 0);
        }
        sqlite3VdbeAddOp(v, OP_Integer, pCol->isPrimKey, 0);
        sqlite3VdbeAddOp(v, OP_Callback, 6, 0);
      }
    }
  }else

  if( sqlite3StrICmp(zLeft, "index_info")==0 && zRight ){
    Index *pIdx;
    Table *pTab;
    if( sqlite3ReadSchema(pParse) ) goto pragma_out;
    pIdx = sqlite3FindIndex(db, zRight, zDb);
    if( pIdx ){
      int i;
      pTab = pIdx->pTable;
      sqlite3VdbeSetNumCols(v, 3);
      sqlite3VdbeSetColName(v, 0, COLNAME_NAME, "seqno", P3_STATIC);
      sqlite3VdbeSetColName(v, 1, COLNAME_NAME, "cid", P3_STATIC);
      sqlite3VdbeSetColName(v, 2, COLNAME_NAME, "name", P3_STATIC);
      for(i=0; i<pIdx->nColumn; i++){
        int cnum = pIdx->aiColumn[i];
        sqlite3VdbeAddOp(v, OP_Integer, i, 0);
        sqlite3VdbeAddOp(v, OP_Integer, cnum, 0);
        assert( pTab->nCol>cnum );
        sqlite3VdbeOp3(v, OP_String8, 0, 0, pTab->aCol[cnum].zName, 0);
        sqlite3VdbeAddOp(v, OP_Callback, 3, 0);
      }
    }
  }else

  if( sqlite3StrICmp(zLeft, "index_list")==0 && zRight ){
    Index *pIdx;
    Table *pTab;
    if( sqlite3ReadSchema(pParse) ) goto pragma_out;
    pTab = sqlite3FindTable(db, zRight, zDb);
    if( pTab ){
      v = sqlite3GetVdbe(pParse);
      pIdx = pTab->pIndex;
      if( pIdx ){
        int i = 0; 
        sqlite3VdbeSetNumCols(v, 3);
        sqlite3VdbeSetColName(v, 0, COLNAME_NAME, "seq", P3_STATIC);
        sqlite3VdbeSetColName(v, 1, COLNAME_NAME, "name", P3_STATIC);
        sqlite3VdbeSetColName(v, 2, COLNAME_NAME, "unique", P3_STATIC);
        while(pIdx){
          sqlite3VdbeAddOp(v, OP_Integer, i, 0);
          sqlite3VdbeOp3(v, OP_String8, 0, 0, pIdx->zName, 0);
          sqlite3VdbeAddOp(v, OP_Integer, pIdx->onError!=OE_None, 0);
          sqlite3VdbeAddOp(v, OP_Callback, 3, 0);
          ++i;
          pIdx = pIdx->pNext;
        }
      }
    }
  }else

  if( sqlite3StrICmp(zLeft, "database_list")==0 ){
    int i;
    if( sqlite3ReadSchema(pParse) ) goto pragma_out;
    sqlite3VdbeSetNumCols(v, 3);
    sqlite3VdbeSetColName(v, 0, COLNAME_NAME, "seq", P3_STATIC);
    sqlite3VdbeSetColName(v, 1, COLNAME_NAME, "name", P3_STATIC);
    sqlite3VdbeSetColName(v, 2, COLNAME_NAME, "file", P3_STATIC);
    for(i=0; i<db->nDb; i++){
      if( db->aDb[i].pBt==0 ) continue;
      assert( db->aDb[i].zName!=0 );
      sqlite3VdbeAddOp(v, OP_Integer, i, 0);
      sqlite3VdbeOp3(v, OP_String8, 0, 0, db->aDb[i].zName, 0);
      sqlite3VdbeOp3(v, OP_String8, 0, 0,
           sqlite3BtreeGetFilename(db->aDb[i].pBt), 0);
      sqlite3VdbeAddOp(v, OP_Callback, 3, 0);
    }
  }else

  if( sqlite3StrICmp(zLeft, "collation_list")==0 ){
    int i = 0;
    HashElem *p;
    sqlite3VdbeSetNumCols(v, 2);
    sqlite3VdbeSetColName(v, 0, COLNAME_NAME, "seq", P3_STATIC);
    sqlite3VdbeSetColName(v, 1, COLNAME_NAME, "name", P3_STATIC);
    for(p=sqliteHashFirst(&db->aCollSeq); p; p=sqliteHashNext(p)){
      CollSeq *pColl = (CollSeq *)sqliteHashData(p);
      sqlite3VdbeAddOp(v, OP_Integer, i++, 0);
      sqlite3VdbeOp3(v, OP_String8, 0, 0, pColl->zName, 0);
      sqlite3VdbeAddOp(v, OP_Callback, 2, 0);
    }
  }else
#endif /* SQLITE_OMIT_SCHEMA_PRAGMAS */

#ifndef SQLITE_OMIT_FOREIGN_KEY
  if( sqlite3StrICmp(zLeft, "foreign_key_list")==0 && zRight ){
    FKey *pFK;
    Table *pTab;
    if( sqlite3ReadSchema(pParse) ) goto pragma_out;
    pTab = sqlite3FindTable(db, zRight, zDb);
    if( pTab ){
      v = sqlite3GetVdbe(pParse);
      pFK = pTab->pFKey;
      if( pFK ){
        int i = 0; 
        sqlite3VdbeSetNumCols(v, 5);
        sqlite3VdbeSetColName(v, 0, COLNAME_NAME, "id", P3_STATIC);
        sqlite3VdbeSetColName(v, 1, COLNAME_NAME, "seq", P3_STATIC);
        sqlite3VdbeSetColName(v, 2, COLNAME_NAME, "table", P3_STATIC);
        sqlite3VdbeSetColName(v, 3, COLNAME_NAME, "from", P3_STATIC);
        sqlite3VdbeSetColName(v, 4, COLNAME_NAME, "to", P3_STATIC);
        while(pFK){
          int j;
          for(j=0; j<pFK->nCol; j++){
            char *zCol = pFK->aCol[j].zCol;
            sqlite3VdbeAddOp(v, OP_Integer, i, 0);
            sqlite3VdbeAddOp(v, OP_Integer, j, 0);
            sqlite3VdbeOp3(v, OP_String8, 0, 0, pFK->zTo, 0);
            sqlite3VdbeOp3(v, OP_String8, 0, 0,
                             pTab->aCol[pFK->aCol[j].iFrom].zName, 0);
            sqlite3VdbeOp3(v, zCol ? OP_String8 : OP_Null, 0, 0, zCol, 0);
            sqlite3VdbeAddOp(v, OP_Callback, 5, 0);
          }
          ++i;
          pFK = pFK->pNextFrom;
        }
      }
    }
  }else
#endif /* !defined(SQLITE_OMIT_FOREIGN_KEY) */

#ifndef NDEBUG
  if( sqlite3StrICmp(zLeft, "parser_trace")==0 ){
    extern void sqlite3ParserTrace(FILE*, char *);
    if( zRight ){
      if( getBoolean(zRight) ){
        sqlite3ParserTrace(stderr, "parser: ");
      }else{
        sqlite3ParserTrace(0, 0);
      }
    }
  }else
#endif

  /* Reinstall the LIKE and GLOB functions.  The variant of LIKE
  ** used will be case sensitive or not depending on the RHS.
  */
  if( sqlite3StrICmp(zLeft, "case_sensitive_like")==0 ){
    if( zRight ){
      sqlite3RegisterLikeFunctions(db, getBoolean(zRight));
    }
  }else

#ifndef SQLITE_OMIT_INTEGRITY_CHECK
  if( sqlite3StrICmp(zLeft, "integrity_check")==0 ){
    int i, j, addr;

    /* Code that appears at the end of the integrity check.  If no error
    ** messages have been generated, output OK.  Otherwise output the
    ** error message
    */
    static const VdbeOpList endCode[] = {
      { OP_MemLoad,     0, 0,        0},
      { OP_Integer,     0, 0,        0},
      { OP_Ne,          0, 0,        0},    /* 2 */
      { OP_String8,     0, 0,        "ok"},
      { OP_Callback,    1, 0,        0},
    };

    /* Initialize the VDBE program */
    if( sqlite3ReadSchema(pParse) ) goto pragma_out;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产欧美一区二区精品仙草咪| 亚洲综合在线视频| 精品国产免费人成在线观看| 日韩一区二区三区在线观看| 91麻豆精品久久久久蜜臀| 在线不卡中文字幕播放| 91精品国产福利在线观看 | 91精品国产综合久久久蜜臀粉嫩 | 国产日韩欧美综合一区| 久久久久久电影| 中文字幕精品在线不卡| 中文字幕一区在线观看视频| 亚洲精品高清在线| 亚洲第一综合色| 免费观看成人av| 国产精品 日产精品 欧美精品| 国产精品12区| 色综合久久久久综合体| 欧美视频在线一区| 欧美变态口味重另类| 国产午夜精品理论片a级大结局| 国产精品久久国产精麻豆99网站| 综合激情成人伊人| 亚洲综合免费观看高清完整版| 日韩精品国产精品| 狠狠色丁香久久婷婷综| 99riav久久精品riav| 在线亚洲一区观看| 日韩欧美中文一区| 国产偷国产偷精品高清尤物 | 国产精品正在播放| 成人黄色电影在线| 91黄色激情网站| 日韩一区二区在线观看视频播放| 欧美精品一区二区三区蜜桃视频| 中文字幕一区二区三区不卡在线| 亚洲欧美另类久久久精品2019| 日韩av中文字幕一区二区三区| 国产乱人伦偷精品视频不卡| 色综合久久中文综合久久97| 日韩免费成人网| 国产精品美女久久福利网站| 亚洲国产三级在线| 国产精品中文字幕日韩精品| 一本久道久久综合中文字幕| 日韩一级二级三级| 亚洲视频 欧洲视频| 日产国产高清一区二区三区| 成人黄色大片在线观看| 日韩欧美高清在线| 自拍偷拍欧美激情| 国产在线一区二区综合免费视频| 在线视频欧美区| 久久先锋影音av| 亚洲国产成人91porn| 成人亚洲一区二区一| 制服丝袜中文字幕一区| 国产精品伦一区二区三级视频| 日韩精品欧美精品| 99久久免费国产| 精品国产乱码久久久久久牛牛| 一区二区三区在线播| 国产成人av电影在线观看| 欧美日本在线播放| 亚洲女人小视频在线观看| 国产精品香蕉一区二区三区| 91精品国产综合久久久久久久 | 国产suv一区二区三区88区| 欧美日韩综合不卡| 欧美极品少妇xxxxⅹ高跟鞋| 日本欧美一区二区在线观看| 99久久久国产精品| 欧美高清一级片在线观看| 日本视频在线一区| 欧美午夜片在线看| 亚洲人妖av一区二区| 国产高清亚洲一区| 日韩女优毛片在线| 天堂av在线一区| 91黄色激情网站| 亚洲欧美色一区| 成人激情文学综合网| 国产偷国产偷精品高清尤物| 久草在线在线精品观看| 在线不卡一区二区| 天天色综合成人网| 欧美午夜精品一区| 亚洲男同性视频| 97国产精品videossex| 国产午夜精品在线观看| 国产精品一区二区在线观看不卡| 欧美一区二区三区在线| 亚洲成av人影院| 欧美亚洲综合色| 亚洲色图丝袜美腿| 99精品1区2区| 亚洲激情中文1区| 色香色香欲天天天影视综合网| 亚洲欧洲日产国码二区| www.亚洲色图.com| 国产精品久久久久久久久快鸭 | 国内精品国产成人| 精品动漫一区二区三区在线观看| 蜜桃av一区二区三区电影| 欧美伦理影视网| 日本在线不卡视频| 91精品国产色综合久久久蜜香臀| 丝袜美腿成人在线| 日韩一区二区麻豆国产| 麻豆视频观看网址久久| 欧美精品一区二区精品网| 国产麻豆一精品一av一免费| 久久久精品tv| 成人激情小说乱人伦| 亚洲九九爱视频| 欧美日韩一区不卡| 日韩av中文在线观看| 久久夜色精品国产噜噜av| 国产盗摄女厕一区二区三区| 中文一区一区三区高中清不卡| www.亚洲在线| 一区二区三区四区不卡视频| 欧美女孩性生活视频| 久久国产免费看| 国产日韩欧美在线一区| 97精品电影院| 日韩精品成人一区二区三区| 精品少妇一区二区三区在线播放| 国产成人在线色| 一区二区三区欧美久久| 911精品国产一区二区在线| 国产一区二区三区在线观看免费| 中文字幕久久午夜不卡| 91久久国产最好的精华液| 日本欧美一区二区在线观看| 国产亚洲人成网站| 色域天天综合网| 麻豆精品一区二区综合av| 国产日产精品1区| 日本韩国精品在线| 日韩高清在线观看| 久久男人中文字幕资源站| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 在线免费一区三区| 麻豆极品一区二区三区| 国产精品国产三级国产aⅴ中文 | 中文字幕一区二区三区视频| 在线综合视频播放| 成年人国产精品| 日日夜夜精品免费视频| 久久精品视频在线看| 在线观看亚洲一区| 精品影视av免费| 亚洲精品国产a| 久久久91精品国产一区二区三区| 欧美在线视频你懂得| 国产乱码一区二区三区| 亚洲自拍与偷拍| 国产精品视频第一区| 日韩免费观看高清完整版 | 欧美日本国产视频| 成人小视频免费在线观看| 日韩精品电影一区亚洲| 亚洲人妖av一区二区| 亚洲精品一区二区三区99| 91九色最新地址| 丁香网亚洲国际| 麻豆91精品91久久久的内涵| 亚洲精品欧美在线| 国产亚洲一区二区在线观看| 欧美一卡在线观看| 欧美在线影院一区二区| eeuss鲁一区二区三区| 国模套图日韩精品一区二区| 午夜视频一区二区| 亚洲欧洲制服丝袜| 欧美国产日韩一二三区| 欧美成人福利视频| 欧美日韩国产123区| 色综合久久综合网欧美综合网| 成人晚上爱看视频| 韩国女主播一区二区三区| 石原莉奈在线亚洲二区| 亚洲午夜久久久久久久久久久| 国产精品动漫网站| 久久久国际精品| 日韩一区二区三区视频在线| 欧美视频一二三区| 在线日韩av片| 91黄色在线观看| 91国产精品成人| 色噜噜狠狠色综合欧洲selulu| 成人久久久精品乱码一区二区三区| 久久国产精品99精品国产| 日本午夜一本久久久综合| 日日摸夜夜添夜夜添亚洲女人| 亚洲大片在线观看| 性做久久久久久| 视频一区二区三区中文字幕| 日韩中文欧美在线|