Hi Alan,
This is probably fixed for quite a few versions already, but maybe you could just check in the latest codebase of Glorp...
DB2 supports grouped writes and therefor Glorp handles commits a bit differently than on Access. So I got an exception on grouped writes because GlorpSession wants to copy the next 250 rows from the collection of rows to insert. Unfortunately, it doesn't check the size of the Collection before building a sub collection, or maybe VW handles the bounds in copyFrom:to: differently than VAST...
I changed GlorpSession>>#writeHomogeneousRows: to the following (Please be aware that I am using that old VAST port...):
writeHomogeneousRows: aCollectionOfDatabaseRows
"Write out a collection of rows belonging to a single table"
| representativeRow succeeded maximumSize start |
aCollectionOfDatabaseRows isEmpty ifTrue: [^true].
representativeRow := aCollectionOfDatabaseRows first.
representativeRow shouldBeWritten ifFalse: [^true].
succeeded := true.
maximumSize := self system maximumSizeToGroupWriteFor: aCollectionOfDatabaseRows.
start := 1.
[start > aCollectionOfDatabaseRows size] whileFalse: [
succeeded := succeeded
& (self writeHomogeneousRows: aCollectionOfDatabaseRows from: start to: ((start + maximumSize - 1) min: aCollectionOfDatabaseRows size)).
start := start + maximumSize].
^succeeded.