As part of our organization's transition to Pro, I'm finally beginning to write out our Attribute Rules, and I'm running into a weird conundrum with generating unique IDs.
I have a test database sequence created called "PipeTestingID":
And I have a simple Attribute Rule that calls that sequence to generate a test ID:
When creating new features, everything works fine. I get my test IDs and all is working exactly as I'd expect:
Except when I split the line:
We've skipped TestID-2. And if I do a more complex split that generates more child features, every segment except the largest will do this double-ID jump.
The ideal intended behavior should be that the longer part (Segment A, in this case) retains its ID. The shorter part (Segment B, in this case) should get a new unique ID and not skip IDs. I could compromise on both segments being given a new ID, but I'd prefer Segment A retain its ID.
Near as I can tell from some testing at the end of last week, I'm assuming the split operation consists of an Update operation on the geometry of the original feature (which is shortened to Segment A) and an Insert operation for the remaining portion (Segment B).
I tried setting the rule to trigger on Update as well and writing some logic in to avoid overwriting existing IDs, but most either didn't trigger when that logic was included or triggered every time I so much as changed a diameter when the logic was excluded. Unfortunately, I mistakenly didn't save that code, so I can't post it here without going back down the rabbit hole.
This seems like a fairly straightforward operation and a fairly straightforward requirement. What am I missing?