googleapis / googleapis/google-cloud-java

[java-bigquery] Schema not propagated when querying for array of structs

Abierto
#12,155 6 comentarios 0 reacciones 0 asignados 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

#### Environment details

1. Specify the API at the beginning of the title. For example, "BigQuery: ...").
```kotlin
implementation("com.google.cloud:google-cloud-bigquery:2.41.0")
```
2. OS type and version: MacOS
3. Java version: 21

#### Steps to reproduce

1. Create a table with a repeated struct schema.
2. Query the same table, try to access the nested record fields by name. This fails because no schema is attached.

#### Code example

Reproduced here: https://github.com/FredrikMeyer/bigquery-bug/blob/main/src/test/java/no/fredrikmeyer/MainTest.java

```java
var query = "select * from my_dataset.my_table";

QueryJobConfiguration queryJobConfiguration = QueryJobConfiguration.newBuilder(query).setUseLegacySql(false).build();

var res2 = bigQuery.query(queryJobConfiguration);

res2.iterateAll().forEach(r -> {
// Prints true
System.out.println(r.hasSchema());
// Prints false, even though the schema is defined above
System.out.println(r.get("arr").getRepeatedValue().getFirst().getRecordValue().hasSchema());
});
```

#### Any additional information below

When having an array of structs, the schema does not seem to be propagated to the fields. Thanks!

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.