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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? test3.c

?? 新版輕量級(jí)嵌入式數(shù)據(jù)庫(kù)
?? C
?? 第 1 頁(yè) / 共 3 頁(yè)
字號(hào):
/*** 2001 September 15**** The author disclaims copyright to this source code.  In place of** a legal notice, here is a blessing:****    May you do good and not evil.**    May you find forgiveness for yourself and forgive others.**    May you share freely, never taking more than you give.***************************************************************************** Code for testing the btree.c module in SQLite.  This code** is not included in the SQLite library.  It is used for automated** testing of the SQLite library.**** $Id: test3.c,v 1.65 2006/01/20 10:55:05 danielk1977 Exp $*/#include "sqliteInt.h"#include "pager.h"#include "btree.h"#include "tcl.h"#include <stdlib.h>#include <string.h>/*** Interpret an SQLite error number*/static char *errorName(int rc){  char *zName;  switch( rc ){    case SQLITE_OK:         zName = "SQLITE_OK";          break;    case SQLITE_ERROR:      zName = "SQLITE_ERROR";       break;    case SQLITE_PERM:       zName = "SQLITE_PERM";        break;    case SQLITE_ABORT:      zName = "SQLITE_ABORT";       break;    case SQLITE_BUSY:       zName = "SQLITE_BUSY";        break;    case SQLITE_NOMEM:      zName = "SQLITE_NOMEM";       break;    case SQLITE_READONLY:   zName = "SQLITE_READONLY";    break;    case SQLITE_INTERRUPT:  zName = "SQLITE_INTERRUPT";   break;    case SQLITE_IOERR:      zName = "SQLITE_IOERR";       break;    case SQLITE_CORRUPT:    zName = "SQLITE_CORRUPT";     break;    case SQLITE_FULL:       zName = "SQLITE_FULL";        break;    case SQLITE_CANTOPEN:   zName = "SQLITE_CANTOPEN";    break;    case SQLITE_PROTOCOL:   zName = "SQLITE_PROTOCOL";    break;    case SQLITE_EMPTY:      zName = "SQLITE_EMPTY";       break;    case SQLITE_LOCKED:     zName = "SQLITE_LOCKED";      break;    default:                zName = "SQLITE_Unknown";     break;  }  return zName;}/*** Usage:   btree_open FILENAME NCACHE FLAGS**** Open a new database*/static int btree_open(  void *NotUsed,  Tcl_Interp *interp,    /* The TCL interpreter that invoked this command */  int argc,              /* Number of arguments */  const char **argv      /* Text of each argument */){  Btree *pBt;  int rc, nCache, flags;  char zBuf[100];  if( argc!=4 ){    Tcl_AppendResult(interp, "wrong # args: should be \"", argv[0],       " FILENAME NCACHE FLAGS\"", 0);    return TCL_ERROR;  }  if( Tcl_GetInt(interp, argv[2], &nCache) ) return TCL_ERROR;  if( Tcl_GetInt(interp, argv[3], &flags) ) return TCL_ERROR;  rc = sqlite3BtreeOpen(argv[1], 0, &pBt, flags);  if( rc!=SQLITE_OK ){    Tcl_AppendResult(interp, errorName(rc), 0);    return TCL_ERROR;  }  sqlite3BtreeSetCacheSize(pBt, nCache);  sqlite3_snprintf(sizeof(zBuf), zBuf,"%p", pBt);  Tcl_AppendResult(interp, zBuf, 0);  return TCL_OK;}/*** Usage:   btree_close ID**** Close the given database.*/static int btree_close(  void *NotUsed,  Tcl_Interp *interp,    /* The TCL interpreter that invoked this command */  int argc,              /* Number of arguments */  const char **argv      /* Text of each argument */){  Btree *pBt;  int rc;  if( argc!=2 ){    Tcl_AppendResult(interp, "wrong # args: should be \"", argv[0],       " ID\"", 0);    return TCL_ERROR;  }  pBt = sqlite3TextToPtr(argv[1]);  rc = sqlite3BtreeClose(pBt);  if( rc!=SQLITE_OK ){    Tcl_AppendResult(interp, errorName(rc), 0);    return TCL_ERROR;  }  return TCL_OK;}/*** Usage:   btree_begin_transaction ID**** Start a new transaction*/static int btree_begin_transaction(  void *NotUsed,  Tcl_Interp *interp,    /* The TCL interpreter that invoked this command */  int argc,              /* Number of arguments */  const char **argv      /* Text of each argument */){  Btree *pBt;  int rc;  if( argc!=2 ){    Tcl_AppendResult(interp, "wrong # args: should be \"", argv[0],       " ID\"", 0);    return TCL_ERROR;  }  pBt = sqlite3TextToPtr(argv[1]);  rc = sqlite3BtreeBeginTrans(pBt, 1);  if( rc!=SQLITE_OK ){    Tcl_AppendResult(interp, errorName(rc), 0);    return TCL_ERROR;  }  return TCL_OK;}/*** Usage:   btree_rollback ID**** Rollback changes*/static int btree_rollback(  void *NotUsed,  Tcl_Interp *interp,    /* The TCL interpreter that invoked this command */  int argc,              /* Number of arguments */  const char **argv      /* Text of each argument */){  Btree *pBt;  int rc;  if( argc!=2 ){    Tcl_AppendResult(interp, "wrong # args: should be \"", argv[0],       " ID\"", 0);    return TCL_ERROR;  }  pBt = sqlite3TextToPtr(argv[1]);  rc = sqlite3BtreeRollback(pBt);  if( rc!=SQLITE_OK ){    Tcl_AppendResult(interp, errorName(rc), 0);    return TCL_ERROR;  }  return TCL_OK;}/*** Usage:   btree_commit ID**** Commit all changes*/static int btree_commit(  void *NotUsed,  Tcl_Interp *interp,    /* The TCL interpreter that invoked this command */  int argc,              /* Number of arguments */  const char **argv      /* Text of each argument */){  Btree *pBt;  int rc;  if( argc!=2 ){    Tcl_AppendResult(interp, "wrong # args: should be \"", argv[0],       " ID\"", 0);    return TCL_ERROR;  }  pBt = sqlite3TextToPtr(argv[1]);  rc = sqlite3BtreeCommit(pBt);  if( rc!=SQLITE_OK ){    Tcl_AppendResult(interp, errorName(rc), 0);    return TCL_ERROR;  }  return TCL_OK;}/*** Usage:   btree_begin_statement ID**** Start a new statement transaction*/static int btree_begin_statement(  void *NotUsed,  Tcl_Interp *interp,    /* The TCL interpreter that invoked this command */  int argc,              /* Number of arguments */  const char **argv      /* Text of each argument */){  Btree *pBt;  int rc;  if( argc!=2 ){    Tcl_AppendResult(interp, "wrong # args: should be \"", argv[0],       " ID\"", 0);    return TCL_ERROR;  }  pBt = sqlite3TextToPtr(argv[1]);  rc = sqlite3BtreeBeginStmt(pBt);  if( rc!=SQLITE_OK ){    Tcl_AppendResult(interp, errorName(rc), 0);    return TCL_ERROR;  }  return TCL_OK;}/*** Usage:   btree_rollback_statement ID**** Rollback changes*/static int btree_rollback_statement(  void *NotUsed,  Tcl_Interp *interp,    /* The TCL interpreter that invoked this command */  int argc,              /* Number of arguments */  const char **argv      /* Text of each argument */){  Btree *pBt;  int rc;  if( argc!=2 ){    Tcl_AppendResult(interp, "wrong # args: should be \"", argv[0],       " ID\"", 0);    return TCL_ERROR;  }  pBt = sqlite3TextToPtr(argv[1]);  rc = sqlite3BtreeRollbackStmt(pBt);  if( rc!=SQLITE_OK ){    Tcl_AppendResult(interp, errorName(rc), 0);    return TCL_ERROR;  }  return TCL_OK;}/*** Usage:   btree_commit_statement ID**** Commit all changes*/static int btree_commit_statement(  void *NotUsed,  Tcl_Interp *interp,    /* The TCL interpreter that invoked this command */  int argc,              /* Number of arguments */  const char **argv      /* Text of each argument */){  Btree *pBt;  int rc;  if( argc!=2 ){    Tcl_AppendResult(interp, "wrong # args: should be \"", argv[0],       " ID\"", 0);    return TCL_ERROR;  }  pBt = sqlite3TextToPtr(argv[1]);  rc = sqlite3BtreeCommitStmt(pBt);  if( rc!=SQLITE_OK ){    Tcl_AppendResult(interp, errorName(rc), 0);    return TCL_ERROR;  }  return TCL_OK;}/*** Usage:   btree_create_table ID FLAGS**** Create a new table in the database*/static int btree_create_table(  void *NotUsed,  Tcl_Interp *interp,    /* The TCL interpreter that invoked this command */  int argc,              /* Number of arguments */  const char **argv      /* Text of each argument */){  Btree *pBt;  int rc, iTable, flags;  char zBuf[30];  if( argc!=3 ){    Tcl_AppendResult(interp, "wrong # args: should be \"", argv[0],       " ID FLAGS\"", 0);    return TCL_ERROR;  }  pBt = sqlite3TextToPtr(argv[1]);  if( Tcl_GetInt(interp, argv[2], &flags) ) return TCL_ERROR;  rc = sqlite3BtreeCreateTable(pBt, &iTable, flags);  if( rc!=SQLITE_OK ){    Tcl_AppendResult(interp, errorName(rc), 0);    return TCL_ERROR;  }  sqlite3_snprintf(sizeof(zBuf), zBuf, "%d", iTable);  Tcl_AppendResult(interp, zBuf, 0);  return TCL_OK;}/*** Usage:   btree_drop_table ID TABLENUM**** Delete an entire table from the database*/static int btree_drop_table(  void *NotUsed,  Tcl_Interp *interp,    /* The TCL interpreter that invoked this command */  int argc,              /* Number of arguments */  const char **argv      /* Text of each argument */){  Btree *pBt;  int iTable;  int rc;  int notUsed1;  if( argc!=3 ){    Tcl_AppendResult(interp, "wrong # args: should be \"", argv[0],       " ID TABLENUM\"", 0);    return TCL_ERROR;  }  pBt = sqlite3TextToPtr(argv[1]);  if( Tcl_GetInt(interp, argv[2], &iTable) ) return TCL_ERROR;  rc = sqlite3BtreeDropTable(pBt, iTable, &notUsed1);  if( rc!=SQLITE_OK ){    Tcl_AppendResult(interp, errorName(rc), 0);    return TCL_ERROR;  }  return TCL_OK;}/*** Usage:   btree_clear_table ID TABLENUM**** Remove all entries from the given table but keep the table around.*/static int btree_clear_table(  void *NotUsed,  Tcl_Interp *interp,    /* The TCL interpreter that invoked this command */  int argc,              /* Number of arguments */  const char **argv      /* Text of each argument */){  Btree *pBt;  int iTable;  int rc;  if( argc!=3 ){    Tcl_AppendResult(interp, "wrong # args: should be \"", argv[0],       " ID TABLENUM\"", 0);    return TCL_ERROR;  }  pBt = sqlite3TextToPtr(argv[1]);  if( Tcl_GetInt(interp, argv[2], &iTable) ) return TCL_ERROR;  rc = sqlite3BtreeClearTable(pBt, iTable);  if( rc!=SQLITE_OK ){    Tcl_AppendResult(interp, errorName(rc), 0);    return TCL_ERROR;  }  return TCL_OK;}/*** Usage:   btree_get_meta ID**** Return meta data*/static int btree_get_meta(  void *NotUsed,  Tcl_Interp *interp,    /* The TCL interpreter that invoked this command */  int argc,              /* Number of arguments */  const char **argv      /* Text of each argument */){  Btree *pBt;  int rc;  int i;  if( argc!=2 ){    Tcl_AppendResult(interp, "wrong # args: should be \"", argv[0],       " ID\"", 0);    return TCL_ERROR;  }  pBt = sqlite3TextToPtr(argv[1]);  for(i=0; i<SQLITE_N_BTREE_META; i++){    char zBuf[30];    unsigned int v;    rc = sqlite3BtreeGetMeta(pBt, i, &v);    if( rc!=SQLITE_OK ){      Tcl_AppendResult(interp, errorName(rc), 0);      return TCL_ERROR;    }    sqlite3_snprintf(sizeof(zBuf), zBuf,"%d",v);    Tcl_AppendElement(interp, zBuf);  }  return TCL_OK;}/*** Usage:   btree_update_meta ID METADATA...**** Return meta data*/static int btree_update_meta(  void *NotUsed,  Tcl_Interp *interp,    /* The TCL interpreter that invoked this command */  int argc,              /* Number of arguments */  const char **argv      /* Text of each argument */){  Btree *pBt;  int rc;  int i;  int aMeta[SQLITE_N_BTREE_META];  if( argc!=2+SQLITE_N_BTREE_META ){    char zBuf[30];    sqlite3_snprintf(sizeof(zBuf), zBuf,"%d",SQLITE_N_BTREE_META);    Tcl_AppendResult(interp, "wrong # args: should be \"", argv[0],       " ID METADATA...\" (METADATA is ", zBuf, " integers)", 0);    return TCL_ERROR;  }  pBt = sqlite3TextToPtr(argv[1]);  for(i=1; i<SQLITE_N_BTREE_META; i++){    if( Tcl_GetInt(interp, argv[i+2], &aMeta[i]) ) return TCL_ERROR;  }  for(i=1; i<SQLITE_N_BTREE_META; i++){    rc = sqlite3BtreeUpdateMeta(pBt, i, aMeta[i]);    if( rc!=SQLITE_OK ){      Tcl_AppendResult(interp, errorName(rc), 0);      return TCL_ERROR;    }  }  return TCL_OK;}/*** Usage:   btree_page_dump ID PAGENUM**** Print a disassembly of a page on standard output*/static int btree_page_dump(  void *NotUsed,  Tcl_Interp *interp,    /* The TCL interpreter that invoked this command */  int argc,              /* Number of arguments */  const char **argv      /* Text of each argument */){  Btree *pBt;  int iPage;  int rc;  if( argc!=3 ){    Tcl_AppendResult(interp, "wrong # args: should be \"", argv[0],       " ID\"", 0);    return TCL_ERROR;  }  pBt = sqlite3TextToPtr(argv[1]);  if( Tcl_GetInt(interp, argv[2], &iPage) ) return TCL_ERROR;  rc = sqlite3BtreePageDump(pBt, iPage, 0);  if( rc!=SQLITE_OK ){    Tcl_AppendResult(interp, errorName(rc), 0);    return TCL_ERROR;  }  return TCL_OK;}/*** Usage:   btree_tree_dump ID PAGENUM**** Print a disassembly of a page and all its child pages on standard output*/static int btree_tree_dump(  void *NotUsed,  Tcl_Interp *interp,    /* The TCL interpreter that invoked this command */  int argc,              /* Number of arguments */  const char **argv      /* Text of each argument */){  Btree *pBt;  int iPage;  int rc;  if( argc!=3 ){    Tcl_AppendResult(interp, "wrong # args: should be \"", argv[0],       " ID\"", 0);    return TCL_ERROR;  }  pBt = sqlite3TextToPtr(argv[1]);  if( Tcl_GetInt(interp, argv[2], &iPage) ) return TCL_ERROR;  rc = sqlite3BtreePageDump(pBt, iPage, 1);  if( rc!=SQLITE_OK ){    Tcl_AppendResult(interp, errorName(rc), 0);    return TCL_ERROR;  }

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人免费视频精品含羞草妖精| 欧美不卡一二三| 欧美另类变人与禽xxxxx| 日韩女同互慰一区二区| 欧美国产精品一区二区三区| 日韩和欧美一区二区| 99在线精品一区二区三区| 精品区一区二区| 一区二区高清在线| 成人黄色av电影| 日韩欧美123| 午夜视频在线观看一区二区三区| heyzo一本久久综合| 久久伊人蜜桃av一区二区| 午夜精品在线看| 日本一区二区三区国色天香| 免费久久99精品国产| 欧美午夜精品电影| 亚洲日本欧美天堂| 99精品久久99久久久久| 国产肉丝袜一区二区| 黑人精品欧美一区二区蜜桃| 日韩一区二区精品在线观看| 天天色图综合网| 欧美日本在线播放| 亚洲二区在线观看| 欧美最猛性xxxxx直播| 亚洲欧美另类综合偷拍| av亚洲精华国产精华| 中文字幕不卡三区| 成人一区在线看| 欧美国产激情二区三区 | 日韩区在线观看| 午夜视黄欧洲亚洲| 欧美日本不卡视频| 日韩欧美国产wwwww| 韩国一区二区在线观看| 亚洲一卡二卡三卡四卡无卡久久| 欧美日本一区二区三区四区| 蜜桃av一区二区三区| 2021久久国产精品不只是精品| 国产一区二区三区在线观看免费视频| 国产亚洲欧美在线| 欧美日韩在线播放| 精品在线免费观看| 香蕉加勒比综合久久| 国产精品久线在线观看| 极品瑜伽女神91| 久久综合视频网| 国产成人免费在线观看| 国产亚洲美州欧州综合国| 国产精品一二三四| 国产精品久久网站| 色老汉一区二区三区| 亚洲国产日韩精品| 91精品欧美一区二区三区综合在 | 亚洲亚洲精品在线观看| 最好看的中文字幕久久| 欧美国产精品一区二区| 洋洋av久久久久久久一区| 亚洲高清不卡在线| 精品无人区卡一卡二卡三乱码免费卡| heyzo一本久久综合| 91精品国产综合久久久久久漫画 | 天堂久久久久va久久久久| 中文字幕日韩一区| 久久亚洲影视婷婷| xfplay精品久久| 精品人伦一区二区色婷婷| 欧美成人综合网站| 日韩欧美一区在线| 精品国产乱码久久久久久图片| 欧美日韩精品高清| 日本精品一区二区三区高清| 欧美性生活久久| 51精品久久久久久久蜜臀| 欧美日韩dvd在线观看| 欧美一区二区在线播放| 亚洲一区在线看| 东方aⅴ免费观看久久av| 国产成人在线看| 国产成人精品综合在线观看 | 国产午夜精品理论片a级大结局| 国产成人av自拍| 国产精品麻豆久久久| 日本道免费精品一区二区三区| 日韩av中文字幕一区二区| 久久久精品黄色| 欧美少妇性性性| 国产一区二区伦理片| 中文字幕亚洲区| 91精品国产91久久综合桃花| 国产在线不卡视频| 一区二区欧美精品| 欧美精品一区二区三区四区| 91美女在线观看| 蜜臀va亚洲va欧美va天堂 | 日本不卡在线视频| 日韩福利电影在线观看| 亚洲第一成人在线| 高清久久久久久| 91亚洲精品乱码久久久久久蜜桃| 日韩亚洲欧美一区| 自拍偷拍亚洲综合| 国产激情一区二区三区桃花岛亚洲| 99久久国产综合精品女不卡| 欧美日本国产视频| 国产精品久久久久久久久快鸭| 亚洲欧美偷拍另类a∨色屁股| 在线综合视频播放| 不卡一区二区三区四区| 久热成人在线视频| 亚洲综合成人在线视频| 国产欧美日韩视频在线观看| 欧美日韩一区高清| 成人免费毛片app| 久久激五月天综合精品| 一区二区三区日韩精品视频| 国产日韩欧美在线一区| 欧美猛男gaygay网站| 99久久国产免费看| 国产麻豆精品视频| 日韩av中文字幕一区二区三区| 悠悠色在线精品| 国产精品青草综合久久久久99| 精品久久久久久久久久久久久久久 | www久久精品| 欧美电影一区二区| 在线精品观看国产| 波多野结衣中文字幕一区| 激情小说亚洲一区| 免费日韩伦理电影| 午夜精品久久久久久久蜜桃app| 亚洲色图欧美在线| 亚洲国产成人在线| 久久精品水蜜桃av综合天堂| 欧美一级夜夜爽| 欧美久久一二区| 欧美亚洲一区二区在线| 色综合久久88色综合天天6| 成人黄色av电影| 成人国产在线观看| 成人国产亚洲欧美成人综合网| 国产一区亚洲一区| 韩国成人福利片在线播放| 美女视频网站黄色亚洲| 奇米四色…亚洲| 三级不卡在线观看| 午夜欧美一区二区三区在线播放 | 久久综合中文字幕| 欧美mv日韩mv国产网站| 日韩欧美高清一区| 精品国产乱码久久久久久牛牛 | 国产+成+人+亚洲欧洲自线| 国产成人精品一区二区三区四区 | 91精品国产综合久久小美女| 欧美午夜在线观看| 欧美亚洲精品一区| 欧美日韩精品一区二区天天拍小说 | 亚洲成va人在线观看| 午夜免费欧美电影| 日韩二区在线观看| 日产精品久久久久久久性色| 日本不卡在线视频| 激情丁香综合五月| 久久99久久99| 国产一区二区三区免费| 国产成人精品aa毛片| 成人sese在线| 日本韩国精品一区二区在线观看| 91久久人澡人人添人人爽欧美| 日本韩国欧美在线| 欧美丰满美乳xxx高潮www| 欧美一区二区在线免费播放| 精品久久久网站| 国产清纯在线一区二区www| 中文字幕一区免费在线观看| 亚洲激情av在线| 天天影视色香欲综合网老头| 麻豆久久久久久久| 高清不卡一区二区| 91丨porny丨中文| 欧美日韩精品二区第二页| 欧美一区二区国产| 久久久天堂av| 亚洲免费成人av| 天天影视色香欲综合网老头| 久久99精品视频| 成人激情动漫在线观看| 在线免费观看日本一区| 日韩一区二区免费在线电影| 久久久99久久| 亚洲与欧洲av电影| 精品在线观看免费| 99视频热这里只有精品免费| 欧美午夜一区二区三区免费大片| 91精品国产综合久久久久久| 久久精品综合网| 一级做a爱片久久| 久久99久久99|