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

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

?? ha_memcache.h

?? Memcached java Engine
?? H
字號:
/* Copyright (C) 2003 MySQL AB  This program is free software; you can redistribute it and/or modify  it under the terms of the GNU General Public License as published by  the Free Software Foundation; either version 2 of the License, or  (at your option) any later version.  This program is distributed in the hope that it will be useful,  but WITHOUT ANY WARRANTY; without even the implied warranty of  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License for more details.  You should have received a copy of the GNU General Public License  along with this program; if not, write to the Free Software  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA *//*  Please read ha_exmple.cc before reading this file.  Please keep in mind that the memcache storage engine implements all methods  that are required to be implemented. handler.h has a full list of methods  that you can implement.*/#ifdef USE_PRAGMA_INTERFACE#pragma interface			/* gcc class implementation */#endif#define HAVE_DEBUG 1#include <libmemcached/memcached.h>#include "xmlrow.h"/*  MEMCACHE_SHARE is a structure that will be shared amoung all open handlers  The memcache implements the minimum of what you will probably need.*/typedef struct st_memcache_share {  char *table_name;  uint table_name_length, use_count;  pthread_mutex_t mutex;  bool native;  THR_LOCK lock;} MEMCACHE_SHARE;typedef struct memcache_server_st {  char *server_name;  uint server_name_length, use_count;} memcache_server_st;/*  Class definition for the storage engine*/class ha_memcache: public handler{  THR_LOCK_DATA lock;      /* MySQL lock */  MEMCACHE_SHARE *share;    /* Shared lock info */  memcached_st *memc;  char key_built_buffer[2048];  size_t current_key_length;  char *current_key;  unsigned char *rec_buff;  size_t alloced_rec_buff_length;  size_t rec_buff_length;  int open_connection(char *connect_string, unsigned int length);  void close_connection(void);  size_t pack_row(unsigned char *record);  void unpack_row(unsigned char *record, char *reciever, size_t reciever_length);  bool fix_rec_buff(size_t length);  size_t max_row_length();  unsigned int find_primary_key_length(void);  int find_row(unsigned char *buf, const unsigned char *key, uint key_len);  Field **find_primary_key(void);  void make_key(Field *primary);public:  ha_memcache(handlerton *hton, TABLE_SHARE *table_arg);  ~ha_memcache()  {  }  /* The name that will be used for display purposes */  const char *table_type() const { return "MEMCACHE"; }  /*    The name of the index type that will be used for display    don't implement this method unless you really have indexes   */  const char **bas_ext() const;  /*    This is a list of flags that says what the storage engine    implements. The current table flags are documented in    handler.h  */  ulonglong table_flags() const  {    return (HA_REQUIRE_PRIMARY_KEY|HA_BINLOG_ROW_CAPABLE|HA_NO_TRANSACTIONS);  }  /*    This is a bitmap of flags that says how the storage engine    implements indexes. The current index flags are documented in    handler.h. If you do not implement indexes, just return zero    here.    part is the key part to check. First key part is 0    If all_parts it's set, MySQL want to know the flags for the combined    index up to and including 'part'.  */  ulong index_flags(uint inx, uint part, bool all_parts) const  {    return HA_ONLY_WHOLE_INDEX;  }  /*    What we return when asked about index type  */  const char *index_type(uint inx)  {    return ("HASH");  }  /*    unireg.cc will call the following to make sure that the storage engine can    handle the data it is about to send.    Return *real* limits of your storage engine here. MySQL will do    min(your_limits, MySQL_limits) automatically    There is no need to implement ..._key_... methods if you don't suport    indexes.  */  uint max_supported_record_length() const { return HA_MAX_REC_LENGTH; }  uint max_supported_keys()          const { return 1; }  uint max_supported_key_parts()     const { return 1; }  uint max_supported_key_length()    const { return 256; } //memcached is maxed out at 255  /*    Everything below are methods that we implment in ha_memcache.cc.    Most of these methods are not obligatory, skip them and    MySQL will treat them as not implemented  */  int open(const char *name, int mode, uint test_if_locked);    // required  int close(void);                                              // required  /*    unlike index_init(), rnd_init() can be called two times    without rnd_end() in between (it only makes sense if scan=1).    then the second call should prepare for the new table scan    (e.g if rnd_init allocates the cursor, second call should    position it to the start of the table, no need to deallocate    and allocate it again  */  int write_row(unsigned char * buf);  int rnd_init(bool scan);                                      //required  int rnd_end();  int rnd_next(unsigned char *buf);                                      //required  int rnd_pos(unsigned char * buf, unsigned char *pos);                           //required  int delete_row(const unsigned char *buf);  int update_row(const unsigned char *old_data, unsigned char *new_data);  int index_read(unsigned char * buf, const unsigned char * key,                 uint key_len, enum ha_rkey_function find_flag);  int index_next(unsigned char * buf)  { return  HA_ERR_END_OF_FILE; }  ha_rows records_in_range(uint inx, key_range *min_key,                           key_range *max_key);  int read_range_first(const key_range *start_key,                       const key_range *end_key,                       bool eq_range, bool sorted);  int read_range_next();#ifdef NOT_DONE  const COND* ha_memcache::cond_push(const COND *cond);#endif  void position(const unsigned char *record);                            //required  int info(uint);                                              //required  int create(const char *name, TABLE *form,             HA_CREATE_INFO *create_info);                      //required  THR_LOCK_DATA **store_lock(THD *thd, THR_LOCK_DATA **to,                             enum thr_lock_type lock_type);     //required};

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人丝袜视频网| 国产成人在线色| 伊人婷婷欧美激情| 亚洲欧美视频在线观看视频| 国产女同性恋一区二区| 国产调教视频一区| 国产精品美女久久久久aⅴ国产馆| 久久久久99精品国产片| 中文文精品字幕一区二区| 国产精品午夜在线| 国产情人综合久久777777| 欧美国产一区在线| 曰韩精品一区二区| 日本亚洲天堂网| 国产传媒一区在线| 色综合久久久久| 欧美一区二区在线免费观看| 精品国产一区二区三区忘忧草| 久久精品夜色噜噜亚洲a∨| 国产精品美女久久久久高潮| 亚洲一区二区三区视频在线播放| 肉色丝袜一区二区| 国产黄色精品网站| 欧美综合天天夜夜久久| 日韩欧美亚洲国产另类| 亚洲国产精品成人综合 | 亚洲欧美偷拍三级| 亚洲成人tv网| 激情综合五月天| 日本道免费精品一区二区三区| 欧美一区二区在线免费播放| 国产精品拍天天在线| 一区二区三区高清| 国产精品中文字幕日韩精品 | 91精品国产一区二区人妖| 久久奇米777| 亚洲va欧美va人人爽午夜| 国产在线观看一区二区| 色伊人久久综合中文字幕| 欧美一二三区精品| 亚洲精品中文字幕在线观看| 黄一区二区三区| 欧美欧美午夜aⅴ在线观看| 国产亚洲精品久| 麻豆91在线观看| 欧美午夜寂寞影院| 国产精品久久久久久久久图文区| 日韩精品1区2区3区| 粉嫩av一区二区三区在线播放| 制服丝袜激情欧洲亚洲| 亚洲日本va在线观看| 国产乱子轮精品视频| 欧美日韩一区久久| 亚洲男人天堂av| jiyouzz国产精品久久| 精品成人一区二区| 青青青伊人色综合久久| 在线国产电影不卡| 成人欧美一区二区三区在线播放| 精品一区二区影视| 欧美电视剧免费观看| 日韩av二区在线播放| 欧美性色黄大片手机版| 亚洲乱码中文字幕综合| 9人人澡人人爽人人精品| 久久久一区二区三区捆绑**| 久久电影网电视剧免费观看| 91精品欧美福利在线观看| 亚洲成人你懂的| 欧美精品在线观看一区二区| 亚洲1区2区3区视频| 在线一区二区三区四区五区| 亚洲精品亚洲人成人网在线播放| av电影在线观看完整版一区二区| 国产欧美日韩综合| 成人性生交大片免费看中文| 中文字幕不卡三区| 97国产一区二区| 一区二区三区在线不卡| 欧美主播一区二区三区| 亚洲动漫第一页| 日韩一区二区在线观看视频 | 亚洲r级在线视频| 欧美精品18+| 麻豆极品一区二区三区| 久久一区二区视频| 91尤物视频在线观看| 一区二区三区美女| 欧美一区二区三区精品| 激情国产一区二区| 欧美国产日本韩| 91福利社在线观看| 精品一区二区免费看| 国产精品天天摸av网| 色94色欧美sute亚洲线路一久| 日韩专区在线视频| 久久久久久久久免费| 91视视频在线直接观看在线看网页在线看| 亚洲精品国产精华液| 欧美精品高清视频| 春色校园综合激情亚洲| 成人免费在线视频| 69堂成人精品免费视频| 国产精品2024| 午夜精品一区在线观看| 久久女同精品一区二区| 一本大道久久a久久精品综合| 秋霞午夜鲁丝一区二区老狼| 国产精品家庭影院| 欧美日韩国产综合一区二区 | 久久99在线观看| 亚洲黄网站在线观看| 精品久久一区二区| 色综合中文字幕国产| 亚洲国产一二三| 国产亚洲欧美中文| 欧美精品电影在线播放| gogo大胆日本视频一区| 精品一区二区三区免费播放| 一区二区三区在线观看欧美| 精品国产一区二区三区av性色| 在线视频综合导航| 成人三级伦理片| 黄色资源网久久资源365| 亚洲一区二区免费视频| 中文字幕制服丝袜成人av| 日韩精品一区二区三区三区免费| 91在线视频在线| 成人高清视频在线| 国产一区999| 精品一区二区国语对白| 日韩高清不卡在线| 亚洲国产成人高清精品| 一区二区三区四区在线免费观看 | 国产在线麻豆精品观看| 奇米综合一区二区三区精品视频 | 久久99国产精品久久99果冻传媒| 亚洲成av人影院在线观看网| 最新不卡av在线| 国产精品卡一卡二卡三| 精品国产免费一区二区三区四区| 欧美日韩日本视频| 欧美日韩一区在线| 欧美日韩在线播放三区四区| 欧美在线制服丝袜| 在线免费观看成人短视频| 99精品黄色片免费大全| 成人理论电影网| 成人国产精品免费观看| 丰满少妇久久久久久久| 国产成人自拍在线| 成人毛片在线观看| 91香蕉视频污在线| 色婷婷久久久久swag精品| 91片黄在线观看| 日本大香伊一区二区三区| 欧美中文字幕亚洲一区二区va在线| 99精品黄色片免费大全| 91久久精品一区二区三| 欧美色男人天堂| 日韩午夜激情av| 久久久噜噜噜久久中文字幕色伊伊| 337p粉嫩大胆色噜噜噜噜亚洲| 精品欧美一区二区三区精品久久 | 日本不卡视频在线| 激情丁香综合五月| 成人美女视频在线看| 波多野结衣中文一区| 一本到三区不卡视频| 91精品久久久久久蜜臀| 精品欧美一区二区在线观看| 国产日韩欧美高清| 亚洲综合男人的天堂| 日韩黄色免费网站| 国产精品香蕉一区二区三区| 成人亚洲精品久久久久软件| 91福利国产精品| 精品国产免费一区二区三区四区 | 制服丝袜成人动漫| 久久青草国产手机看片福利盒子| 中文字幕中文乱码欧美一区二区| 一区二区三区四区在线播放 | 欧美影院精品一区| 日韩精品一区二区三区四区视频| 国产欧美一区二区三区在线老狼| 一区二区三区精品视频| 麻豆精品国产传媒mv男同| av日韩在线网站| 精品久久久久一区二区国产| 亚洲视频网在线直播| 图片区小说区区亚洲影院| 国产美女av一区二区三区| 欧美视频自拍偷拍| 国产欧美日韩激情| 美腿丝袜亚洲综合| 在线观看日韩电影| 亚洲国产岛国毛片在线| 日韩成人伦理电影在线观看| 不卡一区在线观看| 久久综合久色欧美综合狠狠|