Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -485,7 +485,7 @@ private static BigQueryTableFieldSchema generateTableFieldSchema(Schema.Field fi
BigQueryTableFieldSchema fieldSchema = new BigQueryTableFieldSchema();
fieldSchema.setName(field.getName());
fieldSchema.setMode(getMode(field.getSchema()).name());
LegacySQLTypeName type = getTableDataType(field.getSchema());
LegacySQLTypeName type = getTableDataType(field, field.getSchema());
fieldSchema.setType(type.name());
if (type == LegacySQLTypeName.RECORD) {
List<Schema.Field> schemaFields;
Expand Down Expand Up @@ -518,7 +518,7 @@ public static com.google.cloud.bigquery.Schema convertCdapSchemaToBigQuerySchema

private static Field convertCdapFieldToBigQueryField(Schema.Field field) {
String name = field.getName();
LegacySQLTypeName type = getTableDataType(field.getSchema());
LegacySQLTypeName type = getTableDataType(field, field.getSchema());
Field.Mode mode = getMode(field.getSchema());

Field.Builder fieldBuilder;
Expand Down Expand Up @@ -574,7 +574,7 @@ private static Field.Mode getMode(Schema schema) {
* This function returns the LegacySQLTypeName that maps to the given CDAP Schema.
* If the CDAP Schema is an Array it will return the LegacySQLTypename of the components.
*/
private static LegacySQLTypeName getTableDataType(Schema schema) {
private static LegacySQLTypeName getTableDataType(Schema.Field field, Schema schema) {
schema = BigQueryUtil.getNonNullableSchema(schema);
Schema.LogicalType logicalType = schema.getLogicalType();

Expand All @@ -599,7 +599,9 @@ private static LegacySQLTypeName getTableDataType(Schema schema) {
case DATETIME:
return LegacySQLTypeName.DATETIME;
default:
throw new IllegalStateException("Unsupported type " + logicalType.getToken());
throw new IllegalStateException(
String.format("Unsupported type %s for field %s", logicalType.getToken(),
field.toString()));
}
}

Expand All @@ -618,11 +620,12 @@ private static LegacySQLTypeName getTableDataType(Schema schema) {
case BYTES:
return LegacySQLTypeName.BYTES;
case ARRAY:
return getTableDataType(schema.getComponentSchema());
return getTableDataType(field, schema.getComponentSchema());
case RECORD:
return LegacySQLTypeName.RECORD;
default:
throw new IllegalStateException("Unsupported type " + type);
throw new IllegalStateException(String.format("Unsupported type %s for field %s", type,
field.toString()));
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@ public void run(ActionContext context) throws Exception {
gcsPath);
throw ErrorUtils.getProgramFailureException(
new ErrorCategory(ErrorCategory.ErrorCategoryEnum.PLUGIN),
errorReason, errorReason, ErrorType.USER, true, null);
errorReason, errorReason, ErrorType.USER, false, null);
}
}

Expand Down
Loading