From e70a5f4b2e8cd6270e7a75248780e2306dd32d38 Mon Sep 17 00:00:00 2001 From: allenc3 Date: Thu, 9 Jul 2020 10:33:17 -0500 Subject: [PATCH] fix: Change BQ type DATE to map to proto type int32 --- .../v1alpha2/BQTableSchemaToProtoDescriptor.java | 2 +- .../BQTableSchemaToProtoDescriptorTest.java | 13 ++++++++++--- .../src/test/proto/jsonTest.proto | 5 +++-- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1alpha2/BQTableSchemaToProtoDescriptor.java b/google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1alpha2/BQTableSchemaToProtoDescriptor.java index 946d2bc7c8..ab6d8db0ff 100644 --- a/google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1alpha2/BQTableSchemaToProtoDescriptor.java +++ b/google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1alpha2/BQTableSchemaToProtoDescriptor.java @@ -44,7 +44,7 @@ public class BQTableSchemaToProtoDescriptor { new ImmutableMap.Builder() .put(Table.TableFieldSchema.Type.BOOL, FieldDescriptorProto.Type.TYPE_BOOL) .put(Table.TableFieldSchema.Type.BYTES, FieldDescriptorProto.Type.TYPE_BYTES) - .put(Table.TableFieldSchema.Type.DATE, FieldDescriptorProto.Type.TYPE_INT64) + .put(Table.TableFieldSchema.Type.DATE, FieldDescriptorProto.Type.TYPE_INT32) .put(Table.TableFieldSchema.Type.DATETIME, FieldDescriptorProto.Type.TYPE_INT64) .put(Table.TableFieldSchema.Type.DOUBLE, FieldDescriptorProto.Type.TYPE_DOUBLE) .put(Table.TableFieldSchema.Type.GEOGRAPHY, FieldDescriptorProto.Type.TYPE_BYTES) diff --git a/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1alpha2/BQTableSchemaToProtoDescriptorTest.java b/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1alpha2/BQTableSchemaToProtoDescriptorTest.java index e2cb04d1f4..208a285b74 100644 --- a/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1alpha2/BQTableSchemaToProtoDescriptorTest.java +++ b/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1alpha2/BQTableSchemaToProtoDescriptorTest.java @@ -38,7 +38,7 @@ public class BQTableSchemaToProtoDescriptorTest { new ImmutableMap.Builder() .put(Table.TableFieldSchema.Type.BOOL, BoolType.getDescriptor()) .put(Table.TableFieldSchema.Type.BYTES, BytesType.getDescriptor()) - .put(Table.TableFieldSchema.Type.DATE, Int64Type.getDescriptor()) + .put(Table.TableFieldSchema.Type.DATE, Int32Type.getDescriptor()) .put(Table.TableFieldSchema.Type.DATETIME, Int64Type.getDescriptor()) .put(Table.TableFieldSchema.Type.DOUBLE, DoubleType.getDescriptor()) .put(Table.TableFieldSchema.Type.GEOGRAPHY, BytesType.getDescriptor()) @@ -160,6 +160,12 @@ public void testStructComplex() throws Exception { .setMode(Table.TableFieldSchema.Mode.REPEATED) .setName("test_double") .build(); + final Table.TableFieldSchema test_date = + Table.TableFieldSchema.newBuilder() + .setType(Table.TableFieldSchema.Type.DATE) + .setMode(Table.TableFieldSchema.Mode.REQUIRED) + .setName("test_date") + .build(); final Table.TableFieldSchema ComplexLvl2 = Table.TableFieldSchema.newBuilder() .setType(Table.TableFieldSchema.Type.STRUCT) @@ -182,8 +188,9 @@ public void testStructComplex() throws Exception { .addFields(2, test_bytes) .addFields(3, test_bool) .addFields(4, test_double) - .addFields(5, ComplexLvl1) - .addFields(6, ComplexLvl2) + .addFields(5, test_date) + .addFields(6, ComplexLvl1) + .addFields(7, ComplexLvl2) .build(); final Descriptor descriptor = BQTableSchemaToProtoDescriptor.ConvertBQTableSchemaToProtoDescriptor(tableSchema); diff --git a/google-cloud-bigquerystorage/src/test/proto/jsonTest.proto b/google-cloud-bigquerystorage/src/test/proto/jsonTest.proto index c531e09096..a0a0333fd8 100644 --- a/google-cloud-bigquerystorage/src/test/proto/jsonTest.proto +++ b/google-cloud-bigquerystorage/src/test/proto/jsonTest.proto @@ -8,8 +8,9 @@ message ComplexRoot { required bytes test_bytes = 3; optional bool test_bool = 4; repeated double test_double = 5; - required ComplexLvl1 complexLvl1 = 6; - required ComplexLvl2 complexLvl2 = 7; + required int32 test_date = 6; + required ComplexLvl1 complexLvl1 = 7; + required ComplexLvl2 complexLvl2 = 8; } message ComplexLvl1 {