googleapis / googleapis/google-cloud-java

[java-bigquery] setPreserveAsciiControlChars flag not working,

Đang mở
#12,163 1 bình luận 0 reaction 1 người được giao Được @Neenu1995 nhận Xem trên GitHub
api: bigquery priority: p3
Ngôn ngữ chính
Java
Star
2.1k
Fork
1.2k
Merge trung bình
1 ngày 23 giờ
Pull request đã merge (30 ngày)
154

Mô tả

Hi Team,

I tried to use CSVOption#setPreserveAsciiControlChars, when using the latest 2.34.0 version.

I have made the fixes for my use case, but request you to add fix in main code.
------------------------------------------

diff --git a/google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/LoadJobConfiguration.java b/google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/LoadJobConfiguration.java
index fefff340..1696b1fc 100644
--- a/google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/LoadJobConfiguration.java
+++ b/google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/LoadJobConfiguration.java
@@ -152,7 +152,8 @@ public final class LoadJobConfiguration extends JobConfiguration implements Load
|| loadConfigurationPb.getEncoding() != null
|| loadConfigurationPb.getFieldDelimiter() != null
|| loadConfigurationPb.getQuote() != null
- || loadConfigurationPb.getSkipLeadingRows() != null) {
+ || loadConfigurationPb.getSkipLeadingRows() != null
+ || loadConfigurationPb.getPreserveAsciiControlCharacters() != null) {
CsvOptions.Builder builder =
CsvOptions.newBuilder()
.setEncoding(loadConfigurationPb.getEncoding())
@@ -167,6 +168,9 @@ public final class LoadJobConfiguration extends JobConfiguration implements Load
if (loadConfigurationPb.getSkipLeadingRows() != null) {
builder.setSkipLeadingRows(loadConfigurationPb.getSkipLeadingRows());
}
+ if (loadConfigurationPb.getPreserveAsciiControlCharacters() != null) {
+ builder.setPreserveAsciiControlCharacters(loadConfigurationPb.getPreserveAsciiControlCharacters());
+ }
this.formatOptions = builder.build();
}
this.maxBadRecords = loadConfigurationPb.getMaxBadRecords();
@@ -653,7 +657,8 @@ public final class LoadJobConfiguration extends JobConfiguration implements Load
.setAllowJaggedRows(csvOptions.allowJaggedRows())
.setAllowQuotedNewlines(csvOptions.allowQuotedNewLines())
.setEncoding(csvOptions.getEncoding())
- .setQuote(csvOptions.getQuote());
+ .setQuote(csvOptions.getQuote())
+ .setPreserveAsciiControlCharacters(csvOptions.getPreserveAsciiControlCharacters());
if (csvOptions.getSkipLeadingRows() != null) {
// todo(mziccard) remove checked cast or comment when googleapis/java-bigquery#1044 is closed
loadConfigurationPb.setSkipLeadingRows(Ints.checkedCast(csvOptions.getSkipLeadingRows()));
diff --git a/google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/WriteChannelConfiguration.java b/google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/WriteChannelConfiguration.java
index 114c6dad..f270eadf 100644
--- a/google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/WriteChannelConfiguration.java
+++ b/google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/WriteChannelConfiguration.java
@@ -127,7 +127,8 @@ public final class WriteChannelConfiguration implements LoadConfiguration, Seria
|| loadConfigurationPb.getEncoding() != null
|| loadConfigurationPb.getFieldDelimiter() != null
|| loadConfigurationPb.getQuote() != null
- || loadConfigurationPb.getSkipLeadingRows() != null) {
+ || loadConfigurationPb.getSkipLeadingRows() != null
+ || loadConfigurationPb.getPreserveAsciiControlCharacters() != null) {
CsvOptions.Builder builder =
CsvOptions.newBuilder()
.setEncoding(loadConfigurationPb.getEncoding())
@@ -142,6 +143,9 @@ public final class WriteChannelConfiguration implements LoadConfiguration, Seria
if (loadConfigurationPb.getSkipLeadingRows() != null) {
builder.setSkipLeadingRows(loadConfigurationPb.getSkipLeadingRows());
}
+ if (loadConfigurationPb.getPreserveAsciiControlCharacters() != null) {
+ builder.setPreserveAsciiControlCharacters(loadConfigurationPb.getPreserveAsciiControlCharacters());
+ }
this.formatOptions = builder.build();
}
this.maxBadRecords = loadConfigurationPb.getMaxBadRecords();
~

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.