Introduction

Type System

DataShell's type system is a set of rules that define the types of fields and blocks that can be used in the schema. The type system is used to enforce the rules of the underlying data warehouse provider and to provide a consistent experience across all providers.

As a by-product of the type system, some constraints (like NOT NULL in Snowflake) are represented in DataShell via the type system instead of being separate attributes. The extensions that the type system contributes to the schema grammar are:

Nullable Fields

By default, all fields are marked as non-nullable (i.e., NOT NULL in Snowflake). To make a field nullable, you can use the ? operator after the field type. For example:

field_name field_type?

This will make field_name nullable.

Previous
Naming Conventions