Handle BIGINT exp ObjectId in SND attribute table - #973
Merged
Conversation
exp 25.005 widened exp.Object.ObjectId and exp.ObjectProperty.ObjectId to BIGINT, but AttributeDataTable.UpdateService.deleteRows still cast the delete key to Integer, so every _SND Attribute Data run failed with ClassCastException: class java.lang.Long cannot be cast to class java.lang.Integer. TransformTask builds each delete key from the target table's PK columns, which here are exp.ObjectProperty's ObjectId and PropertyId, so the first row aborted the step and left the deleted-rows backlog unapplied. EventDataTable's injected exp.Object.ObjectId column was declared JdbcType.INTEGER, the wrong width for the same reason.
labkey-jeckels
approved these changes
Aug 6, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Rationale
The
_SND Attribute DataETL fails on every run that includes a delete at SNPRC withjava.lang.ClassCastException: class java.lang.Long cannot be cast to class java.lang.Integer. exp 25.005 widenedexp.Object.ObjectIdandexp.ObjectProperty.ObjectIdto BIGINT, butAttributeDataTable.UpdateService.deleteRowsstill cast the delete key toInteger.TransformTaskbuilds each delete key from the target table's PK columns, which for this table areexp.ObjectProperty'sObjectIdandPropertyId, so the first row aborts the step.Related Pull Requests
None.
Changes
AttributeDataTable.UpdateService.deleteRowscastsObjectIdandPropertyIdtoNumberrather thanInteger.EventDataTabledeclares its injectedexp.Object.ObjectIdcolumn asJdbcType.BIGINTinstead ofJdbcType.INTEGER, matching the widened column.