Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
Description
Currently Hop does not support the UUID datatype in Postgres, and it tries to use varchar type, causing an error in the database.
For example, in the Update action:
2022/09/01 00:11:40 - Update existing table record.0 - ERROR: Error in transform, asking everyone to stop because of: 2022/09/01 00:11:40 - Update existing table record.0 - ERROR: org.apache.hop.core.exception.HopDatabaseBatchException: 2022/09/01 00:11:40 - Update existing table record.0 - Error updating batch 2022/09/01 00:11:40 - Update existing table record.0 - Batch entry 0 UPDATE client_crm.listing 2022/09/01 00:11:40 - Update existing table record.0 - SET is_outdated = 'FALSE' 2022/09/01 00:11:40 - Update existing table record.0 - , date_last_observation = '2022-09-01 00:11:33.993-03' 2022/09/01 00:11:40 - Update existing table record.0 - WHERE ( ( idf_record = '6db2a3f5-d76c-445d-b0a6-6a4c845ce94e' ) ) was aborted: ERROR: operator does not exist: uuid = character varying Hint: No operator matches the given name and argument types. You might need to add explicit type casts. Position: 104 Call getNextException to see other errors in the batch. 2022/09/01 00:11:40 - Update existing table record.0 - 2022/09/01 00:11:40 - Update existing table record.0 - at org.apache.hop.core.database.Database.createHopDatabaseBatchException(Database.java:1224) 2022/09/01 00:11:40 - Update existing table record.0 - at org.apache.hop.core.database.Database.insertRow(Database.java:1111) 2022/09/01 00:11:40 - Update existing table record.0 - at org.apache.hop.pipeline.transforms.update.Update.lookupValues(Update.java:186) 2022/09/01 00:11:40 - Update existing table record.0 - at org.apache.hop.pipeline.transforms.update.Update.processRow(Update.java:330) 2022/09/01 00:11:40 - Update existing table record.0 - at org.apache.hop.pipeline.transform.RunThread.run(RunThread.java:51) 2022/09/01 00:11:40 - Update existing table record.0 - at java.base/java.lang.Thread.run(Thread.java:834) 2022/09/01 00:11:40 - Update existing table record.0 - Caused by: java.sql.BatchUpdateException: Batch entry 0 UPDATE client_crm.listing 2022/09/01 00:11:40 - Update existing table record.0 - SET is_outdated = 'FALSE' 2022/09/01 00:11:40 - Update existing table record.0 - , date_last_observation = '2022-09-01 00:11:33.993-03' 2022/09/01 00:11:40 - Update existing table record.0 - WHERE ( ( idf_record = '6db2a3f5-d76c-445d-b0a6-6a4c845ce94e' ) ) was aborted: ERROR: operator does not exist: uuid = character varying Hint: No operator matches the given name and argument types. You might need to add explicit type casts. Position: 104 Call getNextException to see other errors in the batch. 2022/09/01 00:11:40 - Update existing table record.0 - at org.postgresql.jdbc.BatchResultHandler.handleError(BatchResultHandler.java:165) 2022/09/01 00:11:40 - Update existing table record.0 - at org.postgresql.jdbc.PgStatement.internalExecuteBatch(PgStatement.java:871) 2022/09/01 00:11:40 - Update existing table record.0 - at org.postgresql.jdbc.PgStatement.executeBatch(PgStatement.java:910) 2022/09/01 00:11:40 - Update existing table record.0 - at org.postgresql.jdbc.PgPreparedStatement.executeBatch(PgPreparedStatement.java:1638) 2022/09/01 00:11:40 - Update existing table record.0 - at org.apache.hop.core.database.Database.insertRow(Database.java:1098) 2022/09/01 00:11:40 - Update existing table record.0 - ... 4 more 2022/09/01 00:11:40 - Update existing table record.0 - Caused by: org.postgresql.util.PSQLException: ERROR: operator does not exist: uuid = character varying Hint: No operator matches the given name and argument types. You might need to add explicit type casts. Position: 104 2022/09/01 00:11:40 - Update existing table record.0 - at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2675) 2022/09/01 00:11:40 - Update existing table record.0 - at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2365) 2022/09/01 00:11:40 - Update existing table record.0 - at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:355) 2022/09/01 00:11:40 - Update existing table record.0 - at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:315) 2022/09/01 00:11:40 - Update existing table record.0 - at org.postgresql.jdbc.PgStatement.internalExecuteBatch(PgStatement.java:868) 2022/09/01 00:11:40 - Update existing table record.0 - ... 7 more