SCERRMEMORYLIMITREACHEDABORT
. If this limit cannot be reached due to inefficient system resources, the transactions will, in most cases, fail with either SCERROUTOFMEMORY
or SCERROUTOFMEMORYABORT
. There is no way for the app to determine if a particular transcation will fit under the limits based solely on the size of the user data. Although, these limits are quite high and thus hard to reach in realistic and practical scenarios. Most large transactions, like creating millions of small records or updating binary fields in serveral thousands of records where the total size of those fields is about 4GB, should fit under the limits.
If there is a need for transactions that reach over these limits, the app should break these transactions into several smaller transactions and maintain its own compensation and isolation mechanism.