usql.types (U-SQL)
Summary
Contains a row for each built-in type as well as user-defined types (both scalar and table types) belonging to the schemas in the current database context. Since user-defined types are not directly registered in the U-SQL catalog (but are part of the assemblies), they are not included in this view.
Important
This catalog view's content is subject to change in a future refresh!
Column name | Data type | Description |
---|---|---|
type_id_guid | Guid | Types's unique identifier |
name | string | Type's name alias (unique within the type family) |
type_family | string | Name of the type system family, together with the type name's alias, uniquely identifies the type. U-SQL supports the following values: SQL = SQL Server Type system family C# = C# type system family U-SQL = U-SQL table types |
qualified_name | string | Fully qualified name of the underlying C# type library representing the type. This name uniquely identifies the type. |
schema_id_guid | Guid | ID of the database schema the type belongs to |
is_explicit_nullable | bool? | True = Type can be marked explicitly as nullable (e.g. int?) False = Type cannot be marked explicitly as nullable (e.g. C#'s string) Null = Is a table type |
is_user_defined | bool | True = User-defined type False = Built-in data type |
is_assembly_type | bool | True = Implementation of the type is defined in a CLR assembly False = Type is based on a SQL Server system data type or is a U-SQL table type |
is_table_type | bool | Indicates if the type is a table type |
is_complex | bool | True = Type is considered complex for serialization and query purposes False = Type is considered scalar for serialization and query purposes |
precision | int? | Indicates the max precision of the type if it is a numeric type, 0 otherwise, null if it is not a built-in type |
scale | int? | Indicates the max scale of the type if it is a numeric type, 0 otherwise, null if it is not a built-in type |
is_nullable | bool? | False = Type implicitly allows null value True = Type does not implicitly allow null value Null = Is a table type |
is_precise | int? | Supported values are: 0 = Type semantics is imprecise 1 = Type semantics is precise 2 = Type semantics regarding precision is determined based on other aspects (e.g., in complex types, if all referenced types are precise then the complex type is precise) Null = Is a table type |
is_foldable | bool? | False = Expressions of this type cannot be constant-folded in query processing True = Expressions of this type can be constant-folded Null = Is a table type |
is_comparable | bool? | False = Values of this type cannot be compared or ordered True = Values of this type can be compared and ordered Null = Is a table type |
is_real_number | bool? | False = Value of this type is not a real number True = Value of this type is a real number Null = Not a built-in type |
Examples
The examples can be executed in Visual Studio with the Azure Data Lake Tools plug-in.
Query the usql.types view
USE TestReferenceDB;
OUTPUT usql.types
TO "/ReferenceGuide/CatalogViews/types.txt"
USING Outputters.Tsv(outputHeader:true);