您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ tdsdump_log函数代码示例

51自学网 2021-06-03 08:43:11
  C++
这篇教程C++ tdsdump_log函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中tdsdump_log函数的典型用法代码示例。如果您正苦于以下问题:C++ tdsdump_log函数的具体用法?C++ tdsdump_log怎么用?C++ tdsdump_log使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了tdsdump_log函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: pool_process_members

/*  * pool_process_members * check the fd_set for members returning data to the client, lookup the  * client holding this member and forward the results. */intpool_process_members(TDS_POOL * pool, fd_set * fds){	TDS_POOL_MEMBER *pmbr;	TDS_POOL_USER *puser;	TDSSOCKET *tds;	int i, age, ret;	int cnt = 0;	time_t time_now;	for (i = 0; i < pool->num_members; i++) {		pmbr = &pool->members[i];		tds = pmbr->tds;		if (!tds) {			assert(pmbr->state == TDS_IDLE);			continue;	/* dead connection */		}		time_now = time(NULL);		if (FD_ISSET(tds_get_s(tds), fds)) {			pmbr->last_used_tm = time_now;			cnt++;			if (pool_packet_read(tds))				continue;			if (tds->in_len == 0) {				fprintf(stderr, "Uh oh! member %d disconnected/n", i);				/* mark as dead */				pool_free_member(pmbr);			} else if (tds->in_len < 0) {				fprintf(stderr, "Uh oh! member %d disconnected/n", i);				perror("read");				pool_free_member(pmbr);			} else {				tdsdump_dump_buf(TDS_DBG_NETWORK, "Got packet from server:", tds->in_buf, tds->in_len);				/* fprintf(stderr, "read %d bytes from member %d/n", tds->in_len, i); */				puser = pmbr->current_user;				if (puser) {					tdsdump_log(TDS_DBG_INFO1, "writing it sock %d/n", tds_get_s(puser->tds));					/* cf. net.c for better technique.  */					/* FIXME handle partial write, stop read on member */					ret = pool_write_all(tds_get_s(puser->tds), tds->in_buf, tds->in_len);					if (ret < 0) { /* couldn't write, ditch the user */						fprintf(stdout, "member %d received error while writing/n",i);						pool_free_member(pmbr);					}				}			}		}		age = time_now - pmbr->last_used_tm;		if (age > pool->max_member_age && i >= pool->min_open_conn && !pmbr->current_user) {			fprintf(stderr, "member %d is %d seconds old...closing/n", i, age);			pool_free_member(pmbr);		}	}	return cnt;}
开发者ID:misterion,项目名称:freetds,代码行数:63,


示例2: cs_diag

CS_RETCODEcs_diag(CS_CONTEXT * ctx, CS_INT operation, CS_INT type, CS_INT idx, CS_VOID * buffer){	tdsdump_log(TDS_DBG_FUNC, "cs_diag(%p, %d, %d, %d, %p)/n", ctx, operation, type, idx, buffer);	switch (operation) {		case CS_INIT:			if ( ctx->cs_errhandletype == _CS_ERRHAND_CB) {				/* contrary to the manual page you don't seem to */				/* be able to turn on inline message handling    */				/* using cs_diag, once a callback is installed!  */				return CS_FAIL;			}			ctx->cs_errhandletype = _CS_ERRHAND_INLINE;			ctx->cs_diag_msglimit = CS_NO_LIMIT;			ctx->_cslibmsg_cb = (CS_CSLIBMSG_FUNC) cs_diag_storemsg; 			break;		case CS_MSGLIMIT:			if ( ctx->cs_errhandletype != _CS_ERRHAND_INLINE) {				return CS_FAIL;			}			ctx->cs_diag_msglimit = *(CS_INT *)buffer;			break;		case CS_CLEAR:			if ( ctx->cs_errhandletype != _CS_ERRHAND_INLINE) {				return CS_FAIL;			}			return (cs_diag_clearmsg(ctx, type));			break;		case CS_GET:			if ( ctx->cs_errhandletype != _CS_ERRHAND_INLINE) {				return CS_FAIL;			}			if (buffer == NULL)				return CS_FAIL;			if (idx == 0 || (ctx->cs_diag_msglimit != CS_NO_LIMIT && idx > ctx->cs_diag_msglimit) )				return CS_FAIL;			return (cs_diag_getmsg(ctx, idx, (CS_CLIENTMSG *)buffer)); 						break;		case CS_STATUS:			if ( ctx->cs_errhandletype != _CS_ERRHAND_INLINE) {				return CS_FAIL;			}			if (buffer == NULL) 				return CS_FAIL;			return (cs_diag_countmsg(ctx, (CS_INT *)buffer));			break;	}	return CS_SUCCEED;		}
开发者ID:Distrotech,项目名称:freetds,代码行数:57,


示例3: cs_will_convert

CS_RETCODEcs_will_convert(CS_CONTEXT * ctx, CS_INT srctype, CS_INT desttype, CS_BOOL * result){	tdsdump_log(TDS_DBG_FUNC, "cs_will_convert(%p, %d, %d, %p)/n", ctx, srctype, desttype, result);	*result = (tds_willconvert(srctype, desttype) ? CS_TRUE : CS_FALSE);	return CS_SUCCEED;}
开发者ID:Distrotech,项目名称:freetds,代码行数:9,


示例4: pool_user_read

/* * pool_user_read * checks the packet type of data coming from the client and allocates a  * pool member if necessary. */static boolpool_user_read(TDS_POOL * pool, TDS_POOL_USER * puser){	TDSSOCKET *tds = puser->sock.tds;	TDS_POOL_MEMBER *pmbr = NULL;	for (;;) {		if (pool_packet_read(tds))			break;		if (tds->in_len == 0) {			tdsdump_log(TDS_DBG_INFO1, "user disconnected/n");			pool_free_user(pool, puser);			return false;		} else {			TDS_UCHAR in_flag = tds->in_buf[0];			tdsdump_dump_buf(TDS_DBG_NETWORK, "Got packet from client:", tds->in_buf, tds->in_len);			switch (in_flag) {			case TDS_QUERY:			case TDS_NORMAL:			case TDS_RPC:			case TDS_BULK:			case TDS_CANCEL:			case TDS7_TRANS:				if (!pool_write_data(&puser->sock, &puser->assigned_member->sock)) {					pool_reset_member(pool, puser->assigned_member);					return false;				}				pmbr = puser->assigned_member;				break;			default:				tdsdump_log(TDS_DBG_ERROR, "Unrecognized packet type, closing user/n");				pool_free_user(pool, puser);				return false;			}		}	}	if (pmbr && !pmbr->sock.poll_send)		tds_socket_flush(tds_get_s(pmbr->sock.tds));	return true;}
开发者ID:DoubleQuantZ,项目名称:freetds,代码行数:48,


示例5: odbc_bcp_free_storage

voidodbc_bcp_free_storage(TDS_DBC *dbc){    tdsdump_log(TDS_DBG_FUNC, "_bcp_free_storage(%p)/n", dbc);    assert(dbc);    tds_free_bcpinfo(dbc->bcpinfo);    dbc->bcpinfo = NULL;    TDS_ZERO_FREE(dbc->bcphint);}
开发者ID:nextgres,项目名称:freetds,代码行数:10,


示例6: dbpivot_max

voiddbpivot_max (struct col_t *tgt, const struct col_t *src){	assert( tgt && src);	assert (src->type);		tgt->type = src->type;		if (col_null(src))		return;	switch (src->type) {	case SYBINT1:		tgt->ti = tgt->ti > src->ti? tgt->ti : src->ti;		break;	case SYBINT2:		tgt->si = tgt->si > src->si? tgt->si : src->si;		break;	case SYBINT4:		tgt->i = tgt->i > src->i? tgt->i : src->i;		break;	case SYBFLT8:		tgt->f = tgt->f > src->f? tgt->f : src->f;		break;	case SYBREAL:		tgt->r = tgt->r > src->r? tgt->r : src->r;		break;	case SYBCHAR:	case SYBVARCHAR:	case SYBINTN:	case SYBDATETIME:	case SYBBIT:	case SYBTEXT:	case SYBNTEXT:	case SYBIMAGE:	case SYBMONEY4:	case SYBMONEY:	case SYBDATETIME4:	case SYBBINARY:	case SYBVOID:	case SYBVARBINARY:	case SYBBITN:	case SYBNUMERIC:	case SYBDECIMAL:	case SYBFLTN:	case SYBMONEYN:	case SYBDATETIMN:	default:		tdsdump_log(TDS_DBG_INFO1, "dbpivot_sum(): invalid operand %d/n", src->type);		tgt->type = SYBINT4;		tgt->i = 0;		break;	}}
开发者ID:RQZeng,项目名称:freetds,代码行数:55,


示例7: tds_config_env_tdsport

static voidtds_config_env_tdsport(TDSCONNECTINFO * connect_info){	char *s;	if ((s = getenv("TDSPORT"))) {		connect_info->port = atoi(s);		tdsdump_log(TDS_DBG_INFO1, "%L Setting 'port' to %s from $TDSPORT./n", s);	}	return;}
开发者ID:BackupTheBerlios,项目名称:upwatch-svn,代码行数:11,


示例8: tds_try_conf_file

static inttds_try_conf_file(const char *path, const char *how, const char *server, TDSCONNECTINFO * connect_info){	int found = 0;	FILE *in;	if ((in = fopen(path, "r")) != NULL) {		tdsdump_log(TDS_DBG_INFO1, "%L Found conf file '%s' %s. Reading section '%s'./n", path, how, server);		found = tds_read_conf_sections(in, server, connect_info);		if (found) {			tdsdump_log(TDS_DBG_INFO1, "%L ...Success./n");		} else {			tdsdump_log(TDS_DBG_INFO2, "%L ...'%s' not found./n", server);		}		fclose(in);	}	return found;}
开发者ID:BackupTheBerlios,项目名称:upwatch-svn,代码行数:20,


示例9: cs_loc_drop

CS_RETCODEcs_loc_drop(CS_CONTEXT * ctx, CS_LOCALE * locale){	tdsdump_log(TDS_DBG_FUNC, "cs_loc_drop(%p, %p)/n", ctx, locale);	if (!locale)		return CS_FAIL;	_cs_locale_free(locale);	return CS_SUCCEED;}
开发者ID:Distrotech,项目名称:freetds,代码行数:11,


示例10: tds_push_func_login

static SSL_RETtds_push_func_login(SSL_PUSH_ARGS){	TDSSOCKET *tds = (TDSSOCKET *) SSL_PTR;	tdsdump_log(TDS_DBG_INFO1, "in tds_push_func_login/n");	/* initializing SSL, write crypted data inside normal TDS packets */	tds_put_n(tds, data, len);	return len;}
开发者ID:hutchinson,项目名称:freetds,代码行数:11,


示例11: _cs_locale_free

void _cs_locale_free(CS_LOCALE *locale){	tdsdump_log(TDS_DBG_FUNC, "_cs_locale_free(%p)/n", locale);	/* free contents */	_cs_locale_free_contents(locale);	/* free the data structure */	free(locale);}
开发者ID:Distrotech,项目名称:freetds,代码行数:11,


示例12: tds7_build_bulk_insert_stmt

/** * Help to build query to be sent to server. * Append column declaration to the query. * Only for TDS 7.0+. * /tds * /param[out] clause output string * /param bcpcol column to append * /param first  true if column is the first * /return TDS_SUCCESS or TDS_FAIL. */static TDSRETtds7_build_bulk_insert_stmt(TDSSOCKET * tds, TDSPBCB * clause, TDSCOLUMN * bcpcol, int first){	char column_type[40];	tdsdump_log(TDS_DBG_FUNC, "tds7_build_bulk_insert_stmt(%p, %p, %p, %d)/n", tds, clause, bcpcol, first);	if (TDS_FAILED(tds_get_column_declaration(tds, bcpcol, column_type))) {		tdserror(tds_get_ctx(tds), tds, TDSEBPROBADTYP, errno);		tdsdump_log(TDS_DBG_FUNC, "error: cannot build bulk insert statement. unrecognized server datatype %d/n",			    bcpcol->on_server.column_type);		return TDS_FAIL;	}	if (clause->cb < strlen(clause->pb)	    + tds_quote_id(tds, NULL, tds_dstr_cstr(&bcpcol->column_name), tds_dstr_len(&bcpcol->column_name))	    + strlen(column_type)	    + ((first) ? 2u : 4u)) {		char *temp = (char*) malloc(2 * clause->cb);		if (!temp) {			tdserror(tds_get_ctx(tds), tds, TDSEMEM, errno);			return TDS_FAIL;		}		strcpy(temp, clause->pb);		if (clause->from_malloc)			free(clause->pb);		clause->from_malloc = 1;		clause->pb = temp;		clause->cb *= 2;	}	if (!first)		strcat(clause->pb, ", ");	tds_quote_id(tds, strchr(clause->pb, 0), tds_dstr_cstr(&bcpcol->column_name), tds_dstr_len(&bcpcol->column_name));	strcat(clause->pb, " ");	strcat(clause->pb, column_type);	return TDS_SUCCESS;}
开发者ID:DmitrySigaev,项目名称:ncbi,代码行数:51,


示例13: tds_config_boolean

inttds_config_boolean(const char *value){	int p;	for (p = 0; p < TDS_VECTOR_SIZE(boolean_values); ++p) {		if (!strcasecmp(value, boolean_values[p].value))			return boolean_values[p].to_return;	}	tdsdump_log(TDS_DBG_INFO1, "UNRECOGNIZED boolean value: '%s'. Treating as 'no'./n", value);	return 0;}
开发者ID:msabramo,项目名称:freetds,代码行数:12,


示例14: tds_config_env_tdsver

static voidtds_config_env_tdsver(TDSLOGIN * login){	char *tdsver;	if ((tdsver = getenv("TDSVER"))) {		TDS_USMALLINT *pver = tds_config_verstr(tdsver, login);		tdsdump_log(TDS_DBG_INFO1, "TDS version %sset to %s from $TDSVER./n", (pver? "":"not "), tdsver);	}	return;}
开发者ID:ZeusbasePython,项目名称:freetds,代码行数:12,


示例15: tds_config_env_tdshost

万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。