View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0005068 | SymmetricDS | Bug | public | 2021-08-06 13:14 | 2021-11-04 14:58 |
Reporter | elong | Assigned To | elong | ||
Priority | normal | ||||
Status | closed | Resolution | fixed | ||
Product Version | 3.12.11 | ||||
Target Version | 3.12.12 | Fixed in Version | 3.12.12 | ||
Summary | 0005068: Postgres operator doesn't exist when using domain user defined type | ||||
Description | On Postgres, when table has a user defined type, and a conflict with the primary key occurs, there is an error about operator doesn't exist. It queries by the primary key and does not specify the java.sql.Type to bind, but it is sending a java.lang.String for an integer field. 2021-08-04 18:30:37,561 ERROR [client-332] [ManageIncomingBatchListener] [client-332-dataloader-3] Failed to load batch server-11807 StackTraceKey.init [SqlException:361146536] org.jumpmind.db.sql.SqlException: ERREUR: l'opérateur n'existe pas : t_id = character varying Indice : Aucun opérateur ne correspond au nom donné et aux types d'arguments. Vous devez ajouter des conversions explicites de type. Position : 80 at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:313) at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:302) at org.jumpmind.db.sql.JdbcSqlTransaction.executeCallback(JdbcSqlTransaction.java:398) at org.jumpmind.db.sql.JdbcSqlTransaction.queryForObject(JdbcSqlTransaction.java:217) at org.jumpmind.db.sql.JdbcSqlTransaction.queryForInt(JdbcSqlTransaction.java:201) at org.jumpmind.symmetric.io.data.writer.DefaultDatabaseWriterConflictResolver$4.execute(DefaultDatabaseWriterConflictResolver.java:622) at org.jumpmind.symmetric.io.data.writer.DefaultDatabaseWriterConflictResolver$4.execute(DefaultDatabaseWriterConflictResolver.java:620) at org.jumpmind.symmetric.io.data.writer.DefaultDatabaseWriterConflictResolver.doInTransaction(DefaultDatabaseWriterConflictResolver.java:644) at org.jumpmind.symmetric.io.data.writer.DefaultDatabaseWriterConflictResolver.queryForInt(DefaultDatabaseWriterConflictResolver.java:620) at org.jumpmind.symmetric.io.data.writer.DefaultDatabaseWriterConflictResolver.checkForUniqueKeyViolation(DefaultDatabaseWriterConflictResolver.java:386) at org.jumpmind.symmetric.io.data.writer.AbstractDatabaseWriterConflictResolver.performChainedFallbackForInsert(AbstractDatabaseWriterConflictResolver.java:196) at org.jumpmind.symmetric.io.data.writer.AbstractDatabaseWriterConflictResolver.needsResolved(AbstractDatabaseWriterConflictResolver.java:67) at org.jumpmind.symmetric.io.data.writer.AbstractDatabaseWriter.write(AbstractDatabaseWriter.java:216) at org.jumpmind.symmetric.io.data.writer.NestedDataWriter.write(NestedDataWriter.java:64) at org.jumpmind.symmetric.model.ProcessInfoDataWriter.write(ProcessInfoDataWriter.java:85) at org.jumpmind.symmetric.io.data.writer.NestedDataWriter.write(NestedDataWriter.java:64) at org.jumpmind.symmetric.io.data.writer.TransformWriter.write(TransformWriter.java:202) at org.jumpmind.symmetric.io.data.DataProcessor.forEachDataInTable(DataProcessor.java:212) at org.jumpmind.symmetric.io.data.DataProcessor.forEachTableInBatch(DataProcessor.java:178) at org.jumpmind.symmetric.io.data.DataProcessor.process(DataProcessor.java:124) at org.jumpmind.symmetric.service.impl.DataLoaderService$LoadIntoDatabaseOnArrivalListener$2.call(DataLoaderService.java:1091) at org.jumpmind.symmetric.service.impl.DataLoaderService$LoadIntoDatabaseOnArrivalListener$2.call(DataLoaderService.java:1067) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Caused by: org.postgresql.util.PSQLException: ERREUR: l'opérateur n'existe pas : t_id = character varying Indice : Aucun opérateur ne correspond au nom donné et aux types d'arguments. Vous devez ajouter des conversions explicites de type. Position : 80 at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2553) at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2285) at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:323) at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:473) at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:393) at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:164) at org.postgresql.jdbc.PgPreparedStatement.executeQuery(PgPreparedStatement.java:114) at org.apache.commons.dbcp2.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:122) at org.apache.commons.dbcp2.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:122) at org.jumpmind.db.sql.JdbcSqlTransaction$1.execute(JdbcSqlTransaction.java:230) at org.jumpmind.db.sql.JdbcSqlTransaction.executeCallback(JdbcSqlTransaction.java:396) ... 23 more | ||||
Steps To Reproduce | Was not able to reproduce. Postgres 9.5 CREATE DOMAIN public.t_id AS integer; create table mytid (id public.t_id primary key, name varchar(10)); | ||||
Tags | dialect: postgresql | ||||
Date Modified | Username | Field | Change |
---|---|---|---|
2021-08-06 13:14 | elong | New Issue | |
2021-08-06 13:14 | elong | Status | new => assigned |
2021-08-06 13:14 | elong | Assigned To | => elong |
2021-08-06 13:14 | elong | Tag Attached: dialect: postgresql | |
2021-08-10 16:46 | elong | Status | assigned => resolved |
2021-08-10 16:46 | elong | Resolution | open => fixed |
2021-08-10 16:46 | elong | Fixed in Version | => 3.12.12 |
2021-08-10 17:00 | admin | Changeset attached | => SymmetricDS 3.12 dda9dac7 |
2021-11-04 14:58 | admin | Status | resolved => closed |