From db88b8de5d4e64e84131743f0f481d9625436e52 Mon Sep 17 00:00:00 2001 From: Peter Lamut Date: Tue, 20 Aug 2019 07:53:04 +0200 Subject: [PATCH] BigQuery: Add enum with SQL type names allowed to be used in SchemaField (#9040) * Add enum with legacy SQL type names * Add standard types to enum, rename enum --- bigquery/google/cloud/bigquery/enums.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/bigquery/google/cloud/bigquery/enums.py b/bigquery/google/cloud/bigquery/enums.py index 098a918e474f..29fe543f6505 100644 --- a/bigquery/google/cloud/bigquery/enums.py +++ b/bigquery/google/cloud/bigquery/enums.py @@ -67,3 +67,26 @@ def _make_sql_scalars_enum(): StandardSqlDataTypes = _make_sql_scalars_enum() + + +# See also: https://cloud.google.com/bigquery/data-types#legacy_sql_data_types +# and https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types +class SqlTypeNames(str, enum.Enum): + """Enum of allowed SQL type names in schema.SchemaField.""" + + STRING = "STRING" + BYTES = "BYTES" + INTEGER = "INTEGER" + INT64 = "INTEGER" + FLOAT = "FLOAT" + FLOAT64 = "FLOAT" + NUMERIC = "NUMERIC" + BOOLEAN = "BOOLEAN" + BOOL = "BOOLEAN" + GEOGRAPHY = "GEOGRAPHY" # NOTE: not available in legacy types + RECORD = "RECORD" + STRUCT = "RECORD" + TIMESTAMP = "TIMESTAMP" + DATE = "DATE" + TIME = "TIME" + DATETIME = "DATETIME"