[ 
https://issues.apache.org/jira/browse/NIFI-12777?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Matt Burgess updated NIFI-12777:
--------------------------------
    Status: Patch Available  (was: Open)

> QueryRecord does not support UUID field type
> --------------------------------------------
>
>                 Key: NIFI-12777
>                 URL: https://issues.apache.org/jira/browse/NIFI-12777
>             Project: Apache NiFi
>          Issue Type: Bug
>          Components: Extensions
>    Affects Versions: 1.25.0
>         Environment: windows
>            Reporter: Nikolas Falco
>            Priority: Major
>
> I have a QueryRecord processor that takes a flowfile as input. This flowfile 
> contains records with some fields of type UUID.
> {noformat}
> Objavro.schema„N{"type":"record","name":"nifiRecord","namespace":"org.apache.nifi","fields":[{"name":"obbligato_cognome","type":["string","null"]},{"name":"data_inserimento","type":[{"type":"long","logicalType":"timestamp-millis"},"null"]},{"name":"obbligato_id","type":[{"type":"string","logicalType":"uuid"},"null"]},{"name":"trasgressore_id","type":[{"type":"string","logicalType":"uuid"},"null"]},{"name":"id_verbale","type":["string","null"]},{"name":"stato_verbale","type":["string","null"]},{"name":"obbligato_comune_sede_legale_id","type":[{"type":"string","logicalType":"uuid"},"null"]},{"name":"tipo_verbale","type":["string","null"]},{"name":"obbligato_indirizzo_residenza","type":["string","null"]},{"name":"trasgressore_tipo_anagrafica","type":["string","null"]},{"name":"tipo_accertamento_nome","type":["string","null"]},{"name":"importo_scontato","type":[{"type":"bytes","logicalType":"decimal","precision":15,"scale":6},"null"]},{"name":"obbligato_comune_residenza_id","type":["string","null"]},{"name":"luogo_comune_id","type":[{"type":"string","logicalType":"uuid"},"null"]},{"name":"obbligato_data_nascita","type":[{"type":"int","logicalType":"date"},"null"]},{"name":"data_spedizione_verbale","type":[{"type":"int","logicalType":"date"},"null"]},{"name":"trasgressore_esito_spedizione","type":["string","null"]},{"name":"obbligato_nome","type":["string","null"]},{"name":"luogo_strada","type":["string","null"]},{"name":"gruppo_nome_comune","type":["string","null"]},{"name":"tipo_accertamento_descrizione","type":["string","null"]},{"name":"agente_accertatore","type":["string","null"]},{"name":"data_decorrenza_verbale","type":[{"type":"long","logicalType":"timestamp-millis"},"null"]},{"name":"trasgressore_civico_residenza","type":["string","null"]},{"name":"trasgressore_cognome","type":["string","null"]},{"name":"tipo_accertamento_codice_veloce","type":["string","null"]},{"name":"trasgressore_rappresentante_legale","type":["string","null"]},{"name":"aggId","type":[{"type":"string","logicalType":"uuid"},"null"]},{"name":"trasgressore_comune_residenza_id","type":[{"type":"string","logicalType":"uuid"},"null"]},{"name":"obbligato_tipo_anagrafica","type":["string","null"]},{"name":"obbligato_sesso","type":["string","null"]},{"name":"trasgressore_data_spedizione","type":[{"type":"int","logicalType":"date"},"null"]},{"name":"obbligato_ragione_sociale","type":["string","null"]},{"name":"obbligato_indirizzo_sede_legale","type":["string","null"]},{"name":"obbligato_data_notifica","type":[{"type":"int","logicalType":"date"},"null"]},{"name":"importo_minimo_edittale","type":[{"type":"bytes","logicalType":"decimal","precision":15,"scale":6},"null"]},{"name":"trasgressore_cf_pi","type":["string","null"]},{"name":"veicolo_stato_id","type":[{"type":"string","logicalType":"uuid"},"null"]},{"name":"trasgressore_nome","type":["string","null"]},{"name":"trasgressore_cap_comune_residenza","type":["string","null"]},{"name":"trasgressore_comune_sede_legale_id","type":[{"type":"string","logicalType":"uuid"},"null"]},{"name":"obbligato_cf_pi","type":["string","null"]},{"name":"trasgressore_ragione_sociale","type":["string","null"]},{"name":"stazione_descrizione","type":["string","null"]},{"name":"obbligato_rappresentante_legale","type":["string","null"]},{"name":"gruppo_descizione","type":["string","null"]},{"name":"obbligato_data_spedizione","type":[{"type":"int","logicalType":"date"},"null"]},{"name":"trasgressore_civico_sede_legale","type":["string","null"]},{"name":"data_notifica_verbale","type":[{"type":"int","logicalType":"date"},"null"]},{"name":"obbligato_cap_comune_residenza","type":["string","null"]},{"name":"trasgressore_data_notifica","type":[{"type":"int","logicalType":"date"},"null"]},{"name":"trasgressore_data_nascita","type":[{"type":"int","logicalType":"date"},"null"]},{"name":"trasgressore_indirizzo_residenza","type":["string","null"]},{"name":"gruppo_comando_id","type":["string","null"]},{"name":"obbligato_esito_spedizione","type":["string","null"]},{"name":"data_verbale","type":[{"type":"long","logicalType":"timestamp-millis"},"null"]},{"name":"agente_proprietario","type":["string","null"]},{"name":"trasgressore_indirizzo_sede_legale","type":["string","null"]},{"name":"obbligato_civico_sede_legale","type":["string","null"]},{"name":"stazione_codice_univoco","type":["string","null"]},{"name":"obbligato_civico_residenza","type":["string","null"]},{"name":"veicolo_targa","type":["string","null"]},{"name":"gruppo_codice_univoco","type":["string","null"]},{"name":"luogo_comune","type":["string","null"]},{"name":"importo_ruolo","type":[{"type":"bytes","logicalType":"decimal","precision":15,"scale":6},"null"]},{"name":"stazione_comando_id","type":["string","null"]},{"name":"stazione_nome_comune","type":["string","null"]},{"name":"trasgressore_sesso","type":["string","null"]},{"name":"luogo_strada_id","type":[{"type":"string","logicalType":"uuid"},"null"]},{"name":"id_ricorso","type":[{"type":"string","logicalType":"uuid"},"null"]}]}
> {noformat}
> If I add a property named "extracId" and value "SELECT aggid FROM FLOWFILE" 
> the processor throw an exception:
> {noformat}
> Caused by: java.sql.SQLException: Error while preparing statement [SELECT 
> aggid
> FROM FLOWFILE]
>       at org.apache.calcite.avatica.Helper.createException(Helper.java:56)
>       at org.apache.calcite.avatica.Helper.createException(Helper.java:41)
>       at 
> org.apache.calcite.jdbc.CalciteConnectionImpl.prepareStatement_(CalciteConnectionImpl.java:226)
>       at 
> org.apache.calcite.jdbc.CalciteConnectionImpl.prepareStatement(CalciteConnectionImpl.java:205)
>       at 
> org.apache.calcite.jdbc.CalciteConnectionImpl.prepareStatement(CalciteConnectionImpl.java:101)
>       at 
> org.apache.calcite.avatica.AvaticaConnection.prepareStatement(AvaticaConnection.java:178)
>       at 
> org.apache.nifi.processors.standard.QueryRecord.buildCachedStatement(QueryRecord.java:409)
>       ... 15 common frames omitted
> Caused by: java.lang.IllegalArgumentException: Unknown Record Field Type: UUID
>       at 
> org.apache.nifi.queryrecord.FlowFileTable.getRelDataType(FlowFileTable.java:278)
>       at 
> org.apache.nifi.queryrecord.FlowFileTable.getRowType(FlowFileTable.java:185)
>       at 
> org.apache.calcite.sql.validate.EmptyScope.resolve_(EmptyScope.java:161)
>       at 
> org.apache.calcite.sql.validate.EmptyScope.resolveTable(EmptyScope.java:101)
>       at 
> org.apache.calcite.sql.validate.DelegatingScope.resolveTable(DelegatingScope.java:230)
>       at 
> org.apache.calcite.sql.validate.IdentifierNamespace.resolveImpl(IdentifierNamespace.java:116)
>       at 
> org.apache.calcite.sql.validate.IdentifierNamespace.validateImpl(IdentifierNamespace.java:189)
>       at 
> org.apache.calcite.sql.validate.AbstractNamespace.validate(AbstractNamespace.java:88)
>       at 
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(SqlValidatorImpl.java:1154)
> {noformat}
>  
> Looking into the code seems that the switch case in getRelDataType in 
> FlowFileTable miss to handle UUID. In version 2.0 beta the class has been 
> removed



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to