示例#1
0
static void tt_open_db (void)
{
    char* host = NULL;
    int   port = DEFAULT_PORT;

    if (rdb != NULL)
        return;

    host = ((config_host != NULL) ? config_host : DEFAULT_HOST);

    if (config_port != NULL)
    {
        port = parse_service_name (config_port);
        if (port <= 0)
            return;
    }

    rdb = tcrdbnew ();
    if (rdb == NULL)
        return;
    else if (!tcrdbopen(rdb, host, port))
    {
        printerr ();
        tcrdbdel (rdb);
        rdb = NULL;
    }
} /* void tt_open_db */
示例#2
0
int tt_put(char * key,char * zv,int nv,value_t vt)
{
	int ecode;
	int rt = 0;
	int nk = strlen(key);
	TCRDB * rdb = tcrdbnew();
	int db_port = get_db_port(vt);
	printf("db_port -- %d\n",db_port);
	if(!tcrdbopen(rdb,LOCALHOST,db_port))
	{
		ecode = tcrdbecode(rdb);
		fprintf(stderr,"tt_put:open %s error -- %s\n",db_port,tcrdberrmsg(ecode));
		rt = 1;
	}
	else
	{
		printf("db open success!\n");
    	if(!tcrdbput(rdb,key,nk,zv,nv))
    	{
    		ecode = tcrdbecode(rdb);
    		fprintf(stderr,"(key=%s) tt_put error:%s\n",key,tcrdberrmsg(ecode));
    		rt = 2;
    	}
    	else
    	{
			printf("(key=%s) tt_put success!\n",key);
    	}
	}
	tcrdbdel(rdb);
	return rt;
}
示例#3
0
char *iod_get(char *key,int *nv)
{
	int ecode;
	int nk = strlen(key);
	char *value;
	TCRDB * rdb = tcrdbnew();
	int db_port = get_db_port(IO_DATA);
	printf("db_port -- %d\n",db_port);
	if(!tcrdbopen(rdb,LOCALHOST,db_port))
	{
		ecode = tcrdbecode(rdb);
		fprintf(stderr,"iod_get:open %s error -- %s\n",db_port,tcrdberrmsg(ecode));
		return NULL;
	}else{
		printf("db open success!\n");
	    if((value = tcrdbget(rdb,key,nk,nv)) == NULL)
    	{
	    	ecode = tcrdbecode(rdb);
	    	fprintf(stderr,"(key=%s) tt_get error:%s\n",key,tcrdberrmsg(ecode));
			return NULL;
		}else{
	    	printf("(key=%s) tt_get success!\n",key);
			printf("%d bytes read\n",*nv);
    	}
	}
	tcrdbdel(rdb);
	return value;
}
示例#4
0
int open_db(char *addr, int port, TCRDB **rdb)
{
    int ecode=0;

    if (*rdb != NULL) {
        if(!tcrdbclose(*rdb)){
          ecode = tcrdbecode(*rdb);
          fprintf(stderr, "close error: %s\n", tcrdberrmsg(ecode));
        }
        tcrdbdel(*rdb);
        *rdb = NULL;
    }
    *rdb = tcrdbnew();
    if(!tcrdbopen(*rdb, addr, port)){
        ecode = tcrdbecode(*rdb);
        fprintf(stderr, "open error(%s:%d): %s\n", addr, port, tcrdberrmsg(ecode));
        *rdb = NULL;
    } else {
        char *status = tcrdbstat(*rdb);
        printf("adding indices\n---------------------\n");
        tcrdbtblsetindex(*rdb, "x", RDBITDECIMAL);
        tcrdbtblsetindex(*rdb, "y", RDBITDECIMAL);
        printf("%s---------------------\n", status);
        if (status) free(status);
    }
    return ecode;
}
示例#5
0
文件: ltyrant.c 项目: MengJie/solid
static int
rdb_open(lua_State *L){
	const char *host = luaL_optstring(L, 1, "localhost");
	int port = luaL_optint(L, 2, 1978);
	RDBDATA *data = lua_newuserdata(L, sizeof(*data));
	if(!data) return default_error(L);
	data->rdb = tcrdbnew();
	if(!tcrdbopen(data->rdb, host, port)) return rdb_error(L, data->rdb);
	data->is_open = true;
	luaL_getmetatable(L, MT_NAME);
	lua_setmetatable(L, -2);
	return 1;
}
示例#6
0
	void TTClient::open(){
	    for(size_t i = 0; i < serverList_.size(); i++){
		if(tcrdbopen(tcrdbPtr_, serverList_[i].first.c_str(), serverList_[i].second)){
		    LOG_INFO("TTClient::open => success : server = " << serverList_[i].first << ":" << serverList_[i].second);
		    break;
		} else {
		    int code = tcrdbecode(tcrdbPtr_);
		    LOG_ERROR("TTClient::open => failure : " 
			    << serverList_[i].first << ":" << serverList_[i].second 
			    << " code = " << code << " msg = " << tcrdberrmsg(code));
		}
	    }
	}
