79 if (BooleanType.IsBooleanType(typeCode))
80 return PrimitiveTypes.Boolean(typeCode);
81 if (IntervalType.IsIntervalType(typeCode))
82 return PrimitiveTypes.Interval(typeCode);
83 if (DateType.IsDateType(typeCode))
84 return PrimitiveTypes.DateTime(typeCode);
86 if (StringType.IsStringType(typeCode)) {
87 var maxSize = reader.ReadInt32();
89 CultureInfo locale = null;
90 var hasLocale = reader.ReadByte() == 1;
92 var name = reader.ReadString();
93 locale =
new CultureInfo(name);
97 return PrimitiveTypes.String(typeCode, maxSize, Encoding.Unicode, locale);
100 if (NumericType.IsNumericType(typeCode)) {
101 var size = reader.ReadInt32();
102 var scale = reader.ReadByte();
104 return PrimitiveTypes.Numeric(typeCode, size, scale);
107 if (BinaryType.IsBinaryType(typeCode)) {
108 var size = reader.ReadInt32();
109 return PrimitiveTypes.Binary(typeCode, size);
117 return new QueryType();
120 var size = reader.ReadInt32();
121 return new ArrayType(size);
125 return PrimitiveTypes.Null();
127 throw new NotSupportedException();
SqlTypeCode
Enumerates the codes of all SQL types handled by the system.