FreeTDS API
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
tds_types.h
1 /*
2  * This file produced from ./types.pl
3  */
4 
8 int
9 tds_get_size_by_type(int servertype)
10 {
11  switch (servertype) {
12  case SYBVOID:
13  return 0;
14  case SYBBIT:
15  case SYBBITN:
16  case SYBINT1:
17  case SYBSINT1:
18  case SYBUINT1:
19  return 1;
20  case SYBINT2:
21  case SYBUINT2:
22  return 2;
23  case SYBMSDATE:
24  return 3;
25  case SYBDATE:
26  case SYBDATEN:
27  case SYBDATETIME4:
28  case SYBINT4:
29  case SYBMONEY4:
30  case SYBREAL:
31  case SYBTIME:
32  case SYBTIMEN:
33  case SYBUINT4:
34  return 4;
35  case SYB5INT8:
36  case SYBDATETIME:
37  case SYBFLT8:
38  case SYBINT8:
39  case SYBINTERVAL:
40  case SYBMONEY:
41  case SYBUINT8:
42  return 8;
43  case SYBUNIQUE:
44  return 16;
45  default:
46  return -1;
47  }
48 }
49 
54 int
55 tds_get_varint_size(TDSCONNECTION * conn, int datatype)
56 {
57  switch (datatype) {
58  case SYBBIT:
59  case SYBDATETIME:
60  case SYBDATETIME4:
61  case SYBFLT8:
62  case SYBINT1:
63  case SYBINT2:
64  case SYBINT4:
65  case SYBMONEY:
66  case SYBMONEY4:
67  case SYBREAL:
68  case SYBVOID:
69  return 0;
70  case SYBIMAGE:
71  case SYBTEXT:
72  return 4;
73  }
74 
75  if (IS_TDS7_PLUS(conn)) {
76  switch (datatype) {
77  case SYBINT8:
78  return 0;
79  case XSYBBINARY:
80  case XSYBCHAR:
81  case XSYBNCHAR:
82  case XSYBNVARCHAR:
83  case XSYBVARBINARY:
84  case XSYBVARCHAR:
85  return 2;
86  case SYBNTEXT:
87  case SYBVARIANT:
88  return 4;
89  case SYBMSUDT:
90  case SYBMSXML:
91  return 8;
92  }
93  } else if (IS_TDS50(conn)) {
94  switch (datatype) {
95  case SYB5INT8:
96  case SYBDATE:
97  case SYBINTERVAL:
98  case SYBSINT1:
99  case SYBTIME:
100  case SYBUINT1:
101  case SYBUINT2:
102  case SYBUINT4:
103  case SYBUINT8:
104  return 0;
105  case SYBUNITEXT:
106  case SYBXML:
107  return 4;
108  case SYBLONGBINARY:
109  case SYBLONGCHAR:
110  return 5;
111  }
112  }
113  return 1;
114 }
115 
122 int
123 tds_get_conversion_type(int srctype, int colsize)
124 {
125  switch (srctype) {
126  case SYBBITN:
127  return SYBBIT;
128  case SYBDATEN:
129  return SYBDATE;
130  case SYBDATETIMN:
131  switch (colsize) {
132  case 8:
133  return SYBDATETIME;
134  case 4:
135  return SYBDATETIME4;
136  }
137  break;
138  case SYBFLTN:
139  switch (colsize) {
140  case 8:
141  return SYBFLT8;
142  case 4:
143  return SYBREAL;
144  }
145  break;
146  case SYBINTN:
147  switch (colsize) {
148  case 8:
149  return SYBINT8;
150  case 4:
151  return SYBINT4;
152  case 2:
153  return SYBINT2;
154  case 1:
155  return SYBINT1;
156  }
157  break;
158  case SYBMONEYN:
159  switch (colsize) {
160  case 8:
161  return SYBMONEY;
162  case 4:
163  return SYBMONEY4;
164  }
165  break;
166  case SYBTIMEN:
167  return SYBTIME;
168  case SYBUINTN:
169  switch (colsize) {
170  case 8:
171  return SYBUINT8;
172  case 4:
173  return SYBUINT4;
174  case 2:
175  return SYBUINT2;
176  case 1:
177  return SYBUINT1;
178  }
179  break;
180  case SYB5INT8:
181  return SYBINT8;
182  }
183  return srctype;
184 }
185 
186 const unsigned char tds_type_flags_ms[256] = {
187  /* 0 empty */ TDS_TYPEFLAG_INVALID,
188  /* 1 empty */ TDS_TYPEFLAG_INVALID,
189  /* 2 empty */ TDS_TYPEFLAG_INVALID,
190  /* 3 empty */ TDS_TYPEFLAG_INVALID,
191  /* 4 empty */ TDS_TYPEFLAG_INVALID,
192  /* 5 empty */ TDS_TYPEFLAG_INVALID,
193  /* 6 empty */ TDS_TYPEFLAG_INVALID,
194  /* 7 empty */ TDS_TYPEFLAG_INVALID,
195  /* 8 empty */ TDS_TYPEFLAG_INVALID,
196  /* 9 empty */ TDS_TYPEFLAG_INVALID,
197  /* 10 empty */ TDS_TYPEFLAG_INVALID,
198  /* 11 empty */ TDS_TYPEFLAG_INVALID,
199  /* 12 empty */ TDS_TYPEFLAG_INVALID,
200  /* 13 empty */ TDS_TYPEFLAG_INVALID,
201  /* 14 empty */ TDS_TYPEFLAG_INVALID,
202  /* 15 empty */ TDS_TYPEFLAG_INVALID,
203  /* 16 empty */ TDS_TYPEFLAG_INVALID,
204  /* 17 empty */ TDS_TYPEFLAG_INVALID,
205  /* 18 empty */ TDS_TYPEFLAG_INVALID,
206  /* 19 empty */ TDS_TYPEFLAG_INVALID,
207  /* 20 empty */ TDS_TYPEFLAG_INVALID,
208  /* 21 empty */ TDS_TYPEFLAG_INVALID,
209  /* 22 empty */ TDS_TYPEFLAG_INVALID,
210  /* 23 empty */ TDS_TYPEFLAG_INVALID,
211  /* 24 empty */ TDS_TYPEFLAG_INVALID,
212  /* 25 empty */ TDS_TYPEFLAG_INVALID,
213  /* 26 empty */ TDS_TYPEFLAG_INVALID,
214  /* 27 empty */ TDS_TYPEFLAG_INVALID,
215  /* 28 empty */ TDS_TYPEFLAG_INVALID,
216  /* 29 empty */ TDS_TYPEFLAG_INVALID,
217  /* 30 empty */ TDS_TYPEFLAG_INVALID,
218  /* 31 SYBVOID */ TDS_TYPEFLAG_FIXED,
219  /* 32 empty */ TDS_TYPEFLAG_INVALID,
220  /* 33 empty */ TDS_TYPEFLAG_INVALID,
221  /* 34 SYBIMAGE */ TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE,
222  /* 35 SYBTEXT */ TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE|TDS_TYPEFLAG_COLLATE|TDS_TYPEFLAG_ASCII,
223  /* 36 SYBUNIQUE */ TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_FIXED,
224  /* 37 SYBVARBINARY */ TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE,
225  /* 38 SYBINTN */ TDS_TYPEFLAG_NULLABLE,
226  /* 39 SYBVARCHAR */ TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE|TDS_TYPEFLAG_ASCII,
227  /* 40 SYBMSDATE */ TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_FIXED,
228  /* 41 SYBMSTIME */ TDS_TYPEFLAG_NULLABLE,
229  /* 42 SYBMSDATETIME2 */ TDS_TYPEFLAG_NULLABLE,
230  /* 43 SYBMSDATETIMEOFFSET */ TDS_TYPEFLAG_NULLABLE,
231  /* 44 empty */ TDS_TYPEFLAG_INVALID,
232  /* 45 SYBBINARY */ TDS_TYPEFLAG_VARIABLE,
233  /* 46 empty */ TDS_TYPEFLAG_INVALID|TDS_TYPEFLAG_FIXED,
234  /* 47 SYBCHAR */ TDS_TYPEFLAG_VARIABLE|TDS_TYPEFLAG_ASCII,
235  /* 48 SYBINT1 */ TDS_TYPEFLAG_FIXED,
236  /* 49 empty */ TDS_TYPEFLAG_INVALID|TDS_TYPEFLAG_FIXED,
237  /* 50 SYBBIT */ TDS_TYPEFLAG_FIXED,
238  /* 51 empty */ TDS_TYPEFLAG_INVALID|TDS_TYPEFLAG_FIXED,
239  /* 52 SYBINT2 */ TDS_TYPEFLAG_FIXED,
240  /* 53 empty */ TDS_TYPEFLAG_INVALID,
241  /* 54 empty */ TDS_TYPEFLAG_INVALID,
242  /* 55 empty */ TDS_TYPEFLAG_INVALID,
243  /* 56 SYBINT4 */ TDS_TYPEFLAG_FIXED,
244  /* 57 empty */ TDS_TYPEFLAG_INVALID,
245  /* 58 SYBDATETIME4 */ TDS_TYPEFLAG_FIXED,
246  /* 59 SYBREAL */ TDS_TYPEFLAG_FIXED,
247  /* 60 SYBMONEY */ TDS_TYPEFLAG_FIXED,
248  /* 61 SYBDATETIME */ TDS_TYPEFLAG_FIXED,
249  /* 62 SYBFLT8 */ TDS_TYPEFLAG_FIXED,
250  /* 63 empty */ TDS_TYPEFLAG_INVALID,
251  /* 64 empty */ TDS_TYPEFLAG_INVALID|TDS_TYPEFLAG_FIXED,
252  /* 65 empty */ TDS_TYPEFLAG_INVALID|TDS_TYPEFLAG_FIXED,
253  /* 66 empty */ TDS_TYPEFLAG_INVALID|TDS_TYPEFLAG_FIXED,
254  /* 67 empty */ TDS_TYPEFLAG_INVALID|TDS_TYPEFLAG_FIXED,
255  /* 68 empty */ TDS_TYPEFLAG_INVALID|TDS_TYPEFLAG_NULLABLE,
256  /* 69 empty */ TDS_TYPEFLAG_INVALID,
257  /* 70 empty */ TDS_TYPEFLAG_INVALID,
258  /* 71 empty */ TDS_TYPEFLAG_INVALID,
259  /* 72 empty */ TDS_TYPEFLAG_INVALID,
260  /* 73 empty */ TDS_TYPEFLAG_INVALID,
261  /* 74 empty */ TDS_TYPEFLAG_INVALID,
262  /* 75 empty */ TDS_TYPEFLAG_INVALID,
263  /* 76 empty */ TDS_TYPEFLAG_INVALID,
264  /* 77 empty */ TDS_TYPEFLAG_INVALID,
265  /* 78 empty */ TDS_TYPEFLAG_INVALID,
266  /* 79 empty */ TDS_TYPEFLAG_INVALID,
267  /* 80 empty */ TDS_TYPEFLAG_INVALID,
268  /* 81 empty */ TDS_TYPEFLAG_INVALID,
269  /* 82 empty */ TDS_TYPEFLAG_INVALID,
270  /* 83 empty */ TDS_TYPEFLAG_INVALID,
271  /* 84 empty */ TDS_TYPEFLAG_INVALID,
272  /* 85 empty */ TDS_TYPEFLAG_INVALID,
273  /* 86 empty */ TDS_TYPEFLAG_INVALID,
274  /* 87 empty */ TDS_TYPEFLAG_INVALID,
275  /* 88 empty */ TDS_TYPEFLAG_INVALID,
276  /* 89 empty */ TDS_TYPEFLAG_INVALID,
277  /* 90 empty */ TDS_TYPEFLAG_INVALID,
278  /* 91 empty */ TDS_TYPEFLAG_INVALID,
279  /* 92 empty */ TDS_TYPEFLAG_INVALID,
280  /* 93 empty */ TDS_TYPEFLAG_INVALID,
281  /* 94 empty */ TDS_TYPEFLAG_INVALID,
282  /* 95 empty */ TDS_TYPEFLAG_INVALID,
283  /* 96 empty */ TDS_TYPEFLAG_INVALID,
284  /* 97 empty */ TDS_TYPEFLAG_INVALID,
285  /* 98 SYBVARIANT */ TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE,
286  /* 99 SYBNTEXT */ TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE|TDS_TYPEFLAG_COLLATE|TDS_TYPEFLAG_UNICODE,
287  /* 100 empty */ TDS_TYPEFLAG_INVALID,
288  /* 101 empty */ TDS_TYPEFLAG_INVALID,
289  /* 102 empty */ TDS_TYPEFLAG_INVALID,
290  /* 103 SYBNVARCHAR */ TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE|TDS_TYPEFLAG_UNICODE,
291  /* 104 SYBBITN */ TDS_TYPEFLAG_NULLABLE,
292  /* 105 empty */ TDS_TYPEFLAG_INVALID,
293  /* 106 SYBDECIMAL */ TDS_TYPEFLAG_NUMERIC,
294  /* 107 empty */ TDS_TYPEFLAG_INVALID,
295  /* 108 SYBNUMERIC */ TDS_TYPEFLAG_NUMERIC,
296  /* 109 SYBFLTN */ TDS_TYPEFLAG_NULLABLE,
297  /* 110 SYBMONEYN */ TDS_TYPEFLAG_NULLABLE,
298  /* 111 SYBDATETIMN */ TDS_TYPEFLAG_NULLABLE,
299  /* 112 empty */ TDS_TYPEFLAG_INVALID,
300  /* 113 empty */ TDS_TYPEFLAG_INVALID,
301  /* 114 empty */ TDS_TYPEFLAG_INVALID,
302  /* 115 empty */ TDS_TYPEFLAG_INVALID,
303  /* 116 empty */ TDS_TYPEFLAG_INVALID,
304  /* 117 empty */ TDS_TYPEFLAG_INVALID,
305  /* 118 empty */ TDS_TYPEFLAG_INVALID,
306  /* 119 empty */ TDS_TYPEFLAG_INVALID,
307  /* 120 empty */ TDS_TYPEFLAG_INVALID,
308  /* 121 empty */ TDS_TYPEFLAG_INVALID,
309  /* 122 SYBMONEY4 */ TDS_TYPEFLAG_FIXED,
310  /* 123 empty */ TDS_TYPEFLAG_INVALID|TDS_TYPEFLAG_NULLABLE,
311  /* 124 empty */ TDS_TYPEFLAG_INVALID,
312  /* 125 empty */ TDS_TYPEFLAG_INVALID,
313  /* 126 empty */ TDS_TYPEFLAG_INVALID,
314  /* 127 SYBINT8 */ TDS_TYPEFLAG_FIXED,
315  /* 128 empty */ TDS_TYPEFLAG_INVALID,
316  /* 129 empty */ TDS_TYPEFLAG_INVALID,
317  /* 130 empty */ TDS_TYPEFLAG_INVALID,
318  /* 131 empty */ TDS_TYPEFLAG_INVALID,
319  /* 132 empty */ TDS_TYPEFLAG_INVALID,
320  /* 133 empty */ TDS_TYPEFLAG_INVALID,
321  /* 134 empty */ TDS_TYPEFLAG_INVALID,
322  /* 135 empty */ TDS_TYPEFLAG_INVALID,
323  /* 136 empty */ TDS_TYPEFLAG_INVALID,
324  /* 137 empty */ TDS_TYPEFLAG_INVALID,
325  /* 138 empty */ TDS_TYPEFLAG_INVALID,
326  /* 139 empty */ TDS_TYPEFLAG_INVALID,
327  /* 140 empty */ TDS_TYPEFLAG_INVALID,
328  /* 141 empty */ TDS_TYPEFLAG_INVALID,
329  /* 142 empty */ TDS_TYPEFLAG_INVALID,
330  /* 143 empty */ TDS_TYPEFLAG_INVALID,
331  /* 144 empty */ TDS_TYPEFLAG_INVALID,
332  /* 145 empty */ TDS_TYPEFLAG_INVALID,
333  /* 146 empty */ TDS_TYPEFLAG_INVALID,
334  /* 147 empty */ TDS_TYPEFLAG_INVALID|TDS_TYPEFLAG_NULLABLE,
335  /* 148 empty */ TDS_TYPEFLAG_INVALID,
336  /* 149 empty */ TDS_TYPEFLAG_INVALID,
337  /* 150 empty */ TDS_TYPEFLAG_INVALID,
338  /* 151 empty */ TDS_TYPEFLAG_INVALID,
339  /* 152 empty */ TDS_TYPEFLAG_INVALID,
340  /* 153 empty */ TDS_TYPEFLAG_INVALID,
341  /* 154 empty */ TDS_TYPEFLAG_INVALID,
342  /* 155 empty */ TDS_TYPEFLAG_INVALID,
343  /* 156 empty */ TDS_TYPEFLAG_INVALID,
344  /* 157 empty */ TDS_TYPEFLAG_INVALID,
345  /* 158 empty */ TDS_TYPEFLAG_INVALID,
346  /* 159 empty */ TDS_TYPEFLAG_INVALID,
347  /* 160 empty */ TDS_TYPEFLAG_INVALID,
348  /* 161 empty */ TDS_TYPEFLAG_INVALID,
349  /* 162 empty */ TDS_TYPEFLAG_INVALID,
350  /* 163 empty */ TDS_TYPEFLAG_INVALID|TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE,
351  /* 164 empty */ TDS_TYPEFLAG_INVALID,
352  /* 165 XSYBVARBINARY */ TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE,
353  /* 166 empty */ TDS_TYPEFLAG_INVALID,
354  /* 167 XSYBVARCHAR */ TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE|TDS_TYPEFLAG_COLLATE|TDS_TYPEFLAG_ASCII,
355  /* 168 empty */ TDS_TYPEFLAG_INVALID,
356  /* 169 empty */ TDS_TYPEFLAG_INVALID,
357  /* 170 empty */ TDS_TYPEFLAG_INVALID,
358  /* 171 empty */ TDS_TYPEFLAG_INVALID,
359  /* 172 empty */ TDS_TYPEFLAG_INVALID,
360  /* 173 XSYBBINARY */ TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE,
361  /* 174 empty */ TDS_TYPEFLAG_INVALID|TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE|TDS_TYPEFLAG_UNICODE,
362  /* 175 XSYBCHAR */ TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE|TDS_TYPEFLAG_COLLATE|TDS_TYPEFLAG_ASCII,
363  /* 176 empty */ TDS_TYPEFLAG_INVALID|TDS_TYPEFLAG_FIXED,
364  /* 177 empty */ TDS_TYPEFLAG_INVALID,
365  /* 178 empty */ TDS_TYPEFLAG_INVALID,
366  /* 179 empty */ TDS_TYPEFLAG_INVALID,
367  /* 180 empty */ TDS_TYPEFLAG_INVALID,
368  /* 181 empty */ TDS_TYPEFLAG_INVALID,
369  /* 182 empty */ TDS_TYPEFLAG_INVALID,
370  /* 183 empty */ TDS_TYPEFLAG_INVALID,
371  /* 184 empty */ TDS_TYPEFLAG_INVALID,
372  /* 185 empty */ TDS_TYPEFLAG_INVALID,
373  /* 186 empty */ TDS_TYPEFLAG_INVALID,
374  /* 187 empty */ TDS_TYPEFLAG_INVALID,
375  /* 188 empty */ TDS_TYPEFLAG_INVALID,
376  /* 189 empty */ TDS_TYPEFLAG_INVALID,
377  /* 190 empty */ TDS_TYPEFLAG_INVALID,
378  /* 191 empty */ TDS_TYPEFLAG_INVALID|TDS_TYPEFLAG_FIXED,
379  /* 192 empty */ TDS_TYPEFLAG_INVALID,
380  /* 193 empty */ TDS_TYPEFLAG_INVALID,
381  /* 194 empty */ TDS_TYPEFLAG_INVALID,
382  /* 195 empty */ TDS_TYPEFLAG_INVALID,
383  /* 196 empty */ TDS_TYPEFLAG_INVALID,
384  /* 197 empty */ TDS_TYPEFLAG_INVALID,
385  /* 198 empty */ TDS_TYPEFLAG_INVALID,
386  /* 199 empty */ TDS_TYPEFLAG_INVALID,
387  /* 200 empty */ TDS_TYPEFLAG_INVALID,
388  /* 201 empty */ TDS_TYPEFLAG_INVALID,
389  /* 202 empty */ TDS_TYPEFLAG_INVALID,
390  /* 203 empty */ TDS_TYPEFLAG_INVALID,
391  /* 204 empty */ TDS_TYPEFLAG_INVALID,
392  /* 205 empty */ TDS_TYPEFLAG_INVALID,
393  /* 206 empty */ TDS_TYPEFLAG_INVALID,
394  /* 207 empty */ TDS_TYPEFLAG_INVALID,
395  /* 208 empty */ TDS_TYPEFLAG_INVALID,
396  /* 209 empty */ TDS_TYPEFLAG_INVALID,
397  /* 210 empty */ TDS_TYPEFLAG_INVALID,
398  /* 211 empty */ TDS_TYPEFLAG_INVALID,
399  /* 212 empty */ TDS_TYPEFLAG_INVALID,
400  /* 213 empty */ TDS_TYPEFLAG_INVALID,
401  /* 214 empty */ TDS_TYPEFLAG_INVALID,
402  /* 215 empty */ TDS_TYPEFLAG_INVALID,
403  /* 216 empty */ TDS_TYPEFLAG_INVALID,
404  /* 217 empty */ TDS_TYPEFLAG_INVALID,
405  /* 218 empty */ TDS_TYPEFLAG_INVALID,
406  /* 219 empty */ TDS_TYPEFLAG_INVALID,
407  /* 220 empty */ TDS_TYPEFLAG_INVALID,
408  /* 221 empty */ TDS_TYPEFLAG_INVALID,
409  /* 222 empty */ TDS_TYPEFLAG_INVALID,
410  /* 223 empty */ TDS_TYPEFLAG_INVALID,
411  /* 224 empty */ TDS_TYPEFLAG_INVALID,
412  /* 225 empty */ TDS_TYPEFLAG_INVALID|TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE,
413  /* 226 empty */ TDS_TYPEFLAG_INVALID,
414  /* 227 empty */ TDS_TYPEFLAG_INVALID,
415  /* 228 empty */ TDS_TYPEFLAG_INVALID,
416  /* 229 empty */ TDS_TYPEFLAG_INVALID,
417  /* 230 empty */ TDS_TYPEFLAG_INVALID,
418  /* 231 XSYBNVARCHAR */ TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE|TDS_TYPEFLAG_COLLATE|TDS_TYPEFLAG_UNICODE,
419  /* 232 empty */ TDS_TYPEFLAG_INVALID,
420  /* 233 empty */ TDS_TYPEFLAG_INVALID,
421  /* 234 empty */ TDS_TYPEFLAG_INVALID,
422  /* 235 empty */ TDS_TYPEFLAG_INVALID,
423  /* 236 empty */ TDS_TYPEFLAG_INVALID,
424  /* 237 empty */ TDS_TYPEFLAG_INVALID,
425  /* 238 empty */ TDS_TYPEFLAG_INVALID,
426  /* 239 XSYBNCHAR */ TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE|TDS_TYPEFLAG_COLLATE|TDS_TYPEFLAG_UNICODE,
427  /* 240 SYBMSUDT */ TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE,
428  /* 241 SYBMSXML */ TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE|TDS_TYPEFLAG_UNICODE,
429  /* 242 empty */ TDS_TYPEFLAG_INVALID,
430  /* 243 empty */ TDS_TYPEFLAG_INVALID,
431  /* 244 empty */ TDS_TYPEFLAG_INVALID,
432  /* 245 empty */ TDS_TYPEFLAG_INVALID,
433  /* 246 empty */ TDS_TYPEFLAG_INVALID,
434  /* 247 empty */ TDS_TYPEFLAG_INVALID,
435  /* 248 empty */ TDS_TYPEFLAG_INVALID,
436  /* 249 empty */ TDS_TYPEFLAG_INVALID,
437  /* 250 empty */ TDS_TYPEFLAG_INVALID,
438  /* 251 empty */ TDS_TYPEFLAG_INVALID,
439  /* 252 empty */ TDS_TYPEFLAG_INVALID,
440  /* 253 empty */ TDS_TYPEFLAG_INVALID,
441  /* 254 empty */ TDS_TYPEFLAG_INVALID,
442  /* 255 empty */ TDS_TYPEFLAG_INVALID,
443 };
444 
445 #if 0
446 const unsigned char tds_type_flags_syb[256] = {
447  /* 0 empty */ TDS_TYPEFLAG_INVALID,
448  /* 1 empty */ TDS_TYPEFLAG_INVALID,
449  /* 2 empty */ TDS_TYPEFLAG_INVALID,
450  /* 3 empty */ TDS_TYPEFLAG_INVALID,
451  /* 4 empty */ TDS_TYPEFLAG_INVALID,
452  /* 5 empty */ TDS_TYPEFLAG_INVALID,
453  /* 6 empty */ TDS_TYPEFLAG_INVALID,
454  /* 7 empty */ TDS_TYPEFLAG_INVALID,
455  /* 8 empty */ TDS_TYPEFLAG_INVALID,
456  /* 9 empty */ TDS_TYPEFLAG_INVALID,
457  /* 10 empty */ TDS_TYPEFLAG_INVALID,
458  /* 11 empty */ TDS_TYPEFLAG_INVALID,
459  /* 12 empty */ TDS_TYPEFLAG_INVALID,
460  /* 13 empty */ TDS_TYPEFLAG_INVALID,
461  /* 14 empty */ TDS_TYPEFLAG_INVALID,
462  /* 15 empty */ TDS_TYPEFLAG_INVALID,
463  /* 16 empty */ TDS_TYPEFLAG_INVALID,
464  /* 17 empty */ TDS_TYPEFLAG_INVALID,
465  /* 18 empty */ TDS_TYPEFLAG_INVALID,
466  /* 19 empty */ TDS_TYPEFLAG_INVALID,
467  /* 20 empty */ TDS_TYPEFLAG_INVALID,
468  /* 21 empty */ TDS_TYPEFLAG_INVALID,
469  /* 22 empty */ TDS_TYPEFLAG_INVALID,
470  /* 23 empty */ TDS_TYPEFLAG_INVALID,
471  /* 24 empty */ TDS_TYPEFLAG_INVALID,
472  /* 25 empty */ TDS_TYPEFLAG_INVALID,
473  /* 26 empty */ TDS_TYPEFLAG_INVALID,
474  /* 27 empty */ TDS_TYPEFLAG_INVALID,
475  /* 28 empty */ TDS_TYPEFLAG_INVALID,
476  /* 29 empty */ TDS_TYPEFLAG_INVALID,
477  /* 30 empty */ TDS_TYPEFLAG_INVALID,
478  /* 31 SYBVOID */ TDS_TYPEFLAG_FIXED,
479  /* 32 empty */ TDS_TYPEFLAG_INVALID,
480  /* 33 empty */ TDS_TYPEFLAG_INVALID,
481  /* 34 SYBIMAGE */ TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE,
482  /* 35 SYBTEXT */ TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE|TDS_TYPEFLAG_COLLATE|TDS_TYPEFLAG_ASCII,
483  /* 36 empty */ TDS_TYPEFLAG_INVALID|TDS_TYPEFLAG_FIXED|TDS_TYPEFLAG_NULLABLE,
484  /* 37 SYBVARBINARY */ TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE,
485  /* 38 SYBINTN */ TDS_TYPEFLAG_NULLABLE,
486  /* 39 SYBVARCHAR */ TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE|TDS_TYPEFLAG_ASCII,
487  /* 40 empty */ TDS_TYPEFLAG_INVALID|TDS_TYPEFLAG_FIXED|TDS_TYPEFLAG_NULLABLE,
488  /* 41 empty */ TDS_TYPEFLAG_INVALID|TDS_TYPEFLAG_NULLABLE,
489  /* 42 empty */ TDS_TYPEFLAG_INVALID|TDS_TYPEFLAG_NULLABLE,
490  /* 43 empty */ TDS_TYPEFLAG_INVALID|TDS_TYPEFLAG_NULLABLE,
491  /* 44 empty */ TDS_TYPEFLAG_INVALID,
492  /* 45 SYBBINARY */ TDS_TYPEFLAG_VARIABLE,
493  /* 46 SYBINTERVAL */ TDS_TYPEFLAG_FIXED,
494  /* 47 SYBCHAR */ TDS_TYPEFLAG_VARIABLE|TDS_TYPEFLAG_ASCII,
495  /* 48 SYBINT1 */ TDS_TYPEFLAG_FIXED,
496  /* 49 SYBDATE */ TDS_TYPEFLAG_FIXED,
497  /* 50 SYBBIT */ TDS_TYPEFLAG_FIXED,
498  /* 51 SYBTIME */ TDS_TYPEFLAG_FIXED,
499  /* 52 SYBINT2 */ TDS_TYPEFLAG_FIXED,
500  /* 53 empty */ TDS_TYPEFLAG_INVALID,
501  /* 54 empty */ TDS_TYPEFLAG_INVALID,
502  /* 55 empty */ TDS_TYPEFLAG_INVALID,
503  /* 56 SYBINT4 */ TDS_TYPEFLAG_FIXED,
504  /* 57 empty */ TDS_TYPEFLAG_INVALID,
505  /* 58 SYBDATETIME4 */ TDS_TYPEFLAG_FIXED,
506  /* 59 SYBREAL */ TDS_TYPEFLAG_FIXED,
507  /* 60 SYBMONEY */ TDS_TYPEFLAG_FIXED,
508  /* 61 SYBDATETIME */ TDS_TYPEFLAG_FIXED,
509  /* 62 SYBFLT8 */ TDS_TYPEFLAG_FIXED,
510  /* 63 empty */ TDS_TYPEFLAG_INVALID,
511  /* 64 SYBUINT1 */ TDS_TYPEFLAG_FIXED,
512  /* 65 SYBUINT2 */ TDS_TYPEFLAG_FIXED,
513  /* 66 SYBUINT4 */ TDS_TYPEFLAG_FIXED,
514  /* 67 SYBUINT8 */ TDS_TYPEFLAG_FIXED,
515  /* 68 SYBUINTN */ TDS_TYPEFLAG_NULLABLE,
516  /* 69 empty */ TDS_TYPEFLAG_INVALID,
517  /* 70 empty */ TDS_TYPEFLAG_INVALID,
518  /* 71 empty */ TDS_TYPEFLAG_INVALID,
519  /* 72 empty */ TDS_TYPEFLAG_INVALID,
520  /* 73 empty */ TDS_TYPEFLAG_INVALID,
521  /* 74 empty */ TDS_TYPEFLAG_INVALID,
522  /* 75 empty */ TDS_TYPEFLAG_INVALID,
523  /* 76 empty */ TDS_TYPEFLAG_INVALID,
524  /* 77 empty */ TDS_TYPEFLAG_INVALID,
525  /* 78 empty */ TDS_TYPEFLAG_INVALID,
526  /* 79 empty */ TDS_TYPEFLAG_INVALID,
527  /* 80 empty */ TDS_TYPEFLAG_INVALID,
528  /* 81 empty */ TDS_TYPEFLAG_INVALID,
529  /* 82 empty */ TDS_TYPEFLAG_INVALID,
530  /* 83 empty */ TDS_TYPEFLAG_INVALID,
531  /* 84 empty */ TDS_TYPEFLAG_INVALID,
532  /* 85 empty */ TDS_TYPEFLAG_INVALID,
533  /* 86 empty */ TDS_TYPEFLAG_INVALID,
534  /* 87 empty */ TDS_TYPEFLAG_INVALID,
535  /* 88 empty */ TDS_TYPEFLAG_INVALID,
536  /* 89 empty */ TDS_TYPEFLAG_INVALID,
537  /* 90 empty */ TDS_TYPEFLAG_INVALID,
538  /* 91 empty */ TDS_TYPEFLAG_INVALID,
539  /* 92 empty */ TDS_TYPEFLAG_INVALID,
540  /* 93 empty */ TDS_TYPEFLAG_INVALID,
541  /* 94 empty */ TDS_TYPEFLAG_INVALID,
542  /* 95 empty */ TDS_TYPEFLAG_INVALID,
543  /* 96 empty */ TDS_TYPEFLAG_INVALID,
544  /* 97 empty */ TDS_TYPEFLAG_INVALID,
545  /* 98 empty */ TDS_TYPEFLAG_INVALID|TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE,
546  /* 99 empty */ TDS_TYPEFLAG_INVALID|TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE|TDS_TYPEFLAG_UNICODE,
547  /* 100 empty */ TDS_TYPEFLAG_INVALID,
548  /* 101 empty */ TDS_TYPEFLAG_INVALID,
549  /* 102 empty */ TDS_TYPEFLAG_INVALID,
550  /* 103 SYBSENSITIVITY */ TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE|TDS_TYPEFLAG_ASCII,
551  /* 104 SYBBOUNDARY */ TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE|TDS_TYPEFLAG_ASCII,
552  /* 105 empty */ TDS_TYPEFLAG_INVALID,
553  /* 106 SYBDECIMAL */ TDS_TYPEFLAG_NUMERIC,
554  /* 107 empty */ TDS_TYPEFLAG_INVALID,
555  /* 108 SYBNUMERIC */ TDS_TYPEFLAG_NUMERIC,
556  /* 109 SYBFLTN */ TDS_TYPEFLAG_NULLABLE,
557  /* 110 SYBMONEYN */ TDS_TYPEFLAG_NULLABLE,
558  /* 111 SYBDATETIMN */ TDS_TYPEFLAG_NULLABLE,
559  /* 112 empty */ TDS_TYPEFLAG_INVALID,
560  /* 113 empty */ TDS_TYPEFLAG_INVALID,
561  /* 114 empty */ TDS_TYPEFLAG_INVALID,
562  /* 115 empty */ TDS_TYPEFLAG_INVALID,
563  /* 116 empty */ TDS_TYPEFLAG_INVALID,
564  /* 117 empty */ TDS_TYPEFLAG_INVALID,
565  /* 118 empty */ TDS_TYPEFLAG_INVALID,
566  /* 119 empty */ TDS_TYPEFLAG_INVALID,
567  /* 120 empty */ TDS_TYPEFLAG_INVALID,
568  /* 121 empty */ TDS_TYPEFLAG_INVALID,
569  /* 122 SYBMONEY4 */ TDS_TYPEFLAG_FIXED,
570  /* 123 SYBDATEN */ TDS_TYPEFLAG_NULLABLE,
571  /* 124 empty */ TDS_TYPEFLAG_INVALID,
572  /* 125 empty */ TDS_TYPEFLAG_INVALID,
573  /* 126 empty */ TDS_TYPEFLAG_INVALID,
574  /* 127 empty */ TDS_TYPEFLAG_INVALID|TDS_TYPEFLAG_FIXED,
575  /* 128 empty */ TDS_TYPEFLAG_INVALID,
576  /* 129 empty */ TDS_TYPEFLAG_INVALID,
577  /* 130 empty */ TDS_TYPEFLAG_INVALID,
578  /* 131 empty */ TDS_TYPEFLAG_INVALID,
579  /* 132 empty */ TDS_TYPEFLAG_INVALID,
580  /* 133 empty */ TDS_TYPEFLAG_INVALID,
581  /* 134 empty */ TDS_TYPEFLAG_INVALID,
582  /* 135 empty */ TDS_TYPEFLAG_INVALID,
583  /* 136 empty */ TDS_TYPEFLAG_INVALID,
584  /* 137 empty */ TDS_TYPEFLAG_INVALID,
585  /* 138 empty */ TDS_TYPEFLAG_INVALID,
586  /* 139 empty */ TDS_TYPEFLAG_INVALID,
587  /* 140 empty */ TDS_TYPEFLAG_INVALID,
588  /* 141 empty */ TDS_TYPEFLAG_INVALID,
589  /* 142 empty */ TDS_TYPEFLAG_INVALID,
590  /* 143 empty */ TDS_TYPEFLAG_INVALID,
591  /* 144 empty */ TDS_TYPEFLAG_INVALID,
592  /* 145 empty */ TDS_TYPEFLAG_INVALID,
593  /* 146 empty */ TDS_TYPEFLAG_INVALID,
594  /* 147 SYBTIMEN */ TDS_TYPEFLAG_NULLABLE,
595  /* 148 empty */ TDS_TYPEFLAG_INVALID,
596  /* 149 empty */ TDS_TYPEFLAG_INVALID,
597  /* 150 empty */ TDS_TYPEFLAG_INVALID,
598  /* 151 empty */ TDS_TYPEFLAG_INVALID,
599  /* 152 empty */ TDS_TYPEFLAG_INVALID,
600  /* 153 empty */ TDS_TYPEFLAG_INVALID,
601  /* 154 empty */ TDS_TYPEFLAG_INVALID,
602  /* 155 empty */ TDS_TYPEFLAG_INVALID,
603  /* 156 empty */ TDS_TYPEFLAG_INVALID,
604  /* 157 empty */ TDS_TYPEFLAG_INVALID,
605  /* 158 empty */ TDS_TYPEFLAG_INVALID,
606  /* 159 empty */ TDS_TYPEFLAG_INVALID,
607  /* 160 empty */ TDS_TYPEFLAG_INVALID,
608  /* 161 empty */ TDS_TYPEFLAG_INVALID,
609  /* 162 empty */ TDS_TYPEFLAG_INVALID,
610  /* 163 SYBXML */ TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE,
611  /* 164 empty */ TDS_TYPEFLAG_INVALID,
612  /* 165 empty */ TDS_TYPEFLAG_INVALID|TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE,
613  /* 166 empty */ TDS_TYPEFLAG_INVALID,
614  /* 167 empty */ TDS_TYPEFLAG_INVALID|TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE|TDS_TYPEFLAG_ASCII,
615  /* 168 empty */ TDS_TYPEFLAG_INVALID,
616  /* 169 empty */ TDS_TYPEFLAG_INVALID,
617  /* 170 empty */ TDS_TYPEFLAG_INVALID,
618  /* 171 empty */ TDS_TYPEFLAG_INVALID,
619  /* 172 empty */ TDS_TYPEFLAG_INVALID,
620  /* 173 empty */ TDS_TYPEFLAG_INVALID|TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE,
621  /* 174 SYBUNITEXT */ TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE|TDS_TYPEFLAG_UNICODE,
622  /* 175 SYBLONGCHAR */ TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE|TDS_TYPEFLAG_ASCII,
623  /* 176 SYBSINT1 */ TDS_TYPEFLAG_FIXED,
624  /* 177 empty */ TDS_TYPEFLAG_INVALID,
625  /* 178 empty */ TDS_TYPEFLAG_INVALID,
626  /* 179 empty */ TDS_TYPEFLAG_INVALID,
627  /* 180 empty */ TDS_TYPEFLAG_INVALID,
628  /* 181 empty */ TDS_TYPEFLAG_INVALID,
629  /* 182 empty */ TDS_TYPEFLAG_INVALID,
630  /* 183 empty */ TDS_TYPEFLAG_INVALID,
631  /* 184 empty */ TDS_TYPEFLAG_INVALID,
632  /* 185 empty */ TDS_TYPEFLAG_INVALID,
633  /* 186 empty */ TDS_TYPEFLAG_INVALID,
634  /* 187 empty */ TDS_TYPEFLAG_INVALID,
635  /* 188 empty */ TDS_TYPEFLAG_INVALID,
636  /* 189 empty */ TDS_TYPEFLAG_INVALID,
637  /* 190 empty */ TDS_TYPEFLAG_INVALID,
638  /* 191 SYB5INT8 */ TDS_TYPEFLAG_FIXED,
639  /* 192 empty */ TDS_TYPEFLAG_INVALID,
640  /* 193 empty */ TDS_TYPEFLAG_INVALID,
641  /* 194 empty */ TDS_TYPEFLAG_INVALID,
642  /* 195 empty */ TDS_TYPEFLAG_INVALID,
643  /* 196 empty */ TDS_TYPEFLAG_INVALID,
644  /* 197 empty */ TDS_TYPEFLAG_INVALID,
645  /* 198 empty */ TDS_TYPEFLAG_INVALID,
646  /* 199 empty */ TDS_TYPEFLAG_INVALID,
647  /* 200 empty */ TDS_TYPEFLAG_INVALID,
648  /* 201 empty */ TDS_TYPEFLAG_INVALID,
649  /* 202 empty */ TDS_TYPEFLAG_INVALID,
650  /* 203 empty */ TDS_TYPEFLAG_INVALID,
651  /* 204 empty */ TDS_TYPEFLAG_INVALID,
652  /* 205 empty */ TDS_TYPEFLAG_INVALID,
653  /* 206 empty */ TDS_TYPEFLAG_INVALID,
654  /* 207 empty */ TDS_TYPEFLAG_INVALID,
655  /* 208 empty */ TDS_TYPEFLAG_INVALID,
656  /* 209 empty */ TDS_TYPEFLAG_INVALID,
657  /* 210 empty */ TDS_TYPEFLAG_INVALID,
658  /* 211 empty */ TDS_TYPEFLAG_INVALID,
659  /* 212 empty */ TDS_TYPEFLAG_INVALID,
660  /* 213 empty */ TDS_TYPEFLAG_INVALID,
661  /* 214 empty */ TDS_TYPEFLAG_INVALID,
662  /* 215 empty */ TDS_TYPEFLAG_INVALID,
663  /* 216 empty */ TDS_TYPEFLAG_INVALID,
664  /* 217 empty */ TDS_TYPEFLAG_INVALID,
665  /* 218 empty */ TDS_TYPEFLAG_INVALID,
666  /* 219 empty */ TDS_TYPEFLAG_INVALID,
667  /* 220 empty */ TDS_TYPEFLAG_INVALID,
668  /* 221 empty */ TDS_TYPEFLAG_INVALID,
669  /* 222 empty */ TDS_TYPEFLAG_INVALID,
670  /* 223 empty */ TDS_TYPEFLAG_INVALID,
671  /* 224 empty */ TDS_TYPEFLAG_INVALID,
672  /* 225 SYBLONGBINARY */ TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE,
673  /* 226 empty */ TDS_TYPEFLAG_INVALID,
674  /* 227 empty */ TDS_TYPEFLAG_INVALID,
675  /* 228 empty */ TDS_TYPEFLAG_INVALID,
676  /* 229 empty */ TDS_TYPEFLAG_INVALID,
677  /* 230 empty */ TDS_TYPEFLAG_INVALID,
678  /* 231 empty */ TDS_TYPEFLAG_INVALID|TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE|TDS_TYPEFLAG_UNICODE,
679  /* 232 empty */ TDS_TYPEFLAG_INVALID,
680  /* 233 empty */ TDS_TYPEFLAG_INVALID,
681  /* 234 empty */ TDS_TYPEFLAG_INVALID,
682  /* 235 empty */ TDS_TYPEFLAG_INVALID,
683  /* 236 empty */ TDS_TYPEFLAG_INVALID,
684  /* 237 empty */ TDS_TYPEFLAG_INVALID,
685  /* 238 empty */ TDS_TYPEFLAG_INVALID,
686  /* 239 empty */ TDS_TYPEFLAG_INVALID|TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE|TDS_TYPEFLAG_UNICODE,
687  /* 240 empty */ TDS_TYPEFLAG_INVALID|TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE,
688  /* 241 empty */ TDS_TYPEFLAG_INVALID|TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE|TDS_TYPEFLAG_UNICODE,
689  /* 242 empty */ TDS_TYPEFLAG_INVALID,
690  /* 243 empty */ TDS_TYPEFLAG_INVALID,
691  /* 244 empty */ TDS_TYPEFLAG_INVALID,
692  /* 245 empty */ TDS_TYPEFLAG_INVALID,
693  /* 246 empty */ TDS_TYPEFLAG_INVALID,
694  /* 247 empty */ TDS_TYPEFLAG_INVALID,
695  /* 248 empty */ TDS_TYPEFLAG_INVALID,
696  /* 249 empty */ TDS_TYPEFLAG_INVALID,
697  /* 250 empty */ TDS_TYPEFLAG_INVALID,
698  /* 251 empty */ TDS_TYPEFLAG_INVALID,
699  /* 252 empty */ TDS_TYPEFLAG_INVALID,
700  /* 253 empty */ TDS_TYPEFLAG_INVALID,
701  /* 254 empty */ TDS_TYPEFLAG_INVALID,
702  /* 255 empty */ TDS_TYPEFLAG_INVALID,
703 };
704 
705 const char *const tds_type_names[256] = {
706  /* 0 */ "",
707  /* 1 */ "",
708  /* 2 */ "",
709  /* 3 */ "",
710  /* 4 */ "",
711  /* 5 */ "",
712  /* 6 */ "",
713  /* 7 */ "",
714  /* 8 */ "",
715  /* 9 */ "",
716  /* 10 */ "",
717  /* 11 */ "",
718  /* 12 */ "",
719  /* 13 */ "",
720  /* 14 */ "",
721  /* 15 */ "",
722  /* 16 */ "",
723  /* 17 */ "",
724  /* 18 */ "",
725  /* 19 */ "",
726  /* 20 */ "",
727  /* 21 */ "",
728  /* 22 */ "",
729  /* 23 */ "",
730  /* 24 */ "",
731  /* 25 */ "",
732  /* 26 */ "",
733  /* 27 */ "",
734  /* 28 */ "",
735  /* 29 */ "",
736  /* 30 */ "",
737  /* 31 */ "SYBVOID",
738  /* 32 */ "",
739  /* 33 */ "",
740  /* 34 */ "SYBIMAGE",
741  /* 35 */ "SYBTEXT",
742  /* 36 */ "SYBUNIQUE",
743  /* 37 */ "SYBVARBINARY",
744  /* 38 */ "SYBINTN",
745  /* 39 */ "SYBVARCHAR",
746  /* 40 */ "SYBMSDATE",
747  /* 41 */ "SYBMSTIME",
748  /* 42 */ "SYBMSDATETIME2",
749  /* 43 */ "SYBMSDATETIMEOFFSET",
750  /* 44 */ "",
751  /* 45 */ "SYBBINARY",
752  /* 46 */ "SYBINTERVAL",
753  /* 47 */ "SYBCHAR",
754  /* 48 */ "SYBINT1",
755  /* 49 */ "SYBDATE",
756  /* 50 */ "SYBBIT",
757  /* 51 */ "SYBTIME",
758  /* 52 */ "SYBINT2",
759  /* 53 */ "",
760  /* 54 */ "",
761  /* 55 */ "",
762  /* 56 */ "SYBINT4",
763  /* 57 */ "",
764  /* 58 */ "SYBDATETIME4",
765  /* 59 */ "SYBREAL",
766  /* 60 */ "SYBMONEY",
767  /* 61 */ "SYBDATETIME",
768  /* 62 */ "SYBFLT8",
769  /* 63 */ "",
770  /* 64 */ "SYBUINT1",
771  /* 65 */ "SYBUINT2",
772  /* 66 */ "SYBUINT4",
773  /* 67 */ "SYBUINT8",
774  /* 68 */ "SYBUINTN",
775  /* 69 */ "",
776  /* 70 */ "",
777  /* 71 */ "",
778  /* 72 */ "",
779  /* 73 */ "",
780  /* 74 */ "",
781  /* 75 */ "",
782  /* 76 */ "",
783  /* 77 */ "",
784  /* 78 */ "",
785  /* 79 */ "",
786  /* 80 */ "",
787  /* 81 */ "",
788  /* 82 */ "",
789  /* 83 */ "",
790  /* 84 */ "",
791  /* 85 */ "",
792  /* 86 */ "",
793  /* 87 */ "",
794  /* 88 */ "",
795  /* 89 */ "",
796  /* 90 */ "",
797  /* 91 */ "",
798  /* 92 */ "",
799  /* 93 */ "",
800  /* 94 */ "",
801  /* 95 */ "",
802  /* 96 */ "",
803  /* 97 */ "",
804  /* 98 */ "SYBVARIANT",
805  /* 99 */ "SYBNTEXT",
806  /* 100 */ "",
807  /* 101 */ "",
808  /* 102 */ "",
809  /* 103 */ "SYBNVARCHAR or SYBSENSITIVITY",
810  /* 104 */ "SYBBITN or SYBBOUNDARY",
811  /* 105 */ "",
812  /* 106 */ "SYBDECIMAL",
813  /* 107 */ "",
814  /* 108 */ "SYBNUMERIC",
815  /* 109 */ "SYBFLTN",
816  /* 110 */ "SYBMONEYN",
817  /* 111 */ "SYBDATETIMN",
818  /* 112 */ "",
819  /* 113 */ "",
820  /* 114 */ "",
821  /* 115 */ "",
822  /* 116 */ "",
823  /* 117 */ "",
824  /* 118 */ "",
825  /* 119 */ "",
826  /* 120 */ "",
827  /* 121 */ "",
828  /* 122 */ "SYBMONEY4",
829  /* 123 */ "SYBDATEN",
830  /* 124 */ "",
831  /* 125 */ "",
832  /* 126 */ "",
833  /* 127 */ "SYBINT8",
834  /* 128 */ "",
835  /* 129 */ "",
836  /* 130 */ "",
837  /* 131 */ "",
838  /* 132 */ "",
839  /* 133 */ "",
840  /* 134 */ "",
841  /* 135 */ "",
842  /* 136 */ "",
843  /* 137 */ "",
844  /* 138 */ "",
845  /* 139 */ "",
846  /* 140 */ "",
847  /* 141 */ "",
848  /* 142 */ "",
849  /* 143 */ "",
850  /* 144 */ "",
851  /* 145 */ "",
852  /* 146 */ "",
853  /* 147 */ "SYBTIMEN",
854  /* 148 */ "",
855  /* 149 */ "",
856  /* 150 */ "",
857  /* 151 */ "",
858  /* 152 */ "",
859  /* 153 */ "",
860  /* 154 */ "",
861  /* 155 */ "",
862  /* 156 */ "",
863  /* 157 */ "",
864  /* 158 */ "",
865  /* 159 */ "",
866  /* 160 */ "",
867  /* 161 */ "",
868  /* 162 */ "",
869  /* 163 */ "SYBXML",
870  /* 164 */ "",
871  /* 165 */ "XSYBVARBINARY",
872  /* 166 */ "",
873  /* 167 */ "XSYBVARCHAR",
874  /* 168 */ "",
875  /* 169 */ "",
876  /* 170 */ "",
877  /* 171 */ "",
878  /* 172 */ "",
879  /* 173 */ "XSYBBINARY",
880  /* 174 */ "SYBUNITEXT",
881  /* 175 */ "XSYBCHAR or SYBLONGCHAR",
882  /* 176 */ "SYBSINT1",
883  /* 177 */ "",
884  /* 178 */ "",
885  /* 179 */ "",
886  /* 180 */ "",
887  /* 181 */ "",
888  /* 182 */ "",
889  /* 183 */ "",
890  /* 184 */ "",
891  /* 185 */ "",
892  /* 186 */ "",
893  /* 187 */ "",
894  /* 188 */ "",
895  /* 189 */ "",
896  /* 190 */ "",
897  /* 191 */ "SYB5INT8",
898  /* 192 */ "",
899  /* 193 */ "",
900  /* 194 */ "",
901  /* 195 */ "",
902  /* 196 */ "",
903  /* 197 */ "",
904  /* 198 */ "",
905  /* 199 */ "",
906  /* 200 */ "",
907  /* 201 */ "",
908  /* 202 */ "",
909  /* 203 */ "",
910  /* 204 */ "",
911  /* 205 */ "",
912  /* 206 */ "",
913  /* 207 */ "",
914  /* 208 */ "",
915  /* 209 */ "",
916  /* 210 */ "",
917  /* 211 */ "",
918  /* 212 */ "",
919  /* 213 */ "",
920  /* 214 */ "",
921  /* 215 */ "",
922  /* 216 */ "",
923  /* 217 */ "",
924  /* 218 */ "",
925  /* 219 */ "",
926  /* 220 */ "",
927  /* 221 */ "",
928  /* 222 */ "",
929  /* 223 */ "",
930  /* 224 */ "",
931  /* 225 */ "SYBLONGBINARY",
932  /* 226 */ "",
933  /* 227 */ "",
934  /* 228 */ "",
935  /* 229 */ "",
936  /* 230 */ "",
937  /* 231 */ "XSYBNVARCHAR",
938  /* 232 */ "",
939  /* 233 */ "",
940  /* 234 */ "",
941  /* 235 */ "",
942  /* 236 */ "",
943  /* 237 */ "",
944  /* 238 */ "",
945  /* 239 */ "XSYBNCHAR",
946  /* 240 */ "SYBMSUDT",
947  /* 241 */ "SYBMSXML",
948  /* 242 */ "",
949  /* 243 */ "",
950  /* 244 */ "",
951  /* 245 */ "",
952  /* 246 */ "",
953  /* 247 */ "",
954  /* 248 */ "",
955  /* 249 */ "",
956  /* 250 */ "",
957  /* 251 */ "",
958  /* 252 */ "",
959  /* 253 */ "",
960  /* 254 */ "",
961  /* 255 */ "",
962 };
963 #endif
int tds_get_conversion_type(int srctype, int colsize)
Return type suitable for conversions (convert all nullable types to fixed type)
Definition: tds_types.h:123
Definition: tds.h:1031
int tds_get_size_by_type(int servertype)
Return the number of bytes needed by specified type.
Definition: tds_types.h:9
int tds_get_varint_size(TDSCONNECTION *conn, int datatype)
tds_get_varint_size() returns the size of a variable length integer returned in a TDS 7...
Definition: tds_types.h:55