Some of the client and server interfacing parcels such as DataInfo (parcel flavor 71), DataInfoX (parcel flavor 146), PrepInfo (flavor 86), PrepInfoX (parcel flavor 125) and StatementInfo parcel (flavor 169) return a Data Type Code. DataInfo, DataInfoX and StatementInfo can also be used in the client-to-server direction, in which case the application specifies the data type code. For the DATASET data type, the Data Type Code corresponds to the data type of the DATASET data type's transform type. For example, if the transform for a DATASET type in the Avro storage format is a BLOB, the Data Type Code is a BLOB (400 or 401).
For the Server Data Type Code field of the StatementInfo parcel (parcel flavor 169), the following encoding for the DATASET data type is used. The encoding numbers defined follow the pattern for existing data types (such as Nullable number is non-Nullable value + 1, stored procedure IN parameter type number is 500 + non-nullable number, etc.). Note that these type codes are never returned to the client as a Data Type Code, only as a Server Data Type Code.
|Data Type||NULL Property||Stored Procedure Parameter Type|
|DATASET STORAGE FORMAT Avro||512||513||1012||1013||1014|
These codes are sent from server to client, and are accepted by server from client in the parcels described in the following sections. The only restriction is the type may not be used in the USING clause. VARBYTE/BLOB can be used for Avro and when necessary, this data will be implicitly casted to the DATASET type.