示例#7
0
文件: tcfiler.c 项目: wix/tcfiler
bool open_tyrant_db() {

    int ecode;


    /* open the database */
    if (!tcrdbopen(tdb, tcxstrptr(tdb_host), tdb_port)) {
        ecode = tchdbecode(tdb);
        fprintf(stdout, "Failed to open database, error: %s\n", tcrdberrmsg(ecode));
        return false;
    }

    return true;

}
示例#8
0
TCRDB* MemCacheServerHandler::GetDB(int id)
{
	TCRDB* pResult = (TCRDB*) (m_xConnList[id]);
	if (pResult == NULL)
	{
		pResult = tcrdbnew();
		std::string ip = m_xIpList[id];
		int port = m_xProtList[id];
		if (tcrdbopen(pResult, ip.c_str() ,port ))
		{
			m_xConnList[id] = pResult;
		}

	}
	return pResult;
}
示例#9
0
/* open */
JNIEXPORT jboolean JNICALL Java_tokyotyrant_TCRDB_open
(JNIEnv *env, jobject self, jstring host, jint port){
  if(!host){
    throwillarg(env);
    return false;
  }
  TCRDB *tcrdb = (TCRDB *)(intptr_t)(*env)->GetLongField(env, self, tcrdb_fid_ptr);
  jboolean icp;
  const char *thost = (*env)->GetStringUTFChars(env, host, &icp);
  if(!thost){
    throwoutmem(env);
    return false;
  }
  bool rv = tcrdbopen(tcrdb, thost, port);
  if(icp) (*env)->ReleaseStringUTFChars(env, host, thost);
  return rv;
}
static VALUE mTokyoMessenger_connect(VALUE vself){
  VALUE host, port, timeout, retry, server;
  int ecode;
  TCRDB *db = mTokyoMessenger_getdb(vself);

  host = rb_iv_get(vself, "@host");
  port = rb_iv_get(vself, "@port");
  timeout = rb_iv_get(vself, "@timeout");
  retry = rb_iv_get(vself, "@retry");

  if((!tcrdbtune(db, NUM2DBL(timeout), retry == Qtrue ? RDBTRECON : 0)) ||
     (!tcrdbopen(db, RSTRING_PTR(host), FIX2INT(port)))){
    ecode = tcrdbecode(db);
    rb_raise(eTokyoMessengerError, "open error: %s", tcrdberrmsg(ecode));
  }

  server = rb_str_new2(tcrdbexpr(db));
  rb_iv_set(vself, "@server", server);

  return Qtrue;
}
示例#11
0
int tt_get(char * key,char * zv,value_t vt)
{
	int ecode;
	int nv;
	int rt = 0;
	int nk = strlen(key);
	char * value;
	TCRDB * rdb = tcrdbnew();
	int db_port = get_db_port(vt);
	printf("db_port -- %d\n",db_port);
	if(!tcrdbopen(rdb,LOCALHOST,db_port))
	{
		ecode = tcrdbecode(rdb);
		fprintf(stderr,"tt_get:open %s error -- %s\n",db_port,tcrdberrmsg(ecode));
		rt = 1;
	}
	else
	{
		printf("db open success!\n");
	    if((value = tcrdbget(rdb,key,nk,&nv)) == NULL)
    	{
	    	ecode = tcrdbecode(rdb);
	    	fprintf(stderr,"(key=%s) tt_get error:%s\n",key,tcrdberrmsg(ecode));
	    	rt = 2;
    	}
    	else
    	{
	    	printf("(key=%s) tt_get success!\n",key);
			printf("%d bytes read\n",nv);
			memcpy(zv,value,nv);
			free(value);
    	}
	}
	tcrdbdel(rdb);
	return rt;
}
示例#12
0
int
xtcrdb_open(void* rdb, const char* host, int port)
{
        return (int)tcrdbopen(rdb, host, port);
}
示例#13
0
void QStore::init(bool need_url_seen_db, const std::string &url_seen_server,
        bool need_html_db, const std::string &html_db_server,
        bool need_record_db, const std::string &record_db_server,
        bool need_media_db, const std::string &media_db_server)
{
    if (need_url_seen_db) {
        url_seen_memc  = memcached_create(NULL);
        url_seen_servers = memcached_servers_parse(url_seen_server.c_str());
        if (url_seen_servers != NULL) {
            memcached_return_t rc = memcached_server_push(url_seen_memc, url_seen_servers);
            memcached_server_list_free(url_seen_servers);
            if (rc != MEMCACHED_SUCCESS) {
                LOG(FATAL) << "open url seen db " << url_seen_server << " fail " << memcached_strerror(url_seen_memc, rc);
            }
        } else {
            LOG(FATAL) << "url seen servers server config error " << url_seen_server;
        }
    }
/*
    if (need_html_db) {
        get_host_port_from_server(html_db_server, 9860, html_db_host, html_db_port);
        html_db = tcrdbnew();
        if(!tcrdbopen(html_db, html_db_host.c_str(), html_db_port)){
            int ecode = tcrdbecode(html_db);
            LOG(FATAL) << "open html db " << html_db_server << " fail " << tcrdberrmsg(ecode);
        } else {
            LOG(INFO) << "open html db " << html_db_server << " okay";
        }
    }
*/
    if (need_html_db) {
        html_memc  = memcached_create(NULL);
        html_servers = memcached_servers_parse(html_db_server.c_str());
        if (html_servers != NULL) {
            memcached_return_t rc = memcached_server_push(html_memc, html_servers);
            memcached_server_list_free(html_servers);
            if (rc != MEMCACHED_SUCCESS) {
                LOG(FATAL) << "open html db " << html_db_server << " fail " << memcached_strerror(html_memc, rc);
            }
        } else {
            LOG(FATAL) << "html servers server config error " << html_db_server;
        }
    }

    if (need_record_db) {
        get_host_port_from_server(record_db_server, 9870, record_db_host, record_db_port);
        record_db = tcrdbnew();
        if(!tcrdbopen(record_db, record_db_host.c_str(), record_db_port)){
            int ecode = tcrdbecode(record_db);
            LOG(FATAL) << "open record db " << record_db_server << " fail " << tcrdberrmsg(ecode);
        } else {
            LOG(INFO) << "open record db " << record_db_server << " okay";
        }
    }

    if (need_media_db) {
        get_host_port_from_server(media_db_server, 9880, media_db_host, media_db_port);
        media_db = tcrdbnew();
        if(!tcrdbopen(media_db, media_db_host.c_str(), media_db_port)){
            int ecode = tcrdbecode(media_db);
            LOG(FATAL) << "open media db " << media_db_server << " fail " << tcrdberrmsg(ecode);
        } else {
            LOG(INFO) << "open media db " << media_db_server << " okay";
        }
    }
}
示例#14
0
文件: db_obj.cpp 项目: Quix0r/seeks
 bool db_obj_remote::dbopen(int c)
 {
   // c is ignored
   return tcrdbopen(_hdb,_host.c_str(),_port);
 }