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

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

?? tcbmgr.c

?? 高性能嵌入式數(shù)據(jù)庫在高并發(fā)的環(huán)境下使用最好是64位系統(tǒng)比較好
?? C
?? 第 1 頁 / 共 2 頁
字號:
      } else if(!strcmp(argv[i], "-ci")){        cmp = tcbdbcmpint32;      } else if(!strcmp(argv[i], "-cj")){        cmp = tcbdbcmpint64;      } else if(!strcmp(argv[i], "-tl")){        if(opts == UINT8_MAX) opts = 0;        opts |= BDBTLARGE;      } else if(!strcmp(argv[i], "-td")){        if(opts == UINT8_MAX) opts = 0;        opts |= BDBTDEFLATE;      } else if(!strcmp(argv[i], "-tb")){        if(opts == UINT8_MAX) opts = 0;        opts |= BDBTBZIP;      } else if(!strcmp(argv[i], "-tt")){        if(opts == UINT8_MAX) opts = 0;        opts |= BDBTTCBS;      } else if(!strcmp(argv[i], "-tx")){        if(opts == UINT8_MAX) opts = 0;        opts |= BDBTEXCODEC;      } else if(!strcmp(argv[i], "-tz")){        if(opts == UINT8_MAX) opts = 0;      } else if(!strcmp(argv[i], "-nl")){        omode |= BDBONOLCK;      } else if(!strcmp(argv[i], "-nb")){        omode |= BDBOLCKNB;      } else {        usage();      }    } else if(!path){      path = argv[i];    } else if(!lmstr){      lmstr = argv[i];    } else if(!nmstr){      nmstr = argv[i];    } else if(!bstr){      bstr = argv[i];    } else if(!astr){      astr = argv[i];    } else if(!fstr){      fstr = argv[i];    } else {      usage();    }  }  if(!path) usage();  int lmemb = lmstr ? tcatoi(lmstr) : -1;  int nmemb = nmstr ? tcatoi(nmstr) : -1;  int bnum = bstr ? tcatoi(bstr) : -1;  int apow = astr ? tcatoi(astr) : -1;  int fpow = fstr ? tcatoi(fstr) : -1;  int rv = procoptimize(path, lmemb, nmemb, bnum, apow, fpow, cmp, opts, omode);  return rv;}/* parse arguments of importtsv command */static int runimporttsv(int argc, char **argv){  char *path = NULL;  char *file = NULL;  int omode = 0;  bool sc = false;  for(int i = 2; i < argc; i++){    if(!path && argv[i][0] == '-'){      if(!strcmp(argv[i], "-nl")){        omode |= BDBONOLCK;      } else if(!strcmp(argv[i], "-nb")){        omode |= BDBOLCKNB;      } else if(!strcmp(argv[i], "-sc")){        sc = true;      } else {        usage();      }    } else if(!path){      path = argv[i];    } else if(!file){      file = argv[i];    } else {      usage();    }  }  if(!path) usage();  int rv = procimporttsv(path, file, omode, sc);  return rv;}/* parse arguments of version command */static int runversion(int argc, char **argv){  int rv = procversion();  return rv;}/* perform create command */static int proccreate(const char *path, int lmemb, int nmemb,                      int bnum, int apow, int fpow, BDBCMP cmp, int opts){  TCBDB *bdb = tcbdbnew();  if(g_dbgfd >= 0) tcbdbsetdbgfd(bdb, g_dbgfd);  if(cmp && !tcbdbsetcmpfunc(bdb, cmp, NULL)) printerr(bdb);  if(!tcbdbsetcodecfunc(bdb, _tc_recencode, NULL, _tc_recdecode, NULL)) printerr(bdb);  if(!tcbdbtune(bdb, lmemb, nmemb, bnum, apow, fpow, opts)){    printerr(bdb);    tcbdbdel(bdb);    return 1;  }  if(!tcbdbopen(bdb, path, BDBOWRITER | BDBOCREAT | BDBOTRUNC)){    printerr(bdb);    tcbdbdel(bdb);    return 1;  }  bool err = false;  if(!tcbdbclose(bdb)){    printerr(bdb);    err = true;  }  tcbdbdel(bdb);  return err ? 1 : 0;}/* perform inform command */static int procinform(const char *path, int omode){  TCBDB *bdb = tcbdbnew();  if(g_dbgfd >= 0) tcbdbsetdbgfd(bdb, g_dbgfd);  tcbdbsetcmpfunc(bdb, mycmpfunc, NULL);  tcbdbsetcodecfunc(bdb, _tc_recencode, NULL, _tc_recdecode, NULL);  if(!tcbdbopen(bdb, path, BDBOREADER | omode)){    printerr(bdb);    tcbdbdel(bdb);    return 1;  }  bool err = false;  const char *npath = tcbdbpath(bdb);  if(!npath) npath = "(unknown)";  printf("path: %s\n", npath);  printf("database type: btree\n");  uint8_t flags = tcbdbflags(bdb);  printf("additional flags:");  if(flags & BDBFOPEN) printf(" open");  if(flags & BDBFFATAL) printf(" fatal");  printf("\n");  BDBCMP cmp = tcbdbcmpfunc(bdb);  printf("comparison function: ");  if(cmp == tcbdbcmplexical){    printf("lexical");  } else if(cmp == tcbdbcmpdecimal){    printf("decimal");  } else if(cmp == tcbdbcmpint32){    printf("int32");  } else if(cmp == tcbdbcmpint64){    printf("int64");  } else {    printf("custom");  }  printf("\n");  printf("max leaf member: %d\n", tcbdblmemb(bdb));  printf("max node member: %d\n", tcbdbnmemb(bdb));  printf("leaf number: %llu\n", (unsigned long long)tcbdblnum(bdb));  printf("node number: %llu\n", (unsigned long long)tcbdbnnum(bdb));  printf("bucket number: %llu\n", (unsigned long long)tcbdbbnum(bdb));  if(bdb->hdb->cnt_writerec >= 0)    printf("used bucket number: %lld\n", (long long)tcbdbbnumused(bdb));  printf("alignment: %u\n", tcbdbalign(bdb));  printf("free block pool: %u\n", tcbdbfbpmax(bdb));  printf("inode number: %lld\n", (long long)tcbdbinode(bdb));  char date[48];  tcdatestrwww(tcbdbmtime(bdb), INT_MAX, date);  printf("modified time: %s\n", date);  uint8_t opts = tcbdbopts(bdb);  printf("options:");  if(opts & BDBTLARGE) printf(" large");  if(opts & BDBTDEFLATE) printf(" deflate");  if(opts & BDBTBZIP) printf(" bzip");  if(opts & BDBTTCBS) printf(" tcbs");  if(opts & BDBTEXCODEC) printf(" excodec");  printf("\n");  printf("record number: %llu\n", (unsigned long long)tcbdbrnum(bdb));  printf("file size: %llu\n", (unsigned long long)tcbdbfsiz(bdb));  if(!tcbdbclose(bdb)){    if(!err) printerr(bdb);    err = true;  }  tcbdbdel(bdb);  return err ? 1 : 0;}/* perform put command */static int procput(const char *path, const char *kbuf, int ksiz, const char *vbuf, int vsiz,                   BDBCMP cmp, int omode, int dmode){  TCBDB *bdb = tcbdbnew();  if(g_dbgfd >= 0) tcbdbsetdbgfd(bdb, g_dbgfd);  if(cmp && !tcbdbsetcmpfunc(bdb, cmp, NULL)) printerr(bdb);  if(!tcbdbsetcodecfunc(bdb, _tc_recencode, NULL, _tc_recdecode, NULL)) printerr(bdb);  if(!tcbdbopen(bdb, path, BDBOWRITER | omode)){    printerr(bdb);    tcbdbdel(bdb);    return 1;  }  bool err = false;  switch(dmode){  case -1:    if(!tcbdbputkeep(bdb, kbuf, ksiz, vbuf, vsiz)){      printerr(bdb);      err = true;    }    break;  case 1:    if(!tcbdbputcat(bdb, kbuf, ksiz, vbuf, vsiz)){      printerr(bdb);      err = true;    }    break;  case 2:    if(!tcbdbputdup(bdb, kbuf, ksiz, vbuf, vsiz)){      printerr(bdb);      err = true;    }    break;  case 3:    if(!tcbdbputdupback(bdb, kbuf, ksiz, vbuf, vsiz)){      printerr(bdb);      err = true;    }    break;  default:    if(!tcbdbput(bdb, kbuf, ksiz, vbuf, vsiz)){      printerr(bdb);      err = true;    }    break;  }  if(!tcbdbclose(bdb)){    if(!err) printerr(bdb);    err = true;  }  tcbdbdel(bdb);  return err ? 1 : 0;}/* perform out command */static int procout(const char *path, const char *kbuf, int ksiz, BDBCMP cmp, int omode){  TCBDB *bdb = tcbdbnew();  if(g_dbgfd >= 0) tcbdbsetdbgfd(bdb, g_dbgfd);  if(cmp && !tcbdbsetcmpfunc(bdb, cmp, NULL)) printerr(bdb);  if(!tcbdbsetcodecfunc(bdb, _tc_recencode, NULL, _tc_recdecode, NULL)) printerr(bdb);  if(!tcbdbopen(bdb, path, BDBOWRITER | omode)){    printerr(bdb);    tcbdbdel(bdb);    return 1;  }  bool err = false;  if(!tcbdbout(bdb, kbuf, ksiz)){    printerr(bdb);    err = true;  }  if(!tcbdbclose(bdb)){    if(!err) printerr(bdb);    err = true;  }  tcbdbdel(bdb);  return err ? 1 : 0;}/* perform get command */static int procget(const char *path, const char *kbuf, int ksiz, BDBCMP cmp, int omode,                   bool px, bool pz){  TCBDB *bdb = tcbdbnew();  if(g_dbgfd >= 0) tcbdbsetdbgfd(bdb, g_dbgfd);  if(cmp && !tcbdbsetcmpfunc(bdb, cmp, NULL)) printerr(bdb);  if(!tcbdbsetcodecfunc(bdb, _tc_recencode, NULL, _tc_recdecode, NULL)) printerr(bdb);  if(!tcbdbopen(bdb, path, BDBOREADER | omode)){    printerr(bdb);    tcbdbdel(bdb);    return 1;  }  bool err = false;  int vsiz;  char *vbuf = tcbdbget(bdb, kbuf, ksiz, &vsiz);  if(vbuf){    printdata(vbuf, vsiz, px);    if(!pz) putchar('\n');    tcfree(vbuf);  } else {    printerr(bdb);    err = true;  }  if(!tcbdbclose(bdb)){    if(!err) printerr(bdb);    err = true;  }  tcbdbdel(bdb);  return err ? 1 : 0;}/* perform list command */static int proclist(const char *path, BDBCMP cmp, int omode, int max, bool pv, bool px, bool bk,                    const char *jstr, const char *bstr, const char *estr, const char *fmstr){  TCBDB *bdb = tcbdbnew();  if(g_dbgfd >= 0) tcbdbsetdbgfd(bdb, g_dbgfd);  if(cmp && !tcbdbsetcmpfunc(bdb, cmp, NULL)) printerr(bdb);  if(!tcbdbsetcodecfunc(bdb, _tc_recencode, NULL, _tc_recdecode, NULL)) printerr(bdb);  if(!tcbdbopen(bdb, path, BDBOREADER | omode)){    printerr(bdb);    tcbdbdel(bdb);    return 1;  }  bool err = false;  if(bstr || fmstr){    TCLIST *keys = fmstr ? tcbdbfwmkeys2(bdb, fmstr, max) :      tcbdbrange(bdb, bstr, strlen(bstr), true, estr, strlen(estr), true, max);    int cnt = 0;    for(int i = 0; i < tclistnum(keys); i++){      int ksiz;      const char *kbuf = tclistval(keys, i, &ksiz);      if(pv){        TCLIST *vals = tcbdbget4(bdb, kbuf, ksiz);        if(vals){          for(int j = 0; j < tclistnum(vals); j++){            int vsiz;            const char *vbuf = tclistval(vals, j, &vsiz);            printdata(kbuf, ksiz, px);            putchar('\t');            printdata(vbuf, vsiz, px);            putchar('\n');            if(max >= 0 && ++cnt >= max) break;          }          tclistdel(vals);        }      } else {        int num = tcbdbvnum(bdb, kbuf, ksiz);        for(int j = 0; j < num; j++){          printdata(kbuf, ksiz, px);          putchar('\n');          if(max >= 0 && ++cnt >= max) break;        }      }      if(max >= 0 && cnt >= max) break;    }    tclistdel(keys);  } else {    BDBCUR *cur = tcbdbcurnew(bdb);    if(bk){      if(jstr){        if(!tcbdbcurjumpback(cur, jstr, strlen(jstr)) && tcbdbecode(bdb) != TCENOREC){          printerr(bdb);          err = true;        }      } else {        if(!tcbdbcurlast(cur) && tcbdbecode(bdb) != TCENOREC){          printerr(bdb);          err = true;        }      }    } else {      if(jstr){        if(!tcbdbcurjump(cur, jstr, strlen(jstr)) && tcbdbecode(bdb) != TCENOREC){          printerr(bdb);          err = true;        }      } else {        if(!tcbdbcurfirst(cur) && tcbdbecode(bdb) != TCENOREC){          printerr(bdb);          err = true;        }      }    }    TCXSTR *key = tcxstrnew();    TCXSTR *val = tcxstrnew();    int cnt = 0;    while(tcbdbcurrec(cur, key, val)){      printdata(tcxstrptr(key), tcxstrsize(key), px);      if(pv){        putchar('\t');        printdata(tcxstrptr(val), tcxstrsize(val), px);      }      putchar('\n');      if(bk){        if(!tcbdbcurprev(cur) && tcbdbecode(bdb) != TCENOREC){          printerr(bdb);          err = true;        }      } else {        if(!tcbdbcurnext(cur) && tcbdbecode(bdb) != TCENOREC){          printerr(bdb);          err = true;        }      }      if(max >= 0 && ++cnt >= max) break;    }    tcxstrdel(val);    tcxstrdel(key);    tcbdbcurdel(cur);  }  if(!tcbdbclose(bdb)){    if(!err) printerr(bdb);    err = true;  }  tcbdbdel(bdb);  return err ? 1 : 0;}/* perform optimize command */static int procoptimize(const char *path, int lmemb, int nmemb,                        int bnum, int apow, int fpow, BDBCMP cmp, int opts, int omode){  TCBDB *bdb = tcbdbnew();  if(g_dbgfd >= 0) tcbdbsetdbgfd(bdb, g_dbgfd);  if(cmp && !tcbdbsetcmpfunc(bdb, cmp, NULL)) printerr(bdb);  if(!tcbdbsetcodecfunc(bdb, _tc_recencode, NULL, _tc_recdecode, NULL)) printerr(bdb);  if(!tcbdbopen(bdb, path, BDBOWRITER | omode)){    printerr(bdb);    tcbdbdel(bdb);    return 1;  }  bool err = false;  if(!tcbdboptimize(bdb, lmemb, nmemb, bnum, apow, fpow, opts)){    printerr(bdb);    err = true;  }  if(!tcbdbclose(bdb)){    if(!err) printerr(bdb);    err = true;  }  tcbdbdel(bdb);  return err ? 1 : 0;}/* perform importtsv command */static int procimporttsv(const char *path, const char *file, int omode, bool sc){  FILE *ifp = file ? fopen(file, "rb") : stdin;  if(!ifp){    fprintf(stderr, "%s: could not open\n", file ? file : "(stdin)");    return 1;  }  TCBDB *bdb = tcbdbnew();  if(g_dbgfd >= 0) tcbdbsetdbgfd(bdb, g_dbgfd);  if(!tcbdbsetcodecfunc(bdb, _tc_recencode, NULL, _tc_recdecode, NULL)) printerr(bdb);  if(!tcbdbopen(bdb, path, BDBOWRITER | BDBOCREAT | omode)){    printerr(bdb);    tcbdbdel(bdb);    if(ifp != stdin) fclose(ifp);    return 1;  }  bool err = false;  char *line;  int cnt = 0;  while(!err && (line = mygetline(ifp)) != NULL){    char *pv = strchr(line, '\t');    if(!pv){      tcfree(line);      continue;    }    *pv = '\0';    if(sc) tcstrtolower(line);    if(!tcbdbputdup2(bdb, line, pv + 1)){      printerr(bdb);      err = true;    }    tcfree(line);    if(cnt > 0 && cnt % 100 == 0){      putchar('.');      fflush(stdout);      if(cnt % 5000 == 0) printf(" (%08d)\n", cnt);    }    cnt++;  }  printf(" (%08d)\n", cnt);  if(!tcbdbclose(bdb)){    if(!err) printerr(bdb);    err = true;  }  tcbdbdel(bdb);  if(ifp != stdin) fclose(ifp);  return err ? 1 : 0;}/* perform version command */static int procversion(void){  printf("Tokyo Cabinet version %s (%d:%s)\n", tcversion, _TC_LIBVER, _TC_FORMATVER);  printf("Copyright (C) 2006-2008 Mikio Hirabayashi\n");  return 0;}// END OF FILE

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区三区色| 国产日产亚洲精品系列| 国产一区二区三区最好精华液| 国产精品私人影院| 91精品综合久久久久久| 91在线精品一区二区| 久久成人羞羞网站| 亚洲国产乱码最新视频| 日本一区二区三区四区| 日韩一级免费观看| 欧美综合亚洲图片综合区| 成人免费观看视频| 国内精品国产成人国产三级粉色| 亚洲夂夂婷婷色拍ww47| 成人欧美一区二区三区小说 | 成人av网站在线| 日韩电影网1区2区| 亚洲成人av电影在线| 最新国产成人在线观看| 中文字幕免费不卡| 26uuu色噜噜精品一区| 日韩欧美黄色影院| 91精品国产免费| 欧美久久久久中文字幕| 欧美视频在线一区二区三区 | 欧美一区二区三区精品| 精品视频一区二区三区免费| 一本色道**综合亚洲精品蜜桃冫| 成人一区二区三区中文字幕| 国产伦精一区二区三区| 美女一区二区三区| 免费在线一区观看| 奇米色一区二区| 天堂一区二区在线| 五月开心婷婷久久| 天天影视色香欲综合网老头| 亚洲香肠在线观看| 午夜精品久久久久久久99水蜜桃| 亚洲五码中文字幕| 一区二区视频在线看| 亚洲男帅同性gay1069| 亚洲三级小视频| 一区二区三区蜜桃| 亚洲国产日韩精品| 琪琪久久久久日韩精品| 久久成人久久爱| 国产美女久久久久| 成人精品国产免费网站| 99久久精品国产毛片| 色综合久久中文综合久久牛| 欧美中文字幕不卡| 91精品国产入口在线| 精品国产自在久精品国产| 久久青草欧美一区二区三区| 国产精品色眯眯| 一区二区三区在线视频播放| 亚洲成人7777| 国产一区二区福利视频| 不卡的av电影在线观看| 在线亚洲一区二区| 欧美一卡2卡3卡4卡| 国产网站一区二区三区| 亚洲婷婷综合久久一本伊一区| 亚洲伊人伊色伊影伊综合网| 青青草成人在线观看| 国产v综合v亚洲欧| 色综合av在线| 日韩欧美黄色影院| 中文字幕在线免费不卡| 夜夜嗨av一区二区三区网页| 美女脱光内衣内裤视频久久网站 | 亚洲欧洲制服丝袜| 性做久久久久久免费观看| 蓝色福利精品导航| 99视频超级精品| 69堂国产成人免费视频| 国产午夜精品久久久久久久| 亚洲制服丝袜在线| 国产酒店精品激情| 色噜噜狠狠成人中文综合| 欧美成人a视频| 亚洲欧洲性图库| 麻豆国产精品视频| 91美女片黄在线观看91美女| 日韩一区二区视频| 亚洲美女免费视频| 韩国毛片一区二区三区| 欧洲生活片亚洲生活在线观看| 久久久夜色精品亚洲| 亚洲一区在线观看网站| 国产伦精品一区二区三区视频青涩 | 久久综合久久综合久久| 亚洲欧美aⅴ...| 精品午夜久久福利影院| 日本韩国欧美在线| 久久久久久久av麻豆果冻| 亚洲国产成人av| 99久久精品一区| 精品国产乱码久久| 日韩一区精品视频| 在线视频中文字幕一区二区| 精品美女被调教视频大全网站| 亚洲午夜电影网| 91在线你懂得| 国产精品日产欧美久久久久| 久久成人精品无人区| 欧美日韩aaaaaa| 亚洲精品国产第一综合99久久 | 国产日产欧产精品推荐色 | 国产日韩精品一区二区三区 | 精品日韩在线观看| 日韩成人av影视| 日本电影亚洲天堂一区| 亚洲国产精品精华液2区45| 美国十次了思思久久精品导航| 色哦色哦哦色天天综合| 国产精品久久久久久久久动漫 | 日韩1区2区3区| 欧美无人高清视频在线观看| 中文字幕在线视频一区| 国产精选一区二区三区| 欧美成人性战久久| 强制捆绑调教一区二区| 在线播放视频一区| 亚洲国产成人va在线观看天堂| 91高清视频免费看| 亚洲三级在线免费观看| 99久久精品国产精品久久| 国产精品伦理一区二区| 国产成人精品午夜视频免费| 欧美电影免费观看完整版| 免费看黄色91| 欧美videos中文字幕| 天天综合色天天综合| 在线播放视频一区| 免费在线观看一区| 精品国免费一区二区三区| 久久国产生活片100| 欧美zozo另类异族| 国产精品主播直播| 日本一区二区三区dvd视频在线| 国产精品白丝av| 久久久久久久性| 99视频在线观看一区三区| 亚洲图片你懂的| 欧美色网站导航| 蜜桃av一区二区| 久久久亚洲高清| 成人激情av网| 亚洲精品日日夜夜| 欧美日韩久久久久久| 天天操天天干天天综合网| 91精品国产色综合久久不卡蜜臀| 美脚の诱脚舐め脚责91 | 国产黄人亚洲片| 国产精品理论片| 91久久精品一区二区三| 天天色综合天天| 精品久久久三级丝袜| 国产成a人亚洲| 亚洲一区二区三区小说| 91.麻豆视频| 成人免费视频视频| 亚洲一区二区视频在线观看| 欧美一区二区三区人| 国产成人激情av| 亚洲国产wwwccc36天堂| 日韩精品一区二区三区蜜臀| 成人av网址在线| 日韩黄色在线观看| 久久久99精品久久| 欧美性受xxxx黑人xyx| 久久国产精品99久久久久久老狼| 国产欧美日韩精品a在线观看| 91久久精品日日躁夜夜躁欧美| 美女性感视频久久| 成人免费在线播放视频| 日韩一级二级三级精品视频| 成人午夜激情在线| 天使萌一区二区三区免费观看| 久久久久久毛片| 欧美色图第一页| 国产成人午夜精品5599| 亚洲不卡在线观看| 国产欧美日韩精品一区| 欧美乱熟臀69xxxxxx| jlzzjlzz欧美大全| 久久激五月天综合精品| 亚洲精品视频免费观看| 久久九九99视频| 欧美日韩电影在线| 91麻豆自制传媒国产之光| 九九**精品视频免费播放| 亚洲精品乱码久久久久久黑人| 精品国产乱码久久久久久图片| 欧美日韩一区二区三区高清| 成人精品视频一区二区三区| 美女国产一区二区三区| 亚洲午夜在线电影| 亚洲天堂成人在线观看|