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

FreeTDS API

Loading...
Searching...
No Matches
tds_types.h
1/*
2 * This file produced from ./types.pl
3 */
4
8int
9tds_get_size_by_type(TDS_SERVER_TYPE 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 SYB5BIGDATETIME:
36 case SYB5BIGTIME:
37 case SYB5INT8:
38 case SYBDATETIME:
39 case SYBFLT8:
40 case SYBINT8:
41 case SYBINTERVAL:
42 case SYBMONEY:
43 case SYBUINT8:
44 return 8;
45 case SYBUNIQUE:
46 return 16;
47 default:
48 return 0;
49 }
50}
51
56int
57tds_get_varint_size(TDSCONNECTION *conn, int datatype)
58{
59 switch (datatype) {
60 case SYBBIT:
61 case SYBDATETIME:
62 case SYBDATETIME4:
63 case SYBFLT8:
64 case SYBINT1:
65 case SYBINT2:
66 case SYBINT4:
67 case SYBMONEY:
68 case SYBMONEY4:
69 case SYBREAL:
70 case SYBVOID:
71 return 0;
72 case SYBIMAGE:
73 case SYBTEXT:
74 return 5;
75 }
76
77 if (IS_TDS7_PLUS(conn)) {
78 switch (datatype) {
79 case SYBINT8:
80 return 0;
81 case XSYBBINARY:
82 case XSYBCHAR:
83 case XSYBNCHAR:
84 case XSYBNVARCHAR:
85 case XSYBVARBINARY:
86 case XSYBVARCHAR:
87 return 2;
88 case SYBVARIANT:
89 return 4;
90 case SYBNTEXT:
91 return 5;
92 case SYBMSUDT:
93 case SYBMSXML:
94 return 8;
95 }
96 } else if (IS_TDS50(conn)) {
97 switch (datatype) {
98 case SYB5INT8:
99 case SYBDATE:
100 case SYBINTERVAL:
101 case SYBSINT1:
102 case SYBTIME:
103 case SYBUINT1:
104 case SYBUINT2:
105 case SYBUINT4:
106 case SYBUINT8:
107 return 0;
108 case SYBLONGBINARY:
109 case SYBLONGCHAR:
110 return 4;
111 case SYBUNITEXT:
112 case SYBXML:
113 return 5;
114 }
115 }
116 return 1;
117}
118
125TDS_SERVER_TYPE
126tds_get_conversion_type(TDS_SERVER_TYPE srctype, int colsize)
127{
128 switch (srctype) {
129 case SYBBITN:
130 return SYBBIT;
131 case SYBDATEN:
132 return SYBDATE;
133 case SYBDATETIMN:
134 switch (colsize) {
135 case 8:
136 return SYBDATETIME;
137 case 4:
138 return SYBDATETIME4;
139 }
140 break;
141 case SYBFLTN:
142 switch (colsize) {
143 case 8:
144 return SYBFLT8;
145 case 4:
146 return SYBREAL;
147 }
148 break;
149 case SYBINTN:
150 switch (colsize) {
151 case 8:
152 return SYBINT8;
153 case 4:
154 return SYBINT4;
155 case 2:
156 return SYBINT2;
157 case 1:
158 return SYBINT1;
159 }
160 break;
161 case SYBMONEYN:
162 switch (colsize) {
163 case 8:
164 return SYBMONEY;
165 case 4:
166 return SYBMONEY4;
167 }
168 break;
169 case SYBTIMEN:
170 return SYBTIME;
171 case SYBUINTN:
172 switch (colsize) {
173 case 8:
174 return SYBUINT8;
175 case 4:
176 return SYBUINT4;
177 case 2:
178 return SYBUINT2;
179 case 1:
180 return SYBUINT1;
181 }
182 break;
183 case SYB5INT8:
184 return SYBINT8;
185 default:
186 break;
187 }
188 return srctype;
189}
190
191const uint16_t tds_type_flags_ms[256] = {
192 /* 0 empty */
193 TDS_TYPEFLAG_INVALID,
194 /* 1 empty */
195 TDS_TYPEFLAG_INVALID,
196 /* 2 empty */
197 TDS_TYPEFLAG_INVALID,
198 /* 3 empty */
199 TDS_TYPEFLAG_INVALID,
200 /* 4 empty */
201 TDS_TYPEFLAG_INVALID,
202 /* 5 empty */
203 TDS_TYPEFLAG_INVALID,
204 /* 6 empty */
205 TDS_TYPEFLAG_INVALID,
206 /* 7 empty */
207 TDS_TYPEFLAG_INVALID,
208 /* 8 empty */
209 TDS_TYPEFLAG_INVALID,
210 /* 9 empty */
211 TDS_TYPEFLAG_INVALID,
212 /* 10 empty */
213 TDS_TYPEFLAG_INVALID,
214 /* 11 empty */
215 TDS_TYPEFLAG_INVALID,
216 /* 12 empty */
217 TDS_TYPEFLAG_INVALID,
218 /* 13 empty */
219 TDS_TYPEFLAG_INVALID,
220 /* 14 empty */
221 TDS_TYPEFLAG_INVALID,
222 /* 15 empty */
223 TDS_TYPEFLAG_INVALID,
224 /* 16 empty */
225 TDS_TYPEFLAG_INVALID,
226 /* 17 empty */
227 TDS_TYPEFLAG_INVALID,
228 /* 18 empty */
229 TDS_TYPEFLAG_INVALID,
230 /* 19 empty */
231 TDS_TYPEFLAG_INVALID,
232 /* 20 empty */
233 TDS_TYPEFLAG_INVALID,
234 /* 21 empty */
235 TDS_TYPEFLAG_INVALID,
236 /* 22 empty */
237 TDS_TYPEFLAG_INVALID,
238 /* 23 empty */
239 TDS_TYPEFLAG_INVALID,
240 /* 24 empty */
241 TDS_TYPEFLAG_INVALID,
242 /* 25 empty */
243 TDS_TYPEFLAG_INVALID,
244 /* 26 empty */
245 TDS_TYPEFLAG_INVALID,
246 /* 27 empty */
247 TDS_TYPEFLAG_INVALID,
248 /* 28 empty */
249 TDS_TYPEFLAG_INVALID,
250 /* 29 empty */
251 TDS_TYPEFLAG_INVALID,
252 /* 30 empty */
253 TDS_TYPEFLAG_INVALID,
254 /* 31 SYBVOID */
255 TDS_TYPEFLAG_FIXED,
256 /* 32 empty */
257 TDS_TYPEFLAG_INVALID,
258 /* 33 empty */
259 TDS_TYPEFLAG_INVALID,
260 /* 34 SYBIMAGE */
261 TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_VARIABLE | TDS_TYPEFLAG_BINARY | TDS_TYPEFLAG_TEXTPTR,
262 /* 35 SYBTEXT */
263 TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_VARIABLE | TDS_TYPEFLAG_COLLATE | TDS_TYPEFLAG_ASCII | TDS_TYPEFLAG_TEXTPTR,
264 /* 36 SYBUNIQUE */
265 TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_FIXED | TDS_TYPEFLAG_VARIANT,
266 /* 37 SYBVARBINARY */
267 TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_VARIABLE | TDS_TYPEFLAG_BINARY | TDS_TYPEFLAG_VARIANT,
268 /* 38 SYBINTN */
269 TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_VARIANT,
270 /* 39 SYBVARCHAR */
271 TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_VARIABLE | TDS_TYPEFLAG_ASCII | TDS_TYPEFLAG_VARIANT,
272 /* 40 SYBMSDATE */
273 TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_FIXED | TDS_TYPEFLAG_DATETIME | TDS_TYPEFLAG_VARIANT,
274 /* 41 SYBMSTIME */
275 TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_DATETIME | TDS_TYPEFLAG_VARIANT,
276 /* 42 SYBMSDATETIME2 */
277 TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_DATETIME | TDS_TYPEFLAG_VARIANT,
278 /* 43 SYBMSDATETIMEOFFSET */
279 TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_DATETIME | TDS_TYPEFLAG_VARIANT,
280 /* 44 empty */
281 TDS_TYPEFLAG_INVALID,
282 /* 45 SYBBINARY */
283 TDS_TYPEFLAG_VARIABLE | TDS_TYPEFLAG_BINARY | TDS_TYPEFLAG_VARIANT,
284 /* 46 empty */
285 TDS_TYPEFLAG_INVALID | TDS_TYPEFLAG_FIXED,
286 /* 47 SYBCHAR */
287 TDS_TYPEFLAG_VARIABLE | TDS_TYPEFLAG_ASCII | TDS_TYPEFLAG_VARIANT,
288 /* 48 SYBINT1 */
289 TDS_TYPEFLAG_FIXED | TDS_TYPEFLAG_VARIANT,
290 /* 49 empty */
291 TDS_TYPEFLAG_INVALID | TDS_TYPEFLAG_FIXED | TDS_TYPEFLAG_DATETIME,
292 /* 50 SYBBIT */
293 TDS_TYPEFLAG_FIXED | TDS_TYPEFLAG_VARIANT,
294 /* 51 empty */
295 TDS_TYPEFLAG_INVALID | TDS_TYPEFLAG_FIXED | TDS_TYPEFLAG_DATETIME,
296 /* 52 SYBINT2 */
297 TDS_TYPEFLAG_FIXED | TDS_TYPEFLAG_VARIANT,
298 /* 53 empty */
299 TDS_TYPEFLAG_INVALID,
300 /* 54 empty */
301 TDS_TYPEFLAG_INVALID,
302 /* 55 empty */
303 TDS_TYPEFLAG_INVALID,
304 /* 56 SYBINT4 */
305 TDS_TYPEFLAG_FIXED | TDS_TYPEFLAG_VARIANT,
306 /* 57 empty */
307 TDS_TYPEFLAG_INVALID,
308 /* 58 SYBDATETIME4 */
309 TDS_TYPEFLAG_FIXED | TDS_TYPEFLAG_DATETIME | TDS_TYPEFLAG_VARIANT,
310 /* 59 SYBREAL */
311 TDS_TYPEFLAG_FIXED | TDS_TYPEFLAG_VARIANT,
312 /* 60 SYBMONEY */
313 TDS_TYPEFLAG_FIXED | TDS_TYPEFLAG_VARIANT,
314 /* 61 SYBDATETIME */
315 TDS_TYPEFLAG_FIXED | TDS_TYPEFLAG_DATETIME | TDS_TYPEFLAG_VARIANT,
316 /* 62 SYBFLT8 */
317 TDS_TYPEFLAG_FIXED | TDS_TYPEFLAG_VARIANT,
318 /* 63 empty */
319 TDS_TYPEFLAG_INVALID,
320 /* 64 empty */
321 TDS_TYPEFLAG_INVALID | TDS_TYPEFLAG_FIXED,
322 /* 65 empty */
323 TDS_TYPEFLAG_INVALID | TDS_TYPEFLAG_FIXED,
324 /* 66 empty */
325 TDS_TYPEFLAG_INVALID | TDS_TYPEFLAG_FIXED,
326 /* 67 empty */
327 TDS_TYPEFLAG_INVALID | TDS_TYPEFLAG_FIXED,
328 /* 68 empty */
329 TDS_TYPEFLAG_INVALID | TDS_TYPEFLAG_NULLABLE,
330 /* 69 empty */
331 TDS_TYPEFLAG_INVALID,
332 /* 70 empty */
333 TDS_TYPEFLAG_INVALID,
334 /* 71 empty */
335 TDS_TYPEFLAG_INVALID,
336 /* 72 empty */
337 TDS_TYPEFLAG_INVALID,
338 /* 73 empty */
339 TDS_TYPEFLAG_INVALID,
340 /* 74 empty */
341 TDS_TYPEFLAG_INVALID,
342 /* 75 empty */
343 TDS_TYPEFLAG_INVALID,
344 /* 76 empty */
345 TDS_TYPEFLAG_INVALID,
346 /* 77 empty */
347 TDS_TYPEFLAG_INVALID,
348 /* 78 empty */
349 TDS_TYPEFLAG_INVALID,
350 /* 79 empty */
351 TDS_TYPEFLAG_INVALID,
352 /* 80 empty */
353 TDS_TYPEFLAG_INVALID,
354 /* 81 empty */
355 TDS_TYPEFLAG_INVALID,
356 /* 82 empty */
357 TDS_TYPEFLAG_INVALID,
358 /* 83 empty */
359 TDS_TYPEFLAG_INVALID,
360 /* 84 empty */
361 TDS_TYPEFLAG_INVALID,
362 /* 85 empty */
363 TDS_TYPEFLAG_INVALID,
364 /* 86 empty */
365 TDS_TYPEFLAG_INVALID,
366 /* 87 empty */
367 TDS_TYPEFLAG_INVALID,
368 /* 88 empty */
369 TDS_TYPEFLAG_INVALID,
370 /* 89 empty */
371 TDS_TYPEFLAG_INVALID,
372 /* 90 empty */
373 TDS_TYPEFLAG_INVALID,
374 /* 91 empty */
375 TDS_TYPEFLAG_INVALID,
376 /* 92 empty */
377 TDS_TYPEFLAG_INVALID,
378 /* 93 empty */
379 TDS_TYPEFLAG_INVALID,
380 /* 94 empty */
381 TDS_TYPEFLAG_INVALID,
382 /* 95 empty */
383 TDS_TYPEFLAG_INVALID,
384 /* 96 empty */
385 TDS_TYPEFLAG_INVALID,
386 /* 97 empty */
387 TDS_TYPEFLAG_INVALID,
388 /* 98 SYBVARIANT */
389 TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_VARIABLE,
390 /* 99 SYBNTEXT */
391 TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_VARIABLE | TDS_TYPEFLAG_COLLATE | TDS_TYPEFLAG_UNICODE | TDS_TYPEFLAG_TEXTPTR,
392 /* 100 empty */
393 TDS_TYPEFLAG_INVALID,
394 /* 101 empty */
395 TDS_TYPEFLAG_INVALID,
396 /* 102 empty */
397 TDS_TYPEFLAG_INVALID,
398 /* 103 SYBNVARCHAR */
399 TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_VARIABLE | TDS_TYPEFLAG_UNICODE | TDS_TYPEFLAG_VARIANT,
400 /* 104 SYBBITN */
401 TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_VARIANT,
402 /* 105 empty */
403 TDS_TYPEFLAG_INVALID,
404 /* 106 SYBDECIMAL */
405 TDS_TYPEFLAG_NUMERIC | TDS_TYPEFLAG_VARIANT,
406 /* 107 empty */
407 TDS_TYPEFLAG_INVALID,
408 /* 108 SYBNUMERIC */
409 TDS_TYPEFLAG_NUMERIC | TDS_TYPEFLAG_VARIANT,
410 /* 109 SYBFLTN */
411 TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_VARIANT,
412 /* 110 SYBMONEYN */
413 TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_VARIANT,
414 /* 111 SYBDATETIMN */
415 TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_DATETIME | TDS_TYPEFLAG_VARIANT,
416 /* 112 empty */
417 TDS_TYPEFLAG_INVALID,
418 /* 113 empty */
419 TDS_TYPEFLAG_INVALID,
420 /* 114 empty */
421 TDS_TYPEFLAG_INVALID,
422 /* 115 empty */
423 TDS_TYPEFLAG_INVALID,
424 /* 116 empty */
425 TDS_TYPEFLAG_INVALID,
426 /* 117 empty */
427 TDS_TYPEFLAG_INVALID,
428 /* 118 empty */
429 TDS_TYPEFLAG_INVALID,
430 /* 119 empty */
431 TDS_TYPEFLAG_INVALID,
432 /* 120 empty */
433 TDS_TYPEFLAG_INVALID,
434 /* 121 empty */
435 TDS_TYPEFLAG_INVALID,
436 /* 122 SYBMONEY4 */
437 TDS_TYPEFLAG_FIXED | TDS_TYPEFLAG_VARIANT,
438 /* 123 empty */
439 TDS_TYPEFLAG_INVALID | TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_DATETIME,
440 /* 124 empty */
441 TDS_TYPEFLAG_INVALID,
442 /* 125 empty */
443 TDS_TYPEFLAG_INVALID,
444 /* 126 empty */
445 TDS_TYPEFLAG_INVALID,
446 /* 127 SYBINT8 */
447 TDS_TYPEFLAG_FIXED | TDS_TYPEFLAG_VARIANT,
448 /* 128 empty */
449 TDS_TYPEFLAG_INVALID,
450 /* 129 empty */
451 TDS_TYPEFLAG_INVALID,
452 /* 130 empty */
453 TDS_TYPEFLAG_INVALID,
454 /* 131 empty */
455 TDS_TYPEFLAG_INVALID,
456 /* 132 empty */
457 TDS_TYPEFLAG_INVALID,
458 /* 133 empty */
459 TDS_TYPEFLAG_INVALID,
460 /* 134 empty */
461 TDS_TYPEFLAG_INVALID,
462 /* 135 empty */
463 TDS_TYPEFLAG_INVALID,
464 /* 136 empty */
465 TDS_TYPEFLAG_INVALID,
466 /* 137 empty */
467 TDS_TYPEFLAG_INVALID,
468 /* 138 empty */
469 TDS_TYPEFLAG_INVALID,
470 /* 139 empty */
471 TDS_TYPEFLAG_INVALID,
472 /* 140 empty */
473 TDS_TYPEFLAG_INVALID,
474 /* 141 empty */
475 TDS_TYPEFLAG_INVALID,
476 /* 142 empty */
477 TDS_TYPEFLAG_INVALID,
478 /* 143 empty */
479 TDS_TYPEFLAG_INVALID,
480 /* 144 empty */
481 TDS_TYPEFLAG_INVALID,
482 /* 145 empty */
483 TDS_TYPEFLAG_INVALID,
484 /* 146 empty */
485 TDS_TYPEFLAG_INVALID,
486 /* 147 empty */
487 TDS_TYPEFLAG_INVALID | TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_DATETIME,
488 /* 148 empty */
489 TDS_TYPEFLAG_INVALID,
490 /* 149 empty */
491 TDS_TYPEFLAG_INVALID,
492 /* 150 empty */
493 TDS_TYPEFLAG_INVALID,
494 /* 151 empty */
495 TDS_TYPEFLAG_INVALID,
496 /* 152 empty */
497 TDS_TYPEFLAG_INVALID,
498 /* 153 empty */
499 TDS_TYPEFLAG_INVALID,
500 /* 154 empty */
501 TDS_TYPEFLAG_INVALID,
502 /* 155 empty */
503 TDS_TYPEFLAG_INVALID,
504 /* 156 empty */
505 TDS_TYPEFLAG_INVALID,
506 /* 157 empty */
507 TDS_TYPEFLAG_INVALID,
508 /* 158 empty */
509 TDS_TYPEFLAG_INVALID,
510 /* 159 empty */
511 TDS_TYPEFLAG_INVALID,
512 /* 160 empty */
513 TDS_TYPEFLAG_INVALID,
514 /* 161 empty */
515 TDS_TYPEFLAG_INVALID,
516 /* 162 empty */
517 TDS_TYPEFLAG_INVALID,
518 /* 163 empty */
519 TDS_TYPEFLAG_INVALID | TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_VARIABLE | TDS_TYPEFLAG_TEXTPTR,
520 /* 164 empty */
521 TDS_TYPEFLAG_INVALID,
522 /* 165 XSYBVARBINARY */
523 TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_VARIABLE | TDS_TYPEFLAG_BINARY | TDS_TYPEFLAG_VARIANT,
524 /* 166 empty */
525 TDS_TYPEFLAG_INVALID,
526 /* 167 XSYBVARCHAR */
527 TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_VARIABLE | TDS_TYPEFLAG_COLLATE | TDS_TYPEFLAG_ASCII | TDS_TYPEFLAG_VARIANT,
528 /* 168 empty */
529 TDS_TYPEFLAG_INVALID,
530 /* 169 empty */
531 TDS_TYPEFLAG_INVALID,
532 /* 170 empty */
533 TDS_TYPEFLAG_INVALID,
534 /* 171 empty */
535 TDS_TYPEFLAG_INVALID,
536 /* 172 empty */
537 TDS_TYPEFLAG_INVALID,
538 /* 173 XSYBBINARY */
539 TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_VARIABLE | TDS_TYPEFLAG_BINARY | TDS_TYPEFLAG_VARIANT,
540 /* 174 empty */
541 TDS_TYPEFLAG_INVALID | TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_VARIABLE | TDS_TYPEFLAG_UNICODE | TDS_TYPEFLAG_TEXTPTR,
542 /* 175 XSYBCHAR */
543 TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_VARIABLE | TDS_TYPEFLAG_COLLATE | TDS_TYPEFLAG_ASCII | TDS_TYPEFLAG_VARIANT,
544 /* 176 empty */
545 TDS_TYPEFLAG_INVALID | TDS_TYPEFLAG_FIXED,
546 /* 177 empty */
547 TDS_TYPEFLAG_INVALID,
548 /* 178 empty */
549 TDS_TYPEFLAG_INVALID,
550 /* 179 empty */
551 TDS_TYPEFLAG_INVALID,
552 /* 180 empty */
553 TDS_TYPEFLAG_INVALID,
554 /* 181 empty */
555 TDS_TYPEFLAG_INVALID,
556 /* 182 empty */
557 TDS_TYPEFLAG_INVALID,
558 /* 183 empty */
559 TDS_TYPEFLAG_INVALID,
560 /* 184 empty */
561 TDS_TYPEFLAG_INVALID,
562 /* 185 empty */
563 TDS_TYPEFLAG_INVALID,
564 /* 186 empty */
565 TDS_TYPEFLAG_INVALID,
566 /* 187 empty */
567 TDS_TYPEFLAG_INVALID | TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_DATETIME,
568 /* 188 empty */
569 TDS_TYPEFLAG_INVALID | TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_DATETIME,
570 /* 189 empty */
571 TDS_TYPEFLAG_INVALID,
572 /* 190 empty */
573 TDS_TYPEFLAG_INVALID,
574 /* 191 empty */
575 TDS_TYPEFLAG_INVALID | TDS_TYPEFLAG_FIXED,
576 /* 192 empty */
577 TDS_TYPEFLAG_INVALID,
578 /* 193 empty */
579 TDS_TYPEFLAG_INVALID,
580 /* 194 empty */
581 TDS_TYPEFLAG_INVALID,
582 /* 195 empty */
583 TDS_TYPEFLAG_INVALID,
584 /* 196 empty */
585 TDS_TYPEFLAG_INVALID,
586 /* 197 empty */
587 TDS_TYPEFLAG_INVALID,
588 /* 198 empty */
589 TDS_TYPEFLAG_INVALID,
590 /* 199 empty */
591 TDS_TYPEFLAG_INVALID,
592 /* 200 empty */
593 TDS_TYPEFLAG_INVALID,
594 /* 201 empty */
595 TDS_TYPEFLAG_INVALID,
596 /* 202 empty */
597 TDS_TYPEFLAG_INVALID,
598 /* 203 empty */
599 TDS_TYPEFLAG_INVALID,
600 /* 204 empty */
601 TDS_TYPEFLAG_INVALID,
602 /* 205 empty */
603 TDS_TYPEFLAG_INVALID,
604 /* 206 empty */
605 TDS_TYPEFLAG_INVALID,
606 /* 207 empty */
607 TDS_TYPEFLAG_INVALID,
608 /* 208 empty */
609 TDS_TYPEFLAG_INVALID,
610 /* 209 empty */
611 TDS_TYPEFLAG_INVALID,
612 /* 210 empty */
613 TDS_TYPEFLAG_INVALID,
614 /* 211 empty */
615 TDS_TYPEFLAG_INVALID,
616 /* 212 empty */
617 TDS_TYPEFLAG_INVALID,
618 /* 213 empty */
619 TDS_TYPEFLAG_INVALID,
620 /* 214 empty */
621 TDS_TYPEFLAG_INVALID,
622 /* 215 empty */
623 TDS_TYPEFLAG_INVALID,
624 /* 216 empty */
625 TDS_TYPEFLAG_INVALID,
626 /* 217 empty */
627 TDS_TYPEFLAG_INVALID,
628 /* 218 empty */
629 TDS_TYPEFLAG_INVALID,
630 /* 219 empty */
631 TDS_TYPEFLAG_INVALID,
632 /* 220 empty */
633 TDS_TYPEFLAG_INVALID,
634 /* 221 empty */
635 TDS_TYPEFLAG_INVALID,
636 /* 222 empty */
637 TDS_TYPEFLAG_INVALID,
638 /* 223 empty */
639 TDS_TYPEFLAG_INVALID,
640 /* 224 empty */
641 TDS_TYPEFLAG_INVALID,
642 /* 225 empty */
643 TDS_TYPEFLAG_INVALID | TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_VARIABLE | TDS_TYPEFLAG_BINARY,
644 /* 226 empty */
645 TDS_TYPEFLAG_INVALID,
646 /* 227 empty */
647 TDS_TYPEFLAG_INVALID,
648 /* 228 empty */
649 TDS_TYPEFLAG_INVALID,
650 /* 229 empty */
651 TDS_TYPEFLAG_INVALID,
652 /* 230 empty */
653 TDS_TYPEFLAG_INVALID,
654 /* 231 XSYBNVARCHAR */
655 TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_VARIABLE | TDS_TYPEFLAG_COLLATE | TDS_TYPEFLAG_UNICODE | TDS_TYPEFLAG_VARIANT,
656 /* 232 empty */
657 TDS_TYPEFLAG_INVALID,
658 /* 233 empty */
659 TDS_TYPEFLAG_INVALID,
660 /* 234 empty */
661 TDS_TYPEFLAG_INVALID,
662 /* 235 empty */
663 TDS_TYPEFLAG_INVALID,
664 /* 236 empty */
665 TDS_TYPEFLAG_INVALID,
666 /* 237 empty */
667 TDS_TYPEFLAG_INVALID,
668 /* 238 empty */
669 TDS_TYPEFLAG_INVALID,
670 /* 239 XSYBNCHAR */
671 TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_VARIABLE | TDS_TYPEFLAG_COLLATE | TDS_TYPEFLAG_UNICODE | TDS_TYPEFLAG_VARIANT,
672 /* 240 SYBMSUDT */
673 TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_VARIABLE,
674 /* 241 SYBMSXML */
675 TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_VARIABLE | TDS_TYPEFLAG_UNICODE,
676 /* 242 empty */
677 TDS_TYPEFLAG_INVALID,
678 /* 243 SYBMSTABLE */
679 0,
680 /* 244 empty */
681 TDS_TYPEFLAG_INVALID,
682 /* 245 empty */
683 TDS_TYPEFLAG_INVALID,
684 /* 246 empty */
685 TDS_TYPEFLAG_INVALID,
686 /* 247 empty */
687 TDS_TYPEFLAG_INVALID,
688 /* 248 empty */
689 TDS_TYPEFLAG_INVALID,
690 /* 249 empty */
691 TDS_TYPEFLAG_INVALID,
692 /* 250 empty */
693 TDS_TYPEFLAG_INVALID,
694 /* 251 empty */
695 TDS_TYPEFLAG_INVALID,
696 /* 252 empty */
697 TDS_TYPEFLAG_INVALID,
698 /* 253 empty */
699 TDS_TYPEFLAG_INVALID,
700 /* 254 empty */
701 TDS_TYPEFLAG_INVALID,
702 /* 255 empty */
703 TDS_TYPEFLAG_INVALID,
704};
705
706#if 0
707const uint16_t tds_type_flags_syb[256] = {
708 /* 0 empty */
709 TDS_TYPEFLAG_INVALID,
710 /* 1 empty */
711 TDS_TYPEFLAG_INVALID,
712 /* 2 empty */
713 TDS_TYPEFLAG_INVALID,
714 /* 3 empty */
715 TDS_TYPEFLAG_INVALID,
716 /* 4 empty */
717 TDS_TYPEFLAG_INVALID,
718 /* 5 empty */
719 TDS_TYPEFLAG_INVALID,
720 /* 6 empty */
721 TDS_TYPEFLAG_INVALID,
722 /* 7 empty */
723 TDS_TYPEFLAG_INVALID,
724 /* 8 empty */
725 TDS_TYPEFLAG_INVALID,
726 /* 9 empty */
727 TDS_TYPEFLAG_INVALID,
728 /* 10 empty */
729 TDS_TYPEFLAG_INVALID,
730 /* 11 empty */
731 TDS_TYPEFLAG_INVALID,
732 /* 12 empty */
733 TDS_TYPEFLAG_INVALID,
734 /* 13 empty */
735 TDS_TYPEFLAG_INVALID,
736 /* 14 empty */
737 TDS_TYPEFLAG_INVALID,
738 /* 15 empty */
739 TDS_TYPEFLAG_INVALID,
740 /* 16 empty */
741 TDS_TYPEFLAG_INVALID,
742 /* 17 empty */
743 TDS_TYPEFLAG_INVALID,
744 /* 18 empty */
745 TDS_TYPEFLAG_INVALID,
746 /* 19 empty */
747 TDS_TYPEFLAG_INVALID,
748 /* 20 empty */
749 TDS_TYPEFLAG_INVALID,
750 /* 21 empty */
751 TDS_TYPEFLAG_INVALID,
752 /* 22 empty */
753 TDS_TYPEFLAG_INVALID,
754 /* 23 empty */
755 TDS_TYPEFLAG_INVALID,
756 /* 24 empty */
757 TDS_TYPEFLAG_INVALID,
758 /* 25 empty */
759 TDS_TYPEFLAG_INVALID,
760 /* 26 empty */
761 TDS_TYPEFLAG_INVALID,
762 /* 27 empty */
763 TDS_TYPEFLAG_INVALID,
764 /* 28 empty */
765 TDS_TYPEFLAG_INVALID,
766 /* 29 empty */
767 TDS_TYPEFLAG_INVALID,
768 /* 30 empty */
769 TDS_TYPEFLAG_INVALID,
770 /* 31 SYBVOID */
771 TDS_TYPEFLAG_FIXED,
772 /* 32 empty */
773 TDS_TYPEFLAG_INVALID,
774 /* 33 empty */
775 TDS_TYPEFLAG_INVALID,
776 /* 34 SYBIMAGE */
777 TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_VARIABLE | TDS_TYPEFLAG_BINARY | TDS_TYPEFLAG_TEXTPTR,
778 /* 35 SYBTEXT */
779 TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_VARIABLE | TDS_TYPEFLAG_COLLATE | TDS_TYPEFLAG_ASCII | TDS_TYPEFLAG_TEXTPTR,
780 /* 36 empty */
781 TDS_TYPEFLAG_INVALID | TDS_TYPEFLAG_FIXED | TDS_TYPEFLAG_NULLABLE,
782 /* 37 SYBVARBINARY */
783 TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_VARIABLE | TDS_TYPEFLAG_BINARY | TDS_TYPEFLAG_VARIANT,
784 /* 38 SYBINTN */
785 TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_VARIANT,
786 /* 39 SYBVARCHAR */
787 TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_VARIABLE | TDS_TYPEFLAG_ASCII | TDS_TYPEFLAG_VARIANT,
788 /* 40 empty */
789 TDS_TYPEFLAG_INVALID | TDS_TYPEFLAG_FIXED | TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_DATETIME,
790 /* 41 empty */
791 TDS_TYPEFLAG_INVALID | TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_DATETIME,
792 /* 42 empty */
793 TDS_TYPEFLAG_INVALID | TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_DATETIME,
794 /* 43 empty */
795 TDS_TYPEFLAG_INVALID | TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_DATETIME,
796 /* 44 empty */
797 TDS_TYPEFLAG_INVALID,
798 /* 45 SYBBINARY */
799 TDS_TYPEFLAG_VARIABLE | TDS_TYPEFLAG_BINARY | TDS_TYPEFLAG_VARIANT,
800 /* 46 SYBINTERVAL */
801 TDS_TYPEFLAG_FIXED,
802 /* 47 SYBCHAR */
803 TDS_TYPEFLAG_VARIABLE | TDS_TYPEFLAG_ASCII | TDS_TYPEFLAG_VARIANT,
804 /* 48 SYBINT1 */
805 TDS_TYPEFLAG_FIXED | TDS_TYPEFLAG_VARIANT,
806 /* 49 SYBDATE */
807 TDS_TYPEFLAG_FIXED | TDS_TYPEFLAG_DATETIME,
808 /* 50 SYBBIT */
809 TDS_TYPEFLAG_FIXED | TDS_TYPEFLAG_VARIANT,
810 /* 51 SYBTIME */
811 TDS_TYPEFLAG_FIXED | TDS_TYPEFLAG_DATETIME,
812 /* 52 SYBINT2 */
813 TDS_TYPEFLAG_FIXED | TDS_TYPEFLAG_VARIANT,
814 /* 53 empty */
815 TDS_TYPEFLAG_INVALID,
816 /* 54 empty */
817 TDS_TYPEFLAG_INVALID,
818 /* 55 empty */
819 TDS_TYPEFLAG_INVALID,
820 /* 56 SYBINT4 */
821 TDS_TYPEFLAG_FIXED | TDS_TYPEFLAG_VARIANT,
822 /* 57 empty */
823 TDS_TYPEFLAG_INVALID,
824 /* 58 SYBDATETIME4 */
825 TDS_TYPEFLAG_FIXED | TDS_TYPEFLAG_DATETIME | TDS_TYPEFLAG_VARIANT,
826 /* 59 SYBREAL */
827 TDS_TYPEFLAG_FIXED | TDS_TYPEFLAG_VARIANT,
828 /* 60 SYBMONEY */
829 TDS_TYPEFLAG_FIXED | TDS_TYPEFLAG_VARIANT,
830 /* 61 SYBDATETIME */
831 TDS_TYPEFLAG_FIXED | TDS_TYPEFLAG_DATETIME | TDS_TYPEFLAG_VARIANT,
832 /* 62 SYBFLT8 */
833 TDS_TYPEFLAG_FIXED | TDS_TYPEFLAG_VARIANT,
834 /* 63 empty */
835 TDS_TYPEFLAG_INVALID,
836 /* 64 SYBUINT1 */
837 TDS_TYPEFLAG_FIXED,
838 /* 65 SYBUINT2 */
839 TDS_TYPEFLAG_FIXED,
840 /* 66 SYBUINT4 */
841 TDS_TYPEFLAG_FIXED,
842 /* 67 SYBUINT8 */
843 TDS_TYPEFLAG_FIXED,
844 /* 68 SYBUINTN */
845 TDS_TYPEFLAG_NULLABLE,
846 /* 69 empty */
847 TDS_TYPEFLAG_INVALID,
848 /* 70 empty */
849 TDS_TYPEFLAG_INVALID,
850 /* 71 empty */
851 TDS_TYPEFLAG_INVALID,
852 /* 72 empty */
853 TDS_TYPEFLAG_INVALID,
854 /* 73 empty */
855 TDS_TYPEFLAG_INVALID,
856 /* 74 empty */
857 TDS_TYPEFLAG_INVALID,
858 /* 75 empty */
859 TDS_TYPEFLAG_INVALID,
860 /* 76 empty */
861 TDS_TYPEFLAG_INVALID,
862 /* 77 empty */
863 TDS_TYPEFLAG_INVALID,
864 /* 78 empty */
865 TDS_TYPEFLAG_INVALID,
866 /* 79 empty */
867 TDS_TYPEFLAG_INVALID,
868 /* 80 empty */
869 TDS_TYPEFLAG_INVALID,
870 /* 81 empty */
871 TDS_TYPEFLAG_INVALID,
872 /* 82 empty */
873 TDS_TYPEFLAG_INVALID,
874 /* 83 empty */
875 TDS_TYPEFLAG_INVALID,
876 /* 84 empty */
877 TDS_TYPEFLAG_INVALID,
878 /* 85 empty */
879 TDS_TYPEFLAG_INVALID,
880 /* 86 empty */
881 TDS_TYPEFLAG_INVALID,
882 /* 87 empty */
883 TDS_TYPEFLAG_INVALID,
884 /* 88 empty */
885 TDS_TYPEFLAG_INVALID,
886 /* 89 empty */
887 TDS_TYPEFLAG_INVALID,
888 /* 90 empty */
889 TDS_TYPEFLAG_INVALID,
890 /* 91 empty */
891 TDS_TYPEFLAG_INVALID,
892 /* 92 empty */
893 TDS_TYPEFLAG_INVALID,
894 /* 93 empty */
895 TDS_TYPEFLAG_INVALID,
896 /* 94 empty */
897 TDS_TYPEFLAG_INVALID,
898 /* 95 empty */
899 TDS_TYPEFLAG_INVALID,
900 /* 96 empty */
901 TDS_TYPEFLAG_INVALID,
902 /* 97 empty */
903 TDS_TYPEFLAG_INVALID,
904 /* 98 empty */
905 TDS_TYPEFLAG_INVALID | TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_VARIABLE,
906 /* 99 empty */
907 TDS_TYPEFLAG_INVALID | TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_VARIABLE | TDS_TYPEFLAG_UNICODE | TDS_TYPEFLAG_TEXTPTR,
908 /* 100 empty */
909 TDS_TYPEFLAG_INVALID,
910 /* 101 empty */
911 TDS_TYPEFLAG_INVALID,
912 /* 102 empty */
913 TDS_TYPEFLAG_INVALID,
914 /* 103 SYBSENSITIVITY */
915 TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_VARIABLE | TDS_TYPEFLAG_ASCII,
916 /* 104 SYBBOUNDARY */
917 TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_VARIABLE | TDS_TYPEFLAG_ASCII,
918 /* 105 empty */
919 TDS_TYPEFLAG_INVALID,
920 /* 106 SYBDECIMAL */
921 TDS_TYPEFLAG_NUMERIC | TDS_TYPEFLAG_VARIANT,
922 /* 107 empty */
923 TDS_TYPEFLAG_INVALID,
924 /* 108 SYBNUMERIC */
925 TDS_TYPEFLAG_NUMERIC | TDS_TYPEFLAG_VARIANT,
926 /* 109 SYBFLTN */
927 TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_VARIANT,
928 /* 110 SYBMONEYN */
929 TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_VARIANT,
930 /* 111 SYBDATETIMN */
931 TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_DATETIME | TDS_TYPEFLAG_VARIANT,
932 /* 112 empty */
933 TDS_TYPEFLAG_INVALID,
934 /* 113 empty */
935 TDS_TYPEFLAG_INVALID,
936 /* 114 empty */
937 TDS_TYPEFLAG_INVALID,
938 /* 115 empty */
939 TDS_TYPEFLAG_INVALID,
940 /* 116 empty */
941 TDS_TYPEFLAG_INVALID,
942 /* 117 empty */
943 TDS_TYPEFLAG_INVALID,
944 /* 118 empty */
945 TDS_TYPEFLAG_INVALID,
946 /* 119 empty */
947 TDS_TYPEFLAG_INVALID,
948 /* 120 empty */
949 TDS_TYPEFLAG_INVALID,
950 /* 121 empty */
951 TDS_TYPEFLAG_INVALID,
952 /* 122 SYBMONEY4 */
953 TDS_TYPEFLAG_FIXED | TDS_TYPEFLAG_VARIANT,
954 /* 123 SYBDATEN */
955 TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_DATETIME,
956 /* 124 empty */
957 TDS_TYPEFLAG_INVALID,
958 /* 125 empty */
959 TDS_TYPEFLAG_INVALID,
960 /* 126 empty */
961 TDS_TYPEFLAG_INVALID,
962 /* 127 empty */
963 TDS_TYPEFLAG_INVALID | TDS_TYPEFLAG_FIXED,
964 /* 128 empty */
965 TDS_TYPEFLAG_INVALID,
966 /* 129 empty */
967 TDS_TYPEFLAG_INVALID,
968 /* 130 empty */
969 TDS_TYPEFLAG_INVALID,
970 /* 131 empty */
971 TDS_TYPEFLAG_INVALID,
972 /* 132 empty */
973 TDS_TYPEFLAG_INVALID,
974 /* 133 empty */
975 TDS_TYPEFLAG_INVALID,
976 /* 134 empty */
977 TDS_TYPEFLAG_INVALID,
978 /* 135 empty */
979 TDS_TYPEFLAG_INVALID,
980 /* 136 empty */
981 TDS_TYPEFLAG_INVALID,
982 /* 137 empty */
983 TDS_TYPEFLAG_INVALID,
984 /* 138 empty */
985 TDS_TYPEFLAG_INVALID,
986 /* 139 empty */
987 TDS_TYPEFLAG_INVALID,
988 /* 140 empty */
989 TDS_TYPEFLAG_INVALID,
990 /* 141 empty */
991 TDS_TYPEFLAG_INVALID,
992 /* 142 empty */
993 TDS_TYPEFLAG_INVALID,
994 /* 143 empty */
995 TDS_TYPEFLAG_INVALID,
996 /* 144 empty */
997 TDS_TYPEFLAG_INVALID,
998 /* 145 empty */
999 TDS_TYPEFLAG_INVALID,
1000 /* 146 empty */
1001 TDS_TYPEFLAG_INVALID,
1002 /* 147 SYBTIMEN */
1003 TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_DATETIME,
1004 /* 148 empty */
1005 TDS_TYPEFLAG_INVALID,
1006 /* 149 empty */
1007 TDS_TYPEFLAG_INVALID,
1008 /* 150 empty */
1009 TDS_TYPEFLAG_INVALID,
1010 /* 151 empty */
1011 TDS_TYPEFLAG_INVALID,
1012 /* 152 empty */
1013 TDS_TYPEFLAG_INVALID,
1014 /* 153 empty */
1015 TDS_TYPEFLAG_INVALID,
1016 /* 154 empty */
1017 TDS_TYPEFLAG_INVALID,
1018 /* 155 empty */
1019 TDS_TYPEFLAG_INVALID,
1020 /* 156 empty */
1021 TDS_TYPEFLAG_INVALID,
1022 /* 157 empty */
1023 TDS_TYPEFLAG_INVALID,
1024 /* 158 empty */
1025 TDS_TYPEFLAG_INVALID,
1026 /* 159 empty */
1027 TDS_TYPEFLAG_INVALID,
1028 /* 160 empty */
1029 TDS_TYPEFLAG_INVALID,
1030 /* 161 empty */
1031 TDS_TYPEFLAG_INVALID,
1032 /* 162 empty */
1033 TDS_TYPEFLAG_INVALID,
1034 /* 163 SYBXML */
1035 TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_VARIABLE | TDS_TYPEFLAG_TEXTPTR,
1036 /* 164 empty */
1037 TDS_TYPEFLAG_INVALID,
1038 /* 165 empty */
1039 TDS_TYPEFLAG_INVALID | TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_VARIABLE | TDS_TYPEFLAG_BINARY,
1040 /* 166 empty */
1041 TDS_TYPEFLAG_INVALID,
1042 /* 167 empty */
1043 TDS_TYPEFLAG_INVALID | TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_VARIABLE,
1044 /* 168 empty */
1045 TDS_TYPEFLAG_INVALID,
1046 /* 169 empty */
1047 TDS_TYPEFLAG_INVALID,
1048 /* 170 empty */
1049 TDS_TYPEFLAG_INVALID,
1050 /* 171 empty */
1051 TDS_TYPEFLAG_INVALID,
1052 /* 172 empty */
1053 TDS_TYPEFLAG_INVALID,
1054 /* 173 empty */
1055 TDS_TYPEFLAG_INVALID | TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_VARIABLE | TDS_TYPEFLAG_BINARY,
1056 /* 174 SYBUNITEXT */
1057 TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_VARIABLE | TDS_TYPEFLAG_UNICODE | TDS_TYPEFLAG_TEXTPTR,
1058 /* 175 SYBLONGCHAR */
1059 TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_VARIABLE | TDS_TYPEFLAG_ASCII,
1060 /* 176 SYBSINT1 */
1061 TDS_TYPEFLAG_FIXED,
1062 /* 177 empty */
1063 TDS_TYPEFLAG_INVALID,
1064 /* 178 empty */
1065 TDS_TYPEFLAG_INVALID,
1066 /* 179 empty */
1067 TDS_TYPEFLAG_INVALID,
1068 /* 180 empty */
1069 TDS_TYPEFLAG_INVALID,
1070 /* 181 empty */
1071 TDS_TYPEFLAG_INVALID,
1072 /* 182 empty */
1073 TDS_TYPEFLAG_INVALID,
1074 /* 183 empty */
1075 TDS_TYPEFLAG_INVALID,
1076 /* 184 empty */
1077 TDS_TYPEFLAG_INVALID,
1078 /* 185 empty */
1079 TDS_TYPEFLAG_INVALID,
1080 /* 186 empty */
1081 TDS_TYPEFLAG_INVALID,
1082 /* 187 SYB5BIGDATETIME */
1083 TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_DATETIME,
1084 /* 188 SYB5BIGTIME */
1085 TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_DATETIME,
1086 /* 189 empty */
1087 TDS_TYPEFLAG_INVALID,
1088 /* 190 empty */
1089 TDS_TYPEFLAG_INVALID,
1090 /* 191 SYB5INT8 */
1091 TDS_TYPEFLAG_FIXED,
1092 /* 192 empty */
1093 TDS_TYPEFLAG_INVALID,
1094 /* 193 empty */
1095 TDS_TYPEFLAG_INVALID,
1096 /* 194 empty */
1097 TDS_TYPEFLAG_INVALID,
1098 /* 195 empty */
1099 TDS_TYPEFLAG_INVALID,
1100 /* 196 empty */
1101 TDS_TYPEFLAG_INVALID,
1102 /* 197 empty */
1103 TDS_TYPEFLAG_INVALID,
1104 /* 198 empty */
1105 TDS_TYPEFLAG_INVALID,
1106 /* 199 empty */
1107 TDS_TYPEFLAG_INVALID,
1108 /* 200 empty */
1109 TDS_TYPEFLAG_INVALID,
1110 /* 201 empty */
1111 TDS_TYPEFLAG_INVALID,
1112 /* 202 empty */
1113 TDS_TYPEFLAG_INVALID,
1114 /* 203 empty */
1115 TDS_TYPEFLAG_INVALID,
1116 /* 204 empty */
1117 TDS_TYPEFLAG_INVALID,
1118 /* 205 empty */
1119 TDS_TYPEFLAG_INVALID,
1120 /* 206 empty */
1121 TDS_TYPEFLAG_INVALID,
1122 /* 207 empty */
1123 TDS_TYPEFLAG_INVALID,
1124 /* 208 empty */
1125 TDS_TYPEFLAG_INVALID,
1126 /* 209 empty */
1127 TDS_TYPEFLAG_INVALID,
1128 /* 210 empty */
1129 TDS_TYPEFLAG_INVALID,
1130 /* 211 empty */
1131 TDS_TYPEFLAG_INVALID,
1132 /* 212 empty */
1133 TDS_TYPEFLAG_INVALID,
1134 /* 213 empty */
1135 TDS_TYPEFLAG_INVALID,
1136 /* 214 empty */
1137 TDS_TYPEFLAG_INVALID,
1138 /* 215 empty */
1139 TDS_TYPEFLAG_INVALID,
1140 /* 216 empty */
1141 TDS_TYPEFLAG_INVALID,
1142 /* 217 empty */
1143 TDS_TYPEFLAG_INVALID,
1144 /* 218 empty */
1145 TDS_TYPEFLAG_INVALID,
1146 /* 219 empty */
1147 TDS_TYPEFLAG_INVALID,
1148 /* 220 empty */
1149 TDS_TYPEFLAG_INVALID,
1150 /* 221 empty */
1151 TDS_TYPEFLAG_INVALID,
1152 /* 222 empty */
1153 TDS_TYPEFLAG_INVALID,
1154 /* 223 empty */
1155 TDS_TYPEFLAG_INVALID,
1156 /* 224 empty */
1157 TDS_TYPEFLAG_INVALID,
1158 /* 225 SYBLONGBINARY */
1159 TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_VARIABLE | TDS_TYPEFLAG_BINARY,
1160 /* 226 empty */
1161 TDS_TYPEFLAG_INVALID,
1162 /* 227 empty */
1163 TDS_TYPEFLAG_INVALID,
1164 /* 228 empty */
1165 TDS_TYPEFLAG_INVALID,
1166 /* 229 empty */
1167 TDS_TYPEFLAG_INVALID,
1168 /* 230 empty */
1169 TDS_TYPEFLAG_INVALID,
1170 /* 231 empty */
1171 TDS_TYPEFLAG_INVALID | TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_VARIABLE | TDS_TYPEFLAG_UNICODE,
1172 /* 232 empty */
1173 TDS_TYPEFLAG_INVALID,
1174 /* 233 empty */
1175 TDS_TYPEFLAG_INVALID,
1176 /* 234 empty */
1177 TDS_TYPEFLAG_INVALID,
1178 /* 235 empty */
1179 TDS_TYPEFLAG_INVALID,
1180 /* 236 empty */
1181 TDS_TYPEFLAG_INVALID,
1182 /* 237 empty */
1183 TDS_TYPEFLAG_INVALID,
1184 /* 238 empty */
1185 TDS_TYPEFLAG_INVALID,
1186 /* 239 empty */
1187 TDS_TYPEFLAG_INVALID | TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_VARIABLE | TDS_TYPEFLAG_UNICODE,
1188 /* 240 empty */
1189 TDS_TYPEFLAG_INVALID | TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_VARIABLE,
1190 /* 241 empty */
1191 TDS_TYPEFLAG_INVALID | TDS_TYPEFLAG_NULLABLE | TDS_TYPEFLAG_VARIABLE | TDS_TYPEFLAG_UNICODE,
1192 /* 242 empty */
1193 TDS_TYPEFLAG_INVALID,
1194 /* 243 empty */
1195 TDS_TYPEFLAG_INVALID,
1196 /* 244 empty */
1197 TDS_TYPEFLAG_INVALID,
1198 /* 245 empty */
1199 TDS_TYPEFLAG_INVALID,
1200 /* 246 empty */
1201 TDS_TYPEFLAG_INVALID,
1202 /* 247 empty */
1203 TDS_TYPEFLAG_INVALID,
1204 /* 248 empty */
1205 TDS_TYPEFLAG_INVALID,
1206 /* 249 empty */
1207 TDS_TYPEFLAG_INVALID,
1208 /* 250 empty */
1209 TDS_TYPEFLAG_INVALID,
1210 /* 251 empty */
1211 TDS_TYPEFLAG_INVALID,
1212 /* 252 empty */
1213 TDS_TYPEFLAG_INVALID,
1214 /* 253 empty */
1215 TDS_TYPEFLAG_INVALID,
1216 /* 254 empty */
1217 TDS_TYPEFLAG_INVALID,
1218 /* 255 empty */
1219 TDS_TYPEFLAG_INVALID,
1220};
1221
1222const char *const tds_type_names[256] = {
1223 /* 0 */
1224 "",
1225 /* 1 */
1226 "",
1227 /* 2 */
1228 "",
1229 /* 3 */
1230 "",
1231 /* 4 */
1232 "",
1233 /* 5 */
1234 "",
1235 /* 6 */
1236 "",
1237 /* 7 */
1238 "",
1239 /* 8 */
1240 "",
1241 /* 9 */
1242 "",
1243 /* 10 */
1244 "",
1245 /* 11 */
1246 "",
1247 /* 12 */
1248 "",
1249 /* 13 */
1250 "",
1251 /* 14 */
1252 "",
1253 /* 15 */
1254 "",
1255 /* 16 */
1256 "",
1257 /* 17 */
1258 "",
1259 /* 18 */
1260 "",
1261 /* 19 */
1262 "",
1263 /* 20 */
1264 "",
1265 /* 21 */
1266 "",
1267 /* 22 */
1268 "",
1269 /* 23 */
1270 "",
1271 /* 24 */
1272 "",
1273 /* 25 */
1274 "",
1275 /* 26 */
1276 "",
1277 /* 27 */
1278 "",
1279 /* 28 */
1280 "",
1281 /* 29 */
1282 "",
1283 /* 30 */
1284 "",
1285 /* 31 */
1286 "SYBVOID",
1287 /* 32 */
1288 "",
1289 /* 33 */
1290 "",
1291 /* 34 */
1292 "SYBIMAGE",
1293 /* 35 */
1294 "SYBTEXT",
1295 /* 36 */
1296 "SYBUNIQUE",
1297 /* 37 */
1298 "SYBVARBINARY",
1299 /* 38 */
1300 "SYBINTN",
1301 /* 39 */
1302 "SYBVARCHAR",
1303 /* 40 */
1304 "SYBMSDATE",
1305 /* 41 */
1306 "SYBMSTIME",
1307 /* 42 */
1308 "SYBMSDATETIME2",
1309 /* 43 */
1310 "SYBMSDATETIMEOFFSET",
1311 /* 44 */
1312 "",
1313 /* 45 */
1314 "SYBBINARY",
1315 /* 46 */
1316 "SYBINTERVAL",
1317 /* 47 */
1318 "SYBCHAR",
1319 /* 48 */
1320 "SYBINT1",
1321 /* 49 */
1322 "SYBDATE",
1323 /* 50 */
1324 "SYBBIT",
1325 /* 51 */
1326 "SYBTIME",
1327 /* 52 */
1328 "SYBINT2",
1329 /* 53 */
1330 "",
1331 /* 54 */
1332 "",
1333 /* 55 */
1334 "",
1335 /* 56 */
1336 "SYBINT4",
1337 /* 57 */
1338 "",
1339 /* 58 */
1340 "SYBDATETIME4",
1341 /* 59 */
1342 "SYBREAL",
1343 /* 60 */
1344 "SYBMONEY",
1345 /* 61 */
1346 "SYBDATETIME",
1347 /* 62 */
1348 "SYBFLT8",
1349 /* 63 */
1350 "",
1351 /* 64 */
1352 "SYBUINT1",
1353 /* 65 */
1354 "SYBUINT2",
1355 /* 66 */
1356 "SYBUINT4",
1357 /* 67 */
1358 "SYBUINT8",
1359 /* 68 */
1360 "SYBUINTN",
1361 /* 69 */
1362 "",
1363 /* 70 */
1364 "",
1365 /* 71 */
1366 "",
1367 /* 72 */
1368 "",
1369 /* 73 */
1370 "",
1371 /* 74 */
1372 "",
1373 /* 75 */
1374 "",
1375 /* 76 */
1376 "",
1377 /* 77 */
1378 "",
1379 /* 78 */
1380 "",
1381 /* 79 */
1382 "",
1383 /* 80 */
1384 "",
1385 /* 81 */
1386 "",
1387 /* 82 */
1388 "",
1389 /* 83 */
1390 "",
1391 /* 84 */
1392 "",
1393 /* 85 */
1394 "",
1395 /* 86 */
1396 "",
1397 /* 87 */
1398 "",
1399 /* 88 */
1400 "",
1401 /* 89 */
1402 "",
1403 /* 90 */
1404 "",
1405 /* 91 */
1406 "",
1407 /* 92 */
1408 "",
1409 /* 93 */
1410 "",
1411 /* 94 */
1412 "",
1413 /* 95 */
1414 "",
1415 /* 96 */
1416 "",
1417 /* 97 */
1418 "",
1419 /* 98 */
1420 "SYBVARIANT",
1421 /* 99 */
1422 "SYBNTEXT",
1423 /* 100 */
1424 "",
1425 /* 101 */
1426 "",
1427 /* 102 */
1428 "",
1429 /* 103 */
1430 "SYBNVARCHAR or SYBSENSITIVITY",
1431 /* 104 */
1432 "SYBBITN or SYBBOUNDARY",
1433 /* 105 */
1434 "",
1435 /* 106 */
1436 "SYBDECIMAL",
1437 /* 107 */
1438 "",
1439 /* 108 */
1440 "SYBNUMERIC",
1441 /* 109 */
1442 "SYBFLTN",
1443 /* 110 */
1444 "SYBMONEYN",
1445 /* 111 */
1446 "SYBDATETIMN",
1447 /* 112 */
1448 "",
1449 /* 113 */
1450 "",
1451 /* 114 */
1452 "",
1453 /* 115 */
1454 "",
1455 /* 116 */
1456 "",
1457 /* 117 */
1458 "",
1459 /* 118 */
1460 "",
1461 /* 119 */
1462 "",
1463 /* 120 */
1464 "",
1465 /* 121 */
1466 "",
1467 /* 122 */
1468 "SYBMONEY4",
1469 /* 123 */
1470 "SYBDATEN",
1471 /* 124 */
1472 "",
1473 /* 125 */
1474 "",
1475 /* 126 */
1476 "",
1477 /* 127 */
1478 "SYBINT8",
1479 /* 128 */
1480 "",
1481 /* 129 */
1482 "",
1483 /* 130 */
1484 "",
1485 /* 131 */
1486 "",
1487 /* 132 */
1488 "",
1489 /* 133 */
1490 "",
1491 /* 134 */
1492 "",
1493 /* 135 */
1494 "",
1495 /* 136 */
1496 "",
1497 /* 137 */
1498 "",
1499 /* 138 */
1500 "",
1501 /* 139 */
1502 "",
1503 /* 140 */
1504 "",
1505 /* 141 */
1506 "",
1507 /* 142 */
1508 "",
1509 /* 143 */
1510 "",
1511 /* 144 */
1512 "",
1513 /* 145 */
1514 "",
1515 /* 146 */
1516 "",
1517 /* 147 */
1518 "SYBTIMEN",
1519 /* 148 */
1520 "",
1521 /* 149 */
1522 "",
1523 /* 150 */
1524 "",
1525 /* 151 */
1526 "",
1527 /* 152 */
1528 "",
1529 /* 153 */
1530 "",
1531 /* 154 */
1532 "",
1533 /* 155 */
1534 "",
1535 /* 156 */
1536 "",
1537 /* 157 */
1538 "",
1539 /* 158 */
1540 "",
1541 /* 159 */
1542 "",
1543 /* 160 */
1544 "",
1545 /* 161 */
1546 "",
1547 /* 162 */
1548 "",
1549 /* 163 */
1550 "SYBXML",
1551 /* 164 */
1552 "",
1553 /* 165 */
1554 "XSYBVARBINARY",
1555 /* 166 */
1556 "",
1557 /* 167 */
1558 "XSYBVARCHAR",
1559 /* 168 */
1560 "",
1561 /* 169 */
1562 "",
1563 /* 170 */
1564 "",
1565 /* 171 */
1566 "",
1567 /* 172 */
1568 "",
1569 /* 173 */
1570 "XSYBBINARY",
1571 /* 174 */
1572 "SYBUNITEXT",
1573 /* 175 */
1574 "XSYBCHAR or SYBLONGCHAR",
1575 /* 176 */
1576 "SYBSINT1",
1577 /* 177 */
1578 "",
1579 /* 178 */
1580 "",
1581 /* 179 */
1582 "",
1583 /* 180 */
1584 "",
1585 /* 181 */
1586 "",
1587 /* 182 */
1588 "",
1589 /* 183 */
1590 "",
1591 /* 184 */
1592 "",
1593 /* 185 */
1594 "",
1595 /* 186 */
1596 "",
1597 /* 187 */
1598 "SYB5BIGDATETIME",
1599 /* 188 */
1600 "SYB5BIGTIME",
1601 /* 189 */
1602 "",
1603 /* 190 */
1604 "",
1605 /* 191 */
1606 "SYB5INT8",
1607 /* 192 */
1608 "",
1609 /* 193 */
1610 "",
1611 /* 194 */
1612 "",
1613 /* 195 */
1614 "",
1615 /* 196 */
1616 "",
1617 /* 197 */
1618 "",
1619 /* 198 */
1620 "",
1621 /* 199 */
1622 "",
1623 /* 200 */
1624 "",
1625 /* 201 */
1626 "",
1627 /* 202 */
1628 "",
1629 /* 203 */
1630 "",
1631 /* 204 */
1632 "",
1633 /* 205 */
1634 "",
1635 /* 206 */
1636 "",
1637 /* 207 */
1638 "",
1639 /* 208 */
1640 "",
1641 /* 209 */
1642 "",
1643 /* 210 */
1644 "",
1645 /* 211 */
1646 "",
1647 /* 212 */
1648 "",
1649 /* 213 */
1650 "",
1651 /* 214 */
1652 "",
1653 /* 215 */
1654 "",
1655 /* 216 */
1656 "",
1657 /* 217 */
1658 "",
1659 /* 218 */
1660 "",
1661 /* 219 */
1662 "",
1663 /* 220 */
1664 "",
1665 /* 221 */
1666 "",
1667 /* 222 */
1668 "",
1669 /* 223 */
1670 "",
1671 /* 224 */
1672 "",
1673 /* 225 */
1674 "SYBLONGBINARY",
1675 /* 226 */
1676 "",
1677 /* 227 */
1678 "",
1679 /* 228 */
1680 "",
1681 /* 229 */
1682 "",
1683 /* 230 */
1684 "",
1685 /* 231 */
1686 "XSYBNVARCHAR",
1687 /* 232 */
1688 "",
1689 /* 233 */
1690 "",
1691 /* 234 */
1692 "",
1693 /* 235 */
1694 "",
1695 /* 236 */
1696 "",
1697 /* 237 */
1698 "",
1699 /* 238 */
1700 "",
1701 /* 239 */
1702 "XSYBNCHAR",
1703 /* 240 */
1704 "SYBMSUDT",
1705 /* 241 */
1706 "SYBMSXML",
1707 /* 242 */
1708 "",
1709 /* 243 */
1710 "SYBMSTABLE",
1711 /* 244 */
1712 "",
1713 /* 245 */
1714 "",
1715 /* 246 */
1716 "",
1717 /* 247 */
1718 "",
1719 /* 248 */
1720 "",
1721 /* 249 */
1722 "",
1723 /* 250 */
1724 "",
1725 /* 251 */
1726 "",
1727 /* 252 */
1728 "",
1729 /* 253 */
1730 "",
1731 /* 254 */
1732 "",
1733 /* 255 */
1734 "",
1735};
1736#endif