You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When FBRowUpdater generates its parameter mask, it checks if it found the 'best row identifier', but unfortunately, it fails to reset the boolean used to track that. As a result, if a table has a composite PK, and the prefix of the primary key is included in the query (i.e. first, or first + second, etc), but the suffix is missing (e.g. last, or second last + last, etc.), it will still consider the result set updatable.
Subsequent attempts to update rows through the result may update multiple rows (and refresh row will fail with an exception).
This has been broken since 3.0.0, and no one has reported it, so initially, it will only be fixed in Jaybird 6.
The text was updated successfully, but these errors were encountered:
Decided that the (minimal) fix should be backported to Jaybird 5, see #781
mrotteveel
changed the title
FBRowUpdater considers result set with only partial PK updatable
FBRowUpdater incorrectly considers result set with only partial PK updatable
Jan 13, 2024
…PK updatable
+ Improvement: try to fall back to RDB$DB_KEY if best row identifier not matched
+ various refactoring/performance improvements/code cleanup
When FBRowUpdater generates its parameter mask, it checks if it found the 'best row identifier', but unfortunately, it fails to reset the boolean used to track that. As a result, if a table has a composite PK, and the prefix of the primary key is included in the query (i.e. first, or first + second, etc), but the suffix is missing (e.g. last, or second last + last, etc.), it will still consider the result set updatable.
Subsequent attempts to update rows through the result may update multiple rows (and refresh row will fail with an exception).
This has been broken since 3.0.0, and no one has reported it, so initially, it will only be fixed in Jaybird 6.
The text was updated successfully, but these errors were encountered: