23 #include <freetds/tds.h>
24 #include <freetds/convert.h>
26 #include <freetds/bool.h>
44 #include <freetds/pushvis.h>
266 #define CS_DYNAMIC_CMD 160
267 #define CS_CUR_CMD 161
271 #define _CS_RES_NONE -1
272 #define _CS_RES_INIT 0
273 #define _CS_RES_RESULTSET_EMPTY 1
274 #define _CS_RES_RESULTSET_ROWS 2
275 #define _CS_RES_STATUS 3
276 #define _CS_RES_CMD_DONE 4
277 #define _CS_RES_CMD_SUCCEED 5
278 #define _CS_RES_END_RESULTS 6
279 #define _CS_RES_DESCRIBE_RESULT 7
283 #define _CS_COMMAND_IDLE 0
284 #define _CS_COMMAND_BUILDING 1
285 #define _CS_COMMAND_READY 2
286 #define _CS_COMMAND_SENT 3
289 #define _CS_CANCEL_NOCANCEL 0
290 #define _CS_CANCEL_PENDING 1
325 #define _CS_ERRHAND_INLINE 1
326 #define _CS_ERRHAND_CB 2
338 #define _CS_CURS_TYPE_UNACTIONED TDS_CURSOR_STATE_UNACTIONED
339 #define _CS_CURS_TYPE_REQUESTED TDS_CURSOR_STATE_REQUESTED
340 #define _CS_CURS_TYPE_SENT TDS_CURSOR_STATE_SENT
407 const char *fmt, ...);
421 int origin,
int severity,
int number,
const char *fmt, ...);
436 #include <freetds/popvis.h>
CS_RETCODE(* CS_SERVERMSG_FUNC)(CS_CONTEXT *, CS_CONNECTION *, CS_SERVERMSG *)
CS_RETCODE(* CS_CLIENTMSG_FUNC)(CS_CONTEXT *, CS_CONNECTION *, CS_CLIENTMSG *)
CS_RETCODE(* CS_CSLIBMSG_FUNC)(CS_CONTEXT *, CS_CLIENTMSG *)
CS_LOCALE * _cs_locale_copy(CS_LOCALE *orig)
int _ct_handle_client_message(const TDSCONTEXT *ctxptr, TDSSOCKET *tdsptr, TDSMESSAGE *msgptr)
struct _cs_param CS_PARAM
TDS_SERVER_TYPE _ct_get_server_type(TDSSOCKET *tds, int datatype)
void _cs_locale_free(CS_LOCALE *locale)
CS_PARAM CSREMOTE_PROC_PARAM
struct _ct_colinfo CT_COLINFO
int _cs_locale_copy_inplace(CS_LOCALE *new_locale, CS_LOCALE *orig)
int _ct_bind_data(CS_CONTEXT *ctx, TDSRESULTINFO *resinfo, TDSRESULTINFO *bindinfo, CS_INT offset)
void _ctclient_msg(CS_CONNECTION *con, const char *funcname, int layer, int origin, int severity, int number, const char *fmt,...)
void _csclient_msg(CS_CONTEXT *ctx, const char *funcname, int layer, int origin, int severity, int number, const char *fmt,...)
int _ct_get_client_type(CS_CONTEXT *ctx, TDSCOLUMN *col)
CS_PARAM CS_DYNAMIC_PARAM
CS_INT _ct_diag_clearmsg(CS_CONTEXT *context, CS_INT type)
int _cs_convert_not_client(CS_CONTEXT *ctx, TDSCOLUMN *curcol, CONV_RESULT *convert_buffer, unsigned char **p_src)
Try to convert to a type we can handle.
TDSRET _ct_handle_server_message(const TDSCONTEXT *ctxptr, TDSSOCKET *tdsptr, TDSMESSAGE *msgptr)
struct _csremote_proc CSREMOTE_PROC
tds_sysdep_int16_type TDS_SMALLINT
union cs_servermsg_internal CS_SERVERMSG_INTERNAL
struct cs_servermsg_large CS_SERVERMSG_LARGE
struct cs_servermsg_common1 CS_SERVERMSG_COMMON1
static size_t cs_servermsg_len(CS_CONTEXT *ctx)
struct cs_servermsg_small CS_SERVERMSG_SMALL
CS_DATAFMT_LARGE * _ct_datafmt_conv_prepare(CS_CONTEXT *ctx, CS_DATAFMT *datafmt, CS_DATAFMT_LARGE *fmtbuf)
Prepares to Convert CS_DATAFMT output parameter to CS_DATAFMT_LARGE.
bool _ct_is_large_identifiers_version(CS_INT version)
Check if a give version supports large identifiers.
const CS_DATAFMT_COMMON * _ct_datafmt_common(CS_CONTEXT *ctx, const CS_DATAFMT *datafmt)
CS_RETCODE _cs_convert(CS_CONTEXT *ctx, const CS_DATAFMT_COMMON *srcfmt, CS_VOID *srcdata, const CS_DATAFMT_COMMON *destfmt, CS_VOID *destdata, CS_INT *resultlen, TDS_SERVER_TYPE desttype, CS_VOID **handle, BLK_CONV_STATUS *blk_status)
void _ct_datafmt_conv_back(CS_DATAFMT *datafmt, CS_DATAFMT_LARGE *fmtbuf)
Converts CS_DATAFMT output parameter to CS_DATAFMT_LARGE after setting it.
const CS_DATAFMT_LARGE * _ct_datafmt_conv_in(CS_CONTEXT *ctx, const CS_DATAFMT *datafmt, CS_DATAFMT_LARGE *fmtbuf)
Converts CS_DATAFMT input parameter to CS_DATAFMT_LARGE.
where boath are integers</td > n< td ></td > n</tr > n< tr > n< td > tse</td > n< td > optional</td > n< td > String</td > n< td class=\"description\"> TSE option controls what blob is orig
const string version
version string
static const GLdouble origin[]
static const char * locale
int get_data_bytes_returned
struct _cs_command * next
CS_SERVERMSG_FUNC _servermsg_cb
CS_CLIENTMSG_FUNC _clientmsg_cb
CS_INT cs_diag_msglimit_client
int login_timeout
not used unless positive
CS_CSLIBMSG_FUNC _cslibmsg_cb
bool use_large_identifiers
structures uses large identifiers
struct cs_diag_msg_client * clientstore
CS_INT cs_diag_msglimit_total
struct cs_diag_msg * msgstore
CS_INT cs_diag_msglimit_server
struct cs_diag_msg_svr * svrstore
int query_timeout
not used unless positive
CS_SERVERMSG_FUNC _servermsg_cb
CS_CLIENTMSG_FUNC _clientmsg_cb
struct _cs_dynamic * next
CS_DYNAMIC_PARAM * param_list
CS_SMALLINT indicator_value
CSREMOTE_PROC_PARAM * param_list
struct cs_diag_msg_client * next
CS_SERVERMSG_INTERNAL servermsg
struct cs_diag_msg_svr * next
struct cs_diag_msg * next
CS_BYTE sqlstate[CS_SQLSTATE_SIZE]
CS_BYTE sqlstate[CS_SQLSTATE_SIZE]
Metadata about columns in regular and compute rows.
Holds informations about a cursor.
Holds information for a dynamic (also called prepared) query.
Hold information for any results.
Information for a server connection.
CS_SERVERMSG_COMMON1 common
static CS_CONTEXT * context