Specifically on SQL Server running on AWS as service, there is a column type 0x20 and 0x21 being returned. On other SQL Server editions (on-premises, Azure) this has not yet been found in identical scenarios.
Wireshark TDS seems also unable to handle it, leading to nonsense column metadata being reported.
The documented types are listed in 2.2.5 Data Type Definitions.
Is it possible to add documentation and logic in C# how to interprete these column types 0x20 and 0x21 as part of the TDS specification to allow building a custom SQL Server client?
TDS column type 0x20
Reproduction: start SQL Server Management Studio and connect to SQL Server on AWS. First statement is:

With result for the first column (a non-casted 1 as value) a column data type 0x20:

TDS column type 0x21
Reproduction: run a query returning 1 cased as tinyint/shortint/int (always 0x21):

Resulting data type for column according to SQL Server instance is column data type 0x21:

Specifically on SQL Server running on AWS as service, there is a column type 0x20 and 0x21 being returned. On other SQL Server editions (on-premises, Azure) this has not yet been found in identical scenarios.
Wireshark TDS seems also unable to handle it, leading to nonsense column metadata being reported.
The documented types are listed in 2.2.5 Data Type Definitions.
Is it possible to add documentation and logic in C# how to interprete these column types 0x20 and 0x21 as part of the TDS specification to allow building a custom SQL Server client?
TDS column type 0x20
Reproduction: start SQL Server Management Studio and connect to SQL Server on AWS. First statement is:
With result for the first column (a non-casted 1 as value) a column data type 0x20:
TDS column type 0x21
Reproduction: run a query returning 1 cased as tinyint/shortint/int (always 0x21):
Resulting data type for column according to SQL Server instance is column data type 0x21: