summaryrefslogtreecommitdiff
path: root/dist/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'dist/ChangeLog')
-rw-r--r--dist/ChangeLog486
1 files changed, 276 insertions, 210 deletions
diff --git a/dist/ChangeLog b/dist/ChangeLog
index 8ed93de7..adff63a8 100644
--- a/dist/ChangeLog
+++ b/dist/ChangeLog
@@ -1,318 +1,384 @@
-= Berkeley DB 5.3 Changelog =
+= Berkeley DB 6.1 Changelog =
-== Changes between 11.2.5.3.15 and 11.2.5.3.21 ==
+== Changes between 12.1.6.1.20 and 12.1.6.1.23 ==
-Fixed incompatibility problems of Java DPL with JDK7, so DPL will now
-work with JDK7. [#20586]
+Fixed a recovery bug that could cause files to end up in the
+wrong directory when using logs created in 5.3 or earlier. [#24169]
-Added a flag to allow database locking to be disabled from the SQL
-API. [#20928]
+Creating a table in SQL will no longer fail if the database
+connection was opened without the SQLITE_OPEN_CREATE flag. [#24115]
-Fixed a bug that could allocate a heap data page in a region after the
-region creation has been undone. [#20939]
+Fixed a bug where an error message was not displayed back to the user
+correctly when sequence creation failed. [#24103]
-Redundant whitespaces are now ignored in DB_CONFIG lines pertaining to
-directories, e.g. set_data_dir. [#20158]
+Fixed a bug where BDB was not handling tables with multiple BLOB columns
+when using the SQL API. [#24092]
-Fixed a bug that caused DB_ENV->backup to stop early if DB_BACKUP_FILES was
-not set and a non-DB file was in the data directory. [#21076]
+SQL sequence names are now case insensitive except when surrounded
+by quotation marks. [#23964]
-Fixed a rare race condition that could cause a crash if two processes opened
-the same database at the same time. [#21041]
+Avoid incrementing the statistic DB_LOG_STAT.st_scount
+("Total log file flushes") when DB_LOG_NOSYNC is in effect. [#23945]
-Fixed missing cross compiling capability for the JDBC driver. [#21101]
+Fixed a bug that may lead to crash when opening multiple environments
+in a multi-threaded program. [#23913]
-Allow the same system/machine to host both a master and a replica
-database through the use of relative pathnames. [#21105]
+Improved the way we mark a password as consumed. [#23876]
-Fixed a bug in the Java API where EnvironmentConfig.setCreateDir would fail
-to configure the environment. [#21127]
+Fixed the error "BDB2074 No space available in latch table" for
+configurations using plain pthreads mutexes and DB_ENV->set_thread_count().
+Susceptible configurations include the definition of HAVE_MUTEX_PTHREADS
+in db_config.h but do not define HAVE_MUTEX_HYBRID. [#23831]
-Fixed an assert failure in btreeCompare when allocating memory
-in the wrong thread was causing a memory leak. [#21232]
+Fixed a crash when MVCC and snapshot isolation are used and the system is under
+heavy load. [#23815]
-Fixed a bug in the Java API where concurrent operations that change the
-database schema could lead to a hang. [#21265]
+Fixed a problem with closing a panicked environment, in which an
+infinite loop was possible. [#23814]
-Added JDBC code to the code base and updated the windows build files
-to include the JDBC solution. [#21294]
+Removed Java 5 targets from Windows builds and javadoc production. [#23811]
-Fixed a bug where the heap's region size was not getting swapped correctly
-in mixed-endian environments. [#21295]
+Support for client-to-client replication of BLOB data during internal
+initialization has been disabled. [#23748]
-Fixed a bug in the db_sql_jdbc project file for vs2010 that was preventing
-it from building correctly. [#21332]
+Fixed a bug that may cause self-deadlock during database compaction. [#23725]
-== Database or Log File On-Disk Format Changes ==
+Fixed a bug in the recovery of a truncated hash database. [#23772]
+
+== Changes between 12.1.6.1.19 and 12.1.6.1.20 ==
+
+Fixed a sqlite3odbc bug which may return an out-of-memory error when calling
+SQLGetData() on empty long columns. [#22777]
+
+Enabling BLOB support and master leases will no longer result
+in unexpected DB_REP_LEASE_EXPIRED errors. [#23275]
-Existing database file formats were unchanged in library version 11.2.5.3.
+Fixed a race condition when BLOB support is enabled with replication
+where message handling could fail with an ENOENT error. [#23275]
-The log file format changed in library version 11.2.5.3.
+Existing SQL databases will have to be reindexed after upgrading
+to this release. No actions are required for non-SQL databases.
+Check the upgrade documentation for more details. [#23469]
-== New Features ==
+Fixed a known bug in SQL where ORDER BY could return results
+out of order if an index is used to answer the query. [#23469]
-Added support for verifying named in-memory dbs. [#16941]
+Fixed a bug that causes a crash when opening a corrupted environment
+with encryption and DB_REGISTER. [#23643]
-Added an integer key comparison function to improve performance through
-the SQL API. [#19609]
+Fixed a bug that causes a crash when opening a corrupted environment
+with DB_FAILCHK using a BDB compiled with DIAGNOSTIC defined. [#23643]
-Support build on the platforms where pthread_t is a struct. [#19876]
+Fixed a bug where closing a panicked environment raised an access violation
+and crashed the program. [#23679]
-Added an API call so the user can specify the size of the region in a
-heap db. [#19914]
+Fixed a bug where db_verify did not verify multiple files correctly. [#23692]
+
+Fixed a bug that causes a site joining a replication group to hang or
+to only partially complete the internal steps necessary to join the
+replication group. [#23750]
+
+== Database or Log File On-Disk Format Changes ==
-Improved Replication Manager's ability to recover from the (perhaps
-rare) phenomenon of two sites trying to connect to each other
-simultaneously, which used to result in loss of both connections,
-requiring a retry after the CONNECTION_RETRY timeout period. [#19980]
+The log file format changed in 12.1.6.1.
-Enhanced the interface for copying databases for a hot backup. Added configure
-support for --enable-atomicfileread. [#20129]
+== New Features/Improvements ==
-Enhaced the log reading routine to detect that a log file is missing rather
-than returning that a zero length record was found. [#20130]
+Demonstrated in a sample app how to use thread-specific structures to
+associate a DB_EVENT_REP_PERM_FAILED event with the transaction that
+caused it. [#17686]
-Added pragma bdbsql_shared_resources to set or report the maximum amount of
-memory to be used by shared structures in the main environment region and
-bdbsql_lock_tablesize to set or report the number of buckets in
-the lock object hash table. These are advanced tuning features for
-applications with large number of tables or needs to reduce locking on
-concurrent long running transactions. [#20156]
+Replication Manager Preferred Master is a new option for 2-site
+replication groups. One site is the preferred master, which assumes the
+master role as much of the time as its availability permits. A preferred
+master replication group guarantees that transactions committed
+on the preferred master site will never be rolled back while also
+providing client failover. [#20230]
-Added set_metadata_dir() and get_metadata_dir() to enable storage of
-persistent metadata files in a location other than the environment
-home directory. [#20174]
+A new flag DB_FORCESYNCENV is provided for DB_ENV->close(), which forces
+flushing the memory mapped regions before unmapping them. [#21176]
-Improved the error handling through the SQL API. Errors can be sent to a
-file with the use of the BDBSQL_ERROR_FILE pragma. [#20213]
+A new API is provided to limit the Replication Manager incoming queue based
+on the amount of heap memory it uses. [#21481]
-Database handles can now be configured to give exclusive access to
-the database. [#20331]
+BLOB support is now available for environments configured for
+replication. [#22359]
-XA transactions will now use transaction snapshots if the XA databases
-they operate on were configured with DB_MULTIVERSION. [#20332]
+A new version of DB_ENV->failchk() helps supports multi-process environments
+which use DB_REGISTER rather than a monitoring process. It is turned on with
+--enable-failchk_broadcast. [#22419]
-Added additional stats fields into the C# API [#20693]
+Added support for Visual Studio 2012. [#22477]
-Added pragma bdbsql_single_process to keep the Berkeley DB environment
-information on the heap instead of in shared memory. This option cannot
-be used if the database is accessed from multiple processes. [#20789]
+CPU time needed for database backups is now reduced. [#22967]
-Improved the ability of DB->compact to move DB_HASH database pages to the
-begining of the file. [#20815]
+Added BDB utilities for the Android platform. [#23079]
+
+Added --enable-error_history support. This diagnostic tool prints a
+stack trace when a panic occurs. [#23119]
+
+The new log configuration option DB_LOG_NOSYNC has been added to avoid
+flushing the transaction log in order to stabilize storage. This can be
+useful when durability across system crashes is unnecessary and all the
+transactions in the environment specify either the DB_TXN_NOSYNC or
+DB_TXN_WRITE_NOSYNC flag. This configuration setting may be made by
+DB_ENV->log_set_config() or a DB_CONFIG line "db_log_nosync [on|off]". [#23191]
== Database Environment Changes ==
-Fixed a bug that could cause a segmentation violation when closing
-an environment handle which has open database handles on partition
-databases. [#20281]
+Fixed a problem with DB_LOCKDOWN which would cause an mlock error ENOMEM
+on some operating systems. [#21379]
+
+DB_ENV->close() now detaches from the environment's mmap and shared memory
+regions even when a panic error (DB_RUNRECOVERY) has been returned.
+DB_ENV->open(DB_REGISTER) detects whether a panic has occurred in the
+environment. If so it returns DB_RUNRECOVERY. Prior to this, the panic state
+was not detected, which might have caused a hang. [#22805]
-Fixed a bug that could cause a segmentation violation if a region was
-extended leaving a very small fragment at the end. [#20414]
+Ensure that the size of memory mapped backing files are a multiple of the
+system pagesize. Previously the files were aligned up to 8KB boundaries,
+which was not adequate for systems with a 64KB pagesize. [#23290]
-Changed the behavior of the DB_REGISTER | DB_RECOVER flag combination, so
-that recovery is always run if the environment panic bit is set. [#20767]
+== Concurrent Data Store Changes ==
+
+-None
== Access Method Changes ==
-Fixed a bug were database configuration settings could be lost when the
-database was opened if the open operation was blocked for any amount
-of time. [#20860]
+Fixed a bug that left behind obsolete queue extents. [#21988]
-Fixed a bug that bulk update operations did not work correctly on
-compressed databases. [#19017]
+Fixed a bug that occurred if the range keys did not fit within one database
+page during database partition opening. [#22280]
-Improved the log flushing performance when ftruncate() is not available
-on a system. [#19725]
+Corrected a buffer mutex deadlock involving off-page duplicate sets and
+less than full transactional isolation levels. [#22532]
-When performing partial puts in a heap database, empty pieces will no longer
-be left in a split record chain. [#20052]
+Fixed a byte swapping bug that could corrupt the header of heap database
+pages. [#23318]
-Fixed a bug where, on systems without FTRUNCATE, db_verify will return an
-error for truncated heap databases. [#20195]
+== API Changes ==
-Fixed a bug where BDB could run out of mutexes when many databases are
-renamed. [#20228]
+Make flag checking in sequence stat print API consistent with the other
+stat print APIs. [#22513]
-Fixed a bug where the metadata page in hash databases would not be flushed
-to disk. [#20265]
+== SQL-specific API Changes ==
-Fixed a bug that could leave deleted pages from a HEAP database in the
-buffer cache. [#20309]
+Fixed a bug that was preventing old log files from being
+removed while using the SQL API. [#22521]
-Fixed a bug where the library would fail to put records with overflow keys
-into hash duplicate database. [#20329]
-
-Fixed a bug in DB->compact of btrees that could cause a bad pointer
-reference. [#20360]
+Updated SQL API build to be compatible with SQLite 3.8.3.1. [#23178]
-Fixed a bug that could cause the last page number stored on the metadata
-page to be wrong after rolling forward a db->compact operation that freed
-more pages than will fit in a single log record. [#20646]
+Updated ADO.NET API to be compatible with System.Data.SQLite 1.0.91.0. [#23446]
-Fixed a bug that could cause DB->stat to block on a mutex while holding a
-lock on the metadata page. [#20770]
+== Tcl-specific API Changes ==
-Fixed a bug that could cause DB->compact of a DB_HASH database to fail to
-mark a page it updated as dirty. [#20778]
+Exposed flag DB_SET_MUTEX_FAILCHK_TIMEOUT in Tcl API. [#23163]
-Fixed a bug where internal HEAP structures were not rebuilt during database
-handle refresh. [#20821]
+Added msgfile and msgfile_close in the Tcl API. [#31881].
-Fixed a bug with secondary indices, off-page duplicates and
-DB_READ_COMMITTED which could erroneously release the lock on the page
-holding a returned record. [#20853]
+== Java-specific API Changes ==
-Fixed a bug that could cause a hang or improperly report an empty queue when
-the queue record numbers wrapped around at 2^32. [#20956]
+Exposed DB->set_msgfile(), DB_ENV->set_msgfile() and all xxx_stat_print() in
+Java API.[#22691]
-Fixed a bug on Linux or Windows that could generate a checksum error
-if a database file was being opened while the meta data page happened
-to be flushed from the cache. [#20996]
+Exposed flags DB_REPMGR_CONF_PREFMAS_MASTER and DB_REPMGR_CONF_PREFMAS_CLIENT
+in Java API. [#23163]
-== SQL API Changes ==
+Exposed new flag DB_LOG_NOSYNC in Java API. [#23191]
-Fixed several memory leaks in the Online Backup API. [#19850]
+Updated DPL changes from BDB JE. [#23251]
-Fixed a bug in the SQL API when using large blob items and multiple concurrent
-connections. [#19945]
+Exposed new flag DB_EVENT_REP_INQUEUE_FULL in Java API. [#23280]
-To avoid a race condition that could cause a snapshot reader to see a wrong
-version it is now not permitted to open a DB handle specifying DB_MULTIVERSION
-if that database is currently opened by a handle which did not specify
-DB_MULTIVERSION. [#19940]
+Fixed a bug that partition directories could not be set correctly via
+Java API. [#23410]
-Pragma replication=on can now enable replication on an existing database.
-Turning replication off is now permanent. [#20180]
+== C#-specific API Changes ==
-Fixed a bug in the SQL API where it was possible for a schema update to be
-ignored when accessing a database from multiple processes. [#20319]
+The class LockDetectMode has been removed. It was duplicating functionality
+provided in other classes and not being used. [#21248]
-Fixed a bug where aborting an exclusive transaction followed by an
-auto-commit read operation causes an assert failure. [#20567]
+Exposed DB_STAT_ALLOC in PrintLockingSystemStats(), PrintLoggingSystemStats(),
+PrintMPoolSystemStats(), PrintMutexSystemStats(), PrintStats() and
+PrintTransactionSystemStats(). [#22513]
-Fixed a bug in the SQL API where using the journal_mode pragma could cause a
-crash when used as the first operation in a connection on an existing
-database. [#20620]
+Exposed DB->set_msgcall(), DB->set_msgfile(), DB_ENV->set_msgcall() and
+DB_ENV->set_msgfile() to C# API. [#22799]
-Turn off the DBSQL encryption option on Windows/WinCE by default to match the
-behavior on the other platforms. [#20671]
+Exposed flags DB_REPMGR_CONF_PREFMAS_MASTER and DB_REPMGR_CONF_PREFMAS_CLIENT
+in C# API. [#23163]
-Renamed the BDBSQL_OMIT_SHARING preprocessor flag to
-BDBSQL_SINGLE_PROCESS. [#20789]
+Exposed new flag DB_LOG_NOSYNC in C# API. [#23191]
-Fixed a bug dealing with handle lock modes not reflecting the correct state
-which was causing a deadlock in the SQL API. [#20862]
+Exposed new flag DB_EVENT_REP_INQUEUE_FULL in C# API. [#23280]
-== Java-specific API changes ==
+Changed definition of all structs to make SWIG 2.0.12 can generate code
+successfully. [#23295]
-Added ReplicationManagerConnectionStatus class and
-ReplicationManagerSiteInfo.getConnectionStatus(). Deprecated
-ReplicationManagerSiteInfo.isConnected(). [#18068]
+== C++-specific API Changes ==
-Updated EID_MASTER to be "public static final" so that it would be exposed
-in Java docs. [#20184]
+Fixed a bug that db_stl library could not build using gcc-4.7 or later
+versions. [#22615]
-Fixed a bug where calls that return Stat objects could cause a
-segfault. [#20377]
-
== Replication Changes ==
-Fixed quorum computation when most sites are unelectable. [#15251]
+Fixed a bug where, after some rare multiple-site failure scenarios
+including transaction rollbacks, Replication Manager could have incorrectly
+determined that new transactions fulfilled the acknowledgement policy. [#16624]
+
+Acknowledgements are counted more precisely when an unelectable client is first
+joining the replication group and also when a master has been set to be
+unelectable. [#20825]
-Made Replication more resilient to random input on its port. [#15712]
+If there is already a replication process running, do not require a flag
+value when calling DB_ENV->repmgr_start() to start a subordinate
+process. [#20980]
-Fixed a bug where the datadir structure was not maintained during an
-internal init. [#19041]
+Fixed a bug that a site could not rejoin the replication group on Windows
+after being removed from the group. [#22460]
-Fixed a repmgr memory leak when using DB_PRIVATE. [#19363]
+When a removed site rejoins a two-site replication group with
+DB_REPMGR_CONF_2SITE_STRICT turned off, defer its election so that the
+rejoining site does not prematurely elect itself master with only its own
+vote when the other site is already master. [#22683]
-Fixed a minor bug to handle ENOMEM when using an in-memory
-temp database. [#20197]
+Fixed a bug where a Replication Manager subordinate process could fail its
+automatic takeover as the replication process because it is unnecessarily
+waiting for acknowledgements from other sites before the connections to
+these sites are properly established. [#22998]
-Fixed a bug where multiple long running transactions across
-checkpoints could cause Log Sequence errors on client systems. [#20421]
+Fixed a bug where a client synchronization could get stuck because certain
+error paths were failing to release an internal lockout. [#23169]
-Fixed a bug where multiple Replication Manager processes would sometimes
-not all conform to replication-group-aware log archiving. [#20342]
+Fixed a bug where replication group-aware log archiving might have
+unnecessarily kept log files after certain connection sequences between
+sites. [#23420]
== Locking Subsystem Changes ==
-Fixed a bug that could cause an early lock timeout if a previous error
-left a lock timeout value set. [#19973]
+None
== Logging Subsystem Changes ==
-Fixed a bug which could cause an incompletely written log record to be
-recognized as valid, resulting in recovery failing with the message "Illegal
-record type <integer, usually 0> in log". [#17851]
-
-Fixed a bug where printlog would fail on in-memory heap databases. [#20269]
+Avoid incrementing the statistic DB_LOG_STAT.st_scount
+("Total log file flushes") when DB_LOG_NOSYNC is in effect. [#23945]
== Memory Pool Subsystem Changes ==
-Fixed a bug which overstated the number of clean and dirty pages evicted from
-the cache. [#20410]
+None
-Fixed a bug that left a small fragment at the end of a region when
-extending. [#20414]
+== Mutex Subsystem Changes ==
-Fixed a bug where the file bucket was always zero when creating a mpoolfile
-using the mpool API. [#20468]
+Removed an environment handle mutex which was no longer needed. [#23099]
-Fixed a bug with multiversion concurrency control which could cause
-versions of pages to remain in the cache even though they are no longer
-needed. [#20570]
+Removed the last source files of the defunct fcntl mutex
+implementation. [#23119]
-The memory pool allocator will now start freezing MVCC versions of buffers
-if it sees more than 1/4 of the available buffers are taken up by
-versions. [#20836]
+== Transaction Subsystem Changes ==
-== Mutex Subsystem Changes ==
+None
-Fixed a bug in which DB_ENV->mutex_set_align() could cause
-DB_ENV->mutex_stat_print(dbenv, DB_STAT_ALL) to display only the
-first mutex. [#20522]
+== Test Suite Changes ==
-Fixed a bug with DB_ENV->mutex_stat_print() in which the information on
-some mutexes would not be displayed, if any mutex had been freed and not
-yet reallocated. [#20533]
+None
-== Transaction Subsystem Changes ==
+== Utility Changes ==
-Fixed a bug where a malloc failure could result in a segfault
-when doing a put on a database with secondaries. [#20641]
+None
-== Utility Changes ==
+== Configuration, Documentation, Sample Apps, Portability and Build Changes ==
-Fixed a bug that would cause verify to call the wrong compare function if
-there are user defined compare functions used and the database has multilevel
-off page sorted duplicate trees. [#20284]
+Fixed a bug that ex_rep_base could not quit gracefully after receiving 'exit'
+command. [#16871]
-Fixed a bug that could cause recovery to fail if DB->compact moved the meta
-data page of a HASH subdatabase. [#20708]
+Extended the ex_rep_mgr Replication Manager sample application to demonstrate
+the use of a thread-specific structure to associate a DB_EVENT_REP_PERM_FAILED
+event with its originating transaction. [#17686]
-Fixed two problems with db_hotbackup's handling of transaction logs. A hotbackup
-would always try to open the logs in the environment home, even if a log
-directory had been specified. The second fix corrected an error path, in which
-the memory was freed by the wrong function, possibly causing a guard byte error.
-[#21313]
+Parameter "-module" is removed from task libsqilte_jni in JDBC makefile. So
+libsqlite_jni library could be built in '.dylib' format on Mac OS X. [#22937]
-== Configuration, Documentation, Sample Apps, Portability and Build Changes ==
+Additional information about the cause of an error may now be displayed by
+configuring with --enable-error_history. [#23119]
-The DB_CONFIG configuration commands which specify directory pathnames
-("set_data_dir", "set_lg_dir", and "set_tmp_dir") now accept names containing
-whitespace characters. [#20158]
+Add one public error code 'DB_META_CHKSUM_FAIL'. [#23304]
-== Known Bugs ==
+Added build support on latest MinGW. [#23332]
+
+A configuration warning 'Ignoring --with-cryptography flag value' is added
+for the non-crypto package. [#23333]
+
+Parameter LIBSQLSO_LIBS is added to the task libsqlso_target to workaround
+a linking issue with the gcc 4.8.1 distributed by Ubuntu. [#23372]
+
+Extended the Mac OS X section in the chapter 7 of the installation
+guide. [#23388]
-If two SQL processes are concurrently altering the schema of the same tables
-in a database, there is a race condition that can cause the application
-to hang. [#20513]
+Fixed PHP module to consistently use the ZEND_REGISTER_RESOURCE macro,
+preventing a build failure with PHP 5.5. Updated INSTALL file
+to note the changed location of sample output. [#23391]
+
+Fixed a few typos in the JDBC/ODBC sections of the Windows/Unix installation
+guide. [#23404]
+
+== Example Changes ==
+
+Added an example using BDB SQL with the JDBC driver and ADF. [#22569]
+
+== Miscellaneous Bug Fixes ==
+
+Fixed a byte swapping bug with log file operations on blob files.
+[#22215]
+
+Fixed test failures on QNX with small mutex regions. [#22310]
+
+Database containing BLOBS are now portable between machines of
+opposite endianness. [#22455]
+
+Added a -D option to display output for db_dump and db_printlog.
+This value takes priority over DB_ENV->set_data_len() if that
+was called to set the length. [#22485]
+
+Updates to PHP API to handle functional changes in PHP 5.4. [#22549]
+
+Fixed heap databases so they can work on both big and little
+endian machines. [#22929]
+
+Restructure the blob delete code to improve performance. [#22935]
+
+Properly clean up blob meta database after aborting the creation of its
+parent database. [#23000]
+
+Fixed memory alignment issues with the DB_MPOOL stats. [#23150]
+
+Fixed a byte swapping bug with heap blob log records. [#23319]
+
+Fixed two race condition bugs with DB_ENV->failchk(). [#23347]
+
+Fixed memory alignment issue on Solaris. [#23571]
+
+Fixed a bug that using Visual Studio 2010 and JDK 1.5 could generate corrupted
+jar files. [#23574]
+
+Fixed a bug that specifying --with-cryptography=yes did not build the jdbc
+library correctly. [#23606]
+
+== Platform Certification Changes ==
+
+Berkeley DB no longer tests or certifies Windows XP or Windows 2003.
+
+== Deprecated Features ==
+
+The DB_AUTO_COMMIT flag is present in the DB_SEQUENCE APIs for Java and
+C#. This flg is no longer meaningful for these APIs and will be
+deprecated in the next release.
+
+== Known Bugs ==
-Replication groups including machines of different endianness do
-not support the heap access method. [#21016]
+[#23469] (Fixed in 12.1.6.1.20 -- see above.)
+The SQL ORDER BY command on the primary key of a table can in
+rare cases return the results out of order if an index search is used in
+executing the query. For example: Create a single column table. Insert
+two rows with identical values. A query on the row id and the column will
+produce results in a different order depending on whether an index is used.
-If a txn that is attempting to remove a region page from a heap database is
-aborted and another txn is trying to update that same page then it can
-cause the original txn to abort. This is timing dependant. [#20939]