31#include "tds_sysdep_public.h" 
   35#define TDS_STATIC_CAST(type, a) static_cast<type>(a) 
   42#define TDS_STATIC_CAST(type, a) ((type)(a)) 
   70#define DBVERSION_UNKNOWN 0 
   72#define DBVERSION_100     2 
   81#define DBVER42       DBVERSION_42 
   82#define DBVER60       DBVERSION_70   
   88#define DBTDS_UNKNOWN           0 
  110#define BCPKEEPIDENTITY 8 
  121typedef void DBCURSOR;
 
  123typedef void DBSORTORDER;
 
  124typedef void DBLOGINFO;
 
  125typedef void *DBVOIDPTR;
 
  127typedef unsigned short USHORT;
 
  128typedef int (*INTFUNCPTR) (
void *, ...);
 
  129typedef int (*DBWAITFUNC) (void);
 
  130typedef DBWAITFUNC(*DB_DBBUSY_FUNC) (
void *dbproc);
 
  131typedef void (*DB_DBIDLE_FUNC) (DBWAITFUNC dfunc, 
void *dbproc);
 
  132typedef int (*DB_DBCHKINTR_FUNC) (
void *dbproc);
 
  133typedef int (*DB_DBHNDLINTR_FUNC) (
void *dbproc);
 
  147#if !defined(_WINDEF_) && !defined(_WINDEF_H) && !defined(DOS32X) 
  158#define SYBCHAR SYBCHAR 
  160#define SYBVARCHAR  SYBVARCHAR 
  162#define SYBINTN SYBINTN 
  164#define SYBINT1 SYBINT1 
  166#define SYBINT2 SYBINT2 
  168#define SYBINT4 SYBINT4 
  170#define SYBINT8 SYBINT8 
  172#define SYBFLT8 SYBFLT8 
  174#define SYBDATETIME SYBDATETIME 
  178#define SYBBITN SYBBITN 
  180#define SYBTEXT SYBTEXT 
  182#define SYBNTEXT    SYBNTEXT 
  184#define SYBIMAGE    SYBIMAGE 
  186#define SYBMONEY4   SYBMONEY4 
  188#define SYBMONEY    SYBMONEY 
  190#define SYBDATETIME4    SYBDATETIME4 
  192#define SYBREAL SYBREAL 
  194#define SYBBINARY   SYBBINARY 
  196#define SYBVOID SYBVOID 
  198#define SYBVARBINARY    SYBVARBINARY 
  200#define SYBNUMERIC  SYBNUMERIC 
  202#define SYBDECIMAL  SYBDECIMAL 
  204#define SYBFLTN SYBFLTN 
  206#define SYBMONEYN   SYBMONEYN 
  208#define SYBDATETIMN SYBDATETIMN 
  210#define SYBNVARCHAR SYBNVARCHAR 
  212#define SYBDATE SYBDATE 
  214#define SYBTIME SYBTIME 
  215    SYBBIGDATETIME = 187,   
 
  216#define SYBBIGDATETIME SYBBIGDATETIME 
  218#define SYBBIGTIME SYBBIGTIME 
  220#define SYBMSDATE SYBMSDATE 
  222#define SYBMSTIME SYBMSTIME 
  224#define SYBMSDATETIME2 SYBMSDATETIME2 
  225    SYBMSDATETIMEOFFSET = 43, 
 
  226#define SYBMSDATETIMEOFFSET SYBMSDATETIMEOFFSET 
  229#define SYBAOPCNT  0x4b 
  230#define SYBAOPCNTU 0x4c 
  231#define SYBAOPSUM  0x4d 
  232#define SYBAOPSUMU 0x4e 
  233#define SYBAOPAVG  0x4f 
  234#define SYBAOPAVGU 0x50 
  235#define SYBAOPMIN  0x51 
  236#define SYBAOPMAX  0x52 
  239#define SYBAOPCNT_BIG       0x09 
  240#define SYBAOPSTDEV     0x30 
  241#define SYBAOPSTDEVP        0x31 
  242#define SYBAOPVAR       0x32 
  243#define SYBAOPVARP      0x33 
  244#define SYBAOPCHECKSUM_AGG  0x72 
  248typedef unsigned char DBBOOL;
 
  250typedef unsigned char DBBIT;
 
  251typedef unsigned char DBTINYINT;
 
  252typedef int16_t DBSMALLINT;
 
  253typedef int32_t DBINT;
 
  254typedef int64_t DBBIGINT;
 
  255typedef unsigned char DBBINARY;
 
  256typedef tds_sysdep_real32_type DBREAL;
 
  257typedef tds_sysdep_real64_type DBFLT8;
 
  258typedef uint16_t DBUSMALLINT;
 
  259typedef uint32_t DBUINT;
 
  260typedef uint64_t DBUBIGINT;
 
  271    unsigned char  array[256];
 
 
  276    unsigned char precision;
 
  278    unsigned char array[33];
 
 
  311    DBUSMALLINT time_prec:3;
 
  315    DBUSMALLINT has_time:1;
 
  316    DBUSMALLINT has_date:1;
 
  317    DBUSMALLINT has_offset:1;
 
 
  321# define SQLCHAR SYBCHAR 
  332typedef unsigned char BYTE;
 
  351{ MAXCOLNAMELEN = 512 }; 
 
  352typedef enum { CI_REGULAR=1, CI_ALTERNATE=2, CI_CURSOR=3 } CI_TYPE;
 
  357    DBCHAR  Name[MAXCOLNAMELEN+2]; 
 
  358    DBCHAR  ActualName[MAXCOLNAMELEN+2]; 
 
  359    DBCHAR  TableName[MAXCOLNAMELEN+2]; 
 
 
  376    DBCHAR  Name[MAXCOLNAMELEN+2];
 
  377    DBCHAR  ActualName[MAXCOLNAMELEN+2];
 
  378    DBCHAR  TableName[MAXCOLNAMELEN+2];
 
  390    DBINT ServerMaxLength;
 
  391    DBCHAR  ServerTypeDeclaration[256];
 
 
  402#define DBARITHIGNORE    4 
  404#define DBARITHABORT     6 
  411#define DBSTORPROCID    13 
  413#define DBNOAUTOFREE    15 
  417#define DBDATEFORMAT    19 
  420#define DBPRLINELEN     22 
  421#define DBPRLINESEP     23 
  422#define DBLFCONVERT     24 
  423#define DBDATEFIRST 25 
  424#define DBCHAINXACTS    26 
  426#define DBISOLATION 28 
  430#define DBDATESHORT 32 
  431#define DBCLIENTCURSORS 33 
  433#define DBQUOTEDIDENT   35 
  435#define DBNUMOPTIONS  36 
  443#define NOSUCHOPTION   2 
  530typedef int (*EHANDLEFUNC) (
DBPROCESS * dbproc, 
int severity, 
int dberr, 
int oserr, 
char *dberrstr, 
char *oserrstr);
 
  532typedef int (*MHANDLEFUNC) (
DBPROCESS * dbproc, DBINT msgno, 
int msgstate, 
int severity, 
char *msgtext, 
char *srvname,
 
  533                char *proc, 
int line);
 
  537#define DBNOTIFICATION 2 
  547#define NTBSTRINGBIND     2 
  548#define VARYCHARBIND      3 
  555#define DATETIMEBIND      11 
  556#define SMALLDATETIMEBIND 12 
  558#define SMALLMONEYBIND    14 
  561#define NUMERICBIND       17 
  562#define DECIMALBIND       18 
  563#define SRCNUMERICBIND    19 
  564#define SRCDECIMALBIND    20 
  567#define BIGDATETIMEBIND   23 
  568#define BIGTIMEBIND       24 
  570#define DATETIME2BIND     31 
  571#define MAXBINDTYPES      32     
  574#define DBPRLINELEN 22 
  575#define DBRPCNORETURN 0 
  577#define DBRPCDEFAULT 2 
  581#define NO_MORE_ROWS    -2 
  583#define NO_MORE_RESULTS 2 
  596#define DBRPCRECOMPILE  TDS_STATIC_CAST(DBSMALLINT, 0x0001) 
  597#define DBRPCRESET  TDS_STATIC_CAST(DBSMALLINT, 0x0002) 
  598#define DBRPCCURSOR     TDS_STATIC_CAST(DBSMALLINT, 0x0008) 
  600#if defined(DBLIB_UNIMPLEMENTED) 
  601DBBOOL db12hour(
DBPROCESS * dbprocess, 
const char language[]);
 
  603DBBOOL dbcolbrowse(
DBPROCESS * dbprocess, 
int colnum);
 
  605RETCODE dbcursor(DBCURSOR * hc, DBINT optype, DBINT bufno, BYTE * table, BYTE * values);
 
  606RETCODE dbcursorbind(DBCURSOR * hc, 
int col, 
int vartype, DBINT varlen, DBINT * poutlen, BYTE * pvaraddr, 
DBTYPEINFO * typeinfo);
 
  607void dbcursorclose(DBCURSOR * hc);
 
  608RETCODE dbcursorcolinfo(DBCURSOR * hc, DBINT column, DBCHAR * colname, DBINT * coltype, DBINT * collen, DBINT * usertype);
 
  609RETCODE dbcursorfetch(DBCURSOR * hc, DBINT fetchtype, DBINT rownum);
 
  610RETCODE dbcursorinfo(DBCURSOR * hc, DBINT * ncols, DBINT * nrows);
 
  611DBCURSOR *dbcursoropen(
DBPROCESS * dbprocess, BYTE * stmt, SHORT scollopt, SHORT concuropt, USHORT nrows, DBINT * pstatus);
 
  615RETCODE dbdatechar(
DBPROCESS * dbprocess, 
char *buf, 
int datepart, 
int value);
 
  617char *dateorder(
DBPROCESS * dbprocess, 
char *language);
 
  620char *dbdayname(
DBPROCESS * dbprocess, 
char *language, 
int daynum);
 
  622int dbgetoff(
DBPROCESS * dbprocess, DBUSMALLINT offtype, 
int startfrom);
 
  624char *dbqual(
DBPROCESS * dbprocess, 
int tabnum, 
char *tabname);
 
  625void dbfreequal(
char *qualptr);
 
  627DBSORTORDER *dbloadsort(
DBPROCESS * dbprocess);
 
  628RETCODE dbfreesort(
DBPROCESS * dbprocess, DBSORTORDER * sortorder);
 
  630RETCODE dbload_xlate(
DBPROCESS * dbprocess, 
char *srv_charset, 
char *clt_name, DBXLATE ** xlt_tosrv, DBXLATE ** xlt_todisp);
 
  636RETCODE dbmnydown(
DBPROCESS * dbproc, 
DBMONEY * mnyptr, 
int divisor, 
int *remainder);
 
  637RETCODE dbmnyinit(
DBPROCESS * dbproc, 
DBMONEY * mnyptr, 
int trim, DBBOOL * negative);
 
  638RETCODE dbmnyndigit(
DBPROCESS * dbproc, 
DBMONEY * mnyptr, DBCHAR * value, DBBOOL * zero);
 
  640RETCODE dbmnydigit(
DBPROCESS * dbprocess, 
DBMONEY * m1, DBCHAR * value, DBBOOL * zero);
 
  641RETCODE dbmnyscale(
DBPROCESS * dbproc, 
DBMONEY * dest, 
int multiplier, 
int addend);
 
  644RETCODE dbnpcreate(
DBPROCESS * dbprocess);
 
  645RETCODE dbnpdefine(
DBPROCESS * dbprocess, DBCHAR * procedure_name, DBSMALLINT namelen);
 
  649RETCODE dbpoll(
DBPROCESS * dbproc, 
long milliseconds, 
DBPROCESS ** ready_dbproc, 
int *return_reason);
 
  650int dbordercol(
DBPROCESS * dbprocess, 
int order);
 
  652RETCODE dbregdrop(
DBPROCESS * dbprocess, DBCHAR * procnm, DBSMALLINT namelen);
 
  653RETCODE dbregexec(
DBPROCESS * dbproc, DBUSMALLINT options);
 
  654RETCODE dbreghandle(
DBPROCESS * dbprocess, DBCHAR * procnm, DBSMALLINT namelen, INTFUNCPTR handler);
 
  655RETCODE dbreginit(
DBPROCESS * dbproc, DBCHAR * procedure_name, DBSMALLINT namelen);
 
  657RETCODE dbregnowatch(
DBPROCESS * dbprocess, DBCHAR * procnm, DBSMALLINT namelen);
 
  658RETCODE dbregparam(
DBPROCESS * dbproc, 
char *param_name, 
int type, DBINT datalen, BYTE * data);
 
  659RETCODE dbregwatch(
DBPROCESS * dbprocess, DBCHAR * procnm, DBSMALLINT namelen, DBUSMALLINT options);
 
  660RETCODE dbregwatchlist(
DBPROCESS * dbprocess);
 
  663RETCODE dbrpwset(
LOGINREC * login, 
char *srvname, 
char *password, 
int pwlen);
 
  665DBINT dbreadpage(
DBPROCESS * dbprocess, 
char *p_dbname, DBINT pageno, BYTE * buf);
 
  666RETCODE dbwritepage(
DBPROCESS * dbprocess, 
char *p_dbname, DBINT pageno, DBINT size, BYTE * buf);
 
  668RETCODE dbsetdeflang(
char *language);
 
  670int dbstrcmp(
DBPROCESS * dbprocess, 
char *s1, 
int l1, 
char *s2, 
int l2, DBSORTORDER * sort);
 
  671int dbstrsort(
DBPROCESS * dbprocess, 
char *s1, 
int l1, 
char *s2, 
int l2, DBSORTORDER * sort);
 
  673DBBOOL dbtabbrowse(
DBPROCESS * dbprocess, 
int tabnum);
 
  675char *dbtabname(
DBPROCESS * dbprocess, 
int tabnum);
 
  676char *dbtabsource(
DBPROCESS * dbprocess, 
int colnum, 
int *tabnum);
 
  678RETCODE dbsendpassthru(
DBPROCESS * dbprocess, DBVOIDPTR bufp);
 
  679RETCODE dbrecvpassthru(
DBPROCESS * dbprocess, DBVOIDPTR * bufp);
 
  681RETCODE dbgetloginfo(
DBPROCESS * dbprocess, DBLOGINFO ** loginfo);
 
  682RETCODE dbsetloginfo(
LOGINREC * loginrec, DBLOGINFO * loginfo);
 
  685DBBINARY *dbtsnewval(
DBPROCESS * dbprocess);
 
  686RETCODE dbtsput(
DBPROCESS * dbprocess, DBBINARY * newts, 
int newtslen, 
int tabnum, 
char *tabname);
 
  688RETCODE dbfree_xlate(
DBPROCESS * dbprocess, DBXLATE * xlt_tosrv, DBXLATE * clt_todisp);
 
  689int dbxlate(
DBPROCESS * dbprocess, 
char *src, 
int srclen, 
char *dest, 
int destlen, DBXLATE * xlt, 
int *srcbytes_used,
 
  690        DBBOOL srcend, 
int status);
 
  692RETCODE bcp_moretext(
DBPROCESS * dbproc, DBINT size, BYTE * text);
 
  693RETCODE bcp_writefmt(
DBPROCESS * dbproc, 
const char filename[]);
 
  695void build_xact_string(
char *xact_name, 
char *service_name, DBINT commid, 
char *result);
 
  696RETCODE remove_xact(
DBPROCESS * connect, DBINT commid, 
int n);
 
  697RETCODE abort_xact(
DBPROCESS * connect, DBINT commid);
 
  699RETCODE commit_xact(
DBPROCESS * connect, DBINT commid);
 
  701RETCODE scan_xact(
DBPROCESS * connect, DBINT commid);
 
  702DBINT start_xact(
DBPROCESS * connect, 
char *application_name, 
char *xact_name, 
int site_count);
 
  703DBINT stat_xact(
DBPROCESS * connect, DBINT commid);
 
  709RETCODE 
