FreeTDS API: src/tds/tds_types.h Source File

- Main Page
- Related Pages
- Modules
- Classes
- Files

- File List
- File Members

# src/tds/tds_types.h

    00001 /*
    00002  * This file produced from ./types.pl
    00003  * CVS Id: types.pl,v 1.3 2010-10-29 08:49:30 freddy77 Exp
    00004  */
    00005
    00009 int
    00010 tds_get_size_by_type(int servertype)
    00011 {
    00012         switch (servertype) {
    00013         case SYBVOID:
    00014                 return 0;
    00015         case SYBBIT:
    00016         case SYBBITN:
    00017         case SYBINT1:
    00018         case SYBSINT1:
    00019         case SYBUINT1:
    00020                 return 1;
    00021         case SYBINT2:
    00022         case SYBUINT2:
    00023                 return 2;
    00024         case SYBDATE:
    00025         case SYBDATEN:
    00026         case SYBDATETIME4:
    00027         case SYBINT4:
    00028         case SYBMONEY4:
    00029         case SYBREAL:
    00030         case SYBTIME:
    00031         case SYBTIMEN:
    00032         case SYBUINT4:
    00033                 return 4;
    00034         case SYB5INT8:
    00035         case SYBDATETIME:
    00036         case SYBFLT8:
    00037         case SYBINT8:
    00038         case SYBINTERVAL:
    00039         case SYBMONEY:
    00040         case SYBUINT8:
    00041                 return 8;
    00042         case SYBUNIQUE:
    00043                 return 16;
    00044         default:
    00045                 return -1;
    00046         }
    00047 }
    00048
    00053 int
    00054 tds_get_varint_size(TDSSOCKET * tds, int datatype)
    00055 {
    00056         switch (datatype) {
    00057         case SYBBIT:
    00058         case SYBDATETIME:
    00059         case SYBDATETIME4:
    00060         case SYBFLT8:
    00061         case SYBINT1:
    00062         case SYBINT2:
    00063         case SYBINT4:
    00064         case SYBMONEY:
    00065         case SYBMONEY4:
    00066         case SYBREAL:
    00067         case SYBVOID:
    00068                 return 0;
    00069         case SYBIMAGE:
    00070         case SYBTEXT:
    00071                 return 4;
    00072         }
    00073
    00074         if (IS_TDS7_PLUS(tds)) {
    00075                 switch (datatype) {
    00076                 case SYBINT8:
    00077                         return 0;
    00078                 case XSYBBINARY:
    00079                 case XSYBCHAR:
    00080                 case XSYBNCHAR:
    00081                 case XSYBNVARCHAR:
    00082                 case XSYBVARBINARY:
    00083                 case XSYBVARCHAR:
    00084                         return 2;
    00085                 case SYBNTEXT:
    00086                 case SYBVARIANT:
    00087                         return 4;
    00088                 case SYBMSXML:
    00089                         return 8;
    00090                 }
    00091         } else if (IS_TDS50(tds)) {
    00092                 switch (datatype) {
    00093                 case SYB5INT8:
    00094                 case SYBDATE:
    00095                 case SYBINTERVAL:
    00096                 case SYBSINT1:
    00097                 case SYBTIME:
    00098                 case SYBUINT1:
    00099                 case SYBUINT2:
    00100                 case SYBUINT4:
    00101                 case SYBUINT8:
    00102                         return 0;
    00103                 case SYBUNITEXT:
    00104                 case SYBXML:
    00105                         return 4;
    00106                 case SYBLONGBINARY:
    00107                 case SYBLONGCHAR:
    00108                         return 5;
    00109                 }
    00110         }
    00111         return 1;
    00112 }
    00113
    00120 int
    00121 tds_get_conversion_type(int srctype, int colsize)
    00122 {
    00123         switch (srctype) {
    00124         case SYBBITN:
    00125                 return SYBBIT;
    00126         case SYBDATEN:
    00127                 return SYBDATE;
    00128         case SYBDATETIMN:
    00129                 switch (colsize) {
    00130                 case 8:
    00131                         return SYBDATETIME;
    00132                 case 4:
    00133                         return SYBDATETIME4;
    00134                 }
    00135                 break;
    00136         case SYBFLTN:
    00137                 switch (colsize) {
    00138                 case 8:
    00139                         return SYBFLT8;
    00140                 case 4:
    00141                         return SYBREAL;
    00142                 }
    00143                 break;
    00144         case SYBINTN:
    00145                 switch (colsize) {
    00146                 case 8:
    00147                         return SYBINT8;
    00148                 case 4:
    00149                         return SYBINT4;
    00150                 case 2:
    00151                         return SYBINT2;
    00152                 case 1:
    00153                         return SYBINT1;
    00154                 }
    00155                 break;
    00156         case SYBMONEYN:
    00157                 switch (colsize) {
    00158                 case 8:
    00159                         return SYBMONEY;
    00160                 case 4:
    00161                         return SYBMONEY4;
    00162                 }
    00163                 break;
    00164         case SYBTIMEN:
    00165                 return SYBTIME;
    00166         case SYBUINTN:
    00167                 switch (colsize) {
    00168                 case 8:
    00169                         return SYBUINT8;
    00170                 case 4:
    00171                         return SYBUINT4;
    00172                 case 2:
    00173                         return SYBUINT2;
    00174                 case 1:
    00175                         return SYBUINT1;
    00176                 }
    00177                 break;
    00178         case SYB5INT8:
    00179                 return SYBINT8;
    00180         }
    00181         return srctype;
    00182 }
    00183

All Classes Files Functions Variables Typedefs Enumerations Enumerator Defines