[ 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)