googleapis / googleapis/google-cloud-java

[java-bigquery] setPreserveAsciiControlChars flag not working,

Abierto
#12,163 1 comentario 0 reacciones 1 asignado Reclamado por @Neenu1995 Ver en GitHub
api: bigquery priority: p3
Lenguaje dominante
Java
Estrellas
2.1k
Forks
1.2k
Merge medio
1 d 23 h
PR fusionados (30 d)
154

Descripción

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();
~

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.