77     if (IS_TDS7_PLUS(conn)) {
    95     } 
else if (IS_TDS50(conn)) {
   190 const uint16_t tds_type_flags_ms[256] = {
   191       TDS_TYPEFLAG_INVALID,
   192       TDS_TYPEFLAG_INVALID,
   193       TDS_TYPEFLAG_INVALID,
   194       TDS_TYPEFLAG_INVALID,
   195       TDS_TYPEFLAG_INVALID,
   196       TDS_TYPEFLAG_INVALID,
   197       TDS_TYPEFLAG_INVALID,
   198       TDS_TYPEFLAG_INVALID,
   199       TDS_TYPEFLAG_INVALID,
   200       TDS_TYPEFLAG_INVALID,
   201       TDS_TYPEFLAG_INVALID,
   202       TDS_TYPEFLAG_INVALID,
   203       TDS_TYPEFLAG_INVALID,
   204       TDS_TYPEFLAG_INVALID,
   205       TDS_TYPEFLAG_INVALID,
   206       TDS_TYPEFLAG_INVALID,
   207       TDS_TYPEFLAG_INVALID,
   208       TDS_TYPEFLAG_INVALID,
   209       TDS_TYPEFLAG_INVALID,
   210       TDS_TYPEFLAG_INVALID,
   211       TDS_TYPEFLAG_INVALID,
   212       TDS_TYPEFLAG_INVALID,
   213       TDS_TYPEFLAG_INVALID,
   214       TDS_TYPEFLAG_INVALID,
   215       TDS_TYPEFLAG_INVALID,
   216       TDS_TYPEFLAG_INVALID,
   217       TDS_TYPEFLAG_INVALID,
   218       TDS_TYPEFLAG_INVALID,
   219       TDS_TYPEFLAG_INVALID,
   220       TDS_TYPEFLAG_INVALID,
   221       TDS_TYPEFLAG_INVALID,
   223       TDS_TYPEFLAG_INVALID,
   224       TDS_TYPEFLAG_INVALID,
   225       TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE|TDS_TYPEFLAG_BINARY,
   226       TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE|TDS_TYPEFLAG_COLLATE|TDS_TYPEFLAG_ASCII,
   227       TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_FIXED,
   228       TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE|TDS_TYPEFLAG_BINARY,
   229       TDS_TYPEFLAG_NULLABLE,
   230       TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE|TDS_TYPEFLAG_ASCII,
   231       TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_FIXED|TDS_TYPEFLAG_DATETIME,
   232       TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_DATETIME,
   233       TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_DATETIME,
   234       TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_DATETIME,
   235       TDS_TYPEFLAG_INVALID,
   236       TDS_TYPEFLAG_VARIABLE|TDS_TYPEFLAG_BINARY,
   237       TDS_TYPEFLAG_INVALID|TDS_TYPEFLAG_FIXED,
   238       TDS_TYPEFLAG_VARIABLE|TDS_TYPEFLAG_ASCII,
   240       TDS_TYPEFLAG_INVALID|TDS_TYPEFLAG_FIXED|TDS_TYPEFLAG_DATETIME,
   242       TDS_TYPEFLAG_INVALID|TDS_TYPEFLAG_FIXED|TDS_TYPEFLAG_DATETIME,
   244       TDS_TYPEFLAG_INVALID,
   245       TDS_TYPEFLAG_INVALID,
   246       TDS_TYPEFLAG_INVALID,
   248       TDS_TYPEFLAG_INVALID,
   249       TDS_TYPEFLAG_FIXED|TDS_TYPEFLAG_DATETIME,
   252       TDS_TYPEFLAG_FIXED|TDS_TYPEFLAG_DATETIME,
   254       TDS_TYPEFLAG_INVALID,
   255       TDS_TYPEFLAG_INVALID|TDS_TYPEFLAG_FIXED,
   256       TDS_TYPEFLAG_INVALID|TDS_TYPEFLAG_FIXED,
   257       TDS_TYPEFLAG_INVALID|TDS_TYPEFLAG_FIXED,
   258       TDS_TYPEFLAG_INVALID|TDS_TYPEFLAG_FIXED,
   259       TDS_TYPEFLAG_INVALID|TDS_TYPEFLAG_NULLABLE,
   260       TDS_TYPEFLAG_INVALID,
   261       TDS_TYPEFLAG_INVALID,
   262       TDS_TYPEFLAG_INVALID,
   263       TDS_TYPEFLAG_INVALID,
   264       TDS_TYPEFLAG_INVALID,
   265       TDS_TYPEFLAG_INVALID,
   266       TDS_TYPEFLAG_INVALID,
   267       TDS_TYPEFLAG_INVALID,
   268       TDS_TYPEFLAG_INVALID,
   269       TDS_TYPEFLAG_INVALID,
   270       TDS_TYPEFLAG_INVALID,
   271       TDS_TYPEFLAG_INVALID,
   272       TDS_TYPEFLAG_INVALID,
   273       TDS_TYPEFLAG_INVALID,
   274       TDS_TYPEFLAG_INVALID,
   275       TDS_TYPEFLAG_INVALID,
   276       TDS_TYPEFLAG_INVALID,
   277       TDS_TYPEFLAG_INVALID,
   278       TDS_TYPEFLAG_INVALID,
   279       TDS_TYPEFLAG_INVALID,
   280       TDS_TYPEFLAG_INVALID,
   281       TDS_TYPEFLAG_INVALID,
   282       TDS_TYPEFLAG_INVALID,
   283       TDS_TYPEFLAG_INVALID,
   284       TDS_TYPEFLAG_INVALID,
   285       TDS_TYPEFLAG_INVALID,
   286       TDS_TYPEFLAG_INVALID,
   287       TDS_TYPEFLAG_INVALID,
   288       TDS_TYPEFLAG_INVALID,
   289       TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE,
   290       TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE|TDS_TYPEFLAG_COLLATE|TDS_TYPEFLAG_UNICODE,
   291       TDS_TYPEFLAG_INVALID,
   292       TDS_TYPEFLAG_INVALID,
   293       TDS_TYPEFLAG_INVALID,
   294       TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE|TDS_TYPEFLAG_UNICODE,
   295       TDS_TYPEFLAG_NULLABLE,
   296       TDS_TYPEFLAG_INVALID,
   297       TDS_TYPEFLAG_NUMERIC,
   298       TDS_TYPEFLAG_INVALID,
   299       TDS_TYPEFLAG_NUMERIC,
   300       TDS_TYPEFLAG_NULLABLE,
   301       TDS_TYPEFLAG_NULLABLE,
   302       TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_DATETIME,
   303       TDS_TYPEFLAG_INVALID,
   304       TDS_TYPEFLAG_INVALID,
   305       TDS_TYPEFLAG_INVALID,
   306       TDS_TYPEFLAG_INVALID,
   307       TDS_TYPEFLAG_INVALID,
   308       TDS_TYPEFLAG_INVALID,
   309       TDS_TYPEFLAG_INVALID,
   310       TDS_TYPEFLAG_INVALID,
   311       TDS_TYPEFLAG_INVALID,
   312       TDS_TYPEFLAG_INVALID,
   314       TDS_TYPEFLAG_INVALID|TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_DATETIME,
   315       TDS_TYPEFLAG_INVALID,
   316       TDS_TYPEFLAG_INVALID,
   317       TDS_TYPEFLAG_INVALID,
   319       TDS_TYPEFLAG_INVALID,
   320       TDS_TYPEFLAG_INVALID,
   321       TDS_TYPEFLAG_INVALID,
   322       TDS_TYPEFLAG_INVALID,
   323       TDS_TYPEFLAG_INVALID,
   324       TDS_TYPEFLAG_INVALID,
   325       TDS_TYPEFLAG_INVALID,
   326       TDS_TYPEFLAG_INVALID,
   327       TDS_TYPEFLAG_INVALID,
   328       TDS_TYPEFLAG_INVALID,
   329       TDS_TYPEFLAG_INVALID,
   330       TDS_TYPEFLAG_INVALID,
   331       TDS_TYPEFLAG_INVALID,
   332       TDS_TYPEFLAG_INVALID,
   333       TDS_TYPEFLAG_INVALID,
   334       TDS_TYPEFLAG_INVALID,
   335       TDS_TYPEFLAG_INVALID,
   336       TDS_TYPEFLAG_INVALID,
   337       TDS_TYPEFLAG_INVALID,
   338       TDS_TYPEFLAG_INVALID|TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_DATETIME,
   339       TDS_TYPEFLAG_INVALID,
   340       TDS_TYPEFLAG_INVALID,
   341       TDS_TYPEFLAG_INVALID,
   342       TDS_TYPEFLAG_INVALID,
   343       TDS_TYPEFLAG_INVALID,
   344       TDS_TYPEFLAG_INVALID,
   345       TDS_TYPEFLAG_INVALID,
   346       TDS_TYPEFLAG_INVALID,
   347       TDS_TYPEFLAG_INVALID,
   348       TDS_TYPEFLAG_INVALID,
   349       TDS_TYPEFLAG_INVALID,
   350       TDS_TYPEFLAG_INVALID,
   351       TDS_TYPEFLAG_INVALID,
   352       TDS_TYPEFLAG_INVALID,
   353       TDS_TYPEFLAG_INVALID,
   354       TDS_TYPEFLAG_INVALID|TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE,
   355       TDS_TYPEFLAG_INVALID,
   356       TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE|TDS_TYPEFLAG_BINARY,
   357       TDS_TYPEFLAG_INVALID,
   358       TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE|TDS_TYPEFLAG_COLLATE|TDS_TYPEFLAG_ASCII,
   359       TDS_TYPEFLAG_INVALID,
   360       TDS_TYPEFLAG_INVALID,
   361       TDS_TYPEFLAG_INVALID,
   362       TDS_TYPEFLAG_INVALID,
   363       TDS_TYPEFLAG_INVALID,
   364       TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE|TDS_TYPEFLAG_BINARY,
   365       TDS_TYPEFLAG_INVALID|TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE|TDS_TYPEFLAG_UNICODE,
   366       TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE|TDS_TYPEFLAG_COLLATE|TDS_TYPEFLAG_ASCII,
   367       TDS_TYPEFLAG_INVALID|TDS_TYPEFLAG_FIXED,
   368       TDS_TYPEFLAG_INVALID,
   369       TDS_TYPEFLAG_INVALID,
   370       TDS_TYPEFLAG_INVALID,
   371       TDS_TYPEFLAG_INVALID,
   372       TDS_TYPEFLAG_INVALID,
   373       TDS_TYPEFLAG_INVALID,
   374       TDS_TYPEFLAG_INVALID,
   375       TDS_TYPEFLAG_INVALID,
   376       TDS_TYPEFLAG_INVALID,
   377       TDS_TYPEFLAG_INVALID,
   378       TDS_TYPEFLAG_INVALID|TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_DATETIME,
   379       TDS_TYPEFLAG_INVALID|TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_DATETIME,
   380       TDS_TYPEFLAG_INVALID,
   381       TDS_TYPEFLAG_INVALID,
   382       TDS_TYPEFLAG_INVALID|TDS_TYPEFLAG_FIXED,
   383       TDS_TYPEFLAG_INVALID,
   384       TDS_TYPEFLAG_INVALID,
   385       TDS_TYPEFLAG_INVALID,
   386       TDS_TYPEFLAG_INVALID,
   387       TDS_TYPEFLAG_INVALID,
   388       TDS_TYPEFLAG_INVALID,
   389       TDS_TYPEFLAG_INVALID,
   390       TDS_TYPEFLAG_INVALID,
   391       TDS_TYPEFLAG_INVALID,
   392       TDS_TYPEFLAG_INVALID,
   393       TDS_TYPEFLAG_INVALID,
   394       TDS_TYPEFLAG_INVALID,
   395       TDS_TYPEFLAG_INVALID,
   396       TDS_TYPEFLAG_INVALID,
   397       TDS_TYPEFLAG_INVALID,
   398       TDS_TYPEFLAG_INVALID,
   399       TDS_TYPEFLAG_INVALID,
   400       TDS_TYPEFLAG_INVALID,
   401       TDS_TYPEFLAG_INVALID,
   402       TDS_TYPEFLAG_INVALID,
   403       TDS_TYPEFLAG_INVALID,
   404       TDS_TYPEFLAG_INVALID,
   405       TDS_TYPEFLAG_INVALID,
   406       TDS_TYPEFLAG_INVALID,
   407       TDS_TYPEFLAG_INVALID,
   408       TDS_TYPEFLAG_INVALID,
   409       TDS_TYPEFLAG_INVALID,
   410       TDS_TYPEFLAG_INVALID,
   411       TDS_TYPEFLAG_INVALID,
   412       TDS_TYPEFLAG_INVALID,
   413       TDS_TYPEFLAG_INVALID,
   414       TDS_TYPEFLAG_INVALID,
   415       TDS_TYPEFLAG_INVALID,
   416       TDS_TYPEFLAG_INVALID|TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE|TDS_TYPEFLAG_BINARY,
   417       TDS_TYPEFLAG_INVALID,
   418       TDS_TYPEFLAG_INVALID,
   419       TDS_TYPEFLAG_INVALID,
   420       TDS_TYPEFLAG_INVALID,
   421       TDS_TYPEFLAG_INVALID,
   422       TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE|TDS_TYPEFLAG_COLLATE|TDS_TYPEFLAG_UNICODE,
   423       TDS_TYPEFLAG_INVALID,
   424       TDS_TYPEFLAG_INVALID,
   425       TDS_TYPEFLAG_INVALID,
   426       TDS_TYPEFLAG_INVALID,
   427       TDS_TYPEFLAG_INVALID,
   428       TDS_TYPEFLAG_INVALID,
   429       TDS_TYPEFLAG_INVALID,
   430       TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE|TDS_TYPEFLAG_COLLATE|TDS_TYPEFLAG_UNICODE,
   431       TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE,
   432       TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE|TDS_TYPEFLAG_UNICODE,
   433       TDS_TYPEFLAG_INVALID,
   434       TDS_TYPEFLAG_INVALID,
   435       TDS_TYPEFLAG_INVALID,
   436       TDS_TYPEFLAG_INVALID,
   437       TDS_TYPEFLAG_INVALID,
   438       TDS_TYPEFLAG_INVALID,
   439       TDS_TYPEFLAG_INVALID,
   440       TDS_TYPEFLAG_INVALID,
   441       TDS_TYPEFLAG_INVALID,
   442       TDS_TYPEFLAG_INVALID,
   443       TDS_TYPEFLAG_INVALID,
   444       TDS_TYPEFLAG_INVALID,
   445       TDS_TYPEFLAG_INVALID,
   446       TDS_TYPEFLAG_INVALID,
   450 const uint16_t tds_type_flags_syb[256] = {
   451       TDS_TYPEFLAG_INVALID,
   452       TDS_TYPEFLAG_INVALID,
   453       TDS_TYPEFLAG_INVALID,
   454       TDS_TYPEFLAG_INVALID,
   455       TDS_TYPEFLAG_INVALID,
   456       TDS_TYPEFLAG_INVALID,
   457       TDS_TYPEFLAG_INVALID,
   458       TDS_TYPEFLAG_INVALID,
   459       TDS_TYPEFLAG_INVALID,
   460       TDS_TYPEFLAG_INVALID,
   461       TDS_TYPEFLAG_INVALID,
   462       TDS_TYPEFLAG_INVALID,
   463       TDS_TYPEFLAG_INVALID,
   464       TDS_TYPEFLAG_INVALID,
   465       TDS_TYPEFLAG_INVALID,
   466       TDS_TYPEFLAG_INVALID,
   467       TDS_TYPEFLAG_INVALID,
   468       TDS_TYPEFLAG_INVALID,
   469       TDS_TYPEFLAG_INVALID,
   470       TDS_TYPEFLAG_INVALID,
   471       TDS_TYPEFLAG_INVALID,
   472       TDS_TYPEFLAG_INVALID,
   473       TDS_TYPEFLAG_INVALID,
   474       TDS_TYPEFLAG_INVALID,
   475       TDS_TYPEFLAG_INVALID,
   476       TDS_TYPEFLAG_INVALID,
   477       TDS_TYPEFLAG_INVALID,
   478       TDS_TYPEFLAG_INVALID,
   479       TDS_TYPEFLAG_INVALID,
   480       TDS_TYPEFLAG_INVALID,
   481       TDS_TYPEFLAG_INVALID,
   483       TDS_TYPEFLAG_INVALID,
   484       TDS_TYPEFLAG_INVALID,
   485       TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE|TDS_TYPEFLAG_BINARY,
   486       TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE|TDS_TYPEFLAG_COLLATE|TDS_TYPEFLAG_ASCII,
   487       TDS_TYPEFLAG_INVALID|TDS_TYPEFLAG_FIXED|TDS_TYPEFLAG_NULLABLE,
   488       TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE|TDS_TYPEFLAG_BINARY,
   489       TDS_TYPEFLAG_NULLABLE,
   490       TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE|TDS_TYPEFLAG_ASCII,
   491       TDS_TYPEFLAG_INVALID|TDS_TYPEFLAG_FIXED|TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_DATETIME,
   492       TDS_TYPEFLAG_INVALID|TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_DATETIME,
   493       TDS_TYPEFLAG_INVALID|TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_DATETIME,
   494       TDS_TYPEFLAG_INVALID|TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_DATETIME,
   495       TDS_TYPEFLAG_INVALID,
   496       TDS_TYPEFLAG_VARIABLE|TDS_TYPEFLAG_BINARY,
   498       TDS_TYPEFLAG_VARIABLE|TDS_TYPEFLAG_ASCII,
   500       TDS_TYPEFLAG_FIXED|TDS_TYPEFLAG_DATETIME,
   502       TDS_TYPEFLAG_FIXED|TDS_TYPEFLAG_DATETIME,
   504       TDS_TYPEFLAG_INVALID,
   505       TDS_TYPEFLAG_INVALID,
   506       TDS_TYPEFLAG_INVALID,
   508       TDS_TYPEFLAG_INVALID,
   509       TDS_TYPEFLAG_FIXED|TDS_TYPEFLAG_DATETIME,
   512       TDS_TYPEFLAG_FIXED|TDS_TYPEFLAG_DATETIME,
   514       TDS_TYPEFLAG_INVALID,
   519       TDS_TYPEFLAG_NULLABLE,
   520       TDS_TYPEFLAG_INVALID,
   521       TDS_TYPEFLAG_INVALID,
   522       TDS_TYPEFLAG_INVALID,
   523       TDS_TYPEFLAG_INVALID,
   524       TDS_TYPEFLAG_INVALID,
   525       TDS_TYPEFLAG_INVALID,
   526       TDS_TYPEFLAG_INVALID,
   527       TDS_TYPEFLAG_INVALID,
   528       TDS_TYPEFLAG_INVALID,
   529       TDS_TYPEFLAG_INVALID,
   530       TDS_TYPEFLAG_INVALID,
   531       TDS_TYPEFLAG_INVALID,
   532       TDS_TYPEFLAG_INVALID,
   533       TDS_TYPEFLAG_INVALID,
   534       TDS_TYPEFLAG_INVALID,
   535       TDS_TYPEFLAG_INVALID,
   536       TDS_TYPEFLAG_INVALID,
   537       TDS_TYPEFLAG_INVALID,
   538       TDS_TYPEFLAG_INVALID,
   539       TDS_TYPEFLAG_INVALID,
   540       TDS_TYPEFLAG_INVALID,
   541       TDS_TYPEFLAG_INVALID,
   542       TDS_TYPEFLAG_INVALID,
   543       TDS_TYPEFLAG_INVALID,
   544       TDS_TYPEFLAG_INVALID,
   545       TDS_TYPEFLAG_INVALID,
   546       TDS_TYPEFLAG_INVALID,
   547       TDS_TYPEFLAG_INVALID,
   548       TDS_TYPEFLAG_INVALID,
   549       TDS_TYPEFLAG_INVALID|TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE,
   550       TDS_TYPEFLAG_INVALID|TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE|TDS_TYPEFLAG_UNICODE,
   551       TDS_TYPEFLAG_INVALID,
   552       TDS_TYPEFLAG_INVALID,
   553       TDS_TYPEFLAG_INVALID,
   554       TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE|TDS_TYPEFLAG_ASCII,
   555       TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE|TDS_TYPEFLAG_ASCII,
   556       TDS_TYPEFLAG_INVALID,
   557       TDS_TYPEFLAG_NUMERIC,
   558       TDS_TYPEFLAG_INVALID,
   559       TDS_TYPEFLAG_NUMERIC,
   560       TDS_TYPEFLAG_NULLABLE,
   561       TDS_TYPEFLAG_NULLABLE,
   562       TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_DATETIME,
   563       TDS_TYPEFLAG_INVALID,
   564       TDS_TYPEFLAG_INVALID,
   565       TDS_TYPEFLAG_INVALID,
   566       TDS_TYPEFLAG_INVALID,
   567       TDS_TYPEFLAG_INVALID,
   568       TDS_TYPEFLAG_INVALID,
   569       TDS_TYPEFLAG_INVALID,
   570       TDS_TYPEFLAG_INVALID,
   571       TDS_TYPEFLAG_INVALID,
   572       TDS_TYPEFLAG_INVALID,
   574       TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_DATETIME,
   575       TDS_TYPEFLAG_INVALID,
   576       TDS_TYPEFLAG_INVALID,
   577       TDS_TYPEFLAG_INVALID,
   578       TDS_TYPEFLAG_INVALID|TDS_TYPEFLAG_FIXED,
   579       TDS_TYPEFLAG_INVALID,
   580       TDS_TYPEFLAG_INVALID,
   581       TDS_TYPEFLAG_INVALID,
   582       TDS_TYPEFLAG_INVALID,
   583       TDS_TYPEFLAG_INVALID,
   584       TDS_TYPEFLAG_INVALID,
   585       TDS_TYPEFLAG_INVALID,
   586       TDS_TYPEFLAG_INVALID,
   587       TDS_TYPEFLAG_INVALID,
   588       TDS_TYPEFLAG_INVALID,
   589       TDS_TYPEFLAG_INVALID,
   590       TDS_TYPEFLAG_INVALID,
   591       TDS_TYPEFLAG_INVALID,
   592       TDS_TYPEFLAG_INVALID,
   593       TDS_TYPEFLAG_INVALID,
   594       TDS_TYPEFLAG_INVALID,
   595       TDS_TYPEFLAG_INVALID,
   596       TDS_TYPEFLAG_INVALID,
   597       TDS_TYPEFLAG_INVALID,
   598       TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_DATETIME,
   599       TDS_TYPEFLAG_INVALID,
   600       TDS_TYPEFLAG_INVALID,
   601       TDS_TYPEFLAG_INVALID,
   602       TDS_TYPEFLAG_INVALID,
   603       TDS_TYPEFLAG_INVALID,
   604       TDS_TYPEFLAG_INVALID,
   605       TDS_TYPEFLAG_INVALID,
   606       TDS_TYPEFLAG_INVALID,
   607       TDS_TYPEFLAG_INVALID,
   608       TDS_TYPEFLAG_INVALID,
   609       TDS_TYPEFLAG_INVALID,
   610       TDS_TYPEFLAG_INVALID,
   611       TDS_TYPEFLAG_INVALID,
   612       TDS_TYPEFLAG_INVALID,
   613       TDS_TYPEFLAG_INVALID,
   614       TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE,
   615       TDS_TYPEFLAG_INVALID,
   616       TDS_TYPEFLAG_INVALID|TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE|TDS_TYPEFLAG_BINARY,
   617       TDS_TYPEFLAG_INVALID,
   618       TDS_TYPEFLAG_INVALID|TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE,
   619       TDS_TYPEFLAG_INVALID,
   620       TDS_TYPEFLAG_INVALID,
   621       TDS_TYPEFLAG_INVALID,
   622       TDS_TYPEFLAG_INVALID,
   623       TDS_TYPEFLAG_INVALID,
   624       TDS_TYPEFLAG_INVALID|TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE|TDS_TYPEFLAG_BINARY,
   625       TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE|TDS_TYPEFLAG_UNICODE,
   626       TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE|TDS_TYPEFLAG_ASCII,
   628       TDS_TYPEFLAG_INVALID,
   629       TDS_TYPEFLAG_INVALID,
   630       TDS_TYPEFLAG_INVALID,
   631       TDS_TYPEFLAG_INVALID,
   632       TDS_TYPEFLAG_INVALID,
   633       TDS_TYPEFLAG_INVALID,
   634       TDS_TYPEFLAG_INVALID,
   635       TDS_TYPEFLAG_INVALID,
   636       TDS_TYPEFLAG_INVALID,
   637       TDS_TYPEFLAG_INVALID,
   638       TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_DATETIME,
   639       TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_DATETIME,
   640       TDS_TYPEFLAG_INVALID,
   641       TDS_TYPEFLAG_INVALID,
   643       TDS_TYPEFLAG_INVALID,
   644       TDS_TYPEFLAG_INVALID,
   645       TDS_TYPEFLAG_INVALID,
   646       TDS_TYPEFLAG_INVALID,
   647       TDS_TYPEFLAG_INVALID,
   648       TDS_TYPEFLAG_INVALID,
   649       TDS_TYPEFLAG_INVALID,
   650       TDS_TYPEFLAG_INVALID,
   651       TDS_TYPEFLAG_INVALID,
   652       TDS_TYPEFLAG_INVALID,
   653       TDS_TYPEFLAG_INVALID,
   654       TDS_TYPEFLAG_INVALID,
   655       TDS_TYPEFLAG_INVALID,
   656       TDS_TYPEFLAG_INVALID,
   657       TDS_TYPEFLAG_INVALID,
   658       TDS_TYPEFLAG_INVALID,
   659       TDS_TYPEFLAG_INVALID,
   660       TDS_TYPEFLAG_INVALID,
   661       TDS_TYPEFLAG_INVALID,
   662       TDS_TYPEFLAG_INVALID,
   663       TDS_TYPEFLAG_INVALID,
   664       TDS_TYPEFLAG_INVALID,
   665       TDS_TYPEFLAG_INVALID,
   666       TDS_TYPEFLAG_INVALID,
   667       TDS_TYPEFLAG_INVALID,
   668       TDS_TYPEFLAG_INVALID,
   669       TDS_TYPEFLAG_INVALID,
   670       TDS_TYPEFLAG_INVALID,
   671       TDS_TYPEFLAG_INVALID,
   672       TDS_TYPEFLAG_INVALID,
   673       TDS_TYPEFLAG_INVALID,
   674       TDS_TYPEFLAG_INVALID,
   675       TDS_TYPEFLAG_INVALID,
   676       TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE|TDS_TYPEFLAG_BINARY,
   677       TDS_TYPEFLAG_INVALID,
   678       TDS_TYPEFLAG_INVALID,
   679       TDS_TYPEFLAG_INVALID,
   680       TDS_TYPEFLAG_INVALID,
   681       TDS_TYPEFLAG_INVALID,
   682       TDS_TYPEFLAG_INVALID|TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE|TDS_TYPEFLAG_UNICODE,
   683       TDS_TYPEFLAG_INVALID,
   684       TDS_TYPEFLAG_INVALID,
   685       TDS_TYPEFLAG_INVALID,
   686       TDS_TYPEFLAG_INVALID,
   687       TDS_TYPEFLAG_INVALID,
   688       TDS_TYPEFLAG_INVALID,
   689       TDS_TYPEFLAG_INVALID,
   690       TDS_TYPEFLAG_INVALID|TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE|TDS_TYPEFLAG_UNICODE,
   691       TDS_TYPEFLAG_INVALID|TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE,
   692       TDS_TYPEFLAG_INVALID|TDS_TYPEFLAG_NULLABLE|TDS_TYPEFLAG_VARIABLE|TDS_TYPEFLAG_UNICODE,
   693       TDS_TYPEFLAG_INVALID,
   694       TDS_TYPEFLAG_INVALID,
   695       TDS_TYPEFLAG_INVALID,
   696       TDS_TYPEFLAG_INVALID,
   697       TDS_TYPEFLAG_INVALID,
   698       TDS_TYPEFLAG_INVALID,
   699       TDS_TYPEFLAG_INVALID,
   700       TDS_TYPEFLAG_INVALID,
   701       TDS_TYPEFLAG_INVALID,
   702       TDS_TYPEFLAG_INVALID,
   703       TDS_TYPEFLAG_INVALID,
   704       TDS_TYPEFLAG_INVALID,
   705       TDS_TYPEFLAG_INVALID,
   706       TDS_TYPEFLAG_INVALID,
   709 const char *
const tds_type_names[256] = {
   753        "SYBMSDATETIMEOFFSET",
   813        "SYBNVARCHAR or SYBSENSITIVITY",
   814        "SYBBITN or SYBBOUNDARY",
   885        "XSYBCHAR or SYBLONGCHAR",
 TDS_SERVER_TYPE tds_get_conversion_type(TDS_SERVER_TYPE srctype, int colsize)
Return type suitable for conversions (convert all nullable types to fixed type) 
Definition: tds_types.h:125
int tds_get_size_by_type(TDS_SERVER_TYPE 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:57