View Issue Details

IDProjectCategoryView StatusLast Update
0006363SymmetricDSBugpublic2024-04-29 17:00
Reporterelong Assigned Toelong  
Prioritynormal 
Status closedResolutionfixed 
Product Version3.14.0 
Target Version3.15.6Fixed in Version3.15.6 
Summary0006363: Auto resolve delete of blocking rows when binary type in primary key
DescriptionThe auto resolver can detect and remove a blocking row with a unique key or child foreign key reference. When a binary type is used in the primary key, the auto resolver uses the wrong value for primary key when querying foreign key children. The routine expects a Row with Object values (a byte array for the binary type), but it is passed a Row with String values (a base64 or hex string for the binary type).

Steps To Reproduce1. create a table with a binary/varbinary in the primary key, and a unique index on another column
2. create a table that references the first table
3. insert a row on target
4. insert a row on the source that matches the unique index of the target

Expected:
It should delete blocking rows for foreign key child and unique constraint

Actual:
It tries to query and look up foreign key child with wrong value for primary key, so no blocking rows are cleared, and the row won't load
Tagsconflict manager

Relationships

related to 0004978 closedjosh-a-hicks Binary primary keys will not delete as part of conflict resolution 
related to 0006367 closedelong Auto resolve delete of blocking rows when binary type in primary key 

Activities

There are no notes attached to this issue.

Related Changesets

SymmetricDS: 3.14 41c4fefc

2024-04-29 15:09:24

admin

Details Diff
0006363: Auto resolve delete of blocking rows when binary type in
primary key
Affected Issues
0006363
mod - symmetric-db/src/main/java/org/jumpmind/db/sql/Row.java Diff File
mod - symmetric-db/src/main/java/org/jumpmind/db/util/TableRow.java Diff File
mod - symmetric-io/src/main/java/org/jumpmind/symmetric/io/data/writer/DefaultDatabaseWriterConflictResolver.java Diff File
mod - symmetric-jdbc/src/main/java/org/jumpmind/db/platform/AbstractJdbcDdlReader.java Diff File

SymmetricDS: 3.15 a6a3c52d

2024-04-29 15:09:24

admin

Details Diff
0006363: Auto resolve delete of blocking rows when binary type in
primary key
Affected Issues
0006363
mod - symmetric-db/src/main/java/org/jumpmind/db/sql/Row.java Diff File
mod - symmetric-db/src/main/java/org/jumpmind/db/util/TableRow.java Diff File
mod - symmetric-io/src/main/java/org/jumpmind/symmetric/io/data/writer/DefaultDatabaseWriterConflictResolver.java Diff File
mod - symmetric-jdbc/src/main/java/org/jumpmind/db/platform/AbstractJdbcDdlReader.java Diff File

SymmetricDS: 3.15 e8fc5483

2024-04-29 16:41:55

admin

Details Diff
0006363: fix import Affected Issues
0006363
mod - symmetric-io/src/main/java/org/jumpmind/symmetric/io/data/writer/DefaultDatabaseWriterConflictResolver.java Diff File

Issue History

Date Modified Username Field Change
2024-04-29 14:46 elong New Issue
2024-04-29 14:46 elong Status new => assigned
2024-04-29 14:46 elong Assigned To => elong
2024-04-29 14:46 elong Tag Attached: conflict manager
2024-04-29 14:47 elong Relationship added related to 0004978
2024-04-29 14:58 elong Issue cloned: 0006367
2024-04-29 14:58 elong Relationship added related to 0006367
2024-04-29 15:11 elong Status assigned => resolved
2024-04-29 15:11 elong Resolution open => fixed
2024-04-29 15:11 elong Fixed in Version => 3.15.6
2024-04-29 16:00 admin Changeset attached => SymmetricDS 3.14 41c4fefc
2024-04-29 16:00 admin Changeset attached => SymmetricDS 3.15 a6a3c52d
2024-04-29 17:00 admin Changeset attached => SymmetricDS 3.15 e8fc5483
2024-05-03 17:35 admin Status resolved => closed