dbaltbind(
DBPROCESS * dbprocess, 
int computeid, 
int column, 
int vartype, DBINT varlen, BYTE * varaddr);
 
  710RETCODE dbaltbind_ps(
DBPROCESS * dbprocess, 
int computeid, 
int column, 
int vartype, DBINT varlen, BYTE * varaddr,
 
  718RETCODE 
dbbind(
DBPROCESS * dbproc, 
int column, 
int vartype, DBINT varlen, BYTE * varaddr);
 
  719RETCODE dbbind_ps(
DBPROCESS * dbprocess, 
int column, 
int vartype, DBINT varlen, BYTE * varaddr, 
DBTYPEINFO * typeinfo);
 
  725DBBOOL dbcharsetconv(
DBPROCESS * dbprocess);
 
  732#define DBCMDROW(x) dbcmdrow((x)) 
  742DBINT 
dbconvert(
DBPROCESS * dbproc, 
int srctype, 
const BYTE * src, DBINT srclen, 
int desttype, BYTE * dest, DBINT destlen);
 
  743DBINT 
dbconvert_ps(
DBPROCESS * dbprocess, 
int srctype, 
const BYTE * src, DBINT srclen, 
int desttype, BYTE * dest, DBINT destlen,
 
  748#define DBCOUNT(x) dbcount((x)) 
  751#define DBCURCMD(x) dbcurcmd((x)) 
  754#define DBCURROW(x) dbcurrow((x)) 
  762#define DBDEAD(x) dbdead((x)) 
  768#define DBFIRSTROW(x) dbfirstrow((x)) 
  771char *dbgetcharset(
DBPROCESS * dbprocess);
 
  772int dbgetlusername(
LOGINREC * login, BYTE * name_buffer, 
int buffer_len);
 
  774char *dbgetnatlanf(
DBPROCESS * dbprocess);
 
  778#define DBGETTIME dbgettime 
  784#define DBIORDESC(x) dbiordesc((x)) 
  787#define DBIOWDESC(x) dbiowdesc((x)) 
  790#define DBISAVAIL(x) dbisavail((x)) 
  794#define DBLASTROW(x) dblastrow((x)) 
  820#define DBMORECMDS(x) dbmorecmds((x)) 
  835void dbpivot_count (
struct col_t *output, 
const struct col_t *input);
 
  836void dbpivot_sum (
struct col_t *output, 
const struct col_t *input);
 
  837void dbpivot_min (
struct col_t *output, 
const struct col_t *input);
 
  838void dbpivot_max (
struct col_t *output, 
const struct col_t *input);
 
  841typedef void (*DBPIVOT_FUNC)(
struct col_t *output, 
const struct col_t *input);
 
  844RETCODE 
dbpivot(
DBPROCESS *dbproc, 
int nkeys, 
int *keys, 
int ncols, 
int *cols, DBPIVOT_FUNC func, 
int val);
 
  846DBPIVOT_FUNC dbpivot_lookup_name( 
const char name[] );
 
  849#define   dbopen(x,y) tdsdbopen((x),(y), 1) 
  851#define   dbopen(x,y) tdsdbopen((x),(y), 0) 
  855#ifdef PHP_SYBASE_DBOPEN 
  856#undef PHP_SYBASE_DBOPEN 
  857#define PHP_SYBASE_DBOPEN dbopen 
  868RETCODE dbresults_r(
DBPROCESS * dbproc, 
int recursive);
 
  876#define DBROWS(x) dbrows((x)) 
  879#define DBROWTYPE(x) dbrowtype((x)) 
  881RETCODE 
dbrpcparam(
DBPROCESS * dbproc, 
const char paramname[], BYTE status, 
int type, DBINT maxlen, DBINT datalen, BYTE * value);
 
  883RETCODE 
dbsafestr(
DBPROCESS * dbproc, 
const char *src, DBINT srclen, 
char *dest, DBINT destlen, 
int quotetype);
 
  884RETCODE *dbsechandle(DBINT type, INTFUNCPTR handler);
 
  887void dbsetbusy(
DBPROCESS * dbprocess, DB_DBBUSY_FUNC busyfunc);
 
  888RETCODE dbsetdefcharset(
char *charset);
 
  889void dbsetidle(
DBPROCESS * dbprocess, DB_DBIDLE_FUNC idlefunc);
 
  895RETCODE 
dbsetopt(
DBPROCESS * dbproc, 
int option, 
const char *char_param, 
int int_param);
 
  909int dbstrbuild(
DBPROCESS * dbproc, 
char *charbuf, 
int bufsize, 
char *text, 
char *formats, ...);
 
  914#define SYBEVERDOWN   100    
  915#define SYBEICONVIU  2400    
  916#define SYBEICONVAVAIL   2401    
  917#define SYBEICONVO   2402    
  918#define SYBEICONVI   2403    
  919#define SYBEICONV2BIG    2404    
  922#define SYBETDSVER   2410    
  924#define SYBESYNC        20001    
  925#define SYBEFCON        20002    
  926#define SYBETIME        20003    
  927#define SYBEREAD        20004    
  928#define SYBEBUFL        20005    
  929#define SYBEWRIT        20006    
  931#define SYBESOCK        20008    
  932#define SYBECONN        20009    
  934#define SYBEDBPS        20011    
  935#define SYBEINTF        20012    
  936#define SYBEUHST        20013    
  938#define SYBEOPIN        20015    
  939#define SYBEINLN        20016    
  940#define SYBESEOF        20017    
  941#define SYBESMSG        20018    
  942#define SYBERPND        20019    
  943#define SYBEBTOK        20020    
  944#define SYBEITIM        20021    
  946#define SYBEBTYP        20023    
  947#define SYBEBNCR        20024    
  948#define SYBEIICL        20025    
  949#define SYBECNOR        20026    
  950#define SYBENPRM        20027    
  951#define SYBEUVDT        20028    
  952#define SYBEUFDT        20029    
  953#define SYBEWAID        20030    
  954#define SYBECDNS        20031    
  955#define SYBEABNC        20032    
  956#define SYBEABMT        20033    
  957#define SYBEABNP        20034    
  958#define SYBEAAMT        20035    
  959#define SYBENXID        20036    
  960#define SYBERXID        20037    
  962#define SYBENMOB        20039    
  963#define SYBEAPUT        20040    
  964#define SYBEASNL        20041    
  965#define SYBENTLL        20042    
  966#define SYBEASUL        20043    
  967#define SYBERDNR        20044    
  968#define SYBENSIP        20045    
  969#define SYBEABNV        20046    
  970#define SYBEDDNE        20047    
  971#define SYBECUFL        20048    
  972#define SYBECOFL        20049    
  973#define SYBECSYN        20050    
  974#define SYBECLPR        20051    
  975#define SYBECNOV        20052    
  976#define SYBERDCN        20053    
  977#define SYBESFOV        20054    
  979#define SYBECLOS        20056    
  980#define SYBEUAVE        20057    
  981#define SYBEUSCT        20058    
  982#define SYBEEQVA        20059    
  983#define SYBEUDTY        20060    
  984#define SYBETSIT        20061    
  985#define SYBEAUTN        20062    
  986#define SYBEBDIO        20063    
  987#define SYBEBCNT        20064    
  988#define SYBEIFNB        20065    
  990#define SYBEKBCO        20067    
  991#define SYBEBBCI        20068    
  992#define SYBEKBCI        20069    
  993#define SYBEBCRE        20070    
  994#define SYBETPTN        20071    
  995#define SYBEBCWE        20072    
  996#define SYBEBCNN        20073    
  997#define SYBEBCOR        20074    
  998#define SYBEBCIS        20075    
  999#define SYBEBCPI        20076    
 1000#define SYBEBCPN        20077    
 1001#define SYBEBCPB        20078    
 1002#define SYBEVDPT        20079    
 1003#define SYBEBIVI        20080    
 1004#define SYBEBCBC        20081    
 1005#define SYBEBCFO        20082    
 1006#define SYBEBCVH        20083    
 1007#define SYBEBCUO        20084    
 1008#define SYBEBCUC        20085    
 1009#define SYBEBUOE        20086    
 1010#define SYBEBUCE        20087    
 1011#define SYBEBWEF        20088    
 1012#define SYBEASTF        20089    
 1013#define SYBEUACS        20090    
 1014#define SYBEASEC        20091    
 1015#define SYBETMTD        20092    
 1016#define SYBENTTN        20093    
 1017#define SYBEDNTI        20094    
 1018#define SYBEBTMT        20095    
 1019#define SYBEORPF        20096    
 1020#define SYBEUVBF        20097    
 1021#define SYBEBUOF        20098    
 1022#define SYBEBUCF        20099    
 1023#define SYBEBRFF        20100    
 1024#define SYBEBWFF        20101    
 1025#define SYBEBUDF        20102    
 1026#define SYBEBIHC        20103    
 1027#define SYBEBEOF        20104    
 1028#define SYBEBCNL        20105    
 1029#define SYBEBCSI        20106    
 1030#define SYBEBCIT        20107    
 1031#define SYBEBCSA        20108    
 1032#define SYBENULL        20109    
 1033#define SYBEUNAM        20110    
 1034#define SYBEBCRO        20111    
 1035#define SYBEMPLL        20112    
 1036#define SYBERPIL        20113    
 1037#define SYBERPUL        20114    
 1038#define SYBEUNOP        20115    
 1039#define SYBECRNC        20116    
 1040#define SYBERTCC        20117    
 1041#define SYBERTSC        20118    
 1042#define SYBEUCRR        20119    
 1043#define SYBERPNA        20120    
 1044#define SYBEOPNA        20121    
 1045#define SYBEFGTL        20122    
 1046#define SYBECWLL        20123    
 1047#define SYBEUFDS        20124    
 1048#define SYBEUCPT        20125    
 1049#define SYBETMCF        20126    
 1050#define SYBEAICF        20127    
 1051#define SYBEADST        20128    
 1052#define SYBEALTT        20129    
 1053#define SYBEAPCT        20130    
 1054#define SYBEXOCI        20131    
 1055#define SYBEFSHD        20132    
 1056#define SYBEAOLF        20133    
 1057#define SYBEARDI        20134    
 1058#define SYBEURCI        20135    
 1059#define SYBEARDL        20136    
 1060#define SYBEURMI        20137    
 1061#define SYBEUREM        20138    
 1062#define SYBEURES        20139    
 1063#define SYBEUREI        20140    
 1064#define SYBEOREN        20141    
 1065#define SYBEISOI        20142    
 1066#define SYBEIDCL        20143    
 1067#define SYBEIMCL        20144    
 1068#define SYBEIFCL        20145    
 1069#define SYBEUTDS        20146    
 1070#define SYBEBUFF        20147    
 1071#define SYBEACNV        20148    
 1072#define SYBEDPOR        20149    
 1073#define SYBENDC         20150    
 1074#define SYBEMVOR        20151    
 1075#define SYBEDVOR        20152    
 1076#define SYBENBVP        20153    
 1077#define SYBESPID        20154    
 1078#define SYBENDTP        20155    
 1079#define SYBEXTN         20156    
 1080#define SYBEXTDN        20157    
 1081#define SYBEXTSN        20158    
 1082#define SYBENUM         20159    
 1083#define SYBETYPE        20160    
 1084#define SYBEGENOS       20161    
 1085#define SYBEPAGE        20162    
 1086#define SYBEOPTNO       20163    
 1087#define SYBEETD         20164    
 1088#define SYBERTYPE       20165    
 1089#define SYBERFILE       20166    
 1090#define SYBEFMODE       20167    
 1091#define SYBESLCT        20168    
 1092#define SYBEZTXT        20169    
 1093#define SYBENTST        20170    
 1094#define SYBEOSSL        20171    
 1095#define SYBEESSL        20172    
 1096#define SYBENLNL        20173    
 1097#define SYBENHAN        20174    
 1098#define SYBENBUF        20175    
 1099#define SYBENULP        20176    
 1100#define SYBENOTI        20177    
 1101#define SYBEEVOP        20178    
 1102#define SYBENEHA        20179    
 1103#define SYBETRAN        20180    
 1104#define SYBEEVST        20181    
 1105#define SYBEEINI        20182    
 1106#define SYBEECRT        20183    
 1107#define SYBEECAN        20184    
 1108#define SYBEEUNR        20185    
 1109#define SYBERPCS        20186    
 1110#define SYBETPAR        20187    
 1111#define SYBETEXS        20188    
 1112#define SYBETRAC        20189    
 1113#define SYBETRAS        20190    
 1114#define SYBEPRTF        20191    
 1115#define SYBETRSN        20192    
 1116#define SYBEBPKS        20193    
 1117#define SYBEIPV         20194    
 1118#define SYBEMOV         20195    
 1119#define SYBEDIVZ        20196    
 1120#define SYBEASTL        20197    
 1121#define SYBESEFA        20198    
 1122#define SYBEPOLL        20199    
 1123#define SYBENOEV        20200    
 1124#define SYBEBADPK       20201    
 1125#define SYBESECURE      20202    
 1126#define SYBECAP         20203    
 1127#define SYBEFUNC        20204    
 1128#define SYBERESP        20205    
 1129#define SYBEIVERS       20206    
 1130#define SYBEONCE        20207    
 1131#define SYBERPNULL      20208    
 1132#define SYBERPTXTIM     20209    
 1133#define SYBENEG         20210    
 1134#define SYBELBLEN       20211    
 1135#define SYBEUMSG        20212    
 1136#define SYBECAPTYP      20213    
 1137#define SYBEBNUM        20214    
 1138#define SYBEBBL         20215    
 1139#define SYBEBPREC       20216    
 1140#define SYBEBSCALE      20217    
 1141#define SYBECDOMAIN     20218    
 1142#define SYBECINTERNAL   20219    
 1143#define SYBEBTYPSRV     20220    
 1144#define SYBEBCSET       20221    
 1145#define SYBEFENC        20222    
 1146#define SYBEFRES        20223    
 1147#define SYBEISRVPREC    20224    
 1148#define SYBEISRVSCL     20225    
 1149#define SYBEINUMCL      20226    
 1150#define SYBEIDECCL      20227    
 1151#define SYBEBCMTXT      20228    
 1152#define SYBEBCPREC      20229    
 1153#define SYBEBCBNPR      20230    
 1154#define SYBEBCBNTYP     20231    
 1155#define SYBEBCSNTYP     20232    
 1156#define SYBEBCPCTYP     20233    
 1157#define SYBEBCVLEN      20234    
 1158#define SYBEBCHLEN      20235    
 1159#define SYBEBCBPREF     20236    
 1160#define SYBEBCPREF      20237    
 1161#define SYBEBCITBNM     20238    
 1162#define SYBEBCITBLEN    20239    
 1163#define SYBEBCSNDROW    20240    
 1164#define SYBEBPROCOL     20241    
 1165#define SYBEBPRODEF     20242    
 1166#define SYBEBPRONUMDEF  20243    
 1167#define SYBEBPRODEFID   20244    
 1168#define SYBEBPRONODEF   20245    
 1169#define SYBEBPRODEFTYP  20246    
 1170#define SYBEBPROEXTDEF  20247    
 1171#define SYBEBPROEXTRES  20248    
 1172#define SYBEBPROBADDEF  20249    
 1173#define SYBEBPROBADTYP  20250    
 1174#define SYBEBPROBADLEN  20251    
 1175#define SYBEBPROBADPREC 20252    
 1176#define SYBEBPROBADSCL  20253    
 1177#define SYBEBADTYPE     20254    
 1178#define SYBECRSNORES    20255    
 1179#define SYBECRSNOIND    20256    
 1180#define SYBECRSVIEW     20257    
 1181#define SYBECRSVIIND    20258    
 1182#define SYBECRSORD      20259    
 1183#define SYBECRSBUFR     20260    
 1184#define SYBECRSNOFREE   20261    
 1185#define SYBECRSDIS      20262    
 1186#define SYBECRSAGR      20263    
 1187#define SYBECRSFRAND    20264    
 1188#define SYBECRSFLAST    20265    
 1189#define SYBECRSBROL     20266    
 1190#define SYBECRSFROWN    20267    
 1191#define SYBECRSBSKEY    20268    
 1192#define SYBECRSRO       20269    
 1193#define SYBECRSNOCOUNT  20270    
 1194#define SYBECRSTAB      20271    
 1195#define SYBECRSUPDNB    20272    
 1196#define SYBECRSNOWHERE  20273    
 1197#define SYBECRSSET      20274    
 1198#define SYBECRSUPDTAB   20275    
 1199#define SYBECRSNOUPD    20276    
 1200#define SYBECRSINV      20277    
 1201#define SYBECRSNOKEYS   20278    
 1202#define SYBECRSNOBIND   20279    
 1203#define SYBECRSFTYPE    20280    
 1204#define SYBECRSINVALID  20281    
 1205#define SYBECRSMROWS    20282    
 1206#define SYBECRSNROWS    20283    
 1207#define SYBECRSNOLEN    20284    
 1208#define SYBECRSNOPTCC   20285    
 1209#define SYBECRSNORDER   20286    
 1210#define SYBECRSNOTABLE  20287    
 1211#define SYBECRSNUNIQUE  20288    
 1212#define SYBECRSVAR      20289    
 1213#define SYBENOVALUE     20290    
 1214#define SYBEVOIDRET     20291    
 1215#define SYBECLOSEIN     20292    
 1216#define SYBEBOOL        20293    
 1217#define SYBEBCPOPT      20294    
 1218#define SYBEERRLABEL    20295    
 1219#define SYBEATTNACK     20296    
 1220#define SYBEBBFL        20297    
 1221#define SYBEDCL         20298    
 1223#define SYBEBULKINSERT  20599    
 1224#define SYBECOLSIZE     22000    
 1228#define DBTDS(a)                dbtds(a) 
 1232DBBINARY *dbtxtsnewval(
DBPROCESS * dbprocess);
 
 1233RETCODE dbtxtsput(
DBPROCESS * dbprocess, DBBINARY newtxts, 
int colnum);
 
 1237RETCODE 
dbwritetext(
DBPROCESS * dbproc, 
char *objname, DBBINARY * textptr, DBTINYINT textptrlen, DBBINARY * timestamp,
 
 1238            DBBOOL log, DBINT size, BYTE * text);
 
 1243RETCODE dbsetlshort(
LOGINREC * login, 
int value, 
int which);
 
 1248#define DBSETLHOST(x,y)     dbsetlname((x), (y), DBSETHOST) 
 1249#define dbsetlhost(x,y)     dbsetlname((x), (y), DBSETHOST) 
 1251#define DBSETLUSER(x,y)     dbsetlname((x), (y), DBSETUSER) 
 1252#define dbsetluser(x,y)     dbsetlname((x), (y), DBSETUSER) 
 1254#define DBSETLPWD(x,y)      dbsetlname((x), (y), DBSETPWD) 
 1255#define dbsetlpwd(x,y)      dbsetlname((x), (y), DBSETPWD) 
 1256#if defined(DBLIB_UNIMPLEMENTED) 
 1258# define DBSETLHID(x,y)     dbsetlname((x), (y), DBSETHID) 
 1261#define DBSETLAPP(x,y)      dbsetlname((x), (y), DBSETAPP) 
 1262#define dbsetlapp(x,y)      dbsetlname((x), (y), DBSETAPP) 
 1264#define BCP_SETL(x,y)       dbsetlbool((x), (y), DBSETBCP) 
 1265#define DBSETLSECURE(x)     dbsetlbool((x), (1), DBSETBCP) 
 1266#define DBSETNATLANG        7    
 1267#define DBSETLNATLANG(x,y)  dbsetlname((x), (y), DBSETNATLANG) 
 1268#define dbsetlnatlang(x,y)  dbsetlname((x), (y), DBSETNATLANG) 
 1269#if defined(DBLIB_UNIMPLEMENTED) 
 1270# define DBSETNOSHORT       8    
 1271# define DBSETLNOSHORT(x,y) dbsetlbool((x), (y), DBSETNOSHORT) 
 1273# define DBSETLHIER(x,y)    dbsetlshort((x), (y), DBSETHIER) 
 1275#define DBSETCHARSET        10 
 1276#define DBSETLCHARSET(x,y)  dbsetlname((x), (y), DBSETCHARSET) 
 1277#define DBSETPACKET     11 
 1278#define DBSETLPACKET(x,y)   dbsetllong((x), (y), DBSETPACKET) 
 1279#define dbsetlpacket(x,y)   dbsetllong((x), (y), DBSETPACKET) 
 1280#define DBSETENCRYPT        12 
 1281#define DBSETLENCRYPT(x,y)  dbsetlbool((x), (y), DBSETENCRYPT) 
 1282#define DBSETLABELED        13 
 1283#define DBSETLLABELED(x,y)  dbsetlbool((x), (y), DBSETLABELED) 
 1284#define BCP_SETLABELED(x,y) dbsetlbool((x), (y), DBSETLABELED) 
 1285#define DBSETDBNAME     14 
 1286#define DBSETLDBNAME(x,y)   dbsetlname((x), (y), DBSETDBNAME) 
 1287#define DBSETLVERSION(login, version) dbsetlversion((login), (version)) 
 1288#define DBSETNETWORKAUTH    101 
 1289#define DBSETLNETWORKAUTH(x, y) dbsetlbool((x), (y), DBSETNETWORKAUTH) 
 1290#define DBSETMUTUALAUTH     102 
 1291#define DBSETLMUTUALAUTH(x, y)  dbsetlbool((x), (y), DBSETMUTUALAUTH) 
 1292#define DBSETSERVERPRINCIPAL    103 
 1293#define DBSETLSERVERPRINCIPAL(x,y)  dbsetlname((x), (y), DBSETSERVERPRINCIPAL) 
 1295#define DBSETUTF16      1001 
 1296#define DBSETLUTF16(x,y)    dbsetlbool((x), (y), DBSETUTF16) 
 1297#define DBSETNTLMV2     1002 
 1298#define DBSETLNTLMV2(x,y)   dbsetlbool((x), (y), DBSETNTLMV2) 
 1299#define DBSETREADONLY       1003 
 1300#define DBSETLREADONLY(x,y) dbsetlbool((x), (y), DBSETREADONLY) 
 1301#define DBSETDELEGATION     1004 
 1302#define DBSETLDELEGATION(x, y)  dbsetlbool((x), (y), DBSETDELEGATION) 
 1304RETCODE 
bcp_init(
DBPROCESS * dbproc, 
const char *tblname, 
const char *hfile, 
const char *errfile, 
int direction);
 
 1308RETCODE 
bcp_bind(
DBPROCESS * dbproc, BYTE * varaddr, 
int prefixlen, DBINT varlen, BYTE * terminator, 
int termlen, 
int type,
 
 1312RETCODE 
bcp_colfmt(
DBPROCESS * dbproc, 
int host_column, 
int host_type, 
int host_prefixlen, DBINT host_collen,
 
 1313           const BYTE * host_term, 
int host_termlen, 
int colnum);
 
 1314RETCODE 
bcp_colfmt_ps(
DBPROCESS * dbproc, 
int host_column, 
int host_type, 
int host_prefixlen, DBINT host_collen,
 
 1315              BYTE * host_term, 
int host_termlen, 
int colnum, 
DBTYPEINFO * typeinfo);
 
 1318int bcp_getbatchsize(
DBPROCESS * dbproc); 
 
RETCODE dbcolinfo(DBPROCESS *dbproc, CI_TYPE type, DBINT column, DBINT computeid, DBCOL *pdbcol)
Get a bunch of column attributes with a single call (Microsoft-compatibility feature).
Definition dblib.c:3046
RETCODE dbpivot(DBPROCESS *dbproc, int nkeys, int *keys, int ncols, int *cols, DBPIVOT_FUNC func, int val)
Pivot the rows, creating a new resultset.
Definition dbpivot.c:916
void dbclrbuf(DBPROCESS *dbproc, DBINT n)
Clear n rows from the row buffer.
Definition dblib.c:2844
DBTYPEINFO * dbcoltypeinfo(DBPROCESS *dbproc, int column)
Get precision and scale information for a regular result column.
Definition dblib.c:3017
LOGINREC * dblogin(void)
Allocate a LOGINREC structure.
Definition dblib.c:705
void dbfreebuf(DBPROCESS *dbproc)
Erase the command buffer, in case DBNOAUTOFREE was set with dbsetopt().
Definition dblib.c:6086
BYTE * dbdata(DBPROCESS *dbproc, int column)
Get address of data in a regular result column.
Definition dblib.c:3355
int dbstrlen(DBPROCESS *dbproc)
Get size of the command buffer, in bytes.
Definition dblib.c:6317
BYTE * dbadata(DBPROCESS *dbproc, int computeid, int column)
Get address of compute column data.
Definition dblib.c:4441
int dbspid(DBPROCESS *dbproc)
Get server process ID for a DBPROCESS.
Definition dblib.c:5946
DBBINARY * dbtxtimestamp(DBPROCESS *dbproc, int column)
Get text timestamp for a column in the current row.
Definition dblib.c:6553
BYTE * dbbylist(DBPROCESS *dbproc, int computeid, int *size)
Get bylist for a compute row.
Definition dblib.c:5025
char * dbservcharset(DBPROCESS *dbprocess)
Get syscharset name of the server character set.
Definition dblib.c:7049
DBINT dbspr1rowlen(DBPROCESS *dbproc)
Determine size buffer required to hold the results returned by dbsprhead(), dbsprline(),...
Definition dblib.c:3422
DBINT dbconvert(DBPROCESS *dbproc, int srctype, const BYTE *src, DBINT srclen, int desttype, BYTE *dest, DBINT destlen)
cf.
Definition dblib.c:2593
DBINT dbadlen(DBPROCESS *dbproc, int computeid, int column)
Get size of data in a compute column.
Definition dblib.c:4336
void dbsetinterrupt(DBPROCESS *dbproc, DB_DBCHKINTR_FUNC chkintr, DB_DBHNDLINTR_FUNC hndlintr)
Set interrupt handler for db-lib to use while blocked against a read from the server.
Definition dblib.c:4657
RETCODE dbsetnull(DBPROCESS *dbprocess, int bindtype, int bindlen, BYTE *bindval)
Define substitution values to be used when binding null values.
Definition dblib.c:1962
char * dbcolname(DBPROCESS *dbproc, int column)
Return name of a regular result column.
Definition dblib.c:1872
RETCODE dbfcmd(DBPROCESS *dbproc, const char *fmt,...)
printf-like way to form SQL to send to the server.
Definition dblib.c:1334
RETCODE dbdatecrack(DBPROCESS *dbproc, DBDATEREC *di, DBDATETIME *dt)
Break a DBDATETIME value into useful pieces.
Definition dblib.c:5873
RETCODE dbresults(DBPROCESS *dbproc)
Set up query results.
Definition dblib.c:1694
RETCODE dbwritetext(DBPROCESS *dbproc, char *objname, DBBINARY *textptr, DBTINYINT textptrlen, DBBINARY *timestamp, DBBOOL log, DBINT size, BYTE *text)
Send text or image data to the server.
Definition dblib.c:6620
RETCODE dbcanquery(DBPROCESS *dbproc)
Cancel the query currently being retrieved, discarding all pending rows.
Definition dblib.c:6057
RETCODE dbinit(void)
Initialize db-lib.
Definition dblib.c:660
DBINT dbvarylen(DBPROCESS *dbproc, int column)
Determine whether a column can vary in size.
Definition dblib.c:3219
RETCODE dbcancel(DBPROCESS *dbproc)
Cancel the current command batch.
Definition dblib.c:3397
RETCODE dbsetlogintime(int seconds)
Set maximum seconds db-lib waits for a server response to a login attempt.
Definition dblib.c:4265
RETCODE dbgetrow(DBPROCESS *dbproc, DBINT row)
Read a row from the row buffer.
Definition dblib.c:1930
int dbcoltype(DBPROCESS *dbproc, int column)
Get the datatype of a regular result set column.
Definition dblib.c:2971
void dbsetifile(char *filename)
set name and location of the interfaces file FreeTDS should use to look up a servername.
Definition dblib.c:2711
RETCODE dbuse(DBPROCESS *dbproc, const char *name)
Change current database.
Definition dblib.c:1445
int dbnumalts(DBPROCESS *dbproc, int computeid)
Get count of columns in a compute row.
Definition dblib.c:4966
BOOL dbiscount(DBPROCESS *dbproc)
Indicates whether or not the count returned by dbcount is real (Microsoft-compatibility feature).
Definition dblib.c:2804
int dbgettime(void)
Get maximum seconds db-lib waits for a server response to query.
Definition dblib.c:4249
RETCODE dbmoretext(DBPROCESS *dbproc, DBINT size, const BYTE text[])
Send chunk of a text/image value to the server.
Definition dblib.c:6758
const char * dbprtype(int token)
Print a token value's name to a buffer.
Definition dblib.c:6473
char * dbcolsource(DBPROCESS *dbproc, int colnum)
Get base database column name for a result set column.
Definition dblib.c:3145
char * dbchange(DBPROCESS *dbprocess)
See if a command caused the current database to change.
Definition dblib.c:7013
const char * dbacolname(DBPROCESS *dbproc, int computeid, int column)
Return name of a computed result column.
Definition dblib.c:1898
RETCODE dbnullbind(DBPROCESS *dbproc, int column, DBINT *indicator)
Tie a null-indicator to a regular result column.
Definition dblib.c:2740
RETCODE dbbind(DBPROCESS *dbproc, int column, int vartype, DBINT varlen, BYTE *varaddr)
Tie a host variable to a resultset column.
Definition dblib.c:2634
const char * dbversion(void)
See which version of db-lib is in use.
Definition dblib.c:6866
RETCODE dbcmd(DBPROCESS *dbproc, const char cmdstring[])
Append SQL to the command buffer.
Definition dblib.c:1373
DBINT dbcollen(DBPROCESS *dbproc, int column)
Get size of a regular result column.
Definition dblib.c:3170
DBINT dbconvert_ps(DBPROCESS *dbprocess, int srctype, const BYTE *src, DBINT srclen, int desttype, BYTE *dest, DBINT destlen, DBTYPEINFO *typeinfo)
Convert one datatype to another.
Definition dblib.c:2300
char * dbgetchar(DBPROCESS *dbprocess, int n)
Get address of a position in the command buffer.
Definition dblib.c:6336
RETCODE dbanullbind(DBPROCESS *dbprocess, int computeid, int column, DBINT *indicator)
Tie a null-indicator to a compute result column.
Definition dblib.c:2776
RETCODE dbclropt(DBPROCESS *dbproc, int option, const char param[])
Reset an option.
Definition dblib.c:6121
DBINT dbcount(DBPROCESS *dbproc)
Get count of rows processed.
Definition dblib.c:2824
int dbaltop(DBPROCESS *dbproc, int computeid, int column)
Get aggregation operator for a compute column.
Definition dblib.c:4470
RETCODE dbtablecolinfo(DBPROCESS *dbproc, DBINT column, DBCOL *pdbcol)
describe table column attributes with a single call (Freetds-only API function modelled on dbcolinfo)
Definition dblib.c:6490
DBINT dbaltlen(DBPROCESS *dbproc, int computeid, int column)
Get size of data in compute column.
Definition dblib.c:7163
RETCODE dbsetopt(DBPROCESS *dbproc, int option, const char *char_param, int int_param)
Set db-lib or server option.
Definition dblib.c:4497
void dbprhead(DBPROCESS *dbproc)
Print result set headings to stdout.
Definition dblib.c:3985
RETCODE dbsetlversion(LOGINREC *login, BYTE version)
Set TDS version for future connections.
Definition dblib.c:947
RETCODE dbprrow(DBPROCESS *dbproc)
Print a result set to stdout.
Definition dblib.c:3543
char * dbname(DBPROCESS *dbproc)
Get name of current database.
Definition dblib.c:7033
int dbalttype(DBPROCESS *dbproc, int computeid, int column)
Get datatype for a compute column.
Definition dblib.c:4366
RETCODE dbsprhead(DBPROCESS *dbproc, char *buffer, DBINT buf_len)
Print result set headings to a buffer.
Definition dblib.c:3921
RETCODE dbsqlexec(DBPROCESS *dbproc)
send the SQL command to the server and wait for an answer.
Definition dblib.c:1419
DBBOOL dbwillconvert(int srctype, int desttype)
Test whether or not a datatype can be converted to another datatype.
Definition dblib.c:2874
DBINT dbcolutype(DBPROCESS *dbprocess, int column)
Get user-defined datatype of a regular result column.
Definition dblib.c:2994
int dbstrbuild(DBPROCESS *dbproc, char *charbuf, int bufsize, char *text, char *formats,...)
Build a printable string from text containing placeholders for variables.
Definition dblib.c:7326
EHANDLEFUNC dberrhandle(EHANDLEFUNC handler)
Set an error handler, for messages from db-lib.
Definition dblib.c:5147
RETCODE dbsetversion(DBINT version)
Specify a db-lib version level.
Definition dblib.c:6002
int dbgetpacket(DBPROCESS *dbproc)
Get TDS packet size for the connection.
Definition dblib.c:4101
void dbrecftos(const char filename[])
Record to a file all SQL commands sent to the server.
Definition dblib.c:6793
BYTE * dbgetuserdata(DBPROCESS *dbproc)
Get address of user-allocated data from a DBPROCESS.
Definition dblib.c:5984
void dbsetuserdata(DBPROCESS *dbproc, BYTE *ptr)
Associate client-allocated (and defined) data with a DBPROCESS.
Definition dblib.c:5966
DBINT dbprcollen(DBPROCESS *dbproc, int column)
Get size of a result column needed to print column.
Definition dblib.c:3193
void dbloginfree(LOGINREC *login)
free the LOGINREC
Definition dblib.c:737
RETCODE dbmorecmds(DBPROCESS *dbproc)
See if more commands are to be processed.
Definition dblib.c:6263
DBBOOL dbisopt(DBPROCESS *dbproc, int option, const char param[])
Get value of an option.
Definition dblib.c:6189
int dbnumcompute(DBPROCESS *dbprocess)
Get count of COMPUTE clauses for a result set.
Definition dblib.c:4999
RETCODE dbsqlsend(DBPROCESS *dbproc)
Transmit the command buffer to the server.
Definition dblib.c:7069
RETCODE dbsprline(DBPROCESS *dbproc, char *buffer, DBINT buf_len, DBCHAR line_char)
Get formatted string for underlining dbsprhead() column names.
Definition dblib.c:3863
void dbexit(void)
Close server connections and free all related structures.
Definition dblib.c:1552
RETCODE dbsafestr(DBPROCESS *dbproc, const char *src, DBINT srclen, char *dest, DBINT destlen, int quotetype)
safely quotes character values in SQL text.
Definition dblib.c:6412
int dbaltcolid(DBPROCESS *dbproc, int computeid, int column)
Get column ID of a compute column.
Definition dblib.c:4310
RETCODE dbanydatecrack(DBPROCESS *dbproc, DBDATEREC2 *di, int type, const void *data)
Break any kind of date or time value into useful pieces.
Definition dblib.c:5894
RETCODE dbsettime(int seconds)
Set maximum seconds db-lib waits for a server response to query.
Definition dblib.c:4218
int dbnumcols(DBPROCESS *dbproc)
Return number of regular columns in a result set.
Definition dblib.c:1848
int dbgetmaxprocs(void)
get maximum simultaneous connections db-lib will open to the server.
Definition dblib.c:4197
DBBINARY * dbtxptr(DBPROCESS *dbproc, int column)
Get text pointer for a column in the current row.
Definition dblib.c:6583
MHANDLEFUNC dbmsghandle(MHANDLEFUNC handler)
Set a message handler, for messages from the server.
Definition dblib.c:5166
STATUS dbreadtext(DBPROCESS *dbproc, void *buf, DBINT bufsize)
Fetch part of a text or image value from the server.
Definition dblib.c:6689
RETCODE dbsqlok(DBPROCESS *dbproc)
Wait for results of a query from the server.
Definition dblib.c:4840
DBINT dbdatlen(DBPROCESS *dbproc, int column)
Get size of current row's data in a regular result column.
Definition dblib.c:3327
STATUS dbsetrow(DBPROCESS *dbprocess, DBINT row)
Make a buffered row "current" without fetching it into bound variables.
Definition dblib.c:2045
void dbclose(DBPROCESS *dbproc)
Close a connection to the server and free associated resources.
Definition dblib.c:1485
RETCODE dbstrcpy(DBPROCESS *dbproc, int start, int numbytes, char *dest)
Get a copy of a chunk of the command buffer.
Definition dblib.c:6368
DBINT dbaltutype(DBPROCESS *dbproc, int computeid, int column)
Get user-defined datatype of a compute column.
Definition dblib.c:7140
RETCODE dbsetmaxprocs(int maxprocs)
Set maximum simultaneous connections db-lib will open to the server.
Definition dblib.c:4125
RETCODE dbspr1row(DBPROCESS *dbproc, char *buffer, DBINT buf_len)
Print a regular result row to a buffer.
Definition dblib.c:3460
RETCODE dbaltbind(DBPROCESS *dbprocess, int computeid, int column, int vartype, DBINT varlen, BYTE *varaddr)
Bind a compute column to a program variable.
Definition dblib.c:4395
DBINT dbretstatus(DBPROCESS *dbproc)
Fetch status value returned by query or remote procedure call.
Definition dblib.c:4700
RETCODE dbrpcinit(DBPROCESS *dbproc, const char rpcname[], DBSMALLINT options)
Initialize a remote procedure call.
Definition rpc.c:72
BYTE * dbretdata(DBPROCESS *dbproc, int retnum)
Get value of an output parameter filled by a stored procedure.
Definition dblib.c:4779
char * dbretname(DBPROCESS *dbproc, int retnum)
Get name of an output parameter filled by a stored procedure.
Definition dblib.c:4750
DBBOOL dbhasretstat(DBPROCESS *dbproc)
Determine if query generated a return status number.
Definition dblib.c:4676
int dbrettype(DBPROCESS *dbproc, int retnum)
Get datatype of a stored procedure's return parameter.
Definition dblib.c:6292
int dbretlen(DBPROCESS *dbproc, int retnum)
Get size of an output parameter filled by a stored procedure.
Definition dblib.c:4805
RETCODE dbrpcparam(DBPROCESS *dbproc, const char paramname[], BYTE status, int type, DBINT maxlen, DBINT datalen, BYTE *value)
Add a parameter to a remote procedure call.
Definition rpc.c:155
RETCODE dbrpcsend(DBPROCESS *dbproc)
Execute the procedure and free associated memory.
Definition rpc.c:281
int dbnumrets(DBPROCESS *dbproc)
Get count of output parameters filled by a stored procedure.
Definition dblib.c:4718
RETCODE bcp_colfmt(DBPROCESS *dbproc, int host_column, int host_type, int host_prefixlen, DBINT host_collen, const BYTE *host_term, int host_termlen, int colnum)
Specify the format of a datafile prior to writing to a table.
Definition bcp.c:377
DBBOOL bcp_getl(LOGINREC *login)
See if BCP_SETL() was used to set the LOGINREC for BCP work.
Definition bcp.c:707
RETCODE bcp_control(DBPROCESS *dbproc, int field, DBINT value)
Set BCP options for uploading a datafile.
Definition bcp.c:544
RETCODE bcp_columns(DBPROCESS *dbproc, int host_colcount)
Indicate how many columns are to be found in the datafile.
Definition bcp.c:301
RETCODE bcp_colptr(DBPROCESS *dbproc, BYTE *colptr, int table_column)
Override bcp_bind() by pointing to a different host variable.
Definition bcp.c:671
RETCODE bcp_bind(DBPROCESS *dbproc, BYTE *varaddr, int prefixlen, DBINT varlen, BYTE *terminator, int termlen, int type, int table_column)
Bind a program host variable to a database column.
Definition bcp.c:2079
RETCODE bcp_exec(DBPROCESS *dbproc, DBINT *rows_copied)
Write a datafile to a table.
Definition bcp.c:1617
DBINT bcp_done(DBPROCESS *dbproc)
Conclude the transfer of data from program variables.
Definition bcp.c:2037
RETCODE bcp_readfmt(DBPROCESS *dbproc, const char filename[])
Read a format definition file.
Definition bcp.c:1678
DBINT bcp_batch(DBPROCESS *dbproc)
Commit a set of rows to the table.
Definition bcp.c:2010
RETCODE bcp_init(DBPROCESS *dbproc, const char *tblname, const char *hfile, const char *errfile, int direction)
Prepare for bulk copy operation on a table.
Definition bcp.c:167
RETCODE bcp_collen(DBPROCESS *dbproc, DBINT varlen, int table_column)
Set the length of a host variable to be written to a table.
Definition bcp.c:267
RETCODE bcp_sendrow(DBPROCESS *dbproc)
Write data in host variables to the table.
Definition bcp.c:1381
RETCODE bcp_colfmt_ps(DBPROCESS *dbproc, int host_column, int host_type, int host_prefixlen, DBINT host_collen, BYTE *host_term, int host_termlen, int colnum, DBTYPEINFO *typeinfo)
Specify the format of a host file for bulk copy purposes, with precision and scale support for numeri...
Definition bcp.c:509
RETCODE bcp_options(DBPROCESS *dbproc, int option, BYTE *value, int valuelen)
Set "hints" for uploading a file.
Definition bcp.c:622
RETCODE dbmny4zero(DBPROCESS *dbproc, DBMONEY4 *dest)
Zero a DBMONEY4 value.
Definition dblib.c:5596
RETCODE dbmny4add(DBPROCESS *dbproc, DBMONEY4 *m1, DBMONEY4 *m2, DBMONEY4 *sum)
Add two DBMONEY4 values.
Definition dblib.c:5619
int dbmny4cmp(DBPROCESS *dbproc, DBMONEY4 *m1, DBMONEY4 *m2)
Compare two DBMONEY4 values.
Definition dblib.c:5738
RETCODE dbmnymaxpos(DBPROCESS *dbproc, DBMONEY *dest)
Get maximum positive DBMONEY value supported.
Definition dblib.c:5371
RETCODE dbmny4minus(DBPROCESS *dbproc, DBMONEY4 *src, DBMONEY4 *dest)
Negate a DBMONEY4 value.
Definition dblib.c:5572
RETCODE dbmnyminus(DBPROCESS *dbproc, DBMONEY *src, DBMONEY *dest)
Negate a DBMONEY value.
Definition dblib.c:5545
RETCODE dbmny4sub(DBPROCESS *dbproc, DBMONEY4 *m1, DBMONEY4 *m2, DBMONEY4 *diff)
Subtract two DBMONEY4 values.
Definition dblib.c:5650
RETCODE dbmnyzero(DBPROCESS *dbproc, DBMONEY *dest)
Set a DBMONEY value to zero.
Definition dblib.c:5350
RETCODE dbmnycopy(DBPROCESS *dbproc, DBMONEY *src, DBMONEY *dest)
Copy a DBMONEY value.
Definition dblib.c:6036
RETCODE dbmny4copy(DBPROCESS *dbprocess, DBMONEY4 *m1, DBMONEY4 *m2)
Copy a DBMONEY4 value.
Definition dblib.c:5766
RETCODE dbmnymaxneg(DBPROCESS *dbproc, DBMONEY *dest)
Get maximum negative DBMONEY value supported.
Definition dblib.c:5392
RETCODE dbmnydec(DBPROCESS *dbproc, DBMONEY *mnyptr)
Subtract $0.0001 from a DBMONEY value.
Definition dblib.c:5517
RETCODE dbmnyinc(DBPROCESS *dbproc, DBMONEY *mnyptr)
Add $0.0001 to a DBMONEY value.
Definition dblib.c:5489
int dbmnycmp(DBPROCESS *dbproc, DBMONEY *m1, DBMONEY *m2)
Compare two DBMONEY values.
Definition dblib.c:5292
int dbdatecmp(DBPROCESS *dbproc, DBDATETIME *d1, DBDATETIME *d2)
Compare DBDATETIME values, similar to strcmp(3).
Definition dblib.c:5791
const char * dbmonthname(DBPROCESS *dbproc, char *language, int monthnum, DBBOOL shortform)
Get name of a month, in some human language.
Definition dblib.c:6984
int dbcurcmd(DBPROCESS *dbproc)
Get number of the row just returned.
Definition dblib.c:6246
RETCODE dbsetlbool(LOGINREC *login, int value, int which)
Set a boolean value in a LOGINREC structure.
Definition dblib.c:896
DBINT dblastrow(DBPROCESS *dbproc)
Get number of the last row in the row buffer.
Definition dblib.c:7233
RETCODE dbcmdrow(DBPROCESS *dbproc)
See if the current command can return rows.
Definition dblib.c:4286
RETCODE dbrows(DBPROCESS *dbproc)
Indicate whether a query returned rows.
Definition dblib.c:4060
void dbsetavail(DBPROCESS *dbprocess)
Mark a DBPROCESS as "available".
Definition dblib.c:7301
int dbiowdesc(DBPROCESS *dbproc)
Get file descriptor of the socket used by a DBPROCESS to write data coming to the server....
Definition dblib.c:7273
int dbtds(DBPROCESS *dbprocess)
Get the TDS version in use for dbproc.
Definition dblib.c:6827
DBINT dbcurrow(DBPROCESS *dbproc)
Get number of the row currently being read.
Definition dblib.c:6212
STATUS dbrowtype(DBPROCESS *dbprocess)
Get returned row's type.
Definition dblib.c:6229
int dbiordesc(DBPROCESS *dbproc)
Get file descriptor of the socket used by a DBPROCESS to read data coming from the server....
Definition dblib.c:7257
RETCODE dbsetllong(LOGINREC *login, long value, int which)
Set an integer value in a LOGINREC structure.
Definition dblib.c:825
RETCODE dbsetlname(LOGINREC *login, const char *value, int which)
Set the value of a string in a LOGINREC structure.
Definition dblib.c:759
DBPROCESS * tdsdbopen(LOGINREC *login, const char *server, int msdblib)
Form a connection with the server.
Definition dblib.c:1179
DBBOOL dbdead(DBPROCESS *dbproc)
Check if dbproc is an ex-parrot.
Definition dblib.c:5084
DBINT dbfirstrow(DBPROCESS *dbproc)
See if a server response has arrived.
Definition dblib.c:7218
Definition bsqlodbc.c:100
DBSMALLINT offset
time offset
Definition sybdb.h:310
DBUBIGINT time
time, 7 digit precision
Definition sybdb.h:308
DBINT date
date, 0 = 1900-01-01
Definition sybdb.h:309