23#include <freetds/pushvis.h>
33typedef enum tag_DB_RESULT_STATE {
35 , _DB_RES_RESULTSET_EMPTY
36 , _DB_RES_RESULTSET_ROWS
38 , _DB_RES_NO_MORE_RESULTS
62 TDS_SERVER_TYPE datatype;
76 TDS_INT host_colcount;
104 DBREMOTE_PROC_PARAM *param_list;
122 TDSSOCKET *tds_socket;
125 DBPROC_ROWBUF row_buf;
129 DB_RESULT_STATE dbresults_state;
130 int dbresults_retcode;
132 unsigned char *dbbuf;
138 unsigned char avail_flag;
144 DBUSMALLINT envchange_rcv;
145 char dbcurdb[DBMAXNAME + 1];
146 char servcharset[DBMAXNAME + 1];
148 DB_DBCHKINTR_FUNC chkintr;
149 DB_DBHNDLINTR_FUNC hndlintr;
171RETCODE
dbgetnull(DBPROCESS *dbproc,
int bindtype,
int varlen, BYTE* varaddr);
172void copy_data_to_host_var(DBPROCESS * dbproc, TDS_SERVER_TYPE srctype,
const BYTE * src, DBINT srclen,
173 BYTE * dest, DBINT destlen,
174 int bindtype, DBINT *indicator);
176int dbperror (DBPROCESS *dbproc, DBINT msgno,
long errnum, ...);
177int _dblib_handle_info_message(
const TDSCONTEXT * ctxptr, TDSSOCKET * tdsptr, TDSMESSAGE* msgptr);
178int _dblib_handle_err_message(
const TDSCONTEXT * ctxptr, TDSSOCKET * tdsptr, TDSMESSAGE* msgptr);
181void _dblib_setTDS_version(TDSLOGIN *
tds_login, DBINT version);
182void _dblib_convert_err(DBPROCESS * dbproc, TDS_INT len);
184DBINT _convert_char(
int srctype, BYTE * src,
int destype, BYTE * dest, DBINT destlen);
185DBINT _convert_intn(
int srctype, BYTE * src,
int destype, BYTE * dest, DBINT destlen);
187RETCODE _bcp_clear_storage(DBPROCESS * dbproc);
188RETCODE _bcp_get_prog_data(DBPROCESS * dbproc);
190extern MHANDLEFUNC _dblib_msg_handler;
191extern EHANDLEFUNC _dblib_err_handler;
193#define CHECK_PARAMETER(x, msg, ret) if (!(x)) { dbperror(dbproc, (msg), 0); return ret; }
194#define CHECK_NULP(x, func, param_num, ret) if (!(x)) { dbperror(dbproc, SYBENULP, 0, func, (int) param_num); return ret; }
195#define CHECK_PARAMETER_NOPROC(x, msg) if (!(x)) { dbperror(NULL, (msg), 0); return FAIL; }
196#define DBPERROR_RETURN(x, msg) if (x) { dbperror(dbproc, (msg), 0); return FAIL; }
197#define DBPERROR_RETURN3(x, msg, a, b, c) if (x) { dbperror(dbproc, (msg), 0, a, b, c); return FAIL; }
198#define CHECK_CONN(ret) do { CHECK_PARAMETER(dbproc, SYBENULL, (ret)); \
199 if (IS_TDSDEAD(dbproc->tds_socket)) { dbperror(dbproc, SYBEDDNE, 0); return (ret); } } while(0)
209#include <freetds/popvis.h>
RETCODE dbgetnull(DBPROCESS *dbproc, int bindtype, int varlen, BYTE *varaddr)
Definition dblib.c:534
int dbperror(DBPROCESS *dbproc, DBINT msgno, long errnum,...)
Call client-installed error handler.
Definition dblib.c:8109
int _dblib_check_and_handle_interrupt(void *vdbproc)
check interrupts for libtds.
Definition dbutil.c:192
NULLREP nullreps[MAXBINDTYPES]
default null values
Definition dblib.h:157
int msdblib
boolean use ms behaviour
Definition dblib.h:152