From ede93f5ba8c1347ff173a3f1ef7c447b7ffda36d Mon Sep 17 00:00:00 2001 From: Peter Lamut Date: Fri, 16 Aug 2019 14:12:55 +0200 Subject: [PATCH 1/2] Add enum with legacy SQL type names --- bigquery/google/cloud/bigquery/enums.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/bigquery/google/cloud/bigquery/enums.py b/bigquery/google/cloud/bigquery/enums.py index 098a918e474f..1c7d233a3480 100644 --- a/bigquery/google/cloud/bigquery/enums.py +++ b/bigquery/google/cloud/bigquery/enums.py @@ -67,3 +67,20 @@ def _make_sql_scalars_enum(): StandardSqlDataTypes = _make_sql_scalars_enum() + + +# see also https://cloud.google.com/bigquery/data-types#legacy_sql_data_types +class LegacySqlDataTypes(str, enum.Enum): + """Enum of legacy SQL types names.""" + + STRING = "STRING" + BYTES = "BYTES" + INTEGER = "INTEGER" + FLOAT = "FLOAT" + NUMERIC = "NUMERIC" + BOOLEAN = "BOOLEAN" + RECORD = "RECORD" + TIMESTAMP = "TIMESTAMP" + DATE = "DATE" + TIME = "TIME" + DATETIME = "DATETIME" From bb000b93b6082b70d2f47b94fd54e2f810fdca5a Mon Sep 17 00:00:00 2001 From: Peter Lamut Date: Mon, 19 Aug 2019 10:25:19 +0200 Subject: [PATCH 2/2] Add standard types to enum, rename enum --- bigquery/google/cloud/bigquery/enums.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/bigquery/google/cloud/bigquery/enums.py b/bigquery/google/cloud/bigquery/enums.py index 1c7d233a3480..29fe543f6505 100644 --- a/bigquery/google/cloud/bigquery/enums.py +++ b/bigquery/google/cloud/bigquery/enums.py @@ -69,17 +69,23 @@ def _make_sql_scalars_enum(): StandardSqlDataTypes = _make_sql_scalars_enum() -# see also https://cloud.google.com/bigquery/data-types#legacy_sql_data_types -class LegacySqlDataTypes(str, enum.Enum): - """Enum of legacy SQL types names.""" +# 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"