[rhmessaging-commits] rhmessaging commits: r1257 - in store/trunk/cpp: lib/jrnl and 1 other directories.

rhmessaging-commits at lists.jboss.org rhmessaging-commits at lists.jboss.org
Tue Nov 6 16:52:47 EST 2007


Author: kpvdr
Date: 2007-11-06 16:52:47 -0500 (Tue, 06 Nov 2007)
New Revision: 1257

Modified:
   store/trunk/cpp/lib/BdbMessageStore.cpp
   store/trunk/cpp/lib/JournalImpl.cpp
   store/trunk/cpp/lib/JournalImpl.h
   store/trunk/cpp/lib/jrnl/enq_rec.cpp
   store/trunk/cpp/lib/jrnl/enq_rec.hpp
   store/trunk/cpp/lib/jrnl/file_hdr.cpp
   store/trunk/cpp/lib/jrnl/file_hdr.hpp
   store/trunk/cpp/lib/jrnl/jcntl.cpp
   store/trunk/cpp/lib/jrnl/jcntl.hpp
   store/trunk/cpp/lib/jrnl/rmgr.cpp
   store/trunk/cpp/lib/jrnl/rmgr.hpp
   store/trunk/cpp/lib/jrnl/wmgr.cpp
   store/trunk/cpp/lib/jrnl/wmgr.hpp
   store/trunk/cpp/tests/jrnl/JournalSystemTests.cpp
   store/trunk/cpp/tests/jrnl/janalyze.py
   store/trunk/cpp/tests/jrnl/jtest.cpp
   store/trunk/cpp/tests/jrnl/jtest.hpp
   store/trunk/cpp/tests/jrnl/msg_consumer.cpp
   store/trunk/cpp/tests/jrnl/msg_consumer.hpp
   store/trunk/cpp/tests/jrnl/msg_producer.cpp
   store/trunk/cpp/tests/jrnl/msg_producer.hpp
   store/trunk/cpp/tests/jrnl/rtest
   store/trunk/cpp/tests/jrnl/rtests.csv
   store/trunk/cpp/tests/jrnl/rwtests.csv
   store/trunk/cpp/tests/jrnl/tests.ods
   store/trunk/cpp/tests/jrnl/wtests.csv
Log:
Added support for external storage of (large) messages - extern flag added to enqueue header; added encoding and some testing for this flag (more extensive tests are still needed); exposed external flag parameters for read and write methods.

Modified: store/trunk/cpp/lib/BdbMessageStore.cpp
===================================================================
--- store/trunk/cpp/lib/BdbMessageStore.cpp	2007-11-06 19:49:07 UTC (rev 1256)
+++ store/trunk/cpp/lib/BdbMessageStore.cpp	2007-11-06 21:52:47 UTC (rev 1257)
@@ -474,6 +474,7 @@
     void* dbuff = NULL; size_t dbuffSize = 0;
     void* xidbuff = NULL; size_t xidbuffSize = 0;
     bool transientFlag = false;
+    bool externalFlag = false;
 
 
     dtokp.set_wstate(DataTokenImpl::ENQ);
@@ -484,7 +485,7 @@
 		
 		while (read) {
 
-            rhm::journal::iores res = jc->read_data_record(&dbuff, dbuffSize, &xidbuff, xidbuffSize, transientFlag, &dtokp);
+            rhm::journal::iores res = jc->read_data_record(&dbuff, dbuffSize, &xidbuff, xidbuffSize, transientFlag, externalFlag, &dtokp);
     		readSize = dtokp.dsize();
 		
             switch (res)

Modified: store/trunk/cpp/lib/JournalImpl.cpp
===================================================================
--- store/trunk/cpp/lib/JournalImpl.cpp	2007-11-06 19:49:07 UTC (rev 1256)
+++ store/trunk/cpp/lib/JournalImpl.cpp	2007-11-06 21:52:47 UTC (rev 1257)
@@ -102,16 +102,34 @@
 }
 
 const iores
+JournalImpl::enqueue_extern_data_record(const size_t tot_data_len, data_tok* dtokp,
+        const bool transient) throw (jexception)
+{
+//std::cout << " " << _jid << ":E-ext" << std::flush;
+     return handleInactivityTimer(jcntl::enqueue_extern_data_record(tot_data_len, dtokp,
+             transient));
+}
+
+const iores
 JournalImpl::enqueue_txn_data_record(const void* const data_buff, const size_t tot_data_len,
         const size_t this_data_len, data_tok* dtokp, const std::string& xid,
         const bool transient) throw (jexception)
 {
-//std::cout << " " << _jid << ":Etx" << std::flush;
+//std::cout << " " << _jid << ":E-tx" << std::flush;
     return handleInactivityTimer(jcntl::enqueue_txn_data_record(data_buff, tot_data_len,
             this_data_len, dtokp, xid, transient));
 }
 
 const iores
+JournalImpl::enqueue_extern_txn_data_record(const size_t tot_data_len, data_tok* dtokp,
+        const std::string& xid, const bool transient) throw (jexception)
+{
+//std::cout << " " << _jid << ":E-tx-ext" << std::flush;
+     return handleInactivityTimer(jcntl::enqueue_extern_txn_data_record(tot_data_len, dtokp, xid,
+             transient));
+}
+
+const iores
 JournalImpl::dequeue_data_record(data_tok* const dtokp) throw (jexception)
 {
 //std::cout << " " << _jid << ":D" << std::flush;
@@ -122,21 +140,21 @@
 JournalImpl::dequeue_txn_data_record(data_tok* const dtokp, const std::string& xid)
         throw (jexception)
 {
-//std::cout << " " << _jid << ":Dtx" << std::flush;
+//std::cout << " " << _jid << ":D-tx" << std::flush;
     return handleInactivityTimer(jcntl::dequeue_txn_data_record(dtokp, xid));
 }
 
 const iores
 JournalImpl::txn_abort(data_tok* const dtokp, const std::string& xid) throw (jexception)
 {
-//std::cout << " " << _jid << ":Atx" << std::flush;
+//std::cout << " " << _jid << ":A-tx" << std::flush;
     return handleInactivityTimer(jcntl::txn_abort(dtokp, xid));
 }
 
 const iores
 JournalImpl::txn_commit(data_tok* const dtokp, const std::string& xid) throw (jexception)
 {
-//std::cout << " " << _jid << ":Ctx" << std::flush;
+//std::cout << " " << _jid << ":C-tx" << std::flush;
     return handleInactivityTimer(jcntl::txn_commit(dtokp, xid));
 }
 

Modified: store/trunk/cpp/lib/JournalImpl.h
===================================================================
--- store/trunk/cpp/lib/JournalImpl.h	2007-11-06 19:49:07 UTC (rev 1256)
+++ store/trunk/cpp/lib/JournalImpl.h	2007-11-06 21:52:47 UTC (rev 1257)
@@ -99,11 +99,19 @@
                     const size_t tot_data_len, const size_t this_data_len, journal::data_tok* dtokp,
                     const bool transient = false) throw (journal::jexception);
 
+            const journal::iores enqueue_extern_data_record(const size_t tot_data_len,
+                    journal::data_tok* dtokp, const bool transient = false)
+                    throw (journal::jexception);
+
             const journal::iores enqueue_txn_data_record(const void* const data_buff,
                     const size_t tot_data_len, const size_t this_data_len, journal::data_tok* dtokp,
                     const std::string& xid, const bool transient = false)
                     throw (journal::jexception);
 
+            const journal::iores enqueue_extern_txn_data_record(const size_t tot_data_len,
+                    journal::data_tok* dtokp, const std::string& xid, const bool transient = false)
+                    throw (journal::jexception);
+
             const journal::iores dequeue_data_record(journal::data_tok* const dtokp)
                     throw (journal::jexception);
 

Modified: store/trunk/cpp/lib/jrnl/enq_rec.cpp
===================================================================
--- store/trunk/cpp/lib/jrnl/enq_rec.cpp	2007-11-06 19:49:07 UTC (rev 1256)
+++ store/trunk/cpp/lib/jrnl/enq_rec.cpp	2007-11-06 21:52:47 UTC (rev 1257)
@@ -86,10 +86,11 @@
 // be written.
 void
 enq_rec::reset(const u_int64_t rid, const void* const dbuf, const size_t dlen,
-        const void* const xidp, const size_t xidlen, bool transient)
+        const void* const xidp, const size_t xidlen, const bool transient, const bool external)
 {
     _enq_hdr._hdr._rid = rid;
     _enq_hdr.set_transient(transient);
+    _enq_hdr.set_external(external);
     _enq_hdr._xidsize = xidlen;
     _enq_hdr._dsize = dlen;
     _xidp = xidp;
@@ -125,7 +126,7 @@
                 rem -= wsize;
             }
             rec_offs -= _enq_hdr._xidsize - wsize2;
-            if (rem)
+            if (rem && !_enq_hdr.is_external())
             {
                 wsize = _enq_hdr._dsize > rec_offs ? _enq_hdr._dsize - rec_offs : 0;
                 wsize2 = wsize;
@@ -167,7 +168,7 @@
             }
             rec_offs -= _enq_hdr._xidsize - wsize;
             wsize = _enq_hdr._dsize > rec_offs ? _enq_hdr._dsize - rec_offs : 0;
-            if (wsize)
+            if (wsize && !_enq_hdr.is_external())
             {
                 ::memcpy((char*)wptr + wr_cnt, (char*)_data + rec_offs, wsize);
                 wr_cnt += wsize;
@@ -204,7 +205,7 @@
                 wr_cnt += wsize;
                 rem -= wsize;
             }
-            if (rem)
+            if (rem && !_enq_hdr.is_external())
             {
                 wsize = rem >= _enq_hdr._dsize ? _enq_hdr._dsize : rem;
                 ::memcpy((char*)wptr + wr_cnt, _data, wsize);
@@ -227,8 +228,11 @@
                 ::memcpy((char*)wptr + wr_cnt, _xidp, _enq_hdr._xidsize);
                 wr_cnt += _enq_hdr._xidsize;
             }
-            ::memcpy((char*)wptr + wr_cnt, _data, _enq_hdr._dsize);
-            wr_cnt += _enq_hdr._dsize;
+            if (!_enq_hdr.is_external())
+            {
+                ::memcpy((char*)wptr + wr_cnt, _data, _enq_hdr._dsize);
+                wr_cnt += _enq_hdr._dsize;
+            }
             ::memcpy((char*)wptr + wr_cnt, (void*)&_enq_tail, sizeof(_enq_tail));
             wr_cnt += sizeof(_enq_tail);
 #ifdef RHM_CLEAN
@@ -344,9 +348,9 @@
         _enq_hdr._dsize = *(size_t*)((char*)rptr + rd_cnt);
         rd_cnt = _enq_hdr.size();
         chk_hdr();
-        if (_enq_hdr._xidsize + _enq_hdr._dsize)
+        if (_enq_hdr._xidsize + (_enq_hdr.is_external() ? 0 : _enq_hdr._dsize))
         {
-            _buff = ::malloc(_enq_hdr._xidsize + _enq_hdr._dsize);
+            _buff = ::malloc(_enq_hdr._xidsize + (_enq_hdr.is_external() ? 0 : _enq_hdr._dsize));
             if (_buff == NULL)
             {
                 std::stringstream ss;
@@ -369,7 +373,7 @@
                     ::memcpy(_buff, (char*)rptr + rd_cnt, _enq_hdr._xidsize);
                     rd_cnt += _enq_hdr._xidsize;
                 }
-                if (_enq_hdr._dsize)
+                if (_enq_hdr._dsize && !_enq_hdr.is_external())
                 {
                     ::memcpy((char*)_buff + _enq_hdr._xidsize, (char*)rptr + rd_cnt,
                             _enq_hdr._dsize);
@@ -387,7 +391,7 @@
                     ::memcpy(_buff, (char*)rptr + rd_cnt, _enq_hdr._xidsize);
                     rd_cnt += _enq_hdr._xidsize;
                 }
-                if (_enq_hdr._dsize)
+                if (_enq_hdr._dsize && !_enq_hdr.is_external())
                 {
                     ::memcpy((char*)_buff + _enq_hdr._xidsize, (char*)rptr + rd_cnt,
                             _enq_hdr._dsize);
@@ -408,7 +412,7 @@
                     ::memcpy(_buff, (char*)rptr + rd_cnt, _enq_hdr._xidsize);
                     rd_cnt += _enq_hdr._xidsize;
                 }
-                if (_enq_hdr._dsize)
+                if (_enq_hdr._dsize && !_enq_hdr.is_external())
                 {
                     const size_t data_cp_size = (max_size_dblks * JRNL_DBLK_SIZE) - rd_cnt;
                     ::memcpy((char*)_buff + _enq_hdr._xidsize, (char*)rptr + rd_cnt, data_cp_size);

Modified: store/trunk/cpp/lib/jrnl/enq_rec.hpp
===================================================================
--- store/trunk/cpp/lib/jrnl/enq_rec.hpp	2007-11-06 19:49:07 UTC (rev 1256)
+++ store/trunk/cpp/lib/jrnl/enq_rec.hpp	2007-11-06 21:52:47 UTC (rev 1257)
@@ -82,7 +82,8 @@
         void reset();
         // Prepare instance for use in writing data to journal
         void reset(const u_int64_t rid, const void* const dbuf, const size_t dlen,
-                const void* const xidp, const size_t xidlen, bool transient);
+                const void* const xidp, const size_t xidlen, const bool transient,
+                const bool external);
 
         const u_int32_t encode(void* wptr, u_int32_t rec_offs_dblks, u_int32_t max_size_dblks)
                 throw (jexception);
@@ -94,6 +95,7 @@
         const size_t get_xid(void** const xidpp);
         const size_t get_data(void** const datapp);
         inline const bool is_transient() const { return _enq_hdr.is_transient(); }
+        inline const bool is_external() const { return _enq_hdr.is_external(); }
         std::string& str(std::string& str) const;
         const size_t data_size() const;
         const size_t xid_size() const;

Modified: store/trunk/cpp/lib/jrnl/file_hdr.cpp
===================================================================
--- store/trunk/cpp/lib/jrnl/file_hdr.cpp	2007-11-06 19:49:07 UTC (rev 1256)
+++ store/trunk/cpp/lib/jrnl/file_hdr.cpp	2007-11-06 21:52:47 UTC (rev 1257)
@@ -235,7 +235,17 @@
         _hdr._uflag &= (~ENQ_HDR_TRANSIENT_MASK);
 }
 
+void
+enq_hdr::set_external(const bool external)
+{
+    if (external)
+        _hdr._uflag |= ENQ_HDR_EXTERNAL_MASK;
+    else
+        _hdr._uflag &= (~ENQ_HDR_EXTERNAL_MASK);
+}
+
 const u_int16_t enq_hdr::ENQ_HDR_TRANSIENT_MASK = 0x1;
+const u_int16_t enq_hdr::ENQ_HDR_EXTERNAL_MASK  = 0x2;
 
 
 // ***** struct deq_hdr *****

Modified: store/trunk/cpp/lib/jrnl/file_hdr.hpp
===================================================================
--- store/trunk/cpp/lib/jrnl/file_hdr.hpp	2007-11-06 19:49:07 UTC (rev 1256)
+++ store/trunk/cpp/lib/jrnl/file_hdr.hpp	2007-11-06 21:52:47 UTC (rev 1257)
@@ -302,6 +302,7 @@
         u_int32_t _filler1;     ///< Little-endian filler for 32-bit size_t
 #endif
         static const u_int16_t ENQ_HDR_TRANSIENT_MASK;
+        static const u_int16_t ENQ_HDR_EXTERNAL_MASK;
 
         /**
         * \brief Default constructor, which sets all values to 0.
@@ -316,6 +317,8 @@
         
         inline const bool is_transient() const { return _hdr._uflag & ENQ_HDR_TRANSIENT_MASK; }
         void set_transient(const bool transient);
+        inline const bool is_external() const { return _hdr._uflag & ENQ_HDR_EXTERNAL_MASK; }
+        void set_external(const bool external);
 
         /**
         * \brief Returns the size of the header in bytes.

Modified: store/trunk/cpp/lib/jrnl/jcntl.cpp
===================================================================
--- store/trunk/cpp/lib/jrnl/jcntl.cpp	2007-11-06 19:49:07 UTC (rev 1256)
+++ store/trunk/cpp/lib/jrnl/jcntl.cpp	2007-11-06 21:52:47 UTC (rev 1257)
@@ -193,20 +193,36 @@
         throw (jexception)
 {
     check_wstatus("enqueue_data_record");
-    return _wmgr.enqueue(data_buff, tot_data_len, this_data_len, dtokp, NULL, 0, transient);
+    return _wmgr.enqueue(data_buff, tot_data_len, this_data_len, dtokp, NULL, 0, transient, false);
 }
 
 const iores
+jcntl::enqueue_extern_data_record(const size_t tot_data_len, data_tok* dtokp, const bool transient)
+        throw (jexception)
+{
+    check_wstatus("enqueue_extern_data_record");
+    return _wmgr.enqueue(NULL, tot_data_len, 0, dtokp, NULL, 0, transient, true);
+}
+
+const iores
 jcntl::enqueue_txn_data_record(const void* const data_buff, const size_t tot_data_len,
         const size_t this_data_len, data_tok* dtokp, const std::string& xid,
         const bool transient) throw (jexception)
 {
     check_wstatus("enqueue_tx_data_record");
     return _wmgr.enqueue(data_buff, tot_data_len, this_data_len, dtokp, xid.data(), xid.size(),
-            transient);
+            transient, false);
 }
 
 const iores
+jcntl::enqueue_extern_txn_data_record(const size_t tot_data_len, data_tok* dtokp,
+        const std::string& xid, const bool transient) throw (jexception)
+{
+    check_wstatus("enqueue_extern_txn_data_record");
+    return _wmgr.enqueue(NULL, tot_data_len, 0, dtokp, xid.data(), xid.size(), transient, true);
+}
+
+const iores
 jcntl::get_data_record(const u_int64_t& rid, const size_t& dsize, const size_t& dsize_avail,
         const void** const data, bool auto_discard) throw (jexception)
 {
@@ -223,10 +239,10 @@
 
 const iores
 jcntl::read_data_record(void** const datapp, size_t& dsize, void** const xidpp, size_t& xidsize,
-        bool& transient, data_tok* const dtokp) throw (jexception)
+        bool& transient, bool& external, data_tok* const dtokp) throw (jexception)
 {
     check_rstatus("read_data");
-    return _rmgr.read(datapp, dsize, xidpp, xidsize, transient, dtokp);
+    return _rmgr.read(datapp, dsize, xidpp, xidsize, transient, external, dtokp);
 }
 
 const iores

Modified: store/trunk/cpp/lib/jrnl/jcntl.hpp
===================================================================
--- store/trunk/cpp/lib/jrnl/jcntl.hpp	2007-11-06 19:49:07 UTC (rev 1256)
+++ store/trunk/cpp/lib/jrnl/jcntl.hpp	2007-11-06 21:52:47 UTC (rev 1257)
@@ -303,6 +303,9 @@
         const iores enqueue_data_record(const void* const data_buff, const size_t tot_data_len,
                 const size_t this_data_len, data_tok* dtokp, const bool transient = false)
                 throw (jexception);
+        const iores enqueue_extern_data_record(const size_t tot_data_len, data_tok* dtokp,
+                const bool transient = false) throw (jexception);
+
         /**
         * \brief Enqueue data.
         *
@@ -319,6 +322,8 @@
         const iores enqueue_txn_data_record(const void* const data_buff, const size_t tot_data_len,
                 const size_t this_data_len, data_tok* dtokp, const std::string& xid,
                 const bool transient = false) throw (jexception);
+        const iores enqueue_extern_txn_data_record(const size_t tot_data_len, data_tok* dtokp,
+                const std::string& xid, const bool transient = false) throw (jexception);
 
         /**
         * \brief Retrieve details of next record to be read without consuming the record.
@@ -377,6 +382,7 @@
         *
         * \exception TODO
         */
+        // *** NOT YET IMPLEMENTED ***
         const iores get_data_record(const u_int64_t& rid, const size_t& dsize,
                 const size_t& dsize_avail, const void** const data, bool auto_discard = false)
                 throw (jexception);
@@ -386,6 +392,7 @@
         *
         * \exception TODO
         */
+        // *** NOT YET IMPLEMENTED ***
         const iores discard_data_record(data_tok* const dtokp) throw (jexception);
 
         /**
@@ -413,13 +420,17 @@
         *     to this record.
         * \param xidsize Ref that will be set to the size of the XID.
         * \param transient Ref that will be set true if record is transient.
+        * \param external Ref that will be set true if record is external. In this case, the data
+        *     pointer datapp will be set to NULL, but dsize will contain the size of the data.
+        *     NOTE: If there is an xid, then xidpp must be freed.
         * \param dtokp Pointer to data_tok instance for this data, used to track state of data
         *     through journal.
         *
         * \exception TODO
         */
         const iores read_data_record(void** const datapp, size_t& dsize, void** const xidpp,
-                size_t& xidsize, bool& transient, data_tok* const dtokp) throw (jexception);
+                size_t& xidsize, bool& transient, bool& external, data_tok* const dtokp)
+                throw (jexception);
 
         /**
         * \brief Dequeues (marks as no longer needed) data record in journal.

Modified: store/trunk/cpp/lib/jrnl/rmgr.cpp
===================================================================
--- store/trunk/cpp/lib/jrnl/rmgr.cpp	2007-11-06 19:49:07 UTC (rev 1256)
+++ store/trunk/cpp/lib/jrnl/rmgr.cpp	2007-11-06 21:52:47 UTC (rev 1257)
@@ -213,7 +213,7 @@
 
 const iores
 rmgr::read(void** const datapp, size_t& dsize, void** const xidpp, size_t& xidsize, bool& transient,
-        data_tok* dtokp) throw (jexception)
+        bool& external, data_tok* dtokp) throw (jexception)
 {
 //std::cout << " rmgr::read() ro=" << (_jc->is_read_only()?"T":"F") << std::flush;
 
@@ -243,6 +243,7 @@
         dsize = _enq_rec.get_data(datapp);
         xidsize = _enq_rec.get_xid(xidpp);
         transient = _enq_rec.is_transient();
+        external = _enq_rec.is_external();
         return res;
     }
 //std::cout << " e" << std::flush;
@@ -368,6 +369,7 @@
                     dsize = _enq_rec.get_data(datapp);
                     xidsize = _enq_rec.get_xid(xidpp);
                     transient = _enq_rec.is_transient();
+                    external = _enq_rec.is_external();
                     return res;
                 }
                 else // skip this record, it is already dequeued

Modified: store/trunk/cpp/lib/jrnl/rmgr.hpp
===================================================================
--- store/trunk/cpp/lib/jrnl/rmgr.hpp	2007-11-06 19:49:07 UTC (rev 1256)
+++ store/trunk/cpp/lib/jrnl/rmgr.hpp	2007-11-06 21:52:47 UTC (rev 1257)
@@ -72,15 +72,13 @@
                 const void** const data, bool auto_discard) throw (jexception);
         const iores discard(data_tok* dtok) throw (jexception);
         const iores read(void** const datapp, size_t& dsize, void** const xidpp, size_t& xidsize,
-                bool& transient, data_tok* dtokp) throw (jexception);
+                bool& transient, bool& external, data_tok* dtokp) throw (jexception);
         const u_int32_t get_events(page_state state = AIO_COMPLETE) throw (jexception);
 
     private:
         void initialize() throw (jexception);
         const iores pre_read_check(data_tok* dtokp) throw (jexception);
         const iores read_enq(hdr& h, void* rptr, data_tok* dtokp) throw (jexception);
-//        const iores read_deq(hdr& h, void* rptr, data_tok* dtokp) throw (jexception);
-//        const iores read_txn(hdr& h, void* rptr, data_tok* dtokp) throw (jexception);
         void consume_xid_rec(hdr& h, void* rptr, data_tok* dtokp) throw (jexception);
         void consume_filler() throw (jexception);
         const iores skip(data_tok* dtokp) throw (jexception);

Modified: store/trunk/cpp/lib/jrnl/wmgr.cpp
===================================================================
--- store/trunk/cpp/lib/jrnl/wmgr.cpp	2007-11-06 19:49:07 UTC (rev 1256)
+++ store/trunk/cpp/lib/jrnl/wmgr.cpp	2007-11-06 21:52:47 UTC (rev 1257)
@@ -93,13 +93,13 @@
 
 const iores
 wmgr::enqueue(const void* const data_buff, const size_t tot_data_len, const size_t this_data_len,
-        data_tok* dtokp, const void* const xid_ptr, const size_t xid_len, const bool transient)
-        throw (jexception)
+        data_tok* dtokp, const void* const xid_ptr, const size_t xid_len, const bool transient,
+        const bool external) throw (jexception)
 {
     if (xid_len)
         assert(xid_ptr != NULL);
 
-    if (this_data_len != tot_data_len)
+    if (this_data_len != tot_data_len && !external)
         return RHM_IORES_NOTIMPL;
 
     if (_deq_busy || _abort_busy || _commit_busy)
@@ -125,7 +125,7 @@
         _enq_busy = true;
 
     u_int64_t rid = initialize_rid(cont, dtokp);
-    _enq_rec.reset(rid, data_buff, tot_data_len, xid_ptr, xid_len, transient);
+    _enq_rec.reset(rid, data_buff, tot_data_len, xid_ptr, xid_len, transient, external);
     if (!cont)
     {
         dtokp->set_rid(rid);

Modified: store/trunk/cpp/lib/jrnl/wmgr.hpp
===================================================================
--- store/trunk/cpp/lib/jrnl/wmgr.hpp	2007-11-06 19:49:07 UTC (rev 1256)
+++ store/trunk/cpp/lib/jrnl/wmgr.hpp	2007-11-06 21:52:47 UTC (rev 1257)
@@ -105,7 +105,7 @@
                 const u_int32_t max_dtokpp, const u_int32_t max_iowait_us) throw (jexception);
         const iores enqueue(const void* const data_buff, const size_t tot_data_len,
                 const size_t this_data_len, data_tok* dtokp, const void* const xid_ptr,
-                const size_t xid_len, const bool transient) throw (jexception);
+                const size_t xid_len, const bool transient, const bool external) throw (jexception);
         const iores dequeue(data_tok* dtokp, const void* const xid_ptr, const size_t xid_len)
                 throw (jexception);
         const iores abort(data_tok* dtokp, const void* const xid_ptr, const size_t xid_len)

Modified: store/trunk/cpp/tests/jrnl/JournalSystemTests.cpp
===================================================================
--- store/trunk/cpp/tests/jrnl/JournalSystemTests.cpp	2007-11-06 19:49:07 UTC (rev 1256)
+++ store/trunk/cpp/tests/jrnl/JournalSystemTests.cpp	2007-11-06 21:52:47 UTC (rev 1257)
@@ -84,8 +84,8 @@
     CPPUNIT_TEST(EncodeTest_024);
     CPPUNIT_TEST(EncodeTest_025);
     CPPUNIT_TEST(EncodeTest_026); 
-//    CPPUNIT_TEST(EncodeTest_027); // Until race condition fixed
-//    CPPUNIT_TEST(EncodeTest_028); // Until race condition fixed
+//     CPPUNIT_TEST(EncodeTest_027); // Until race condition fixed
+//     CPPUNIT_TEST(EncodeTest_028); // Until race condition fixed
     CPPUNIT_TEST_SUITE_END();
 
     jtest t;
@@ -96,6 +96,7 @@
     void* xidbuff;
     size_t xidsize;
     bool transientFlag;
+    bool externalFlag;
 
 public:
 
@@ -238,7 +239,7 @@
             rhm::journal::jcntl jc(test_name, "jdata", test_name);
             jc.initialize();
             for (int m=0; m<NUM_MSGS; m++)
-                enq_msg(&jc, create_msg(msg, m, MSG_SIZE));
+                enq_msg(&jc, create_msg(msg, m, MSG_SIZE), false);
         }
         catch (const rhm::journal::jexception& e)
         {
@@ -255,7 +256,7 @@
             CPPUNIT_ASSERT_MESSAGE("Journal heap instantiation failed.", jcp != NULL);
             jcp->initialize();
             for (int m=0; m<NUM_MSGS; m++)
-                enq_msg(jcp, create_msg(msg, m, MSG_SIZE));
+                enq_msg(jcp, create_msg(msg, m, MSG_SIZE), false);
             delete jcp;
         }
         catch (const rhm::journal::jexception& e)
@@ -278,7 +279,7 @@
             jc.initialize();
             create_xid(xid, 0, XID_SIZE);
             for (int m=0; m<NUM_MSGS; m++)
-                enq_txn_msg(&jc, create_msg(msg, m, MSG_SIZE), xid);
+                enq_txn_msg(&jc, create_msg(msg, m, MSG_SIZE), xid, false);
             txn_commit(&jc, xid);
         }
         catch (const rhm::journal::jexception& e)
@@ -296,7 +297,7 @@
             CPPUNIT_ASSERT_MESSAGE("Journal heap instantiation failed.", jcp != NULL);
             jcp->initialize();
             for (int m=0; m<NUM_MSGS; m++)
-                enq_txn_msg(jcp, create_msg(msg, m, MSG_SIZE), xid);
+                enq_txn_msg(jcp, create_msg(msg, m, MSG_SIZE), xid, false);
             txn_commit(jcp, xid);
             delete jcp;
         }
@@ -321,7 +322,7 @@
                 rhm::journal::jcntl jc(test_name, "jdata", test_name);
                 jc.initialize();
                 for (int m=0; m<NUM_MSGS; m++)
-                    enq_msg(&jc, create_msg(msg, m, MSG_SIZE));
+                    enq_msg(&jc, create_msg(msg, m, MSG_SIZE), false);
             }
             {
                 rhm::journal::jcntl jc(test_name, "jdata", test_name);
@@ -351,7 +352,7 @@
                 CPPUNIT_ASSERT_MESSAGE("Journal heap instantiation failed.", jcp != NULL);
                 jcp->initialize();
                 for (int m=0; m<NUM_MSGS; m++)
-                    enq_msg(jcp, create_msg(msg, m, MSG_SIZE));
+                    enq_msg(jcp, create_msg(msg, m, MSG_SIZE), false);
                 delete jcp;
                 jcp = NULL;
             }
@@ -393,7 +394,7 @@
                 create_xid(xid, 1, XID_SIZE);
                 txn_list.push_back(xid);
                 for (int m=0; m<NUM_MSGS; m++)
-                    enq_txn_msg(&jc, create_msg(msg, m, MSG_SIZE), xid);
+                    enq_txn_msg(&jc, create_msg(msg, m, MSG_SIZE), xid, false);
                 txn_commit(&jc, xid);
             }
             {
@@ -424,7 +425,7 @@
                 CPPUNIT_ASSERT_MESSAGE("Journal heap instantiation failed.", jcp != NULL);
                 jcp->initialize();
                 for (int m=0; m<NUM_MSGS; m++)
-                    enq_txn_msg(jcp, create_msg(msg, m, MSG_SIZE), xid);
+                    enq_txn_msg(jcp, create_msg(msg, m, MSG_SIZE), xid, false);
                 txn_commit(jcp, xid);
                 delete jcp;
                 jcp = NULL;
@@ -465,7 +466,7 @@
                 rhm::journal::jcntl jc(test_name, "jdata", test_name);
                 jc.initialize();
                 for (int m=0; m<NUM_MSGS; m++)
-                    enq_msg(&jc, create_msg(msg, m, MSG_SIZE));
+                    enq_msg(&jc, create_msg(msg, m, MSG_SIZE), false);
             }
             {
                 rhm::journal::jcntl jc(test_name, "jdata", test_name);
@@ -503,7 +504,7 @@
                 CPPUNIT_ASSERT_MESSAGE("Journal heap instantiation failed.", jcp != NULL);
                 jcp->initialize();
                 for (int m=0; m<NUM_MSGS; m++)
-                    enq_msg(jcp, create_msg(msg, m, MSG_SIZE));
+                    enq_msg(jcp, create_msg(msg, m, MSG_SIZE), false);
                 delete jcp;
                 jcp = NULL;
             }
@@ -552,7 +553,7 @@
                 create_xid(xid, 2, XID_SIZE);
                 txn_list.push_back(xid);
                 for (int m=0; m<NUM_MSGS; m++)
-                    enq_txn_msg(&jc, create_msg(msg, m, MSG_SIZE), xid);
+                    enq_txn_msg(&jc, create_msg(msg, m, MSG_SIZE), xid, false);
                 txn_commit(&jc, xid);
             }
             {
@@ -591,7 +592,7 @@
                 CPPUNIT_ASSERT_MESSAGE("Journal heap instantiation failed.", jcp != NULL);
                 jcp->initialize();
                 for (int m=0; m<NUM_MSGS; m++)
-                    enq_txn_msg(jcp, create_msg(msg, m, MSG_SIZE), xid);
+                    enq_txn_msg(jcp, create_msg(msg, m, MSG_SIZE), xid, false);
                 txn_commit(jcp, xid);
                 delete jcp;
                 jcp = NULL;
@@ -639,7 +640,7 @@
                 rhm::journal::jcntl jc(test_name, "jdata", test_name);
                 jc.initialize();
                 for (int m=0; m<NUM_MSGS; m++)
-                    enq_msg(&jc, create_msg(msg, m, MSG_SIZE));
+                    enq_msg(&jc, create_msg(msg, m, MSG_SIZE), false);
             }
             {
                 rhm::journal::jcntl jc(test_name, "jdata", test_name);
@@ -679,7 +680,7 @@
                 CPPUNIT_ASSERT_MESSAGE("Journal heap instantiation failed.", jcp != NULL);
                 jcp->initialize();
                 for (int m=0; m<NUM_MSGS; m++)
-                    enq_msg(jcp, create_msg(msg, m, MSG_SIZE));
+                    enq_msg(jcp, create_msg(msg, m, MSG_SIZE), false);
                 delete jcp;
                 jcp = NULL;
             }
@@ -730,7 +731,7 @@
                 create_xid(xid, 3, XID_SIZE);
                 txn_list.push_back(xid);
                 for (int m=0; m<NUM_MSGS; m++)
-                    enq_txn_msg(&jc, create_msg(msg, m, MSG_SIZE), xid);
+                    enq_txn_msg(&jc, create_msg(msg, m, MSG_SIZE), xid, false);
                 txn_commit(&jc, xid);
             }
             {
@@ -771,7 +772,7 @@
                 CPPUNIT_ASSERT_MESSAGE("Journal heap instantiation failed.", jcp != NULL);
                 jcp->initialize();
                 for (int m=0; m<NUM_MSGS; m++)
-                    enq_txn_msg(jcp, create_msg(msg, m, MSG_SIZE), xid);
+                    enq_txn_msg(jcp, create_msg(msg, m, MSG_SIZE), xid, false);
                 txn_commit(jcp, xid);
                 delete jcp;
                 jcp = NULL;
@@ -822,7 +823,7 @@
                 jc.initialize();
                 // rids: 0 to NUM_MSGS*2 - 1
                 for (int m=0; m<NUM_MSGS*2; m++)
-                    enq_msg(&jc, create_msg(msg, m, MSG_SIZE));
+                    enq_msg(&jc, create_msg(msg, m, MSG_SIZE), false);
                 // rids: NUM_MSGS*2 to NUM_MSGS*3 - 1
                 for (int m=0; m<NUM_MSGS; m++)
                     deq_msg(&jc, m);
@@ -848,7 +849,7 @@
                 jc.recover_complete();
                 // rids: NUM_MSGS*3 to NUM_MSGS*4 - 1
                 for (int m=NUM_MSGS*3; m<NUM_MSGS*4; m++)
-                    enq_msg(&jc, create_msg(msg, m, MSG_SIZE));
+                    enq_msg(&jc, create_msg(msg, m, MSG_SIZE), false);
                 jc.flush();
                 for (int m=NUM_MSGS; m<NUM_MSGS*2; m++)
                 {
@@ -888,7 +889,7 @@
                 jcp->initialize();
                 // rids: 0 to NUM_MSGS*2 - 1
                 for (int m=0; m<NUM_MSGS*2; m++)
-                    enq_msg(jcp, create_msg(msg, m, MSG_SIZE));
+                    enq_msg(jcp, create_msg(msg, m, MSG_SIZE), false);
                 // rids: NUM_MSGS*2 to NUM_MSGS*3 - 1
                 for (int m=0; m<NUM_MSGS; m++)
                     deq_msg(jcp, m);
@@ -917,7 +918,7 @@
                 jcp->recover_complete();
                 // rids: NUM_MSGS*3 to NUM_MSGS*4 - 1
                 for (int m=NUM_MSGS*3; m<NUM_MSGS*4; m++)
-                    enq_msg(jcp, create_msg(msg, m, MSG_SIZE));
+                    enq_msg(jcp, create_msg(msg, m, MSG_SIZE), false);
                 jcp->flush();
                 for (int m=NUM_MSGS; m<NUM_MSGS*2; m++)
                 {
@@ -963,12 +964,12 @@
                 jc.initialize();
                 // rids: 0 to NUM_MSGS - 1
                 for (int m=0; m<NUM_MSGS; m++)
-                    enq_msg(&jc, create_msg(msg, m, MSG_SIZE));
+                    enq_msg(&jc, create_msg(msg, m, MSG_SIZE), false);
                 // rids: NUM_MSGS to NUM_MSGS*2 - 1
                 create_xid(xid, 4, XID_SIZE);
                 txn_list.push_back(xid);
                 for (int m=NUM_MSGS; m<NUM_MSGS*2; m++)
-                    enq_txn_msg(&jc, create_msg(msg, m, MSG_SIZE), xid);
+                    enq_txn_msg(&jc, create_msg(msg, m, MSG_SIZE), xid, false);
                 // rids: NUM_MSGS*2 to NUM_MSGS*3 - 1
                 for (int m=0; m<NUM_MSGS; m++)
                     deq_msg(&jc, m);
@@ -996,7 +997,7 @@
                 jc.recover_complete();
                 // rids: NUM_MSGS*3+1 to NUM_MSGS*4
                 for (int m=NUM_MSGS*3+1; m<NUM_MSGS*4+1; m++)
-                    enq_msg(&jc, create_msg(msg, m, MSG_SIZE));
+                    enq_msg(&jc, create_msg(msg, m, MSG_SIZE), false);
                 jc.flush();
                 for (int m=NUM_MSGS; m<NUM_MSGS*2; m++)
                 {
@@ -1036,11 +1037,11 @@
                 jcp->initialize();
                 // rids: 0 to NUM_MSGS*2 - 1
                 for (int m=0; m<NUM_MSGS; m++)
-                    enq_msg(jcp, create_msg(msg, m, MSG_SIZE));
+                    enq_msg(jcp, create_msg(msg, m, MSG_SIZE), false);
                 create_xid(xid, 4, XID_SIZE);
                 // rids: NUM_MSGS to NUM_MSGS*2 - 1
                 for (int m=NUM_MSGS; m<NUM_MSGS*2; m++)
-                    enq_txn_msg(jcp, create_msg(msg, m, MSG_SIZE), xid);
+                    enq_txn_msg(jcp, create_msg(msg, m, MSG_SIZE), xid, false);
                 // rids: NUM_MSGS*2 to NUM_MSGS*3 - 1
                 for (int m=0; m<NUM_MSGS; m++)
                     deq_msg(jcp, m);
@@ -1071,7 +1072,7 @@
                 jcp->recover_complete();
                 // rids: NUM_MSGS*3+1 to NUM_MSGS*4
                 for (int m=NUM_MSGS*3+1; m<NUM_MSGS*4+1; m++)
-                    enq_msg(jcp, create_msg(msg, m, MSG_SIZE));
+                    enq_msg(jcp, create_msg(msg, m, MSG_SIZE), false);
                 jcp->flush();
                 for (int m=NUM_MSGS; m<NUM_MSGS*2; m++)
                 {
@@ -1107,178 +1108,199 @@
 
     void EncodeTest_000()
     {
-        runEncodeTest(0, 0, 0, false, 0, 0, false, 2, "Empty journal");
+        runEncodeTest(0, 0, 0, false, 0, 0, false, false, 2, "Empty journal");
     }
 
     void EncodeTest_001()
     {
-        runEncodeTest(1, 10, 10, false, 0, 0, false, 2, "1*(10 bytes)");
+        runEncodeTest(1, 10, 10, false, 0, 0, false, false, 2, "1*(10 bytes)");
     }
 
     void EncodeTest_002()
     {
-        runEncodeTest(1, 10, 10, true, 0, 0, false, 2, "1*(10 bytes), auto-deq");
+        runEncodeTest(1, 10, 10, true, 0, 0, false, false, 2, "1*(10 bytes), auto-deq");
     }
 
     void EncodeTest_003()
     {
-        runEncodeTest(10, 10, 10, false, 0, 0, false, 2, "10*(10 bytes)");
+        runEncodeTest(10, 10, 10, false, 0, 0, false, false, 2, "10*(10 bytes)");
     }
 
     void EncodeTest_004()
     {
-        runEncodeTest(10, 10, 10, true, 0, 0, false, 2, "10*(10 bytes), auto-deq");
+        runEncodeTest(10, 10, 10, true, 0, 0, false, false, 2, "10*(10 bytes), auto-deq");
     }
 
     void EncodeTest_005()
     {
-        runEncodeTest(10, 92, 92, false, 0, 0, false, 2, "10*(1 dblk exact fit)");
+        runEncodeTest(10, 92, 92, false, 0, 0, false, false, 2, "10*(1 dblk exact fit)");
     }
 
     void EncodeTest_006()
     {
-        runEncodeTest(10, 92, 92, true, 0, 0, false, 2, "10*(1 dblk exact fit), auto-deq");
+        runEncodeTest(10, 92, 92, true, 0, 0, false, false, 2, "10*(1 dblk exact fit), auto-deq");
     }
 
     void EncodeTest_007()
     {
-        runEncodeTest(10, 93, 93, false, 0, 0, false, 2, "10*(1 dblk + 1 byte)");
+        runEncodeTest(10, 93, 93, false, 0, 0, false, false, 2, "10*(1 dblk + 1 byte)");
     }
 
     void EncodeTest_008()
     {
-        runEncodeTest(10, 93, 93, true, 0, 0, false, 2, "10*(1 dblk + 1 byte), auto-deq");
+        runEncodeTest(10, 93, 93, true, 0, 0, false, false, 2, "10*(1 dblk + 1 byte), auto-deq");
     }
 
     void EncodeTest_009()
     {
-        runEncodeTest(10, 476, 476, false, 0, 0, false, 2, "10*(1 sblk exact fit)");
+        runEncodeTest(10, 476, 476, false, 0, 0, false, false, 2, "10*(1 sblk exact fit)");
     }
 
     void EncodeTest_010()
     {
-        runEncodeTest(10, 476, 476, true, 0, 0, false, 2, "10*(1 sblk exact fit), auto-deq");
+        runEncodeTest(10, 476, 476, true, 0, 0, false, false, 2, "10*(1 sblk exact fit), auto-deq");
     }
 
     void EncodeTest_011()
     {
-        runEncodeTest(10, 477, 477, false, 0, 0, false, 2, "10*(1 sblk + 1 byte)");
+        runEncodeTest(10, 477, 477, false, 0, 0, false, false, 2, "10*(1 sblk + 1 byte)");
     }
 
     void EncodeTest_012()
     {
-        runEncodeTest(10, 477, 477, true, 0, 0, false, 2, "10*(1 sblk + 1 byte), auto-deq");
+        runEncodeTest(10, 477, 477, true, 0, 0, false, false, 2, "10*(1 sblk + 1 byte), auto-deq");
     }
 
     void EncodeTest_013()
     {
-        runEncodeTest(8, 4060, 4060, false, 0, 0, false, 2, "8*(1/8 page)");
+        runEncodeTest(8, 4060, 4060, false, 0, 0, false, false, 2, "8*(1/8 page)");
     }
 
     void EncodeTest_014()
     {
-        runEncodeTest(9, 4060, 4060, false, 0, 0, false, 2, "9*(1/8 page)");
+        runEncodeTest(9, 4060, 4060, false, 0, 0, false, false, 2, "9*(1/8 page)");
     }
 
     void EncodeTest_015()
     {
-        runEncodeTest(8, 4061, 4061, false, 0, 0, false, 2, "8*(1/8 page + 1 byte)");
+        runEncodeTest(8, 4061, 4061, false, 0, 0, false, false, 2, "8*(1/8 page + 1 byte)");
     }
 
     void EncodeTest_016()
     {
-        runEncodeTest(8, 3932, 3932, true, 0, 0, false, 2,
+        runEncodeTest(8, 3932, 3932, true, 0, 0, false, false, 2,
                 "8*(1/8 page - 1 dblk for deq record), auto-deq");
     }
 
     void EncodeTest_017()
     {
-        runEncodeTest(9, 3932, 3932, true, 0, 0, false, 2,
+        runEncodeTest(9, 3932, 3932, true, 0, 0, false, false, 2,
                 "9*(1/8 page - 1 dblk for deq record), auto-deq");
     }
 
     void EncodeTest_018()
     {
-        runEncodeTest(8, 3933, 3933, true, 0, 0, false, 2,
+        runEncodeTest(8, 3933, 3933, true, 0, 0, false, false, 2,
                 "8*(1/8 page - 1 dblk for deq record + 1 byte), auto-deq");
     }
 
     void EncodeTest_019()
     {
-        runEncodeTest(32, 32732, 32732, false, 0, 0, false, 2, "32*(1 page exact fit)");
+        runEncodeTest(32, 32732, 32732, false, 0, 0, false, false, 2, "32*(1 page exact fit)");
     }
 
     void EncodeTest_020()
     {
-        runEncodeTest(33, 32732, 32732, false, 0, 0, false, 2, "33*(1 page exact fit)");
+        runEncodeTest(33, 32732, 32732, false, 0, 0, false, false, 2, "33*(1 page exact fit)");
     }
 
     void EncodeTest_021()
     {
-        runEncodeTest(22, 49116, 49116, false, 0, 0, false, 2, "22*(1.5 pages)");
+        runEncodeTest(22, 49116, 49116, false, 0, 0, false, false, 2, "22*(1.5 pages)");
     }
 
     void EncodeTest_022()
     {
-        runEncodeTest(22, 48988, 48988, true, 0, 0, false, 2,
+        runEncodeTest(22, 48988, 48988, true, 0, 0, false, false, 2,
                 "22*(1.5 pages - 1 dblk for deq record), auto-deq");
     }
 
     void EncodeTest_023()
     {
-        runEncodeTest(48, 32732, 32732, false, 0, 0, false, 2, "48*(1 page exact fit)");
+        runEncodeTest(48, 32732, 32732, false, 0, 0, false, false, 2, "48*(1 page exact fit)");
     }
 
     void EncodeTest_024()
     {
-        runEncodeTest(49, 32732, 32732, false, 0, 0, false, 2, "49*(1 page exact fit)");
+        runEncodeTest(49, 32732, 32732, false, 0, 0, false, false, 2, "49*(1 page exact fit)");
     }
 
     void EncodeTest_025()
     {
-        runEncodeTest(20, 81884, 81884, false, 0, 0, false, 2, "20*(2.5 pages)");
+        runEncodeTest(20, 81884, 81884, false, 0, 0, false, false, 2, "20*(2.5 pages)");
     }
 
     void EncodeTest_026()
     {
-        runEncodeTest(20, 81756, 81756, true, 0, 0, false, 2,
+        runEncodeTest(20, 81756, 81756, true, 0, 0, false, false, 2,
                 "20*(2.5 pages - 1 dblk for deq record), auto-deq");
     }
 
     void EncodeTest_027()
     {
-        runEncodeTest(16, 786268, 786268, true, 0, 0, false, 2,
+        runEncodeTest(16, 786268, 786268, true, 0, 0, false, false, 2,
                 "16*(24 pages = 1/2 file); Total = 8 files exactly (full journal filespace)");
     }
 
     void EncodeTest_028()
     {
-        runEncodeTest(17, 786268, 786268, true, 0, 0, false, 2,
+        runEncodeTest(17, 786268, 786268, true, 0, 0, false, false, 2,
                 "17*(24 pages = 1/2 file); Total = 8 files + file 0 overwritten by 1/2 file");
     }
 
 private:
 
-    void enq_msg(rhm::journal::jcntl* jc, const std::string msg)
+    void enq_msg(rhm::journal::jcntl* jc, const std::string msg, const bool transient)
     {
         rhm::journal::data_tok* dtp = new rhm::journal::data_tok;
         CPPUNIT_ASSERT_MESSAGE("Data Token heap intantiation failed.", dtp != NULL);
 
         unsigned aio_sleep_cnt = 0;
         while (handle_jcntl_response(jc->enqueue_data_record(msg.c_str(), msg.size(), msg.size(),
-                dtp, false), jc, aio_sleep_cnt, dtp));
+                dtp, transient), jc, aio_sleep_cnt, dtp));
     }
 
-    void enq_txn_msg(rhm::journal::jcntl* jc, const std::string msg, const std::string xid)
+    void enq_extern_msg(rhm::journal::jcntl* jc, const bool transient)
     {
         rhm::journal::data_tok* dtp = new rhm::journal::data_tok;
         CPPUNIT_ASSERT_MESSAGE("Data Token heap intantiation failed.", dtp != NULL);
 
         unsigned aio_sleep_cnt = 0;
-        while (handle_jcntl_response(jc->enqueue_txn_data_record(msg.c_str(), msg.size(), msg.size(),
-                dtp, xid, false), jc, aio_sleep_cnt, dtp));
+        while (handle_jcntl_response(jc->enqueue_extern_data_record(msg.size(),
+                dtp, transient), jc, aio_sleep_cnt, dtp));
     }
 
+    void enq_txn_msg(rhm::journal::jcntl* jc, const std::string msg, const std::string xid,
+            const bool transient)
+    {
+        rhm::journal::data_tok* dtp = new rhm::journal::data_tok;
+        CPPUNIT_ASSERT_MESSAGE("Data Token heap intantiation failed.", dtp != NULL);
+
+        unsigned aio_sleep_cnt = 0;
+        while (handle_jcntl_response(jc->enqueue_txn_data_record(msg.c_str(), msg.size(),
+                msg.size(), dtp, xid, transient), jc, aio_sleep_cnt, dtp));
+    }
+
+    void enq_extern_txn_msg(rhm::journal::jcntl* jc, const std::string xid, const bool transient)
+    {
+        rhm::journal::data_tok* dtp = new rhm::journal::data_tok;
+        CPPUNIT_ASSERT_MESSAGE("Data Token heap intantiation failed.", dtp != NULL);
+
+        unsigned aio_sleep_cnt = 0;
+        while (handle_jcntl_response(jc->enqueue_extern_txn_data_record(msg.size(), dtp, xid,
+                transient), jc, aio_sleep_cnt, dtp));
+    }
+
     void deq_msg(rhm::journal::jcntl* jc, u_int64_t rid)
     {
         rhm::journal::data_tok* dtp = new rhm::journal::data_tok;
@@ -1328,7 +1350,7 @@
 
         unsigned aio_sleep_cnt = 0;
         while (handle_jcntl_response(jc->read_data_record(&mbuff, msize, &xidbuff, xidsize,
-                transientFlag, dtp), jc, aio_sleep_cnt, dtp));
+                transientFlag, externalFlag, dtp), jc, aio_sleep_cnt, dtp));
         return (char*)mbuff;
     }
     
@@ -1393,12 +1415,12 @@
 
     void runEncodeTest(const unsigned num_msgs, const unsigned min_msg_size,
             const unsigned max_msg_szie, const bool auto_deq, const unsigned min_xid_size,
-            const unsigned max_xid_size, const bool transient, const unsigned iterations,
-            char* test_descr)
+            const unsigned max_xid_size, const bool transient, const bool external,
+            const unsigned iterations, char* test_descr)
     {
         std::cout << "  [" << test_descr << "] " << std::flush;
         jtest::targs ta(num_msgs, min_msg_size, max_msg_szie, auto_deq, min_xid_size,
-                max_xid_size, transient, test_descr);
+                max_xid_size, transient, external, test_descr);
         for (unsigned i=0; i<iterations; i++)
         {
             std::cout << "." << std::flush;

Modified: store/trunk/cpp/tests/jrnl/janalyze.py
===================================================================
--- store/trunk/cpp/tests/jrnl/janalyze.py	2007-11-06 19:49:07 UTC (rev 1256)
+++ store/trunk/cpp/tests/jrnl/janalyze.py	2007-11-06 21:52:47 UTC (rev 1257)
@@ -40,9 +40,11 @@
 MAX_XID_SIZE_COL = 10
 AUTO_DEQ_COL = 11
 TRANSIENT_COL = 12
-COMMENT_COL = 19
+EXTERN_COL = 13
+COMMENT_COL = 20
 
 transient_mask = 0x1
+extern_mask    = 0x2
 
 def load(f, klass):
     args = load_args(f, klass)
@@ -85,6 +87,8 @@
     return 'xid(%d)=\"%s\" ' % (xidsize, xidstr)
 
 def print_data(dsize, data):
+    if data == None:
+        return ''
     if len(data) > 25:
         datastr = data[:10] + ' ... ' + data[-10:]
     else:
@@ -320,6 +324,8 @@
     def init(self, f, foffs, xidsize, dsize):
         self.xidsize = xidsize
         self.dsize = dsize
+        self.transient = self.flags & transient_mask > 0
+        self.extern = self.flags & extern_mask > 0
         self.xid = None
         self.data = None
         self.enq_tail = None
@@ -336,9 +342,12 @@
             self.xid = ret[0]
             self.xid_complete = ret[1]
         if self.xid_complete and not self.data_complete:
-            ret = load_file_data(f, self.dsize, self.data)
-            self.data = ret[0]
-            self.data_complete = ret[1]
+            if self.extern:
+                self.data_complete = True
+            else:
+                ret = load_file_data(f, self.dsize, self.data)
+                self.data = ret[0]
+                self.data_complete = ret[1]
         if self.data_complete and not self.tail_complete:
             ret = load_file_data(f, calcsize(RecTail.format), self.tail_bin)
             self.tail_bin = ret[0]
@@ -353,11 +362,19 @@
 
     def complete(self):
         return self.xid_complete and self.data_complete and self.tail_complete
-    
+
     def print_flags(self):
-        if self.flags & transient_mask > 0:
-            return '*TRANSIENT*'
-        return ''
+        s = ''
+        if self.transient:
+            s = '*TRANSIENT'
+        if self.extern:
+            if len(s) > 0:
+                s += ',EXTERNAL'
+            else:
+                s = '*EXTERNAL'
+        if len(s) > 0:
+            s += '*'
+        return s
 
     def __str__(self):
         return '%s %s%s %s %s' % (Hdr.__str__(self), print_xid(self.xidsize, self.xid), print_data(self.dsize, self.data), self.enq_tail, self.print_flags())
@@ -382,6 +399,7 @@
             else:
                 self.xid_len = 0
             self.transient = tparams['transient']
+            self.extern = tparams['extern']
         else:
             self.tnum = None
             self.num_msgs = None
@@ -389,6 +407,7 @@
             self.auto_deq = None
             self.xid_len = None
             self.transient = None
+            self.extern = None
         self.file_start = 0
         self.file_num = 0
         self.fro = 0x200
@@ -435,16 +454,24 @@
                     if stop:
                         break
                     hdr.load(self.f)
-                if self.msg_len > 0 and len(hdr.data) != self.msg_len:
-                    raise Exception('Message length (%d) incorrect; expected %d' % (len(hdr.data), self.msg_len))
+                if self.extern != None:
+                    if hdr.extern:
+                        if hdr.data != None:
+                            raise Exception('Message data found on external record')
+                    else:
+                        if self.msg_len > 0 and len(hdr.data) != self.msg_len:
+                            raise Exception('Message length (%d) incorrect; expected %d' % (len(hdr.data), self.msg_len))
+                else:
+                    if self.msg_len > 0 and len(hdr.data) != self.msg_len:
+                        raise Exception('Message length (%d) incorrect; expected %d' % (len(hdr.data), self.msg_len))
                 if self.xid_len > 0 and len(hdr.xid) != self.xid_len:
                     raise Exception('XID length (%d) incorrect; expected %d' % (len(hdr.xidsize), self.xid_len))
                 if self.transient != None:
                     if self.transient:
-                        if hdr.flags & transient_mask == 0:
+                        if not hdr.transient:
                             raise Exception('Expected transient record, found persistent')
                     else:
-                        if hdr.flags & transient_mask != 0:
+                        if hdr.transient:
                             raise Exception('Expected persistent record, found transient')
                 stop = not self.check_rid(hdr)
                 if  stop:
@@ -544,6 +571,7 @@
                                  'xid_min_size':int(sl[MIN_XID_SIZE_COL]),
                                  'xid_max_size':int(sl[MAX_XID_SIZE_COL]),
                                  'transient':not (sl[TRANSIENT_COL] == 'FALSE' or sl[TRANSIENT_COL] == '0'),
+                                 'extern':not (sl[EXTERN_COL] == 'FALSE' or sl[EXTERN_COL] == '0'),
                                  'comment':sl[COMMENT_COL] }
                 except Exception:
                     pass

Modified: store/trunk/cpp/tests/jrnl/jtest.cpp
===================================================================
--- store/trunk/cpp/tests/jrnl/jtest.cpp	2007-11-06 19:49:07 UTC (rev 1256)
+++ store/trunk/cpp/tests/jrnl/jtest.cpp	2007-11-06 21:52:47 UTC (rev 1257)
@@ -79,12 +79,13 @@
         _min_xid_size(0),
         _max_xid_size(0),
         _transient(false),
+        _external(false),
         _comment(NULL)
 {}
 
 jtest::targs::targs(const u_int32_t num_msgs, const size_t min_msg_size, const size_t max_msg_size,
         const bool auto_deq, const size_t min_xid_size, const size_t max_xid_size,
-        const bool transient, char* comment):
+        const bool transient, const bool external, char* comment):
         _num_msgs(num_msgs),
         _min_msg_size(min_msg_size),
         _max_msg_size(max_msg_size),
@@ -92,6 +93,7 @@
         _min_xid_size(min_xid_size),
         _max_xid_size(max_xid_size),
         _transient(transient),
+        _external(external),
         _comment(comment)
 {}
 
@@ -133,9 +135,9 @@
 #endif
 
     p_args = new msg_producer::_p_args(_jc, ta._num_msgs, ta._min_msg_size, ta._max_msg_size,
-            ta._auto_deq, ta._min_xid_size, ta._max_xid_size, ta._transient);
+            ta._auto_deq, ta._min_xid_size, ta._max_xid_size, ta._transient, ta._external);
     c_args = new msg_consumer::_c_args(_jc, ta._num_msgs, ta._min_msg_size, ta._max_msg_size,
-            ta._min_xid_size, ta._max_xid_size, ta._transient);
+            ta._min_xid_size, ta._max_xid_size, ta._transient, ta._external);
 
 #ifndef RHM_RDONLY
     _mp.initialize(p_args);
@@ -353,7 +355,8 @@
 #define MAX_XID_SIZE_COL 10
 #define AUTO_DEQ_COL     11
 #define TRANSIENT_COL    12
-#define COMMENT_COL      19
+#define EXTERN_COL       13
+#define COMMENT_COL      20
 
 // static method
 void
@@ -395,6 +398,8 @@
                         strcmp(toks[AUTO_DEQ_COL], "0") == 0);
                 tap->_transient = !(strcmp(toks[TRANSIENT_COL], "FALSE") == 0 ||
                         strcmp(toks[TRANSIENT_COL], "0") == 0);
+                tap->_external = !(strcmp(toks[EXTERN_COL], "FALSE") == 0 ||
+                        strcmp(toks[EXTERN_COL], "0") == 0);
                 if (toks.size() > COMMENT_COL)
                 {
                     tap->_comment =  toks[COMMENT_COL];

Modified: store/trunk/cpp/tests/jrnl/jtest.hpp
===================================================================
--- store/trunk/cpp/tests/jrnl/jtest.hpp	2007-11-06 19:49:07 UTC (rev 1256)
+++ store/trunk/cpp/tests/jrnl/jtest.hpp	2007-11-06 21:52:47 UTC (rev 1257)
@@ -56,11 +56,12 @@
         size_t _min_xid_size;
         size_t _max_xid_size;
         bool _transient;
+        bool _external;
         char* _comment;
         targs();
         targs(const u_int32_t num_msgs, const size_t min_msg_size, const size_t max_msg_size,
                 const bool auto_deq, const size_t min_xid_size, const size_t max_xid_size,
-                const bool transient, char* comment = NULL);
+                const bool transient, const bool external, char* comment = NULL);
     };
 
 private:

Modified: store/trunk/cpp/tests/jrnl/msg_consumer.cpp
===================================================================
--- store/trunk/cpp/tests/jrnl/msg_consumer.cpp	2007-11-06 19:49:07 UTC (rev 1256)
+++ store/trunk/cpp/tests/jrnl/msg_consumer.cpp	2007-11-06 21:52:47 UTC (rev 1257)
@@ -39,7 +39,7 @@
 
 msg_consumer::_c_args::_c_args(rhm::journal::jcntl& jc,  const u_int32_t num_msgs,
         const size_t min_msg_size, const size_t max_msg_size,  const size_t min_xid_size,
-        const size_t max_xid_size, const bool transient):
+        const size_t max_xid_size, const bool transient, const bool external):
         _jc(jc),
         _num_msgs(num_msgs),
         _min_msg_size(min_msg_size),
@@ -47,6 +47,7 @@
         _min_xid_size(min_xid_size),
         _max_xid_size(max_xid_size),
         _transient(transient),
+        _external(external),
         _err(0)
 {}
 
@@ -95,7 +96,8 @@
 u_int32_t
 msg_consumer::consume(rhm::journal::jcntl& _jcntl, const u_int32_t num_msgs,
         const size_t min_msg_size, const size_t max_msg_size, const size_t min_xid_size,
-        const size_t max_xid_size, const bool transient_expected) throw (rhm::journal::jexception)
+        const size_t max_xid_size, const bool transient_expected, const bool external_expected)
+        throw (rhm::journal::jexception)
 {
 //std::cout << "msg_consumer::consume() num_msgs=" << num_msgs << std::endl;
     void* datap = NULL;
@@ -103,6 +105,7 @@
     void* xidp = NULL;
     size_t xid_size = 0;
     bool transient_flag = false;
+    bool external_flag = false;
 
     u_int32_t msgCntr = 0;
     for (msgCntr = 0; msgCntr < num_msgs && !_interrupt_flag; msgCntr++)
@@ -118,7 +121,7 @@
             if (dtokp->wstate() >= rhm::journal::data_tok::ENQ)
             {
                 rhm::journal::iores res = _jcntl.read_data_record(&datap, data_size, &xidp,
-                        xid_size, transient_flag, dtokp);
+                        xid_size, transient_flag, external_flag, dtokp);
                 rhm::journal::data_tok::read_state rs = dtokp->rstate();
                 rhm::journal::data_tok::write_state ws = dtokp->wstate();
                 switch (res)
@@ -133,10 +136,12 @@
                         _tot_dblks += dtokp->dblocks_read();
                         _tot_dsize += data_size;
 
-                        // Comment out these for performance checks/measurements        
-                        check_msg(msgCntr, data_size, min_msg_size, max_msg_size, true, datap);
+                        // Comment out these for performance checks/measurements
+                        check_msg(msgCntr, data_size, min_msg_size, max_msg_size, !external_flag,
+                                datap);
                         check_xid(msgCntr, xid_size, min_xid_size, max_xid_size, true, xidp);
                         check_transience(msgCntr, transient_flag, transient_expected);
+                        check_external(msgCntr, external_flag, external_expected);
                         //print_dbug(msgCntr, data_size, _msg_buff, true);
                         break;
                  case rhm::journal::RHM_IORES_AIO_WAIT:
@@ -204,7 +209,7 @@
 msg_consumer::consume(_c_args* args) throw (rhm::journal::jexception)
 {
     return consume(args->_jc, args->_num_msgs, args->_min_msg_size, args->_max_msg_size,
-            args->_min_xid_size, args->_max_xid_size, args->_transient);
+            args->_min_xid_size, args->_max_xid_size, args->_transient, args->_external);
 }
 
 void
@@ -308,6 +313,22 @@
 }
 
 void
+msg_consumer::check_external(const u_int32_t msgCntr, const bool external_flag,
+        const bool external_expected_flag) const throw (rhm::journal::jexception)
+{
+    if ((external_flag && !external_expected_flag) ||
+            (!external_flag &&external_expected_flag))
+    {
+        std::stringstream ss;
+        ss << "Message " << msgCntr << " failed external check: found ";
+        ss << (external_flag?"external":"internal") << "; expected ";
+        ss << (external_expected_flag?"external":"internal") << ".";
+        throw rhm::journal::jexception(EXCEPTION_BASE+8, ss.str(), "msg_consumer",
+                "check_transience");
+    }
+}
+
+void
 msg_consumer::print_dbug(const u_int32_t msgCntr, const size_t msg_size, char* buff,
         const bool show_msg) const
 {

Modified: store/trunk/cpp/tests/jrnl/msg_consumer.hpp
===================================================================
--- store/trunk/cpp/tests/jrnl/msg_consumer.hpp	2007-11-06 19:49:07 UTC (rev 1256)
+++ store/trunk/cpp/tests/jrnl/msg_consumer.hpp	2007-11-06 21:52:47 UTC (rev 1257)
@@ -52,10 +52,11 @@
         size_t _min_xid_size;
         size_t _max_xid_size;
         bool _transient;
+        bool _external;
         u_int32_t _err;
         _c_args(rhm::journal::jcntl& jc, const u_int32_t num_msgs, const size_t min_msg_size,
                 const size_t max_msg_size, const size_t min_xid_size, const size_t max_xid_size,
-                const bool transient);
+                const bool transient, const bool external);
     };
 
     static const char* iores_str[];
@@ -81,7 +82,8 @@
 
     u_int32_t consume(rhm::journal::jcntl& _jcntl, const u_int32_t numMsgs,
             const size_t min_msg_size, const size_t max_msg_size, const size_t min_xid_size,
-            const size_t max_xid_size, const bool transient) throw (rhm::journal::jexception);
+            const size_t max_xid_size, const bool transient_expected, const bool external_expected)
+            throw (rhm::journal::jexception);
     u_int32_t consume(_c_args* args) throw (rhm::journal::jexception);
     void aio_callback(rhm::journal::jcntl* jc, u_int32_t num_dtoks);
 
@@ -98,6 +100,8 @@
             throw (rhm::journal::jexception);
     void check_transience(const u_int32_t msgCntr, const bool transient_flag,
             const bool transient_expected_flag) const throw (rhm::journal::jexception);
+    void check_external(const u_int32_t msgCntr, const bool external_flag,
+            const bool external_expected_flag) const throw (rhm::journal::jexception);
     void print_dbug(const u_int32_t msgCntr, const size_t msg_size, char* buff,
             const bool show_msg = false) const;
 

Modified: store/trunk/cpp/tests/jrnl/msg_producer.cpp
===================================================================
--- store/trunk/cpp/tests/jrnl/msg_producer.cpp	2007-11-06 19:49:07 UTC (rev 1256)
+++ store/trunk/cpp/tests/jrnl/msg_producer.cpp	2007-11-06 21:52:47 UTC (rev 1257)
@@ -37,7 +37,7 @@
 
 msg_producer::_p_args::_p_args(rhm::journal::jcntl& jc, u_int32_t num_msgs,
         size_t min_msg_size, size_t max_msg_size, bool auto_dequeue, size_t min_xid_size,
-        size_t max_xid_size, bool transient):
+        size_t max_xid_size, bool transient, bool external):
         _jc(jc),
         _num_msgs(num_msgs),
         _min_msg_size(min_msg_size),
@@ -46,6 +46,7 @@
         _min_xid_size(min_xid_size),
         _max_xid_size(max_xid_size),
         _transient(transient),
+        _external(external),
         _err(0)
 {}
 
@@ -105,7 +106,7 @@
 
 u_int32_t
 msg_producer::produce(rhm::journal::jcntl& jc, const size_t minMsgSize, const size_t maxMsgSize,
-        const size_t minXidSize, const size_t maxXidSize, const bool transient)
+        const size_t minXidSize, const size_t maxXidSize, const bool transient, const bool external)
         throw (rhm::journal::jexception)
 {
     _jcptr = &jc;
@@ -145,9 +146,19 @@
             {
                 rhm::journal::iores eres;
                 if (maxXidSize)
-                    eres = jc.enqueue_txn_data_record(msg, size, size, dtokp, xid, transient);
+                {
+                    if (external)
+                        eres = jc.enqueue_extern_txn_data_record(size, dtokp, xid, transient);
+                    else
+                        eres = jc.enqueue_txn_data_record(msg, size, size, dtokp, xid, transient);
+                }
                 else
-                    eres = jc.enqueue_data_record(msg, size, size, dtokp, transient);
+                {
+                    if (external)
+                        eres = jc.enqueue_extern_data_record(size, dtokp, transient);
+                    else
+                        eres = jc.enqueue_data_record(msg, size, size, dtokp, transient);
+                }
                 rhm::journal::data_tok::write_state ws = dtokp->wstate();
                 const char* wsstr = dtokp->wstate_str();
                 switch (eres)
@@ -242,7 +253,7 @@
 msg_producer::produce(_p_args* args) throw (rhm::journal::jexception)
 {
     return produce(args->_jc, args->_min_msg_size, args->_max_msg_size, args->_min_xid_size,
-            args->_max_xid_size, args->_transient);
+            args->_max_xid_size, args->_transient, args->_external);
 }
 
 void

Modified: store/trunk/cpp/tests/jrnl/msg_producer.hpp
===================================================================
--- store/trunk/cpp/tests/jrnl/msg_producer.hpp	2007-11-06 19:49:07 UTC (rev 1256)
+++ store/trunk/cpp/tests/jrnl/msg_producer.hpp	2007-11-06 21:52:47 UTC (rev 1257)
@@ -53,10 +53,11 @@
         size_t _min_xid_size;
         size_t _max_xid_size;
         bool _transient;
+        bool _external;
         u_int32_t _err;
         _p_args(rhm::journal::jcntl& jc, u_int32_t num_msgs, size_t min_msg_size,
                 size_t max_msg_size, bool auto_dequeue, size_t min_xid_size,
-                size_t max_xid_size, bool transient);
+                size_t max_xid_size, bool transient, bool external);
     };
 
     static const char* iores_str[];
@@ -92,8 +93,8 @@
     void finalize();
 
     u_int32_t produce(rhm::journal::jcntl& jc, const size_t minMsgSize, const size_t maxMsgSize,
-            const size_t minXidSize, const size_t maxXidSize, const bool transient)
-            throw (rhm::journal::jexception);
+            const size_t minXidSize, const size_t maxXidSize, const bool transient,
+            const bool external) throw (rhm::journal::jexception);
     u_int32_t produce(_p_args* args) throw (rhm::journal::jexception);
     void aio_callback(rhm::journal::jcntl* jc, u_int32_t num_dtoks);
 

Modified: store/trunk/cpp/tests/jrnl/rtest
===================================================================
--- store/trunk/cpp/tests/jrnl/rtest	2007-11-06 19:49:07 UTC (rev 1256)
+++ store/trunk/cpp/tests/jrnl/rtest	2007-11-06 21:52:47 UTC (rev 1257)
@@ -37,21 +37,21 @@
 W_DO_TEST=T
 W_TEST_FILE=wtests.csv
 W_TEST_START=0
-W_TEST_STOP=218
+W_TEST_STOP=234
 W_NITER=5
 
 # Read test
 R_DO_TEST=T
 R_TEST_FILE=rtests.csv
 R_TEST_START=0
-R_TEST_STOP=126
+R_TEST_STOP=164
 R_NITER=5
 
 # Read-Write test
 RW_DO_TEST=T
 RW_TEST_FILE=rwtests.csv
 RW_TEST_START=0
-RW_TEST_STOP=170
+RW_TEST_STOP=186
 RW_NITER=5
 
 RM=rm

Modified: store/trunk/cpp/tests/jrnl/rtests.csv
===================================================================
--- store/trunk/cpp/tests/jrnl/rtests.csv	2007-11-06 19:49:07 UTC (rev 1256)
+++ store/trunk/cpp/tests/jrnl/rtests.csv	2007-11-06 21:52:47 UTC (rev 1257)
@@ -1,169 +1,185 @@
-,,,,,,,"Msg size",,"Xid size",,,,"enq-size",,"deq-size",,"txn-size",,
-"Test #","tf","pf","amn","mn incr","#msgs","ms incr","Min","Max","Min","Max","auto-deq","transient","bytes","dblks","bytes","dblks","bytes","dblks","comment"
-,,,,,,,,,,,,,,,,,,,
-"Initialize only",,,,,,,,,,,,,,,,,,,
-0,"L",0,0,0,0,0,0,0,0,0,FALSE,FALSE,44,1,0,0,0,0,"No messages – journal creation/initialization only"
-,,,,,,,,,,,,,,,,,,,
-"Simple message  combinations of persistent/deq transientueued/non-dequeued, transactional/non-transactional",,,,,,,,,,,,,,,,,,,
-1,"L",1,1,0,1,0,10,10,0,0,FALSE,FALSE,54,1,0,0,0,0,"1 * 10-byte message"
-2,"L",1,10,0,10,0,10,10,0,0,FALSE,FALSE,54,1,0,0,0,0,"10 * 10-byte message"
-3,"L",1,1,0,1,0,10,10,0,0,FALSE,TRUE,54,1,0,0,0,0,"1 * 10-byte message [transient]"
-4,"L",1,10,0,10,0,10,10,0,0,FALSE,TRUE,54,1,0,0,0,0,"10 * 10-byte message [transient]"
-5,"L",1,1,0,1,0,10,10,10,10,FALSE,FALSE,64,1,0,0,0,0,"1 * 10-byte message [txn]"
-6,"L",1,10,0,10,0,10,10,10,10,FALSE,FALSE,64,1,0,0,0,0,"10 * 10-byte message [txn]"
-7,"L",1,1,0,1,0,10,10,10,10,FALSE,TRUE,64,1,0,0,0,0,"1 * 10-byte message [txn transient]"
-8,"L",1,10,0,10,0,10,10,10,10,FALSE,TRUE,64,1,0,0,0,0,"10 * 10-byte message [txn transient]"
-9,"L",1,1,0,1,0,10,10,0,0,TRUE,FALSE,54,1,32,1,0,0,"1 * 10-byte message [deq]"
-10,"L",1,10,0,10,0,10,10,0,0,TRUE,FALSE,54,1,32,1,0,0,"10 * 10-byte message [deq]"
-11,"L",1,1,0,1,0,10,10,0,0,TRUE,TRUE,54,1,32,1,0,0,"1 * 10-byte message [deq transient]"
-12,"L",1,10,0,10,0,10,10,0,0,TRUE,TRUE,54,1,32,1,0,0,"10 * 10-byte message [deq transient]"
-13,"L",1,1,0,1,0,10,10,10,10,TRUE,FALSE,64,1,54,1,46,1,"1 * 10-byte message [deq txn]"
-14,"L",1,10,0,10,0,10,10,10,10,TRUE,FALSE,64,1,54,1,46,1,"10 * 10-byte message [deq txn]"
-15,"L",1,1,0,1,0,10,10,10,10,TRUE,TRUE,64,1,54,1,46,1,"1 * 10-byte message [txn deq transient]"
-16,"L",1,10,0,10,0,10,10,10,10,TRUE,TRUE,64,1,54,1,46,1,"10 * 10-byte message [txn deq transient]"
-,,,,,,,,,,,,,,,,,,,
-"Transition from one d-block to two per message",,,,,,,,,,,,,,,,,,,
-17,"L",1,10,0,10,0,84,84,0,0,FALSE,FALSE,128,1,0,0,0,0,"1 dblk exact fit"
-18,"L",1,10,0,10,1,85,85,0,0,FALSE,FALSE,129,2,0,0,0,0,"1 dblk + 1 byte"
-19,"L",1,10,0,10,0,58,58,26,26,FALSE,FALSE,128,1,0,0,0,0,"1 dblk exact fit [txn]"
-20,"L",1,10,0,10,1,59,59,26,26,FALSE,FALSE,129,2,0,0,0,0,"1 dblk + 1 byte [txn]"
-,,,,,,,,,,,,,,,,,,,
-"Transition from one s-block to two per message",,,,,,,,,,,,,,,,,,,
-21,"L",1,10,0,10,0,468,468,0,0,FALSE,FALSE,512,4,0,0,0,0,"1 sblk exact fit"
-22,"L",1,10,0,10,1,469,469,0,0,FALSE,FALSE,513,5,0,0,0,0,"1 sblk + 1 byte"
-23,"L",1,10,0,10,0,442,442,26,26,FALSE,FALSE,512,4,0,0,0,0,"1 sblk exact fit [txn]"
-24,"L",1,10,0,10,1,443,443,26,26,FALSE,FALSE,513,5,0,0,0,0,"1 sblk + 1 byte [txn]"
-,,,,,,,,,,,,,,,,,,,
-"Transition from first page to second",,,,,,,,,,,,,,,,,,,
-25,"L",1,8,0,8,0,8148,8148,0,0,FALSE,FALSE,8192,64,0,0,0,0,"1/8 page"
-26,"L",1,8,1,9,0,8148,8148,0,0,FALSE,FALSE,8192,64,0,0,0,0,"1/8 page"
-27,"L",1,8,0,8,1,8149,8149,0,0,FALSE,FALSE,8193,65,0,0,0,0,"1/8 page + 1 byte"
-28,"L",1,8,0,8,0,7892,7892,256,256,FALSE,FALSE,8192,64,0,0,0,0,"1/8 page [txn]"
-29,"L",1,8,1,9,0,7892,7892,256,256,FALSE,FALSE,8192,64,0,0,0,0,"1/8 page [txn]"
-30,"L",1,8,0,8,1,7893,7893,256,256,FALSE,FALSE,8193,65,0,0,0,0,"1/8 page + 1 byte [txn]"
-31,"L",1,8,0,8,0,8020,8020,0,0,TRUE,FALSE,8064,63,32,1,0,0,"1/8 page incl deq [deq]"
-32,"L",1,8,1,9,0,8020,8020,0,0,TRUE,FALSE,8064,63,32,1,0,0,"1/8 page incl deq [deq]"
-33,"L",1,8,0,8,1,8021,8021,0,0,TRUE,FALSE,8065,64,32,1,0,0,"1/8 page incl deq + 1 byte [deq]"
-34,"L",1,8,0,8,0,7124,7124,256,256,TRUE,FALSE,7424,58,300,3,292,3,"1/8 page incl deq & txn [deq txn]"
-35,"L",1,8,1,9,0,7124,7124,256,256,TRUE,FALSE,7424,58,300,3,292,3,"1/8 page incl deq & txn [deq txn]"
-36,"L",1,8,0,8,1,7125,7125,256,256,TRUE,FALSE,7425,59,300,3,292,3,"1/8 page incl deq & txn + 1 byte [deq txn]"
-,,,,,,,,,,,,,,,,,,,
-"Page cache rollover (from page 16 back to page 0)",,,,,,,,,,,,,,,,,,,
-37,"L",1,16,0,16,0,65492,65492,0,0,FALSE,FALSE,65536,512,0,0,0,0,"1 page"
-38,"L",1,16,1,17,0,65492,65492,0,0,FALSE,FALSE,65536,512,0,0,0,0,"1 page"
-39,"L",1,16,0,16,1,65493,65493,0,0,FALSE,FALSE,65537,513,0,0,0,0,"1 page + 1 byte"
-40,"L",1.5,11,0,11,0,98260,98260,0,0,FALSE,FALSE,98304,768,0,0,0,0,"1.5 pages"
-41,"L",1,16,0,16,0,65236,65236,256,256,FALSE,FALSE,65536,512,0,0,0,0,"1 page [txn]"
-42,"L",1,16,1,17,0,65236,65236,256,256,FALSE,FALSE,65536,512,0,0,0,0,"1 page [txn]"
-43,"L",1,16,0,16,1,65237,65237,256,256,FALSE,FALSE,65537,513,0,0,0,0,"1 page + 1 byte [txn]"
-44,"L",1.5,11,0,11,0,98004,98004,256,256,FALSE,FALSE,98304,768,0,0,0,0,"1.5 pages [txn]"
-45,"L",1,16,0,16,0,65364,65364,0,0,TRUE,FALSE,65408,511,32,1,0,0,"1 page incl deq [deq]"
-46,"L",1,16,1,17,0,65364,65364,0,0,TRUE,FALSE,65408,511,32,1,0,0,"1 page incl deq [deq]"
-47,"L",1,16,0,16,1,65365,65365,0,0,TRUE,FALSE,65409,512,32,1,0,0,"1 page incl deq + 1 byte [deq]"
-48,"L",1.5,11,0,11,0,98132,98132,0,0,TRUE,FALSE,98176,767,32,1,0,0,"1.5 pages incl deq [deq]"
-49,"L",1,16,0,16,0,64468,64468,256,256,TRUE,FALSE,64768,506,300,3,292,3,"1 page incl deq & txn [deq txn]"
-50,"L",1,16,1,17,0,64468,64468,256,256,TRUE,FALSE,64768,506,300,3,292,3,"1 page incl deq & txn [deq txn]"
-51,"L",1,16,0,16,1,64469,64469,256,256,TRUE,FALSE,64769,507,300,3,292,3,"1 page incl deq & txn + 1 byte [deq txn]"
-52,"L",1.5,11,0,11,0,97236,97236,256,256,TRUE,FALSE,97536,762,300,3,292,3,"1.5 pages incl deq & txn [deq txn]"
-,,,,,,,,,,,,,,,,,,,
-"File transition (from file 0000 to 0001)",,,,,,,,,,,,,,,,,,,
-53,"L",1,24,0,24,0,65492,65492,0,0,FALSE,FALSE,65536,512,0,0,0,0,"1 page"
-54,"L",1,24,1,25,0,65492,65492,0,0,FALSE,FALSE,65536,512,0,0,0,0,"1 page"
-55,"L",1,24,0,24,1,65493,65493,0,0,FALSE,FALSE,65537,513,0,0,0,0,"1 page + 1 byte"
-56,"L",2.5,10,0,10,0,163796,163796,0,0,FALSE,FALSE,163840,1280,0,0,0,0,"2.5 pages"
-57,"L",1,24,0,24,0,65236,65236,256,256,FALSE,FALSE,65536,512,0,0,0,0,"1 page [txn]"
-58,"L",1,24,1,25,0,65236,65236,256,256,FALSE,FALSE,65536,512,0,0,0,0,"1 page [txn]"
-59,"L",1,24,0,24,1,65237,65237,256,256,FALSE,FALSE,65537,513,0,0,0,0,"1 page + 1 byte [txn]"
-60,"L",2.5,10,0,10,0,163540,163540,256,256,FALSE,FALSE,163840,1280,0,0,0,0,"2.5 pages [txn]"
-61,"L",1,24,0,24,0,65364,65364,0,0,TRUE,FALSE,65408,511,32,1,0,0,"1 page incl deq [deq]"
-62,"L",1,24,1,25,0,65364,65364,0,0,TRUE,FALSE,65408,511,32,1,0,0,"1 page incl deq [deq]"
-63,"L",1,24,0,24,1,65365,65365,0,0,TRUE,FALSE,65409,512,32,1,0,0,"1 page incl deq + 1 byte [deq]"
-64,"L",2.5,10,0,10,0,163668,163668,0,0,TRUE,FALSE,163712,1279,32,1,0,0,"2.5 pages incl deq [deq]"
-65,"L",1,24,0,24,0,64468,64468,256,256,TRUE,FALSE,64768,506,300,3,292,3,"1 page incl deq & txn [deq txn]"
-66,"L",1,24,1,25,0,64468,64468,256,256,TRUE,FALSE,64768,506,300,3,292,3,"1 page incl deq & txn [deq txn]"
-67,"L",1,24,0,24,1,64469,64469,256,256,TRUE,FALSE,64769,507,300,3,292,3,"1 page incl deq & txn + 1 byte [deq txn]"
-68,"L",2.5,10,0,10,0,162772,162772,256,256,TRUE,FALSE,163072,1274,300,3,292,3,"2.5 pages incl deq & txn [deq txn]"
-,,,,,,,,,,,,,,,,,,,
-"File rollover (from file 0007 to 0000) - RHM_WRONLY req'd for auto-dequeue == FALSE",,,,,,,,,,,,,,,,,,,
-69,"L",0.5,16,0,16,0,786388,786388,0,0,FALSE,FALSE,786432,6144,0,0,0,0,"12 pages = ½ file"
-70,"L",0.5,16,0,16,0,786132,786132,256,256,FALSE,FALSE,786432,6144,0,0,0,0,"12 pages = ½ file"
-,,,,,,,,,,,,,,,,,,,
-"Multi-page messages (large messages) - tests various paths in encoder.",,,,,,,,,,,,,,,,,,,
-71,"L",1,8,0,8,0,65492,65492,0,0,FALSE,FALSE,65536,512,0,0,0,0,"data 1 page"
-72,"L",1,8,0,8,1,65493,65493,0,0,FALSE,FALSE,65537,513,0,0,0,0,"data 1 page + 1 byte (tail split; 1 byte over page boundary)"
-73,"L",1,8,0,8,11,65503,65503,0,0,FALSE,FALSE,65547,513,0,0,0,0,"data 1 page + 11 bytes (tail split; 11 bytes over page boundary)"
-74,"L",1,8,0,8,12,65504,65504,0,0,FALSE,FALSE,65548,513,0,0,0,0,"data 1 page + 12 bytes (tail separated exactly onto next page)"
-75,"L",1,8,0,8,13,65505,65505,0,0,FALSE,FALSE,65549,513,0,0,0,0,"data 1 page + 13 bytes (data split; 1 byte over page boundary)"
-76,"L",1,8,0,8,0,65236,65236,256,256,FALSE,FALSE,65536,512,0,0,0,0,"data 1 page [txn]"
-77,"L",1,8,0,8,1,65237,65237,256,256,FALSE,FALSE,65537,513,0,0,0,0,"data 1 page + 1 byte (tail split; 1 byte over page boundary) [txn]"
-78,"L",1,8,0,8,11,65247,65247,256,256,FALSE,FALSE,65547,513,0,0,0,0,"data 1 page + 11 bytes (tail split; 11 bytes over page boundary) [txn]"
-79,"L",1,8,0,8,12,65248,65248,256,256,FALSE,FALSE,65548,513,0,0,0,0,"data 1 page + 12 bytes (tail separated exactly onto next page) [txn]"
-80,"L",1,8,0,8,13,65249,65249,256,256,FALSE,FALSE,65549,513,0,0,0,0,"data 1 page + 13 bytes (data split; 1 byte over page boundary) [txn]"
-81,"L",2,8,0,8,0,131028,131028,0,0,FALSE,FALSE,131072,1024,0,0,0,0,"data 2 pages"
-82,"L",2,8,0,8,1,131029,131029,0,0,FALSE,FALSE,131073,1025,0,0,0,0,"data 2 pages + 1 byte (tail split; 1 byte over page boundary)"
-83,"L",2,8,0,8,11,131039,131039,0,0,FALSE,FALSE,131083,1025,0,0,0,0,"data 2 pages + 11 bytes (tail split; 11 bytes over page boundary)"
-84,"L",2,8,0,8,12,131040,131040,0,0,FALSE,FALSE,131084,1025,0,0,0,0,"data 2 pages + 12 bytes (tail separated exactly onto next page)"
-85,"L",2,8,0,8,13,131041,131041,0,0,FALSE,FALSE,131085,1025,0,0,0,0,"data 2 pages + 13 bytes (data split; 1 byte over page boundary)"
-86,"L",2,8,0,8,0,130772,130772,256,256,FALSE,FALSE,131072,1024,0,0,0,0,"data 2 pages [txn]"
-87,"L",2,8,0,8,1,130773,130773,256,256,FALSE,FALSE,131073,1025,0,0,0,0,"data 2 pages + 1 byte (tail split; 1 byte over page boundary) [txn]"
-88,"L",2,8,0,8,11,130783,130783,256,256,FALSE,FALSE,131083,1025,0,0,0,0,"data 2 pages + 11 bytes (tail split; 11 bytes over page boundary) [txn]"
-89,"L",2,8,0,8,12,130784,130784,256,256,FALSE,FALSE,131084,1025,0,0,0,0,"data 2 pages + 12 bytes (tail separated exactly onto next page) [txn]"
-90,"L",2,8,0,8,13,130785,130785,256,256,FALSE,FALSE,131085,1025,0,0,0,0,"data 2 pages + 13 bytes (data split; 1 byte over page boundary) [txn]"
-91,"L",4,8,0,8,0,262100,262100,0,0,FALSE,FALSE,262144,2048,0,0,0,0,"data 4 pages"
-92,"L",4,8,0,8,1,262101,262101,0,0,FALSE,FALSE,262145,2049,0,0,0,0,"data 4 pages + 1 byte (tail split; 1 byte over page boundary)"
-93,"L",4,8,0,8,11,262111,262111,0,0,FALSE,FALSE,262155,2049,0,0,0,0,"data 4 pages + 11 bytes (tail split; 11 bytes over page boundary)"
-94,"L",4,8,0,8,12,262112,262112,0,0,FALSE,FALSE,262156,2049,0,0,0,0,"data 4 pages + 12 bytes (tail separated exactly onto next page)"
-95,"L",4,8,0,8,13,262113,262113,0,0,FALSE,FALSE,262157,2049,0,0,0,0,"data 4 pages + 13 bytes (data split; 1 byte over page boundary)"
-96,"L",4,8,0,8,0,261844,261844,256,256,FALSE,FALSE,262144,2048,0,0,0,0,"data 4 pages [txn]"
-97,"L",4,8,0,8,1,261845,261845,256,256,FALSE,FALSE,262145,2049,0,0,0,0,"data 4 pages + 1 byte (tail split; 1 byte over page boundary) [txn]"
-98,"L",4,8,0,8,11,261855,261855,256,256,FALSE,FALSE,262155,2049,0,0,0,0,"data 4 pages + 11 bytes (tail split; 11 bytes over page boundary) [txn]"
-99,"L",4,8,0,8,12,261856,261856,256,256,FALSE,FALSE,262156,2049,0,0,0,0,"data 4 pages + 12 bytes (tail separated exactly onto next page) [txn]"
-100,"L",4,8,0,8,13,261857,261857,256,256,FALSE,FALSE,262157,2049,0,0,0,0,"data 4 pages + 13 bytes (data split; 1 byte over page boundary) [txn]"
-101,"L",3.5,8,0,8,0,229332,229332,0,0,FALSE,FALSE,229376,1792,0,0,0,0,"data 3.5 pages"
-102,"L",3.5,8,0,8,1,229333,229333,0,0,FALSE,FALSE,229377,1793,0,0,0,0,"data 3.5 pages + 1 byte"
-103,"L",3.5,8,0,8,0,229076,229076,256,256,FALSE,FALSE,229376,1792,0,0,0,0,"data 3.5 pages [txn]"
-104,"L",3.5,8,0,8,1,229077,229077,256,256,FALSE,FALSE,229377,1793,0,0,0,0,"data 3.5 pages + 1 byte [txn]"
-105,"L",1,8,0,8,-1,10,10,65503,65503,FALSE,FALSE,65557,513,0,0,0,0,"xid 1 page – 1 byte; data 10 bytes (exact fit) [txn]"
-106,"L",1,8,0,8,0,10,10,65504,65504,FALSE,FALSE,65558,513,0,0,0,0,"xid 1 page; data 10 bytes (exact fit) [txn]"
-107,"L",1,8,0,8,1,10,10,65505,65505,FALSE,FALSE,65559,513,0,0,0,0,"xid 1 page + 1 byte; data 10 bytes (exact fit) [txn]"
-108,"L",2,8,0,8,-1,10,10,131039,131039,FALSE,FALSE,131093,1025,0,0,0,0,"xid 2 pages – 1 byte; data 10 bytes (exact fit) [txn]"
-109,"L",2,8,0,8,0,10,10,131040,131040,FALSE,FALSE,131094,1025,0,0,0,0,"xid 2 pages; data 10 bytes (exact fit) [txn]"
-110,"L",2,8,0,8,1,10,10,131041,131041,FALSE,FALSE,131095,1025,0,0,0,0,"xid 2 pages + 1 byte; data 10 bytes (exact fit) [txn]"
-111,"L",4,8,0,8,-1,10,10,262111,262111,FALSE,FALSE,262165,2049,0,0,0,0,"xid 4 pages – 1 byte; data 10 bytes (exact fit) [txn]"
-112,"L",4,8,0,8,0,10,10,262112,262112,FALSE,FALSE,262166,2049,0,0,0,0,"xid 4 pages; data 10 bytes (exact fit) [txn]"
-113,"L",4,8,0,8,1,10,10,262113,262113,FALSE,FALSE,262167,2049,0,0,0,0,"xid 4 pages + 1 byte; data 10 bytes (exact fit) [txn]"
-114,"L",3.5,8,0,8,0,10,10,229344,229344,FALSE,FALSE,229398,1793,0,0,0,0,"xid 3.5 pages; data 10 bytes (exact fit) [txn]"
-115,"L",3.5,8,0,8,1,10,10,229345,229345,FALSE,FALSE,229399,1793,0,0,0,0,"xid 3.5 pages + 1 byte; data 10 bytes (exact fit) [txn]"
-116,"L",1,8,0,8,-1,10,10,65503,65503,TRUE,FALSE,65557,513,65547,513,65539,513,"xid 1 page – 1 byte for enq rec; data 10 bytes (exact fit) [deq, txn]"
-117,"L",1,8,0,8,0,10,10,65504,65504,TRUE,FALSE,65558,513,65548,513,65540,513,"xid 1 page for enq rec; data 10 bytes (exact fit) [deq, txn]"
-118,"L",1,8,0,8,1,10,10,65505,65505,TRUE,FALSE,65559,513,65549,513,65541,513,"xid 1 page + 1 byte for enq rec; data 10 bytes (exact fit) [deq, txn]"
-119,"L",2,8,0,8,-1,10,10,131039,131039,TRUE,FALSE,131093,1025,131083,1025,131075,1025,"xid 2 pages – 1 byte for enq rec; data 10 bytes (exact fit) [deq, txn]"
-120,"L",2,8,0,8,0,10,10,131040,131040,TRUE,FALSE,131094,1025,131084,1025,131076,1025,"xid 2 pages for enq rec; data 10 bytes (exact fit) [deq, txn]"
-121,"L",2,8,0,8,1,10,10,131041,131041,TRUE,FALSE,131095,1025,131085,1025,131077,1025,"xid 2 pages + 1 byte for enq rec; data 10 bytes (exact fit) [deq, txn]"
-122,"L",4,8,0,8,-1,10,10,262111,262111,TRUE,FALSE,262165,2049,262155,2049,262147,2049,"xid 4 pages – 1 byte for enq rec; data 10 bytes (exact fit) [deq, txn]"
-123,"L",4,8,0,8,0,10,10,262112,262112,TRUE,FALSE,262166,2049,262156,2049,262148,2049,"xid 4 pages for enq rec; data 10 bytes (exact fit) [deq, txn]"
-124,"L",4,8,0,8,1,10,10,262113,262113,TRUE,FALSE,262167,2049,262157,2049,262149,2049,"xid 4 pages + 1 byte for enq rec; data 10 bytes (exact fit) [deq, txn]"
-125,"L",3.5,8,0,8,0,10,10,229344,229344,TRUE,FALSE,229398,1793,229388,1793,229380,1793,"xid 3.5 pages for enq rec; data 10 bytes (exact fit) [deq, txn]"
-126,"L",3.5,8,0,8,1,10,10,229345,229345,TRUE,FALSE,229399,1793,229389,1793,229381,1793,"xid 3.5 pages + 1 byte for enq rec; data 10 bytes (exact fit) [deq, txn]"
-127,"L",1,8,0,8,-1,10,10,65503,65503,TRUE,FALSE,65557,513,65547,513,65539,513,"xid 1 page – 1 byte for deq rec; data 10 bytes (exact fit) [deq, txn]"
-128,"L",1,8,0,8,0,10,10,65504,65504,TRUE,FALSE,65558,513,65548,513,65540,513,"xid 1 page for deq rec; data 10 bytes (exact fit) [deq, txn]"
-129,"L",1,8,0,8,1,10,10,65505,65505,TRUE,FALSE,65559,513,65549,513,65541,513,"xid 1 page + 1 byte for deq rec; data 10 bytes (exact fit) [deq, txn]"
-130,"L",2,8,0,8,-1,10,10,131039,131039,TRUE,FALSE,131093,1025,131083,1025,131075,1025,"xid 2 pages – 1 byte for deq rec; data 10 bytes (exact fit) [deq, txn]"
-131,"L",2,8,0,8,0,10,10,131040,131040,TRUE,FALSE,131094,1025,131084,1025,131076,1025,"xid 2 pages for deq rec; data 10 bytes (exact fit) [deq, txn]"
-132,"L",2,8,0,8,1,10,10,131041,131041,TRUE,FALSE,131095,1025,131085,1025,131077,1025,"xid 2 pages + 1 byte for deq rec; data 10 bytes (exact fit) [deq, txn]"
-133,"L",4,8,0,8,-1,10,10,262111,262111,TRUE,FALSE,262165,2049,262155,2049,262147,2049,"xid 4 pages – 1 byte for deq rec; data 10 bytes (exact fit) [deq, txn]"
-134,"L",4,8,0,8,0,10,10,262112,262112,TRUE,FALSE,262166,2049,262156,2049,262148,2049,"xid 4 pages for deq rec; data 10 bytes (exact fit) [deq, txn]"
-135,"L",4,8,0,8,1,10,10,262113,262113,TRUE,FALSE,262167,2049,262157,2049,262149,2049,"xid 4 pages + 1 byte for deq rec; data 10 bytes (exact fit) [deq, txn]"
-136,"L",3.5,8,0,8,0,10,10,229344,229344,TRUE,FALSE,229398,1793,229388,1793,229380,1793,"xid 3.5 pages for deq rec; data 10 bytes (exact fit) [deq, txn]"
-137,"L",3.5,8,0,8,1,10,10,229345,229345,TRUE,FALSE,229399,1793,229389,1793,229381,1793,"xid 3.5 pages + 1 byte for deq rec; data 10 bytes (exact fit) [deq, txn]"
-138,"L",1,8,0,8,-1,10,10,65511,65511,TRUE,FALSE,65565,513,65555,513,65547,513,"xid 1 page – 1 byte for txn rec; data 10 bytes (exact fit) [deq, txn]"
-139,"L",1,8,0,8,0,10,10,65512,65512,TRUE,FALSE,65566,513,65556,513,65548,513,"xid 1 page for  txn rec; data 10 bytes (exact fit) [deq, txn]"
-140,"L",1,8,0,8,1,10,10,65513,65513,TRUE,FALSE,65567,513,65557,513,65549,513,"xid 1 page + 1 byte for  txn rec; data 10 bytes (exact fit) [deq, txn]"
-141,"L",2,8,0,8,-1,10,10,131047,131047,TRUE,FALSE,131101,1025,131091,1025,131083,1025,"xid 2 pages – 1 byte for  txn rec; data 10 bytes (exact fit) [deq, txn]"
-142,"L",2,8,0,8,0,10,10,131048,131048,TRUE,FALSE,131102,1025,131092,1025,131084,1025,"xid 2 pages for  txn rec; data 10 bytes (exact fit) [deq, txn]"
-143,"L",2,8,0,8,1,10,10,131049,131049,TRUE,FALSE,131103,1025,131093,1025,131085,1025,"xid 2 pages + 1 byte for  txn rec; data 10 bytes (exact fit) [deq, txn]"
-144,"L",4,8,0,8,-1,10,10,262119,262119,TRUE,FALSE,262173,2049,262163,2049,262155,2049,"xid 4 pages – 1 byte for  txn rec; data 10 bytes (exact fit) [deq, txn]"
-145,"L",4,8,0,8,0,10,10,262120,262120,TRUE,FALSE,262174,2049,262164,2049,262156,2049,"xid 4 pages for  txn rec; data 10 bytes (exact fit) [deq, txn]"
-146,"L",4,8,0,8,1,10,10,262121,262121,TRUE,FALSE,262175,2049,262165,2049,262157,2049,"xid 4 pages + 1 byte for  txn rec; data 10 bytes (exact fit) [deq, txn]"
-147,"L",3.5,8,0,8,0,10,10,229352,229352,TRUE,FALSE,229406,1793,229396,1793,229388,1793,"xid 3.5 pages for  txn rec; data 10 bytes (exact fit) [deq, txn]"
-148,"L",3.5,8,0,8,1,10,10,229353,229353,TRUE,FALSE,229407,1793,229397,1793,229389,1793,"xid 3.5 pages + 1 byte for  txn rec; data 10 bytes (exact fit) [deq, txn]"
+,,,,,,,"Msg size",,"Xid size",,,,,"enq-size",,"deq-size",,"txn-size",,
+"Test #","tf","pf","amn","mn incr","#msgs","ms incr","Min","Max","Min","Max","auto-deq","transient","extern","bytes","dblks","bytes","dblks","bytes","dblks","comment"
+,,,,,,,,,,,,,,,,,,,,
+"Initialize only",,,,,,,,,,,,,,,,,,,,
+0,"L",0,0,0,0,0,0,0,0,0,FALSE,FALSE,FALSE,44,1,0,0,0,0,"No messages – journal creation/initialization only"
+,,,,,,,,,,,,,,,,,,,,
+"Simple message  combinations of persistent/deq transientueued/non-dequeued, transactional/non-transactional",,,,,,,,,,,,,,,,,,,,
+1,"L",1,1,0,1,0,10,10,0,0,FALSE,FALSE,FALSE,54,1,0,0,0,0,"1 * 10-byte message"
+2,"L",1,10,0,10,0,10,10,0,0,FALSE,FALSE,FALSE,54,1,0,0,0,0,"10 * 10-byte message"
+3,"L",1,1,0,1,0,10,10,0,0,FALSE,TRUE,FALSE,54,1,0,0,0,0,"1 * 10-byte message [transient]"
+4,"L",1,10,0,10,0,10,10,0,0,FALSE,TRUE,FALSE,54,1,0,0,0,0,"10 * 10-byte message [transient]"
+5,"L",1,1,0,1,0,10,10,10,10,FALSE,FALSE,FALSE,64,1,0,0,0,0,"1 * 10-byte message [txn]"
+6,"L",1,10,0,10,0,10,10,10,10,FALSE,FALSE,FALSE,64,1,0,0,0,0,"10 * 10-byte message [txn]"
+7,"L",1,1,0,1,0,10,10,10,10,FALSE,TRUE,FALSE,64,1,0,0,0,0,"1 * 10-byte message [txn transient]"
+8,"L",1,10,0,10,0,10,10,10,10,FALSE,TRUE,FALSE,64,1,0,0,0,0,"10 * 10-byte message [txn transient]"
+9,"L",1,1,0,1,0,10,10,0,0,TRUE,FALSE,FALSE,54,1,32,1,0,0,"1 * 10-byte message [deq]"
+10,"L",1,10,0,10,0,10,10,0,0,TRUE,FALSE,FALSE,54,1,32,1,0,0,"10 * 10-byte message [deq]"
+11,"L",1,1,0,1,0,10,10,0,0,TRUE,TRUE,FALSE,54,1,32,1,0,0,"1 * 10-byte message [deq transient]"
+12,"L",1,10,0,10,0,10,10,0,0,TRUE,TRUE,FALSE,54,1,32,1,0,0,"10 * 10-byte message [deq transient]"
+13,"L",1,1,0,1,0,10,10,10,10,TRUE,FALSE,FALSE,64,1,54,1,46,1,"1 * 10-byte message [deq txn]"
+14,"L",1,10,0,10,0,10,10,10,10,TRUE,FALSE,FALSE,64,1,54,1,46,1,"10 * 10-byte message [deq txn]"
+15,"L",1,1,0,1,0,10,10,10,10,TRUE,TRUE,FALSE,64,1,54,1,46,1,"1 * 10-byte message [txn deq transient]"
+16,"L",1,10,0,10,0,10,10,10,10,TRUE,TRUE,FALSE,64,1,54,1,46,1,"10 * 10-byte message [txn deq transient]"
+17,"L",1,1,0,1,0,10,10,0,0,FALSE,FALSE,TRUE,54,1,0,0,0,0,"1 * 10-byte message [extern]"
+18,"L",1,10,0,10,0,10,10,0,0,FALSE,FALSE,TRUE,54,1,0,0,0,0,"10 * 10-byte message [extern]"
+19,"L",1,1,0,1,0,10,10,0,0,FALSE,TRUE,TRUE,54,1,0,0,0,0,"1 * 10-byte message [transient extern]"
+20,"L",1,10,0,10,0,10,10,0,0,FALSE,TRUE,TRUE,54,1,0,0,0,0,"10 * 10-byte message [transient extern]"
+21,"L",1,1,0,1,0,10,10,10,10,FALSE,FALSE,TRUE,64,1,0,0,0,0,"1 * 10-byte message [txn extern]"
+22,"L",1,10,0,10,0,10,10,10,10,FALSE,FALSE,TRUE,64,1,0,0,0,0,"10 * 10-byte message [txn extern]"
+23,"L",1,1,0,1,0,10,10,10,10,FALSE,TRUE,TRUE,64,1,0,0,0,0,"1 * 10-byte message [txn transient extern]"
+24,"L",1,10,0,10,0,10,10,10,10,FALSE,TRUE,TRUE,64,1,0,0,0,0,"10 * 10-byte message [txn transient extern]"
+25,"L",1,1,0,1,0,10,10,0,0,TRUE,FALSE,TRUE,54,1,32,1,0,0,"1 * 10-byte message [deq extern]"
+26,"L",1,10,0,10,0,10,10,0,0,TRUE,FALSE,TRUE,54,1,32,1,0,0,"10 * 10-byte message [deq extern]"
+27,"L",1,1,0,1,0,10,10,0,0,TRUE,TRUE,TRUE,54,1,32,1,0,0,"1 * 10-byte message [deq transient extern]"
+28,"L",1,10,0,10,0,10,10,0,0,TRUE,TRUE,TRUE,54,1,32,1,0,0,"10 * 10-byte message [deq transient extern]"
+29,"L",1,1,0,1,0,10,10,10,10,TRUE,FALSE,TRUE,64,1,54,1,46,1,"1 * 10-byte message [deq txn extern]"
+30,"L",1,10,0,10,0,10,10,10,10,TRUE,FALSE,TRUE,64,1,54,1,46,1,"10 * 10-byte message [deq txn extern]"
+31,"L",1,1,0,1,0,10,10,10,10,TRUE,TRUE,TRUE,64,1,54,1,46,1,"1 * 10-byte message [txn deq transient extern]"
+32,"L",1,10,0,10,0,10,10,10,10,TRUE,TRUE,TRUE,64,1,54,1,46,1,"10 * 10-byte message [txn deq transient extern]"
+,,,,,,,,,,,,,,,,,,,,
+"Transition from one d-block to two per message",,,,,,,,,,,,,,,,,,,,
+33,"L",1,10,0,10,0,84,84,0,0,FALSE,FALSE,FALSE,128,1,0,0,0,0,"1 dblk exact fit"
+34,"L",1,10,0,10,1,85,85,0,0,FALSE,FALSE,FALSE,129,2,0,0,0,0,"1 dblk + 1 byte"
+35,"L",1,10,0,10,0,58,58,26,26,FALSE,FALSE,FALSE,128,1,0,0,0,0,"1 dblk exact fit [txn]"
+36,"L",1,10,0,10,1,59,59,26,26,FALSE,FALSE,FALSE,129,2,0,0,0,0,"1 dblk + 1 byte [txn]"
+,,,,,,,,,,,,,,,,,,,,
+"Transition from one s-block to two per message",,,,,,,,,,,,,,,,,,,,
+37,"L",1,10,0,10,0,468,468,0,0,FALSE,FALSE,FALSE,512,4,0,0,0,0,"1 sblk exact fit"
+38,"L",1,10,0,10,1,469,469,0,0,FALSE,FALSE,FALSE,513,5,0,0,0,0,"1 sblk + 1 byte"
+39,"L",1,10,0,10,0,442,442,26,26,FALSE,FALSE,FALSE,512,4,0,0,0,0,"1 sblk exact fit [txn]"
+40,"L",1,10,0,10,1,443,443,26,26,FALSE,FALSE,FALSE,513,5,0,0,0,0,"1 sblk + 1 byte [txn]"
+,,,,,,,,,,,,,,,,,,,,
+"Transition from first page to second",,,,,,,,,,,,,,,,,,,,
+41,"L",1,8,0,8,0,8148,8148,0,0,FALSE,FALSE,FALSE,8192,64,0,0,0,0,"1/8 page"
+42,"L",1,8,1,9,0,8148,8148,0,0,FALSE,FALSE,FALSE,8192,64,0,0,0,0,"1/8 page"
+43,"L",1,8,0,8,1,8149,8149,0,0,FALSE,FALSE,FALSE,8193,65,0,0,0,0,"1/8 page + 1 byte"
+44,"L",1,8,0,8,0,7892,7892,256,256,FALSE,FALSE,FALSE,8192,64,0,0,0,0,"1/8 page [txn]"
+45,"L",1,8,1,9,0,7892,7892,256,256,FALSE,FALSE,FALSE,8192,64,0,0,0,0,"1/8 page [txn]"
+46,"L",1,8,0,8,1,7893,7893,256,256,FALSE,FALSE,FALSE,8193,65,0,0,0,0,"1/8 page + 1 byte [txn]"
+47,"L",1,8,0,8,0,8020,8020,0,0,TRUE,FALSE,FALSE,8064,63,32,1,0,0,"1/8 page incl deq [deq]"
+48,"L",1,8,1,9,0,8020,8020,0,0,TRUE,FALSE,FALSE,8064,63,32,1,0,0,"1/8 page incl deq [deq]"
+49,"L",1,8,0,8,1,8021,8021,0,0,TRUE,FALSE,FALSE,8065,64,32,1,0,0,"1/8 page incl deq + 1 byte [deq]"
+50,"L",1,8,0,8,0,7124,7124,256,256,TRUE,FALSE,FALSE,7424,58,300,3,292,3,"1/8 page incl deq & txn [deq txn]"
+51,"L",1,8,1,9,0,7124,7124,256,256,TRUE,FALSE,FALSE,7424,58,300,3,292,3,"1/8 page incl deq & txn [deq txn]"
+52,"L",1,8,0,8,1,7125,7125,256,256,TRUE,FALSE,FALSE,7425,59,300,3,292,3,"1/8 page incl deq & txn + 1 byte [deq txn]"
+,,,,,,,,,,,,,,,,,,,,
+"Page cache rollover (from page 16 back to page 0)",,,,,,,,,,,,,,,,,,,,
+53,"L",1,16,0,16,0,65492,65492,0,0,FALSE,FALSE,FALSE,65536,512,0,0,0,0,"1 page"
+54,"L",1,16,1,17,0,65492,65492,0,0,FALSE,FALSE,FALSE,65536,512,0,0,0,0,"1 page"
+55,"L",1,16,0,16,1,65493,65493,0,0,FALSE,FALSE,FALSE,65537,513,0,0,0,0,"1 page + 1 byte"
+56,"L",1.5,11,0,11,0,98260,98260,0,0,FALSE,FALSE,FALSE,98304,768,0,0,0,0,"1.5 pages"
+57,"L",1,16,0,16,0,65236,65236,256,256,FALSE,FALSE,FALSE,65536,512,0,0,0,0,"1 page [txn]"
+58,"L",1,16,1,17,0,65236,65236,256,256,FALSE,FALSE,FALSE,65536,512,0,0,0,0,"1 page [txn]"
+59,"L",1,16,0,16,1,65237,65237,256,256,FALSE,FALSE,FALSE,65537,513,0,0,0,0,"1 page + 1 byte [txn]"
+60,"L",1.5,11,0,11,0,98004,98004,256,256,FALSE,FALSE,FALSE,98304,768,0,0,0,0,"1.5 pages [txn]"
+61,"L",1,16,0,16,0,65364,65364,0,0,TRUE,FALSE,FALSE,65408,511,32,1,0,0,"1 page incl deq [deq]"
+62,"L",1,16,1,17,0,65364,65364,0,0,TRUE,FALSE,FALSE,65408,511,32,1,0,0,"1 page incl deq [deq]"
+63,"L",1,16,0,16,1,65365,65365,0,0,TRUE,FALSE,FALSE,65409,512,32,1,0,0,"1 page incl deq + 1 byte [deq]"
+64,"L",1.5,11,0,11,0,98132,98132,0,0,TRUE,FALSE,FALSE,98176,767,32,1,0,0,"1.5 pages incl deq [deq]"
+65,"L",1,16,0,16,0,64468,64468,256,256,TRUE,FALSE,FALSE,64768,506,300,3,292,3,"1 page incl deq & txn [deq txn]"
+66,"L",1,16,1,17,0,64468,64468,256,256,TRUE,FALSE,FALSE,64768,506,300,3,292,3,"1 page incl deq & txn [deq txn]"
+67,"L",1,16,0,16,1,64469,64469,256,256,TRUE,FALSE,FALSE,64769,507,300,3,292,3,"1 page incl deq & txn + 1 byte [deq txn]"
+68,"L",1.5,11,0,11,0,97236,97236,256,256,TRUE,FALSE,FALSE,97536,762,300,3,292,3,"1.5 pages incl deq & txn [deq txn]"
+,,,,,,,,,,,,,,,,,,,,
+"File transition (from file 0000 to 0001)",,,,,,,,,,,,,,,,,,,,
+69,"L",1,24,0,24,0,65492,65492,0,0,FALSE,FALSE,FALSE,65536,512,0,0,0,0,"1 page"
+70,"L",1,24,1,25,0,65492,65492,0,0,FALSE,FALSE,FALSE,65536,512,0,0,0,0,"1 page"
+71,"L",1,24,0,24,1,65493,65493,0,0,FALSE,FALSE,FALSE,65537,513,0,0,0,0,"1 page + 1 byte"
+72,"L",2.5,10,0,10,0,163796,163796,0,0,FALSE,FALSE,FALSE,163840,1280,0,0,0,0,"2.5 pages"
+73,"L",1,24,0,24,0,65236,65236,256,256,FALSE,FALSE,FALSE,65536,512,0,0,0,0,"1 page [txn]"
+74,"L",1,24,1,25,0,65236,65236,256,256,FALSE,FALSE,FALSE,65536,512,0,0,0,0,"1 page [txn]"
+75,"L",1,24,0,24,1,65237,65237,256,256,FALSE,FALSE,FALSE,65537,513,0,0,0,0,"1 page + 1 byte [txn]"
+76,"L",2.5,10,0,10,0,163540,163540,256,256,FALSE,FALSE,FALSE,163840,1280,0,0,0,0,"2.5 pages [txn]"
+77,"L",1,24,0,24,0,65364,65364,0,0,TRUE,FALSE,FALSE,65408,511,32,1,0,0,"1 page incl deq [deq]"
+78,"L",1,24,1,25,0,65364,65364,0,0,TRUE,FALSE,FALSE,65408,511,32,1,0,0,"1 page incl deq [deq]"
+79,"L",1,24,0,24,1,65365,65365,0,0,TRUE,FALSE,FALSE,65409,512,32,1,0,0,"1 page incl deq + 1 byte [deq]"
+80,"L",2.5,10,0,10,0,163668,163668,0,0,TRUE,FALSE,FALSE,163712,1279,32,1,0,0,"2.5 pages incl deq [deq]"
+81,"L",1,24,0,24,0,64468,64468,256,256,TRUE,FALSE,FALSE,64768,506,300,3,292,3,"1 page incl deq & txn [deq txn]"
+82,"L",1,24,1,25,0,64468,64468,256,256,TRUE,FALSE,FALSE,64768,506,300,3,292,3,"1 page incl deq & txn [deq txn]"
+83,"L",1,24,0,24,1,64469,64469,256,256,TRUE,FALSE,FALSE,64769,507,300,3,292,3,"1 page incl deq & txn + 1 byte [deq txn]"
+84,"L",2.5,10,0,10,0,162772,162772,256,256,TRUE,FALSE,FALSE,163072,1274,300,3,292,3,"2.5 pages incl deq & txn [deq txn]"
+,,,,,,,,,,,,,,,,,,,,
+"File rollover (from file 0007 to 0000) - RHM_WRONLY req'd for auto-dequeue == FALSE",,,,,,,,,,,,,,,,,,,,
+85,"L",0.5,16,0,16,0,786388,786388,0,0,FALSE,FALSE,FALSE,786432,6144,0,0,0,0,"12 pages = ½ file"
+86,"L",0.5,16,0,16,0,786132,786132,256,256,FALSE,FALSE,FALSE,786432,6144,0,0,0,0,"12 pages = ½ file"
+,,,,,,,,,,,,,,,,,,,,
+"Multi-page messages (large messages) - tests various paths in encoder.",,,,,,,,,,,,,,,,,,,,
+87,"L",1,8,0,8,0,65492,65492,0,0,FALSE,FALSE,FALSE,65536,512,0,0,0,0,"data 1 page"
+88,"L",1,8,0,8,1,65493,65493,0,0,FALSE,FALSE,FALSE,65537,513,0,0,0,0,"data 1 page + 1 byte (tail split; 1 byte over page boundary)"
+89,"L",1,8,0,8,11,65503,65503,0,0,FALSE,FALSE,FALSE,65547,513,0,0,0,0,"data 1 page + 11 bytes (tail split; 11 bytes over page boundary)"
+90,"L",1,8,0,8,12,65504,65504,0,0,FALSE,FALSE,FALSE,65548,513,0,0,0,0,"data 1 page + 12 bytes (tail separated exactly onto next page)"
+91,"L",1,8,0,8,13,65505,65505,0,0,FALSE,FALSE,FALSE,65549,513,0,0,0,0,"data 1 page + 13 bytes (data split; 1 byte over page boundary)"
+92,"L",1,8,0,8,0,65236,65236,256,256,FALSE,FALSE,FALSE,65536,512,0,0,0,0,"data 1 page [txn]"
+93,"L",1,8,0,8,1,65237,65237,256,256,FALSE,FALSE,FALSE,65537,513,0,0,0,0,"data 1 page + 1 byte (tail split; 1 byte over page boundary) [txn]"
+94,"L",1,8,0,8,11,65247,65247,256,256,FALSE,FALSE,FALSE,65547,513,0,0,0,0,"data 1 page + 11 bytes (tail split; 11 bytes over page boundary) [txn]"
+95,"L",1,8,0,8,12,65248,65248,256,256,FALSE,FALSE,FALSE,65548,513,0,0,0,0,"data 1 page + 12 bytes (tail separated exactly onto next page) [txn]"
+96,"L",1,8,0,8,13,65249,65249,256,256,FALSE,FALSE,FALSE,65549,513,0,0,0,0,"data 1 page + 13 bytes (data split; 1 byte over page boundary) [txn]"
+97,"L",2,8,0,8,0,131028,131028,0,0,FALSE,FALSE,FALSE,131072,1024,0,0,0,0,"data 2 pages"
+98,"L",2,8,0,8,1,131029,131029,0,0,FALSE,FALSE,FALSE,131073,1025,0,0,0,0,"data 2 pages + 1 byte (tail split; 1 byte over page boundary)"
+99,"L",2,8,0,8,11,131039,131039,0,0,FALSE,FALSE,FALSE,131083,1025,0,0,0,0,"data 2 pages + 11 bytes (tail split; 11 bytes over page boundary)"
+100,"L",2,8,0,8,12,131040,131040,0,0,FALSE,FALSE,FALSE,131084,1025,0,0,0,0,"data 2 pages + 12 bytes (tail separated exactly onto next page)"
+101,"L",2,8,0,8,13,131041,131041,0,0,FALSE,FALSE,FALSE,131085,1025,0,0,0,0,"data 2 pages + 13 bytes (data split; 1 byte over page boundary)"
+102,"L",2,8,0,8,0,130772,130772,256,256,FALSE,FALSE,FALSE,131072,1024,0,0,0,0,"data 2 pages [txn]"
+103,"L",2,8,0,8,1,130773,130773,256,256,FALSE,FALSE,FALSE,131073,1025,0,0,0,0,"data 2 pages + 1 byte (tail split; 1 byte over page boundary) [txn]"
+104,"L",2,8,0,8,11,130783,130783,256,256,FALSE,FALSE,FALSE,131083,1025,0,0,0,0,"data 2 pages + 11 bytes (tail split; 11 bytes over page boundary) [txn]"
+105,"L",2,8,0,8,12,130784,130784,256,256,FALSE,FALSE,FALSE,131084,1025,0,0,0,0,"data 2 pages + 12 bytes (tail separated exactly onto next page) [txn]"
+106,"L",2,8,0,8,13,130785,130785,256,256,FALSE,FALSE,FALSE,131085,1025,0,0,0,0,"data 2 pages + 13 bytes (data split; 1 byte over page boundary) [txn]"
+107,"L",4,8,0,8,0,262100,262100,0,0,FALSE,FALSE,FALSE,262144,2048,0,0,0,0,"data 4 pages"
+108,"L",4,8,0,8,1,262101,262101,0,0,FALSE,FALSE,FALSE,262145,2049,0,0,0,0,"data 4 pages + 1 byte (tail split; 1 byte over page boundary)"
+109,"L",4,8,0,8,11,262111,262111,0,0,FALSE,FALSE,FALSE,262155,2049,0,0,0,0,"data 4 pages + 11 bytes (tail split; 11 bytes over page boundary)"
+110,"L",4,8,0,8,12,262112,262112,0,0,FALSE,FALSE,FALSE,262156,2049,0,0,0,0,"data 4 pages + 12 bytes (tail separated exactly onto next page)"
+111,"L",4,8,0,8,13,262113,262113,0,0,FALSE,FALSE,FALSE,262157,2049,0,0,0,0,"data 4 pages + 13 bytes (data split; 1 byte over page boundary)"
+112,"L",4,8,0,8,0,261844,261844,256,256,FALSE,FALSE,FALSE,262144,2048,0,0,0,0,"data 4 pages [txn]"
+113,"L",4,8,0,8,1,261845,261845,256,256,FALSE,FALSE,FALSE,262145,2049,0,0,0,0,"data 4 pages + 1 byte (tail split; 1 byte over page boundary) [txn]"
+114,"L",4,8,0,8,11,261855,261855,256,256,FALSE,FALSE,FALSE,262155,2049,0,0,0,0,"data 4 pages + 11 bytes (tail split; 11 bytes over page boundary) [txn]"
+115,"L",4,8,0,8,12,261856,261856,256,256,FALSE,FALSE,FALSE,262156,2049,0,0,0,0,"data 4 pages + 12 bytes (tail separated exactly onto next page) [txn]"
+116,"L",4,8,0,8,13,261857,261857,256,256,FALSE,FALSE,FALSE,262157,2049,0,0,0,0,"data 4 pages + 13 bytes (data split; 1 byte over page boundary) [txn]"
+117,"L",3.5,8,0,8,0,229332,229332,0,0,FALSE,FALSE,FALSE,229376,1792,0,0,0,0,"data 3.5 pages"
+118,"L",3.5,8,0,8,1,229333,229333,0,0,FALSE,FALSE,FALSE,229377,1793,0,0,0,0,"data 3.5 pages + 1 byte"
+119,"L",3.5,8,0,8,0,229076,229076,256,256,FALSE,FALSE,FALSE,229376,1792,0,0,0,0,"data 3.5 pages [txn]"
+120,"L",3.5,8,0,8,1,229077,229077,256,256,FALSE,FALSE,FALSE,229377,1793,0,0,0,0,"data 3.5 pages + 1 byte [txn]"
+121,"L",1,8,0,8,-1,10,10,65503,65503,FALSE,FALSE,FALSE,65557,513,0,0,0,0,"xid 1 page – 1 byte; data 10 bytes (exact fit) [txn]"
+122,"L",1,8,0,8,0,10,10,65504,65504,FALSE,FALSE,FALSE,65558,513,0,0,0,0,"xid 1 page; data 10 bytes (exact fit) [txn]"
+123,"L",1,8,0,8,1,10,10,65505,65505,FALSE,FALSE,FALSE,65559,513,0,0,0,0,"xid 1 page + 1 byte; data 10 bytes (exact fit) [txn]"
+124,"L",2,8,0,8,-1,10,10,131039,131039,FALSE,FALSE,FALSE,131093,1025,0,0,0,0,"xid 2 pages – 1 byte; data 10 bytes (exact fit) [txn]"
+125,"L",2,8,0,8,0,10,10,131040,131040,FALSE,FALSE,FALSE,131094,1025,0,0,0,0,"xid 2 pages; data 10 bytes (exact fit) [txn]"
+126,"L",2,8,0,8,1,10,10,131041,131041,FALSE,FALSE,FALSE,131095,1025,0,0,0,0,"xid 2 pages + 1 byte; data 10 bytes (exact fit) [txn]"
+127,"L",4,8,0,8,-1,10,10,262111,262111,FALSE,FALSE,FALSE,262165,2049,0,0,0,0,"xid 4 pages – 1 byte; data 10 bytes (exact fit) [txn]"
+128,"L",4,8,0,8,0,10,10,262112,262112,FALSE,FALSE,FALSE,262166,2049,0,0,0,0,"xid 4 pages; data 10 bytes (exact fit) [txn]"
+129,"L",4,8,0,8,1,10,10,262113,262113,FALSE,FALSE,FALSE,262167,2049,0,0,0,0,"xid 4 pages + 1 byte; data 10 bytes (exact fit) [txn]"
+130,"L",3.5,8,0,8,0,10,10,229344,229344,FALSE,FALSE,FALSE,229398,1793,0,0,0,0,"xid 3.5 pages; data 10 bytes (exact fit) [txn]"
+131,"L",3.5,8,0,8,1,10,10,229345,229345,FALSE,FALSE,FALSE,229399,1793,0,0,0,0,"xid 3.5 pages + 1 byte; data 10 bytes (exact fit) [txn]"
+132,"L",1,8,0,8,-1,10,10,65503,65503,TRUE,FALSE,FALSE,65557,513,65547,513,65539,513,"xid 1 page – 1 byte for enq rec; data 10 bytes (exact fit) [deq, txn]"
+133,"L",1,8,0,8,0,10,10,65504,65504,TRUE,FALSE,FALSE,65558,513,65548,513,65540,513,"xid 1 page for enq rec; data 10 bytes (exact fit) [deq, txn]"
+134,"L",1,8,0,8,1,10,10,65505,65505,TRUE,FALSE,FALSE,65559,513,65549,513,65541,513,"xid 1 page + 1 byte for enq rec; data 10 bytes (exact fit) [deq, txn]"
+135,"L",2,8,0,8,-1,10,10,131039,131039,TRUE,FALSE,FALSE,131093,1025,131083,1025,131075,1025,"xid 2 pages – 1 byte for enq rec; data 10 bytes (exact fit) [deq, txn]"
+136,"L",2,8,0,8,0,10,10,131040,131040,TRUE,FALSE,FALSE,131094,1025,131084,1025,131076,1025,"xid 2 pages for enq rec; data 10 bytes (exact fit) [deq, txn]"
+137,"L",2,8,0,8,1,10,10,131041,131041,TRUE,FALSE,FALSE,131095,1025,131085,1025,131077,1025,"xid 2 pages + 1 byte for enq rec; data 10 bytes (exact fit) [deq, txn]"
+138,"L",4,8,0,8,-1,10,10,262111,262111,TRUE,FALSE,FALSE,262165,2049,262155,2049,262147,2049,"xid 4 pages – 1 byte for enq rec; data 10 bytes (exact fit) [deq, txn]"
+139,"L",4,8,0,8,0,10,10,262112,262112,TRUE,FALSE,FALSE,262166,2049,262156,2049,262148,2049,"xid 4 pages for enq rec; data 10 bytes (exact fit) [deq, txn]"
+140,"L",4,8,0,8,1,10,10,262113,262113,TRUE,FALSE,FALSE,262167,2049,262157,2049,262149,2049,"xid 4 pages + 1 byte for enq rec; data 10 bytes (exact fit) [deq, txn]"
+141,"L",3.5,8,0,8,0,10,10,229344,229344,TRUE,FALSE,FALSE,229398,1793,229388,1793,229380,1793,"xid 3.5 pages for enq rec; data 10 bytes (exact fit) [deq, txn]"
+142,"L",3.5,8,0,8,1,10,10,229345,229345,TRUE,FALSE,FALSE,229399,1793,229389,1793,229381,1793,"xid 3.5 pages + 1 byte for enq rec; data 10 bytes (exact fit) [deq, txn]"
+143,"L",1,8,0,8,-1,10,10,65503,65503,TRUE,FALSE,FALSE,65557,513,65547,513,65539,513,"xid 1 page – 1 byte for deq rec; data 10 bytes (exact fit) [deq, txn]"
+144,"L",1,8,0,8,0,10,10,65504,65504,TRUE,FALSE,FALSE,65558,513,65548,513,65540,513,"xid 1 page for deq rec; data 10 bytes (exact fit) [deq, txn]"
+145,"L",1,8,0,8,1,10,10,65505,65505,TRUE,FALSE,FALSE,65559,513,65549,513,65541,513,"xid 1 page + 1 byte for deq rec; data 10 bytes (exact fit) [deq, txn]"
+146,"L",2,8,0,8,-1,10,10,131039,131039,TRUE,FALSE,FALSE,131093,1025,131083,1025,131075,1025,"xid 2 pages – 1 byte for deq rec; data 10 bytes (exact fit) [deq, txn]"
+147,"L",2,8,0,8,0,10,10,131040,131040,TRUE,FALSE,FALSE,131094,1025,131084,1025,131076,1025,"xid 2 pages for deq rec; data 10 bytes (exact fit) [deq, txn]"
+148,"L",2,8,0,8,1,10,10,131041,131041,TRUE,FALSE,FALSE,131095,1025,131085,1025,131077,1025,"xid 2 pages + 1 byte for deq rec; data 10 bytes (exact fit) [deq, txn]"
+149,"L",4,8,0,8,-1,10,10,262111,262111,TRUE,FALSE,FALSE,262165,2049,262155,2049,262147,2049,"xid 4 pages – 1 byte for deq rec; data 10 bytes (exact fit) [deq, txn]"
+150,"L",4,8,0,8,0,10,10,262112,262112,TRUE,FALSE,FALSE,262166,2049,262156,2049,262148,2049,"xid 4 pages for deq rec; data 10 bytes (exact fit) [deq, txn]"
+151,"L",4,8,0,8,1,10,10,262113,262113,TRUE,FALSE,FALSE,262167,2049,262157,2049,262149,2049,"xid 4 pages + 1 byte for deq rec; data 10 bytes (exact fit) [deq, txn]"
+152,"L",3.5,8,0,8,0,10,10,229344,229344,TRUE,FALSE,FALSE,229398,1793,229388,1793,229380,1793,"xid 3.5 pages for deq rec; data 10 bytes (exact fit) [deq, txn]"
+153,"L",3.5,8,0,8,1,10,10,229345,229345,TRUE,FALSE,FALSE,229399,1793,229389,1793,229381,1793,"xid 3.5 pages + 1 byte for deq rec; data 10 bytes (exact fit) [deq, txn]"
+154,"L",1,8,0,8,-1,10,10,65511,65511,TRUE,FALSE,FALSE,65565,513,65555,513,65547,513,"xid 1 page – 1 byte for txn rec; data 10 bytes (exact fit) [deq, txn]"
+155,"L",1,8,0,8,0,10,10,65512,65512,TRUE,FALSE,FALSE,65566,513,65556,513,65548,513,"xid 1 page for  txn rec; data 10 bytes (exact fit) [deq, txn]"
+156,"L",1,8,0,8,1,10,10,65513,65513,TRUE,FALSE,FALSE,65567,513,65557,513,65549,513,"xid 1 page + 1 byte for  txn rec; data 10 bytes (exact fit) [deq, txn]"
+157,"L",2,8,0,8,-1,10,10,131047,131047,TRUE,FALSE,FALSE,131101,1025,131091,1025,131083,1025,"xid 2 pages – 1 byte for  txn rec; data 10 bytes (exact fit) [deq, txn]"
+158,"L",2,8,0,8,0,10,10,131048,131048,TRUE,FALSE,FALSE,131102,1025,131092,1025,131084,1025,"xid 2 pages for  txn rec; data 10 bytes (exact fit) [deq, txn]"
+159,"L",2,8,0,8,1,10,10,131049,131049,TRUE,FALSE,FALSE,131103,1025,131093,1025,131085,1025,"xid 2 pages + 1 byte for  txn rec; data 10 bytes (exact fit) [deq, txn]"
+160,"L",4,8,0,8,-1,10,10,262119,262119,TRUE,FALSE,FALSE,262173,2049,262163,2049,262155,2049,"xid 4 pages – 1 byte for  txn rec; data 10 bytes (exact fit) [deq, txn]"
+161,"L",4,8,0,8,0,10,10,262120,262120,TRUE,FALSE,FALSE,262174,2049,262164,2049,262156,2049,"xid 4 pages for  txn rec; data 10 bytes (exact fit) [deq, txn]"
+162,"L",4,8,0,8,1,10,10,262121,262121,TRUE,FALSE,FALSE,262175,2049,262165,2049,262157,2049,"xid 4 pages + 1 byte for  txn rec; data 10 bytes (exact fit) [deq, txn]"
+163,"L",3.5,8,0,8,0,10,10,229352,229352,TRUE,FALSE,FALSE,229406,1793,229396,1793,229388,1793,"xid 3.5 pages for  txn rec; data 10 bytes (exact fit) [deq, txn]"
+164,"L",3.5,8,0,8,1,10,10,229353,229353,TRUE,FALSE,FALSE,229407,1793,229397,1793,229389,1793,"xid 3.5 pages + 1 byte for  txn rec; data 10 bytes (exact fit) [deq, txn]"

Modified: store/trunk/cpp/tests/jrnl/rwtests.csv
===================================================================
--- store/trunk/cpp/tests/jrnl/rwtests.csv	2007-11-06 19:49:07 UTC (rev 1256)
+++ store/trunk/cpp/tests/jrnl/rwtests.csv	2007-11-06 21:52:47 UTC (rev 1257)
@@ -1,191 +1,207 @@
-,,,,,,,"Msg size",,"Xid size",,,,"enq-size",,"deq-size",,"txn-size",,
-"Test #","tf","pf","amn","mn incr","#msgs","ms incr","Min","Max","Min","Max","auto-deq","transient","bytes","dblks","bytes","dblks","bytes","dblks","comment"
-,,,,,,,,,,,,,,,,,,,
-"Initialize only",,,,,,,,,,,,,,,,,,,
-0,"L",0,0,0,0,0,0,0,0,0,FALSE,FALSE,44,1,0,0,0,0,"No messages -  journal creation/initialization only"
-,,,,,,,,,,,,,,,,,,,
-"Simple message  combinations of persistent/deq transientueued/non-dequeued, transactional/non-transactional",,,,,,,,,,,,,,,,,,,
-1,"L",1,1,0,1,0,10,10,0,0,FALSE,FALSE,54,1,0,0,0,0,"1 * 10-byte message"
-2,"L",1,10,0,10,0,10,10,0,0,FALSE,FALSE,54,1,0,0,0,0,"10 * 10-byte message"
-3,"L",1,1,0,1,0,10,10,0,0,FALSE,TRUE,54,1,0,0,0,0,"1 * 10-byte message [transient]"
-4,"L",1,10,0,10,0,10,10,0,0,FALSE,TRUE,54,1,0,0,0,0,"10 * 10-byte message [transient]"
-5,"L",1,1,0,1,0,10,10,10,10,FALSE,FALSE,64,1,0,0,0,0,"1 * 10-byte message [txn]"
-6,"L",1,10,0,10,0,10,10,10,10,FALSE,FALSE,64,1,0,0,0,0,"10 * 10-byte message [txn]"
-7,"L",1,1,0,1,0,10,10,10,10,FALSE,TRUE,64,1,0,0,0,0,"1 * 10-byte message [txn transient]"
-8,"L",1,10,0,10,0,10,10,10,10,FALSE,TRUE,64,1,0,0,0,0,"10 * 10-byte message [txn transient]"
-9,"L",1,1,0,1,0,10,10,0,0,TRUE,FALSE,54,1,32,1,0,0,"1 * 10-byte message [deq]"
-10,"L",1,10,0,10,0,10,10,0,0,TRUE,FALSE,54,1,32,1,0,0,"10 * 10-byte message [deq]"
-11,"L",1,1,0,1,0,10,10,0,0,TRUE,TRUE,54,1,32,1,0,0,"1 * 10-byte message [deq transient]"
-12,"L",1,10,0,10,0,10,10,0,0,TRUE,TRUE,54,1,32,1,0,0,"10 * 10-byte message [deq transient]"
-13,"L",1,1,0,1,0,10,10,10,10,TRUE,FALSE,64,1,54,1,46,1,"1 * 10-byte message [deq txn]"
-14,"L",1,10,0,10,0,10,10,10,10,TRUE,FALSE,64,1,54,1,46,1,"10 * 10-byte message [deq txn]"
-15,"L",1,1,0,1,0,10,10,10,10,TRUE,TRUE,64,1,54,1,46,1,"1 * 10-byte message [txn deq transient]"
-16,"L",1,10,0,10,0,10,10,10,10,TRUE,TRUE,64,1,54,1,46,1,"10 * 10-byte message [txn deq transient]"
-,,,,,,,,,,,,,,,,,,,
-"Transition from one d-block to two per message",,,,,,,,,,,,,,,,,,,
-17,"L",1,10,0,10,0,84,84,0,0,FALSE,FALSE,128,1,0,0,0,0,"1 dblk exact fit"
-18,"L",1,10,0,10,1,85,85,0,0,FALSE,FALSE,129,2,0,0,0,0,"1 dblk + 1 byte"
-19,"L",1,10,0,10,0,58,58,26,26,FALSE,FALSE,128,1,0,0,0,0,"1 dblk exact fit [txn]"
-20,"L",1,10,0,10,1,59,59,26,26,FALSE,FALSE,129,2,0,0,0,0,"1 dblk + 1 byte [txn]"
-,,,,,,,,,,,,,,,,,,,
-"Transition from one s-block to two per message",,,,,,,,,,,,,,,,,,,
-21,"L",1,10,0,10,0,468,468,0,0,FALSE,FALSE,512,4,0,0,0,0,"1 sblk exact fit"
-22,"L",1,10,0,10,1,469,469,0,0,FALSE,FALSE,513,5,0,0,0,0,"1 sblk + 1 byte"
-23,"L",1,10,0,10,0,442,442,26,26,FALSE,FALSE,512,4,0,0,0,0,"1 sblk exact fit [txn]"
-24,"L",1,10,0,10,1,443,443,26,26,FALSE,FALSE,513,5,0,0,0,0,"1 sblk + 1 byte [txn]"
-,,,,,,,,,,,,,,,,,,,
-"Transition from first page to second",,,,,,,,,,,,,,,,,,,
-25,"L",1,8,0,8,0,4052,4052,0,0,FALSE,FALSE,4096,32,0,0,0,0,"1/8 page"
-26,"L",1,8,1,9,0,4052,4052,0,0,FALSE,FALSE,4096,32,0,0,0,0,"1/8 page"
-27,"L",1,8,0,8,1,4053,4053,0,0,FALSE,FALSE,4097,33,0,0,0,0,"1/8 page + 1 byte"
-28,"L",1,8,0,8,0,3796,3796,256,256,FALSE,FALSE,4096,32,0,0,0,0,"1/8 page [txn]"
-29,"L",1,8,1,9,0,3796,3796,256,256,FALSE,FALSE,4096,32,0,0,0,0,"1/8 page [txn]"
-30,"L",1,8,0,8,1,3797,3797,256,256,FALSE,FALSE,4097,33,0,0,0,0,"1/8 page + 1 byte [txn]"
-31,"L",1,8,0,8,0,3924,3924,0,0,TRUE,FALSE,3968,31,32,1,0,0,"1/8 page incl deq [deq]"
-32,"L",1,8,1,9,0,3924,3924,0,0,TRUE,FALSE,3968,31,32,1,0,0,"1/8 page incl deq [deq]"
-33,"L",1,8,0,8,1,3925,3925,0,0,TRUE,FALSE,3969,32,32,1,0,0,"1/8 page incl deq + 1 byte [deq]"
-34,"L",1,8,0,8,0,3028,3028,256,256,TRUE,FALSE,3328,26,300,3,292,3,"1/8 page incl deq & txn [deq txn]"
-35,"L",1,8,1,9,0,3028,3028,256,256,TRUE,FALSE,3328,26,300,3,292,3,"1/8 page incl deq & txn [deq txn]"
-36,"L",1,8,0,8,1,3029,3029,256,256,TRUE,FALSE,3329,27,300,3,292,3,"1/8 page incl deq & txn + 1 byte [deq txn]"
-,,,,,,,,,,,,,,,,,,,
-"Page cache rollover (from page 32 back to page 0)",,,,,,,,,,,,,,,,,,,
-37,"L",1,32,0,32,0,32724,32724,0,0,FALSE,FALSE,32768,256,0,0,0,0,"1 page"
-38,"L",1,32,1,33,0,32724,32724,0,0,FALSE,FALSE,32768,256,0,0,0,0,"1 page"
-39,"L",1,32,0,32,1,32725,32725,0,0,FALSE,FALSE,32769,257,0,0,0,0,"1 page + 1 byte"
-40,"L",1.5,22,0,22,0,49108,49108,0,0,FALSE,FALSE,49152,384,0,0,0,0,"1.5 pages"
-41,"L",1,32,0,32,0,32468,32468,256,256,FALSE,FALSE,32768,256,0,0,0,0,"1 page [txn]"
-42,"L",1,32,1,33,0,32468,32468,256,256,FALSE,FALSE,32768,256,0,0,0,0,"1 page [txn]"
-43,"L",1,32,0,32,1,32469,32469,256,256,FALSE,FALSE,32769,257,0,0,0,0,"1 page + 1 byte [txn]"
-44,"L",1.5,22,0,22,0,48852,48852,256,256,FALSE,FALSE,49152,384,0,0,0,0,"1.5 pages [txn]"
-45,"L",1,32,0,32,0,32596,32596,0,0,TRUE,FALSE,32640,255,32,1,0,0,"1 page incl deq [deq]"
-46,"L",1,32,1,33,0,32596,32596,0,0,TRUE,FALSE,32640,255,32,1,0,0,"1 page incl deq [deq]"
-47,"L",1,32,0,32,1,32597,32597,0,0,TRUE,FALSE,32641,256,32,1,0,0,"1 page incl deq + 1 byte [deq]"
-48,"L",1.5,22,0,22,0,48980,48980,0,0,TRUE,FALSE,49024,383,32,1,0,0,"1.5 pages incl deq [deq]"
-49,"L",1,32,0,32,0,31700,31700,256,256,TRUE,FALSE,32000,250,300,3,292,3,"1 page incl deq & txn [deq txn]"
-50,"L",1,32,1,33,0,31700,31700,256,256,TRUE,FALSE,32000,250,300,3,292,3,"1 page incl deq & txn [deq txn]"
-51,"L",1,32,0,32,1,31701,31701,256,256,TRUE,FALSE,32001,251,300,3,292,3,"1 page incl deq & txn + 1 byte [deq txn]"
-52,"L",1.5,22,0,22,0,48084,48084,256,256,TRUE,FALSE,48384,378,300,3,292,3,"1.5 pages incl deq & txn [deq txn]"
-,,,,,,,,,,,,,,,,,,,
-"File transition (from file 0000 to 0001)",,,,,,,,,,,,,,,,,,,
-53,"L",1,48,0,48,0,32724,32724,0,0,FALSE,FALSE,32768,256,0,0,0,0,"1 page"
-54,"L",1,48,1,49,0,32724,32724,0,0,FALSE,FALSE,32768,256,0,0,0,0,"1 page"
-55,"L",1,48,0,48,1,32725,32725,0,0,FALSE,FALSE,32769,257,0,0,0,0,"1 page + 1 byte"
-56,"L",2.5,20,0,20,0,81876,81876,0,0,FALSE,FALSE,81920,640,0,0,0,0,"2.5 pages"
-57,"L",1,48,0,48,0,32468,32468,256,256,FALSE,FALSE,32768,256,0,0,0,0,"1 page [txn]"
-58,"L",1,48,1,49,0,32468,32468,256,256,FALSE,FALSE,32768,256,0,0,0,0,"1 page [txn]"
-59,"L",1,48,0,48,1,32469,32469,256,256,FALSE,FALSE,32769,257,0,0,0,0,"1 page + 1 byte [txn]"
-60,"L",2.5,20,0,20,0,81620,81620,256,256,FALSE,FALSE,81920,640,0,0,0,0,"2.5 pages [txn]"
-61,"L",1,48,0,48,0,32596,32596,0,0,TRUE,FALSE,32640,255,32,1,0,0,"1 page incl deq [deq]"
-62,"L",1,48,1,49,0,32596,32596,0,0,TRUE,FALSE,32640,255,32,1,0,0,"1 page incl deq [deq]"
-63,"L",1,48,0,48,1,32597,32597,0,0,TRUE,FALSE,32641,256,32,1,0,0,"1 page incl deq + 1 byte [deq]"
-64,"L",2.5,20,0,20,0,81748,81748,0,0,TRUE,FALSE,81792,639,32,1,0,0,"2.5 pages incl deq [deq]"
-65,"L",1,48,0,48,0,31700,31700,256,256,TRUE,FALSE,32000,250,300,3,292,3,"1 page incl deq & txn [deq txn]"
-66,"L",1,48,1,49,0,31700,31700,256,256,TRUE,FALSE,32000,250,300,3,292,3,"1 page incl deq & txn [deq txn]"
-67,"L",1,48,0,48,1,31701,31701,256,256,TRUE,FALSE,32001,251,300,3,292,3,"1 page incl deq & txn + 1 byte [deq txn]"
-68,"L",2.5,20,0,20,0,80852,80852,256,256,TRUE,FALSE,81152,634,300,3,292,3,"2.5 pages incl deq & txn [deq txn]"
-,,,,,,,,,,,,,,,,,,,
-"File rollover (from file 0007 to 0000) - RHM_WRONLY req'd for auto-dequeue == FALSE",,,,,,,,,,,,,,,,,,,
-69,"L",0.5,16,0,16,0,786388,786388,0,0,FALSE,FALSE,786432,6144,0,0,0,0,"24 pages = ½ file"
-70,"L",0.5,16,1,17,0,786388,786388,0,0,FALSE,FALSE,786432,6144,0,0,0,0,"24 pages = ½ file"
-71,"L",0.5,16,0,16,1,786389,786389,0,0,FALSE,FALSE,786433,6145,0,0,0,0,"24 pages + 1 byte"
-72,"L",0.5,16,0,16,0,786132,786132,256,256,FALSE,FALSE,786432,6144,0,0,0,0,"24 pages = ½ file [txn]"
-73,"L",0.5,16,1,17,0,786132,786132,256,256,FALSE,FALSE,786432,6144,0,0,0,0,"24 pages = ½ file [txn]"
-74,"L",0.5,16,0,16,1,786133,786133,256,256,FALSE,FALSE,786433,6145,0,0,0,0,"24 pages + 1 byte [txn]"
-75,"L",0.25,32,0,32,0,786388,786388,0,0,FALSE,FALSE,786432,6144,0,0,0,0,"24 pages = ½ file"
-76,"L",0.25,32,1,33,0,786388,786388,0,0,FALSE,FALSE,786432,6144,0,0,0,0,"24 pages = ½ file"
-77,"L",0.25,32,0,32,1,786389,786389,0,0,FALSE,FALSE,786433,6145,0,0,0,0,"24 pages + 1 byte"
-78,"L",0.25,32,0,32,0,786132,786132,256,256,FALSE,FALSE,786432,6144,0,0,0,0,"24 pages = ½ file [txn]"
-79,"L",0.25,32,1,33,0,786132,786132,256,256,FALSE,FALSE,786432,6144,0,0,0,0,"24 pages = ½ file [txn]"
-80,"L",0.25,32,0,32,1,786133,786133,256,256,FALSE,FALSE,786433,6145,0,0,0,0,"24 pages + 1 byte [txn]"
-81,"L",0.5,16,0,16,0,786260,786260,0,0,TRUE,FALSE,786304,6143,32,1,0,0,"24 pages incl deq = ½ file [deq]"
-82,"L",0.5,16,1,17,0,786260,786260,0,0,TRUE,FALSE,786304,6143,32,1,0,0,"24 pages incl deq = ½ file [deq]"
-83,"L",0.5,16,0,16,1,786261,786261,0,0,TRUE,FALSE,786305,6144,32,1,0,0,"24 pages incl deq + 1 byte [deq]"
-84,"L",0.5,16,0,16,0,785364,785364,256,256,TRUE,FALSE,785664,6138,300,3,292,3,"24 pages incl deq & txn = ½ file [deq txn]"
-85,"L",0.5,16,1,17,0,785364,785364,256,256,TRUE,FALSE,785664,6138,300,3,292,3,"24 pages incl deq & txn = ½ file [deq txn]"
-86,"L",0.5,16,0,16,1,785365,785365,256,256,TRUE,FALSE,785665,6139,300,3,292,3,"24 pages incl deq & txn + 1 byte [deq txn]"
-87,"L",0.25,32,0,32,0,786260,786260,0,0,TRUE,FALSE,786304,6143,32,1,0,0,"24 pages incl deq = ½ file [deq]"
-88,"L",0.25,32,1,33,0,786260,786260,0,0,TRUE,FALSE,786304,6143,32,1,0,0,"24 pages incl deq = ½ file [deq]"
-89,"L",0.25,32,0,32,1,786261,786261,0,0,TRUE,FALSE,786305,6144,32,1,0,0,"24 pages incl deq + 1 byte [deq]"
-90,"L",0.25,32,0,32,0,785364,785364,256,256,TRUE,FALSE,785664,6138,300,3,292,3,"24 pages incl deq & txn = ½ file [deq txn]"
-91,"L",0.25,32,1,33,0,785364,785364,256,256,TRUE,FALSE,785664,6138,300,3,292,3,"24 pages incl deq & txn = ½ file [deq txn]"
-92,"L",0.25,32,0,32,1,785365,785365,256,256,TRUE,FALSE,785665,6139,300,3,292,3,"24 pages incl deq & txn + 1 byte [deq txn]"
-,,,,,,,,,,,,,,,,,,,
-"Multi-page messages (large messages) - tests various paths in encoder.",,,,,,,,,,,,,,,,,,,
-93,"L",1,16,0,16,0,32724,32724,0,0,FALSE,FALSE,32768,256,0,0,0,0,"data 1 page"
-94,"L",1,16,0,16,1,32725,32725,0,0,FALSE,FALSE,32769,257,0,0,0,0,"data 1 page + 1 byte (tail split; 1 byte over page boundary)"
-95,"L",1,16,0,16,11,32735,32735,0,0,FALSE,FALSE,32779,257,0,0,0,0,"data 1 page + 11 bytes (tail split; 11 bytes over page boundary)"
-96,"L",1,16,0,16,12,32736,32736,0,0,FALSE,FALSE,32780,257,0,0,0,0,"data 1 page + 12 bytes (tail separated exactly onto next page)"
-97,"L",1,16,0,16,13,32737,32737,0,0,FALSE,FALSE,32781,257,0,0,0,0,"data 1 page + 13 bytes (data split; 1 byte over page boundary)"
-98,"L",1,16,0,16,0,32468,32468,256,256,FALSE,FALSE,32768,256,0,0,0,0,"data 1 page [txn]"
-99,"L",1,16,0,16,1,32469,32469,256,256,FALSE,FALSE,32769,257,0,0,0,0,"data 1 page + 1 byte (tail split; 1 byte over page boundary) [txn]"
-100,"L",1,16,0,16,11,32479,32479,256,256,FALSE,FALSE,32779,257,0,0,0,0,"data 1 page + 11 bytes (tail split; 11 bytes over page boundary) [txn]"
-101,"L",1,16,0,16,12,32480,32480,256,256,FALSE,FALSE,32780,257,0,0,0,0,"data 1 page + 12 bytes (tail separated exactly onto next page) [txn]"
-102,"L",1,16,0,16,13,32481,32481,256,256,FALSE,FALSE,32781,257,0,0,0,0,"data 1 page + 13 bytes (data split; 1 byte over page boundary) [txn]"
-103,"L",2,16,0,16,0,65492,65492,0,0,FALSE,FALSE,65536,512,0,0,0,0,"data 2 pages"
-104,"L",2,16,0,16,1,65493,65493,0,0,FALSE,FALSE,65537,513,0,0,0,0,"data 2 pages + 1 byte (tail split; 1 byte over page boundary)"
-105,"L",2,16,0,16,11,65503,65503,0,0,FALSE,FALSE,65547,513,0,0,0,0,"data 2 pages + 11 bytes (tail split; 11 bytes over page boundary)"
-106,"L",2,16,0,16,12,65504,65504,0,0,FALSE,FALSE,65548,513,0,0,0,0,"data 2 pages + 12 bytes (tail separated exactly onto next page)"
-107,"L",2,16,0,16,13,65505,65505,0,0,FALSE,FALSE,65549,513,0,0,0,0,"data 2 pages + 13 bytes (data split; 1 byte over page boundary)"
-108,"L",2,16,0,16,0,65236,65236,256,256,FALSE,FALSE,65536,512,0,0,0,0,"data 2 pages [txn]"
-109,"L",2,16,0,16,1,65237,65237,256,256,FALSE,FALSE,65537,513,0,0,0,0,"data 2 pages + 1 byte (tail split; 1 byte over page boundary) [txn]"
-110,"L",2,16,0,16,11,65247,65247,256,256,FALSE,FALSE,65547,513,0,0,0,0,"data 2 pages + 11 bytes (tail split; 11 bytes over page boundary) [txn]"
-111,"L",2,16,0,16,12,65248,65248,256,256,FALSE,FALSE,65548,513,0,0,0,0,"data 2 pages + 12 bytes (tail separated exactly onto next page) [txn]"
-112,"L",2,16,0,16,13,65249,65249,256,256,FALSE,FALSE,65549,513,0,0,0,0,"data 2 pages + 13 bytes (data split; 1 byte over page boundary) [txn]"
-113,"L",4,16,0,16,0,131028,131028,0,0,FALSE,FALSE,131072,1024,0,0,0,0,"data 4 pages"
-114,"L",4,16,0,16,1,131029,131029,0,0,FALSE,FALSE,131073,1025,0,0,0,0,"data 4 pages + 1 byte (tail split; 1 byte over page boundary)"
-115,"L",4,16,0,16,11,131039,131039,0,0,FALSE,FALSE,131083,1025,0,0,0,0,"data 4 pages + 11 bytes (tail split; 11 bytes over page boundary)"
-116,"L",4,16,0,16,12,131040,131040,0,0,FALSE,FALSE,131084,1025,0,0,0,0,"data 4 pages + 12 bytes (tail separated exactly onto next page)"
-117,"L",4,16,0,16,13,131041,131041,0,0,FALSE,FALSE,131085,1025,0,0,0,0,"data 4 pages + 13 bytes (data split; 1 byte over page boundary)"
-118,"L",4,16,0,16,0,130772,130772,256,256,FALSE,FALSE,131072,1024,0,0,0,0,"data 4 pages [txn]"
-119,"L",4,16,0,16,1,130773,130773,256,256,FALSE,FALSE,131073,1025,0,0,0,0,"data 4 pages + 1 byte (tail split; 1 byte over page boundary) [txn]"
-120,"L",4,16,0,16,11,130783,130783,256,256,FALSE,FALSE,131083,1025,0,0,0,0,"data 4 pages + 11 bytes (tail split; 11 bytes over page boundary) [txn]"
-121,"L",4,16,0,16,12,130784,130784,256,256,FALSE,FALSE,131084,1025,0,0,0,0,"data 4 pages + 12 bytes (tail separated exactly onto next page) [txn]"
-122,"L",4,16,0,16,13,130785,130785,256,256,FALSE,FALSE,131085,1025,0,0,0,0,"data 4 pages + 13 bytes (data split; 1 byte over page boundary) [txn]"
-123,"L",3.5,16,0,16,0,114644,114644,0,0,FALSE,FALSE,114688,896,0,0,0,0,"data 3.5 pages"
-124,"L",3.5,16,0,16,1,114645,114645,0,0,FALSE,FALSE,114689,897,0,0,0,0,"data 3.5 pages + 1 byte"
-125,"L",3.5,16,0,16,0,114388,114388,256,256,FALSE,FALSE,114688,896,0,0,0,0,"data 3.5 pages [txn]"
-126,"L",3.5,16,0,16,1,114389,114389,256,256,FALSE,FALSE,114689,897,0,0,0,0,"data 3.5 pages + 1 byte [txn]"
-127,"L",1,16,0,16,-1,10,10,32735,32735,FALSE,FALSE,32789,257,0,0,0,0,"xid 1 page – 1 byte; data 10 bytes (exact fit) [txn]"
-128,"L",1,16,0,16,0,10,10,32736,32736,FALSE,FALSE,32790,257,0,0,0,0,"xid 1 page; data 10 bytes (exact fit) [txn]"
-129,"L",1,16,0,16,1,10,10,32737,32737,FALSE,FALSE,32791,257,0,0,0,0,"xid 1 page + 1 byte; data 10 bytes (exact fit) [txn]"
-130,"L",2,16,0,16,-1,10,10,65503,65503,FALSE,FALSE,65557,513,0,0,0,0,"xid 2 pages – 1 byte; data 10 bytes (exact fit) [txn]"
-131,"L",2,16,0,16,0,10,10,65504,65504,FALSE,FALSE,65558,513,0,0,0,0,"xid 2 pages; data 10 bytes (exact fit) [txn]"
-132,"L",2,16,0,16,1,10,10,65505,65505,FALSE,FALSE,65559,513,0,0,0,0,"xid 2 pages + 1 byte; data 10 bytes (exact fit) [txn]"
-133,"L",4,16,0,16,-1,10,10,131039,131039,FALSE,FALSE,131093,1025,0,0,0,0,"xid 4 pages – 1 byte; data 10 bytes (exact fit) [txn]"
-134,"L",4,16,0,16,0,10,10,131040,131040,FALSE,FALSE,131094,1025,0,0,0,0,"xid 4 pages; data 10 bytes (exact fit) [txn]"
-135,"L",4,16,0,16,1,10,10,131041,131041,FALSE,FALSE,131095,1025,0,0,0,0,"xid 4 pages + 1 byte; data 10 bytes (exact fit) [txn]"
-136,"L",3.5,16,0,16,0,10,10,114656,114656,FALSE,FALSE,114710,897,0,0,0,0,"xid 3.5 pages; data 10 bytes (exact fit) [txn]"
-137,"L",3.5,16,0,16,1,10,10,114657,114657,FALSE,FALSE,114711,897,0,0,0,0,"xid 3.5 pages + 1 byte; data 10 bytes (exact fit) [txn]"
-138,"L",1,16,0,16,-1,10,10,32735,32735,TRUE,FALSE,32789,257,32779,257,32771,257,"xid 1 page – 1 byte for enq rec; data 10 bytes (exact fit) [deq, txn]"
-139,"L",1,16,0,16,0,10,10,32736,32736,TRUE,FALSE,32790,257,32780,257,32772,257,"xid 1 page for enq rec; data 10 bytes (exact fit) [deq, txn]"
-140,"L",1,16,0,16,1,10,10,32737,32737,TRUE,FALSE,32791,257,32781,257,32773,257,"xid 1 page + 1 byte for enq rec; data 10 bytes (exact fit) [deq, txn]"
-141,"L",2,16,0,16,-1,10,10,65503,65503,TRUE,FALSE,65557,513,65547,513,65539,513,"xid 2 pages – 1 byte for enq rec; data 10 bytes (exact fit) [deq, txn]"
-142,"L",2,16,0,16,0,10,10,65504,65504,TRUE,FALSE,65558,513,65548,513,65540,513,"xid 2 pages for enq rec; data 10 bytes (exact fit) [deq, txn]"
-143,"L",2,16,0,16,1,10,10,65505,65505,TRUE,FALSE,65559,513,65549,513,65541,513,"xid 2 pages + 1 byte for enq rec; data 10 bytes (exact fit) [deq, txn]"
-144,"L",4,16,0,16,-1,10,10,131039,131039,TRUE,FALSE,131093,1025,131083,1025,131075,1025,"xid 4 pages – 1 byte for enq rec; data 10 bytes (exact fit) [deq, txn]"
-145,"L",4,16,0,16,0,10,10,131040,131040,TRUE,FALSE,131094,1025,131084,1025,131076,1025,"xid 4 pages for enq rec; data 10 bytes (exact fit) [deq, txn]"
-146,"L",4,16,0,16,1,10,10,131041,131041,TRUE,FALSE,131095,1025,131085,1025,131077,1025,"xid 4 pages + 1 byte for enq rec; data 10 bytes (exact fit) [deq, txn]"
-147,"L",3.5,16,0,16,0,10,10,114656,114656,TRUE,FALSE,114710,897,114700,897,114692,897,"xid 3.5 pages for enq rec; data 10 bytes (exact fit) [deq, txn]"
-148,"L",3.5,16,0,16,1,10,10,114657,114657,TRUE,FALSE,114711,897,114701,897,114693,897,"xid 3.5 pages + 1 byte for enq rec; data 10 bytes (exact fit) [deq, txn]"
-149,"L",1,16,0,16,-1,10,10,32735,32735,TRUE,FALSE,32789,257,32779,257,32771,257,"xid 1 page – 1 byte for deq rec; data 10 bytes (exact fit) [deq, txn]"
-150,"L",1,16,0,16,0,10,10,32736,32736,TRUE,FALSE,32790,257,32780,257,32772,257,"xid 1 page for deq rec; data 10 bytes (exact fit) [deq, txn]"
-151,"L",1,16,0,16,1,10,10,32737,32737,TRUE,FALSE,32791,257,32781,257,32773,257,"xid 1 page + 1 byte for deq rec; data 10 bytes (exact fit) [deq, txn]"
-152,"L",2,16,0,16,-1,10,10,65503,65503,TRUE,FALSE,65557,513,65547,513,65539,513,"xid 2 pages – 1 byte for deq rec; data 10 bytes (exact fit) [deq, txn]"
-153,"L",2,16,0,16,0,10,10,65504,65504,TRUE,FALSE,65558,513,65548,513,65540,513,"xid 2 pages for deq rec; data 10 bytes (exact fit) [deq, txn]"
-154,"L",2,16,0,16,1,10,10,65505,65505,TRUE,FALSE,65559,513,65549,513,65541,513,"xid 2 pages + 1 byte for deq rec; data 10 bytes (exact fit) [deq, txn]"
-155,"L",4,16,0,16,-1,10,10,131039,131039,TRUE,FALSE,131093,1025,131083,1025,131075,1025,"xid 4 pages – 1 byte for deq rec; data 10 bytes (exact fit) [deq, txn]"
-156,"L",4,16,0,16,0,10,10,131040,131040,TRUE,FALSE,131094,1025,131084,1025,131076,1025,"xid 4 pages for deq rec; data 10 bytes (exact fit) [deq, txn]"
-157,"L",4,16,0,16,1,10,10,131041,131041,TRUE,FALSE,131095,1025,131085,1025,131077,1025,"xid 4 pages + 1 byte for deq rec; data 10 bytes (exact fit) [deq, txn]"
-158,"L",3.5,16,0,16,0,10,10,114656,114656,TRUE,FALSE,114710,897,114700,897,114692,897,"xid 3.5 pages for deq rec; data 10 bytes (exact fit) [deq, txn]"
-159,"L",3.5,16,0,16,1,10,10,114657,114657,TRUE,FALSE,114711,897,114701,897,114693,897,"xid 3.5 pages + 1 byte for deq rec; data 10 bytes (exact fit) [deq, txn]"
-160,"L",1,16,0,16,-1,10,10,32743,32743,TRUE,FALSE,32797,257,32787,257,32779,257,"xid 1 page – 1 byte for txn rec; data 10 bytes (exact fit) [deq, txn]"
-161,"L",1,16,0,16,0,10,10,32744,32744,TRUE,FALSE,32798,257,32788,257,32780,257,"xid 1 page for  txn rec; data 10 bytes (exact fit) [deq, txn]"
-162,"L",1,16,0,16,1,10,10,32745,32745,TRUE,FALSE,32799,257,32789,257,32781,257,"xid 1 page + 1 byte for  txn rec; data 10 bytes (exact fit) [deq, txn]"
-163,"L",2,16,0,16,-1,10,10,65511,65511,TRUE,FALSE,65565,513,65555,513,65547,513,"xid 2 pages – 1 byte for  txn rec; data 10 bytes (exact fit) [deq, txn]"
-164,"L",2,16,0,16,0,10,10,65512,65512,TRUE,FALSE,65566,513,65556,513,65548,513,"xid 2 pages for  txn rec; data 10 bytes (exact fit) [deq, txn]"
-165,"L",2,16,0,16,1,10,10,65513,65513,TRUE,FALSE,65567,513,65557,513,65549,513,"xid 2 pages + 1 byte for  txn rec; data 10 bytes (exact fit) [deq, txn]"
-166,"L",4,16,0,16,-1,10,10,131047,131047,TRUE,FALSE,131101,1025,131091,1025,131083,1025,"xid 4 pages – 1 byte for  txn rec; data 10 bytes (exact fit) [deq, txn]"
-167,"L",4,16,0,16,0,10,10,131048,131048,TRUE,FALSE,131102,1025,131092,1025,131084,1025,"xid 4 pages for  txn rec; data 10 bytes (exact fit) [deq, txn]"
-168,"L",4,16,0,16,1,10,10,131049,131049,TRUE,FALSE,131103,1025,131093,1025,131085,1025,"xid 4 pages + 1 byte for  txn rec; data 10 bytes (exact fit) [deq, txn]"
-169,"L",3.5,16,0,16,0,10,10,114664,114664,TRUE,FALSE,114718,897,114708,897,114700,897,"xid 3.5 pages for  txn rec; data 10 bytes (exact fit) [deq, txn]"
-170,"L",3.5,16,0,16,1,10,10,114665,114665,TRUE,FALSE,114719,897,114709,897,114701,897,"xid 3.5 pages + 1 byte for  txn rec; data 10 bytes (exact fit) [deq, txn]"
+,,,,,,,"Msg size",,"Xid size",,,,,"enq-size",,"deq-size",,"txn-size",,
+"Test #","tf","pf","amn","mn incr","#msgs","ms incr","Min","Max","Min","Max","auto-deq","transient","extern","bytes","dblks","bytes","dblks","bytes","dblks","comment"
+,,,,,,,,,,,,,,,,,,,,
+"Initialize only",,,,,,,,,,,,,,,,,,,,
+0,"L",0,0,0,0,0,0,0,0,0,FALSE,FALSE,FALSE,44,1,0,0,0,0,"No messages -  journal creation/initialization only"
+,,,,,,,,,,,,,,,,,,,,
+"Simple message  combinations of persistent/deq transientueued/non-dequeued, transactional/non-transactional",,,,,,,,,,,,,,,,,,,,
+1,"L",1,1,0,1,0,10,10,0,0,FALSE,FALSE,FALSE,54,1,0,0,0,0,"1 * 10-byte message"
+2,"L",1,10,0,10,0,10,10,0,0,FALSE,FALSE,FALSE,54,1,0,0,0,0,"10 * 10-byte message"
+3,"L",1,1,0,1,0,10,10,0,0,FALSE,TRUE,FALSE,54,1,0,0,0,0,"1 * 10-byte message [transient]"
+4,"L",1,10,0,10,0,10,10,0,0,FALSE,TRUE,FALSE,54,1,0,0,0,0,"10 * 10-byte message [transient]"
+5,"L",1,1,0,1,0,10,10,10,10,FALSE,FALSE,FALSE,64,1,0,0,0,0,"1 * 10-byte message [txn]"
+6,"L",1,10,0,10,0,10,10,10,10,FALSE,FALSE,FALSE,64,1,0,0,0,0,"10 * 10-byte message [txn]"
+7,"L",1,1,0,1,0,10,10,10,10,FALSE,TRUE,FALSE,64,1,0,0,0,0,"1 * 10-byte message [txn transient]"
+8,"L",1,10,0,10,0,10,10,10,10,FALSE,TRUE,FALSE,64,1,0,0,0,0,"10 * 10-byte message [txn transient]"
+9,"L",1,1,0,1,0,10,10,0,0,TRUE,FALSE,FALSE,54,1,32,1,0,0,"1 * 10-byte message [deq]"
+10,"L",1,10,0,10,0,10,10,0,0,TRUE,FALSE,FALSE,54,1,32,1,0,0,"10 * 10-byte message [deq]"
+11,"L",1,1,0,1,0,10,10,0,0,TRUE,TRUE,FALSE,54,1,32,1,0,0,"1 * 10-byte message [deq transient]"
+12,"L",1,10,0,10,0,10,10,0,0,TRUE,TRUE,FALSE,54,1,32,1,0,0,"10 * 10-byte message [deq transient]"
+13,"L",1,1,0,1,0,10,10,10,10,TRUE,FALSE,FALSE,64,1,54,1,46,1,"1 * 10-byte message [deq txn]"
+14,"L",1,10,0,10,0,10,10,10,10,TRUE,FALSE,FALSE,64,1,54,1,46,1,"10 * 10-byte message [deq txn]"
+15,"L",1,1,0,1,0,10,10,10,10,TRUE,TRUE,FALSE,64,1,54,1,46,1,"1 * 10-byte message [txn deq transient]"
+16,"L",1,10,0,10,0,10,10,10,10,TRUE,TRUE,FALSE,64,1,54,1,46,1,"10 * 10-byte message [txn deq transient]"
+17,"L",1,1,0,1,0,10,10,0,0,FALSE,FALSE,TRUE,54,1,0,0,0,0,"1 * 10-byte message [extern]"
+18,"L",1,10,0,10,0,10,10,0,0,FALSE,FALSE,TRUE,54,1,0,0,0,0,"10 * 10-byte message [extern]"
+19,"L",1,1,0,1,0,10,10,0,0,FALSE,TRUE,TRUE,54,1,0,0,0,0,"1 * 10-byte message [transient extern]"
+20,"L",1,10,0,10,0,10,10,0,0,FALSE,TRUE,TRUE,54,1,0,0,0,0,"10 * 10-byte message [transient extern]"
+21,"L",1,1,0,1,0,10,10,10,10,FALSE,FALSE,TRUE,64,1,0,0,0,0,"1 * 10-byte message [txn extern]"
+22,"L",1,10,0,10,0,10,10,10,10,FALSE,FALSE,TRUE,64,1,0,0,0,0,"10 * 10-byte message [txn extern]"
+23,"L",1,1,0,1,0,10,10,10,10,FALSE,TRUE,TRUE,64,1,0,0,0,0,"1 * 10-byte message [txn transient extern]"
+24,"L",1,10,0,10,0,10,10,10,10,FALSE,TRUE,TRUE,64,1,0,0,0,0,"10 * 10-byte message [txn transient extern]"
+25,"L",1,1,0,1,0,10,10,0,0,TRUE,FALSE,TRUE,54,1,32,1,0,0,"1 * 10-byte message [deq extern]"
+26,"L",1,10,0,10,0,10,10,0,0,TRUE,FALSE,TRUE,54,1,32,1,0,0,"10 * 10-byte message [deq extern]"
+27,"L",1,1,0,1,0,10,10,0,0,TRUE,TRUE,TRUE,54,1,32,1,0,0,"1 * 10-byte message [deq transient extern]"
+28,"L",1,10,0,10,0,10,10,0,0,TRUE,TRUE,TRUE,54,1,32,1,0,0,"10 * 10-byte message [deq transient extern]"
+29,"L",1,1,0,1,0,10,10,10,10,TRUE,FALSE,TRUE,64,1,54,1,46,1,"1 * 10-byte message [deq txn extern]"
+30,"L",1,10,0,10,0,10,10,10,10,TRUE,FALSE,TRUE,64,1,54,1,46,1,"10 * 10-byte message [deq txn extern]"
+31,"L",1,1,0,1,0,10,10,10,10,TRUE,TRUE,TRUE,64,1,54,1,46,1,"1 * 10-byte message [txn deq transient extern]"
+32,"L",1,10,0,10,0,10,10,10,10,TRUE,TRUE,TRUE,64,1,54,1,46,1,"10 * 10-byte message [txn deq transient extern]"
+,,,,,,,,,,,,,,,,,,,,
+"Transition from one d-block to two per message",,,,,,,,,,,,,,,,,,,,
+33,"L",1,10,0,10,0,84,84,0,0,FALSE,FALSE,FALSE,128,1,0,0,0,0,"1 dblk exact fit"
+34,"L",1,10,0,10,1,85,85,0,0,FALSE,FALSE,FALSE,129,2,0,0,0,0,"1 dblk + 1 byte"
+35,"L",1,10,0,10,0,58,58,26,26,FALSE,FALSE,FALSE,128,1,0,0,0,0,"1 dblk exact fit [txn]"
+36,"L",1,10,0,10,1,59,59,26,26,FALSE,FALSE,FALSE,129,2,0,0,0,0,"1 dblk + 1 byte [txn]"
+,,,,,,,,,,,,,,,,,,,,
+"Transition from one s-block to two per message",,,,,,,,,,,,,,,,,,,,
+37,"L",1,10,0,10,0,468,468,0,0,FALSE,FALSE,FALSE,512,4,0,0,0,0,"1 sblk exact fit"
+38,"L",1,10,0,10,1,469,469,0,0,FALSE,FALSE,FALSE,513,5,0,0,0,0,"1 sblk + 1 byte"
+39,"L",1,10,0,10,0,442,442,26,26,FALSE,FALSE,FALSE,512,4,0,0,0,0,"1 sblk exact fit [txn]"
+40,"L",1,10,0,10,1,443,443,26,26,FALSE,FALSE,FALSE,513,5,0,0,0,0,"1 sblk + 1 byte [txn]"
+,,,,,,,,,,,,,,,,,,,,
+"Transition from first page to second",,,,,,,,,,,,,,,,,,,,
+41,"L",1,8,0,8,0,4052,4052,0,0,FALSE,FALSE,FALSE,4096,32,0,0,0,0,"1/8 page"
+42,"L",1,8,1,9,0,4052,4052,0,0,FALSE,FALSE,FALSE,4096,32,0,0,0,0,"1/8 page"
+43,"L",1,8,0,8,1,4053,4053,0,0,FALSE,FALSE,FALSE,4097,33,0,0,0,0,"1/8 page + 1 byte"
+44,"L",1,8,0,8,0,3796,3796,256,256,FALSE,FALSE,FALSE,4096,32,0,0,0,0,"1/8 page [txn]"
+45,"L",1,8,1,9,0,3796,3796,256,256,FALSE,FALSE,FALSE,4096,32,0,0,0,0,"1/8 page [txn]"
+46,"L",1,8,0,8,1,3797,3797,256,256,FALSE,FALSE,FALSE,4097,33,0,0,0,0,"1/8 page + 1 byte [txn]"
+47,"L",1,8,0,8,0,3924,3924,0,0,TRUE,FALSE,FALSE,3968,31,32,1,0,0,"1/8 page incl deq [deq]"
+48,"L",1,8,1,9,0,3924,3924,0,0,TRUE,FALSE,FALSE,3968,31,32,1,0,0,"1/8 page incl deq [deq]"
+49,"L",1,8,0,8,1,3925,3925,0,0,TRUE,FALSE,FALSE,3969,32,32,1,0,0,"1/8 page incl deq + 1 byte [deq]"
+50,"L",1,8,0,8,0,3028,3028,256,256,TRUE,FALSE,FALSE,3328,26,300,3,292,3,"1/8 page incl deq & txn [deq txn]"
+51,"L",1,8,1,9,0,3028,3028,256,256,TRUE,FALSE,FALSE,3328,26,300,3,292,3,"1/8 page incl deq & txn [deq txn]"
+52,"L",1,8,0,8,1,3029,3029,256,256,TRUE,FALSE,FALSE,3329,27,300,3,292,3,"1/8 page incl deq & txn + 1 byte [deq txn]"
+,,,,,,,,,,,,,,,,,,,,
+"Page cache rollover (from page 32 back to page 0)",,,,,,,,,,,,,,,,,,,,
+53,"L",1,32,0,32,0,32724,32724,0,0,FALSE,FALSE,FALSE,32768,256,0,0,0,0,"1 page"
+54,"L",1,32,1,33,0,32724,32724,0,0,FALSE,FALSE,FALSE,32768,256,0,0,0,0,"1 page"
+55,"L",1,32,0,32,1,32725,32725,0,0,FALSE,FALSE,FALSE,32769,257,0,0,0,0,"1 page + 1 byte"
+56,"L",1.5,22,0,22,0,49108,49108,0,0,FALSE,FALSE,FALSE,49152,384,0,0,0,0,"1.5 pages"
+57,"L",1,32,0,32,0,32468,32468,256,256,FALSE,FALSE,FALSE,32768,256,0,0,0,0,"1 page [txn]"
+58,"L",1,32,1,33,0,32468,32468,256,256,FALSE,FALSE,FALSE,32768,256,0,0,0,0,"1 page [txn]"
+59,"L",1,32,0,32,1,32469,32469,256,256,FALSE,FALSE,FALSE,32769,257,0,0,0,0,"1 page + 1 byte [txn]"
+60,"L",1.5,22,0,22,0,48852,48852,256,256,FALSE,FALSE,FALSE,49152,384,0,0,0,0,"1.5 pages [txn]"
+61,"L",1,32,0,32,0,32596,32596,0,0,TRUE,FALSE,FALSE,32640,255,32,1,0,0,"1 page incl deq [deq]"
+62,"L",1,32,1,33,0,32596,32596,0,0,TRUE,FALSE,FALSE,32640,255,32,1,0,0,"1 page incl deq [deq]"
+63,"L",1,32,0,32,1,32597,32597,0,0,TRUE,FALSE,FALSE,32641,256,32,1,0,0,"1 page incl deq + 1 byte [deq]"
+64,"L",1.5,22,0,22,0,48980,48980,0,0,TRUE,FALSE,FALSE,49024,383,32,1,0,0,"1.5 pages incl deq [deq]"
+65,"L",1,32,0,32,0,31700,31700,256,256,TRUE,FALSE,FALSE,32000,250,300,3,292,3,"1 page incl deq & txn [deq txn]"
+66,"L",1,32,1,33,0,31700,31700,256,256,TRUE,FALSE,FALSE,32000,250,300,3,292,3,"1 page incl deq & txn [deq txn]"
+67,"L",1,32,0,32,1,31701,31701,256,256,TRUE,FALSE,FALSE,32001,251,300,3,292,3,"1 page incl deq & txn + 1 byte [deq txn]"
+68,"L",1.5,22,0,22,0,48084,48084,256,256,TRUE,FALSE,FALSE,48384,378,300,3,292,3,"1.5 pages incl deq & txn [deq txn]"
+,,,,,,,,,,,,,,,,,,,,
+"File transition (from file 0000 to 0001)",,,,,,,,,,,,,,,,,,,,
+69,"L",1,48,0,48,0,32724,32724,0,0,FALSE,FALSE,FALSE,32768,256,0,0,0,0,"1 page"
+70,"L",1,48,1,49,0,32724,32724,0,0,FALSE,FALSE,FALSE,32768,256,0,0,0,0,"1 page"
+71,"L",1,48,0,48,1,32725,32725,0,0,FALSE,FALSE,FALSE,32769,257,0,0,0,0,"1 page + 1 byte"
+72,"L",2.5,20,0,20,0,81876,81876,0,0,FALSE,FALSE,FALSE,81920,640,0,0,0,0,"2.5 pages"
+73,"L",1,48,0,48,0,32468,32468,256,256,FALSE,FALSE,FALSE,32768,256,0,0,0,0,"1 page [txn]"
+74,"L",1,48,1,49,0,32468,32468,256,256,FALSE,FALSE,FALSE,32768,256,0,0,0,0,"1 page [txn]"
+75,"L",1,48,0,48,1,32469,32469,256,256,FALSE,FALSE,FALSE,32769,257,0,0,0,0,"1 page + 1 byte [txn]"
+76,"L",2.5,20,0,20,0,81620,81620,256,256,FALSE,FALSE,FALSE,81920,640,0,0,0,0,"2.5 pages [txn]"
+77,"L",1,48,0,48,0,32596,32596,0,0,TRUE,FALSE,FALSE,32640,255,32,1,0,0,"1 page incl deq [deq]"
+78,"L",1,48,1,49,0,32596,32596,0,0,TRUE,FALSE,FALSE,32640,255,32,1,0,0,"1 page incl deq [deq]"
+79,"L",1,48,0,48,1,32597,32597,0,0,TRUE,FALSE,FALSE,32641,256,32,1,0,0,"1 page incl deq + 1 byte [deq]"
+80,"L",2.5,20,0,20,0,81748,81748,0,0,TRUE,FALSE,FALSE,81792,639,32,1,0,0,"2.5 pages incl deq [deq]"
+81,"L",1,48,0,48,0,31700,31700,256,256,TRUE,FALSE,FALSE,32000,250,300,3,292,3,"1 page incl deq & txn [deq txn]"
+82,"L",1,48,1,49,0,31700,31700,256,256,TRUE,FALSE,FALSE,32000,250,300,3,292,3,"1 page incl deq & txn [deq txn]"
+83,"L",1,48,0,48,1,31701,31701,256,256,TRUE,FALSE,FALSE,32001,251,300,3,292,3,"1 page incl deq & txn + 1 byte [deq txn]"
+84,"L",2.5,20,0,20,0,80852,80852,256,256,TRUE,FALSE,FALSE,81152,634,300,3,292,3,"2.5 pages incl deq & txn [deq txn]"
+,,,,,,,,,,,,,,,,,,,,
+"File rollover (from file 0007 to 0000) - RHM_WRONLY req'd for auto-dequeue == FALSE",,,,,,,,,,,,,,,,,,,,
+85,"L",0.5,16,0,16,0,786388,786388,0,0,FALSE,FALSE,FALSE,786432,6144,0,0,0,0,"24 pages = ½ file"
+86,"L",0.5,16,1,17,0,786388,786388,0,0,FALSE,FALSE,FALSE,786432,6144,0,0,0,0,"24 pages = ½ file"
+87,"L",0.5,16,0,16,1,786389,786389,0,0,FALSE,FALSE,FALSE,786433,6145,0,0,0,0,"24 pages + 1 byte"
+88,"L",0.5,16,0,16,0,786132,786132,256,256,FALSE,FALSE,FALSE,786432,6144,0,0,0,0,"24 pages = ½ file [txn]"
+89,"L",0.5,16,1,17,0,786132,786132,256,256,FALSE,FALSE,FALSE,786432,6144,0,0,0,0,"24 pages = ½ file [txn]"
+90,"L",0.5,16,0,16,1,786133,786133,256,256,FALSE,FALSE,FALSE,786433,6145,0,0,0,0,"24 pages + 1 byte [txn]"
+91,"L",0.25,32,0,32,0,786388,786388,0,0,FALSE,FALSE,FALSE,786432,6144,0,0,0,0,"24 pages = ½ file"
+92,"L",0.25,32,1,33,0,786388,786388,0,0,FALSE,FALSE,FALSE,786432,6144,0,0,0,0,"24 pages = ½ file"
+93,"L",0.25,32,0,32,1,786389,786389,0,0,FALSE,FALSE,FALSE,786433,6145,0,0,0,0,"24 pages + 1 byte"
+94,"L",0.25,32,0,32,0,786132,786132,256,256,FALSE,FALSE,FALSE,786432,6144,0,0,0,0,"24 pages = ½ file [txn]"
+95,"L",0.25,32,1,33,0,786132,786132,256,256,FALSE,FALSE,FALSE,786432,6144,0,0,0,0,"24 pages = ½ file [txn]"
+96,"L",0.25,32,0,32,1,786133,786133,256,256,FALSE,FALSE,FALSE,786433,6145,0,0,0,0,"24 pages + 1 byte [txn]"
+97,"L",0.5,16,0,16,0,786260,786260,0,0,TRUE,FALSE,FALSE,786304,6143,32,1,0,0,"24 pages incl deq = ½ file [deq]"
+98,"L",0.5,16,1,17,0,786260,786260,0,0,TRUE,FALSE,FALSE,786304,6143,32,1,0,0,"24 pages incl deq = ½ file [deq]"
+99,"L",0.5,16,0,16,1,786261,786261,0,0,TRUE,FALSE,FALSE,786305,6144,32,1,0,0,"24 pages incl deq + 1 byte [deq]"
+100,"L",0.5,16,0,16,0,785364,785364,256,256,TRUE,FALSE,FALSE,785664,6138,300,3,292,3,"24 pages incl deq & txn = ½ file [deq txn]"
+101,"L",0.5,16,1,17,0,785364,785364,256,256,TRUE,FALSE,FALSE,785664,6138,300,3,292,3,"24 pages incl deq & txn = ½ file [deq txn]"
+102,"L",0.5,16,0,16,1,785365,785365,256,256,TRUE,FALSE,FALSE,785665,6139,300,3,292,3,"24 pages incl deq & txn + 1 byte [deq txn]"
+103,"L",0.25,32,0,32,0,786260,786260,0,0,TRUE,FALSE,FALSE,786304,6143,32,1,0,0,"24 pages incl deq = ½ file [deq]"
+104,"L",0.25,32,1,33,0,786260,786260,0,0,TRUE,FALSE,FALSE,786304,6143,32,1,0,0,"24 pages incl deq = ½ file [deq]"
+105,"L",0.25,32,0,32,1,786261,786261,0,0,TRUE,FALSE,FALSE,786305,6144,32,1,0,0,"24 pages incl deq + 1 byte [deq]"
+106,"L",0.25,32,0,32,0,785364,785364,256,256,TRUE,FALSE,FALSE,785664,6138,300,3,292,3,"24 pages incl deq & txn = ½ file [deq txn]"
+107,"L",0.25,32,1,33,0,785364,785364,256,256,TRUE,FALSE,FALSE,785664,6138,300,3,292,3,"24 pages incl deq & txn = ½ file [deq txn]"
+108,"L",0.25,32,0,32,1,785365,785365,256,256,TRUE,FALSE,FALSE,785665,6139,300,3,292,3,"24 pages incl deq & txn + 1 byte [deq txn]"
+,,,,,,,,,,,,,,,,,,,,
+"Multi-page messages (large messages) - tests various paths in encoder.",,,,,,,,,,,,,,,,,,,,
+109,"L",1,16,0,16,0,32724,32724,0,0,FALSE,FALSE,FALSE,32768,256,0,0,0,0,"data 1 page"
+110,"L",1,16,0,16,1,32725,32725,0,0,FALSE,FALSE,FALSE,32769,257,0,0,0,0,"data 1 page + 1 byte (tail split; 1 byte over page boundary)"
+111,"L",1,16,0,16,11,32735,32735,0,0,FALSE,FALSE,FALSE,32779,257,0,0,0,0,"data 1 page + 11 bytes (tail split; 11 bytes over page boundary)"
+112,"L",1,16,0,16,12,32736,32736,0,0,FALSE,FALSE,FALSE,32780,257,0,0,0,0,"data 1 page + 12 bytes (tail separated exactly onto next page)"
+113,"L",1,16,0,16,13,32737,32737,0,0,FALSE,FALSE,FALSE,32781,257,0,0,0,0,"data 1 page + 13 bytes (data split; 1 byte over page boundary)"
+114,"L",1,16,0,16,0,32468,32468,256,256,FALSE,FALSE,FALSE,32768,256,0,0,0,0,"data 1 page [txn]"
+115,"L",1,16,0,16,1,32469,32469,256,256,FALSE,FALSE,FALSE,32769,257,0,0,0,0,"data 1 page + 1 byte (tail split; 1 byte over page boundary) [txn]"
+116,"L",1,16,0,16,11,32479,32479,256,256,FALSE,FALSE,FALSE,32779,257,0,0,0,0,"data 1 page + 11 bytes (tail split; 11 bytes over page boundary) [txn]"
+117,"L",1,16,0,16,12,32480,32480,256,256,FALSE,FALSE,FALSE,32780,257,0,0,0,0,"data 1 page + 12 bytes (tail separated exactly onto next page) [txn]"
+118,"L",1,16,0,16,13,32481,32481,256,256,FALSE,FALSE,FALSE,32781,257,0,0,0,0,"data 1 page + 13 bytes (data split; 1 byte over page boundary) [txn]"
+119,"L",2,16,0,16,0,65492,65492,0,0,FALSE,FALSE,FALSE,65536,512,0,0,0,0,"data 2 pages"
+120,"L",2,16,0,16,1,65493,65493,0,0,FALSE,FALSE,FALSE,65537,513,0,0,0,0,"data 2 pages + 1 byte (tail split; 1 byte over page boundary)"
+121,"L",2,16,0,16,11,65503,65503,0,0,FALSE,FALSE,FALSE,65547,513,0,0,0,0,"data 2 pages + 11 bytes (tail split; 11 bytes over page boundary)"
+122,"L",2,16,0,16,12,65504,65504,0,0,FALSE,FALSE,FALSE,65548,513,0,0,0,0,"data 2 pages + 12 bytes (tail separated exactly onto next page)"
+123,"L",2,16,0,16,13,65505,65505,0,0,FALSE,FALSE,FALSE,65549,513,0,0,0,0,"data 2 pages + 13 bytes (data split; 1 byte over page boundary)"
+124,"L",2,16,0,16,0,65236,65236,256,256,FALSE,FALSE,FALSE,65536,512,0,0,0,0,"data 2 pages [txn]"
+125,"L",2,16,0,16,1,65237,65237,256,256,FALSE,FALSE,FALSE,65537,513,0,0,0,0,"data 2 pages + 1 byte (tail split; 1 byte over page boundary) [txn]"
+126,"L",2,16,0,16,11,65247,65247,256,256,FALSE,FALSE,FALSE,65547,513,0,0,0,0,"data 2 pages + 11 bytes (tail split; 11 bytes over page boundary) [txn]"
+127,"L",2,16,0,16,12,65248,65248,256,256,FALSE,FALSE,FALSE,65548,513,0,0,0,0,"data 2 pages + 12 bytes (tail separated exactly onto next page) [txn]"
+128,"L",2,16,0,16,13,65249,65249,256,256,FALSE,FALSE,FALSE,65549,513,0,0,0,0,"data 2 pages + 13 bytes (data split; 1 byte over page boundary) [txn]"
+129,"L",4,16,0,16,0,131028,131028,0,0,FALSE,FALSE,FALSE,131072,1024,0,0,0,0,"data 4 pages"
+130,"L",4,16,0,16,1,131029,131029,0,0,FALSE,FALSE,FALSE,131073,1025,0,0,0,0,"data 4 pages + 1 byte (tail split; 1 byte over page boundary)"
+131,"L",4,16,0,16,11,131039,131039,0,0,FALSE,FALSE,FALSE,131083,1025,0,0,0,0,"data 4 pages + 11 bytes (tail split; 11 bytes over page boundary)"
+132,"L",4,16,0,16,12,131040,131040,0,0,FALSE,FALSE,FALSE,131084,1025,0,0,0,0,"data 4 pages + 12 bytes (tail separated exactly onto next page)"
+133,"L",4,16,0,16,13,131041,131041,0,0,FALSE,FALSE,FALSE,131085,1025,0,0,0,0,"data 4 pages + 13 bytes (data split; 1 byte over page boundary)"
+134,"L",4,16,0,16,0,130772,130772,256,256,FALSE,FALSE,FALSE,131072,1024,0,0,0,0,"data 4 pages [txn]"
+135,"L",4,16,0,16,1,130773,130773,256,256,FALSE,FALSE,FALSE,131073,1025,0,0,0,0,"data 4 pages + 1 byte (tail split; 1 byte over page boundary) [txn]"
+136,"L",4,16,0,16,11,130783,130783,256,256,FALSE,FALSE,FALSE,131083,1025,0,0,0,0,"data 4 pages + 11 bytes (tail split; 11 bytes over page boundary) [txn]"
+137,"L",4,16,0,16,12,130784,130784,256,256,FALSE,FALSE,FALSE,131084,1025,0,0,0,0,"data 4 pages + 12 bytes (tail separated exactly onto next page) [txn]"
+138,"L",4,16,0,16,13,130785,130785,256,256,FALSE,FALSE,FALSE,131085,1025,0,0,0,0,"data 4 pages + 13 bytes (data split; 1 byte over page boundary) [txn]"
+139,"L",3.5,16,0,16,0,114644,114644,0,0,FALSE,FALSE,FALSE,114688,896,0,0,0,0,"data 3.5 pages"
+140,"L",3.5,16,0,16,1,114645,114645,0,0,FALSE,FALSE,FALSE,114689,897,0,0,0,0,"data 3.5 pages + 1 byte"
+141,"L",3.5,16,0,16,0,114388,114388,256,256,FALSE,FALSE,FALSE,114688,896,0,0,0,0,"data 3.5 pages [txn]"
+142,"L",3.5,16,0,16,1,114389,114389,256,256,FALSE,FALSE,FALSE,114689,897,0,0,0,0,"data 3.5 pages + 1 byte [txn]"
+143,"L",1,16,0,16,-1,10,10,32735,32735,FALSE,FALSE,FALSE,32789,257,0,0,0,0,"xid 1 page – 1 byte; data 10 bytes (exact fit) [txn]"
+144,"L",1,16,0,16,0,10,10,32736,32736,FALSE,FALSE,FALSE,32790,257,0,0,0,0,"xid 1 page; data 10 bytes (exact fit) [txn]"
+145,"L",1,16,0,16,1,10,10,32737,32737,FALSE,FALSE,FALSE,32791,257,0,0,0,0,"xid 1 page + 1 byte; data 10 bytes (exact fit) [txn]"
+146,"L",2,16,0,16,-1,10,10,65503,65503,FALSE,FALSE,FALSE,65557,513,0,0,0,0,"xid 2 pages – 1 byte; data 10 bytes (exact fit) [txn]"
+147,"L",2,16,0,16,0,10,10,65504,65504,FALSE,FALSE,FALSE,65558,513,0,0,0,0,"xid 2 pages; data 10 bytes (exact fit) [txn]"
+148,"L",2,16,0,16,1,10,10,65505,65505,FALSE,FALSE,FALSE,65559,513,0,0,0,0,"xid 2 pages + 1 byte; data 10 bytes (exact fit) [txn]"
+149,"L",4,16,0,16,-1,10,10,131039,131039,FALSE,FALSE,FALSE,131093,1025,0,0,0,0,"xid 4 pages – 1 byte; data 10 bytes (exact fit) [txn]"
+150,"L",4,16,0,16,0,10,10,131040,131040,FALSE,FALSE,FALSE,131094,1025,0,0,0,0,"xid 4 pages; data 10 bytes (exact fit) [txn]"
+151,"L",4,16,0,16,1,10,10,131041,131041,FALSE,FALSE,FALSE,131095,1025,0,0,0,0,"xid 4 pages + 1 byte; data 10 bytes (exact fit) [txn]"
+152,"L",3.5,16,0,16,0,10,10,114656,114656,FALSE,FALSE,FALSE,114710,897,0,0,0,0,"xid 3.5 pages; data 10 bytes (exact fit) [txn]"
+153,"L",3.5,16,0,16,1,10,10,114657,114657,FALSE,FALSE,FALSE,114711,897,0,0,0,0,"xid 3.5 pages + 1 byte; data 10 bytes (exact fit) [txn]"
+154,"L",1,16,0,16,-1,10,10,32735,32735,TRUE,FALSE,FALSE,32789,257,32779,257,32771,257,"xid 1 page – 1 byte for enq rec; data 10 bytes (exact fit) [deq, txn]"
+155,"L",1,16,0,16,0,10,10,32736,32736,TRUE,FALSE,FALSE,32790,257,32780,257,32772,257,"xid 1 page for enq rec; data 10 bytes (exact fit) [deq, txn]"
+156,"L",1,16,0,16,1,10,10,32737,32737,TRUE,FALSE,FALSE,32791,257,32781,257,32773,257,"xid 1 page + 1 byte for enq rec; data 10 bytes (exact fit) [deq, txn]"
+157,"L",2,16,0,16,-1,10,10,65503,65503,TRUE,FALSE,FALSE,65557,513,65547,513,65539,513,"xid 2 pages – 1 byte for enq rec; data 10 bytes (exact fit) [deq, txn]"
+158,"L",2,16,0,16,0,10,10,65504,65504,TRUE,FALSE,FALSE,65558,513,65548,513,65540,513,"xid 2 pages for enq rec; data 10 bytes (exact fit) [deq, txn]"
+159,"L",2,16,0,16,1,10,10,65505,65505,TRUE,FALSE,FALSE,65559,513,65549,513,65541,513,"xid 2 pages + 1 byte for enq rec; data 10 bytes (exact fit) [deq, txn]"
+160,"L",4,16,0,16,-1,10,10,131039,131039,TRUE,FALSE,FALSE,131093,1025,131083,1025,131075,1025,"xid 4 pages – 1 byte for enq rec; data 10 bytes (exact fit) [deq, txn]"
+161,"L",4,16,0,16,0,10,10,131040,131040,TRUE,FALSE,FALSE,131094,1025,131084,1025,131076,1025,"xid 4 pages for enq rec; data 10 bytes (exact fit) [deq, txn]"
+162,"L",4,16,0,16,1,10,10,131041,131041,TRUE,FALSE,FALSE,131095,1025,131085,1025,131077,1025,"xid 4 pages + 1 byte for enq rec; data 10 bytes (exact fit) [deq, txn]"
+163,"L",3.5,16,0,16,0,10,10,114656,114656,TRUE,FALSE,FALSE,114710,897,114700,897,114692,897,"xid 3.5 pages for enq rec; data 10 bytes (exact fit) [deq, txn]"
+164,"L",3.5,16,0,16,1,10,10,114657,114657,TRUE,FALSE,FALSE,114711,897,114701,897,114693,897,"xid 3.5 pages + 1 byte for enq rec; data 10 bytes (exact fit) [deq, txn]"
+165,"L",1,16,0,16,-1,10,10,32735,32735,TRUE,FALSE,FALSE,32789,257,32779,257,32771,257,"xid 1 page – 1 byte for deq rec; data 10 bytes (exact fit) [deq, txn]"
+166,"L",1,16,0,16,0,10,10,32736,32736,TRUE,FALSE,FALSE,32790,257,32780,257,32772,257,"xid 1 page for deq rec; data 10 bytes (exact fit) [deq, txn]"
+167,"L",1,16,0,16,1,10,10,32737,32737,TRUE,FALSE,FALSE,32791,257,32781,257,32773,257,"xid 1 page + 1 byte for deq rec; data 10 bytes (exact fit) [deq, txn]"
+168,"L",2,16,0,16,-1,10,10,65503,65503,TRUE,FALSE,FALSE,65557,513,65547,513,65539,513,"xid 2 pages – 1 byte for deq rec; data 10 bytes (exact fit) [deq, txn]"
+169,"L",2,16,0,16,0,10,10,65504,65504,TRUE,FALSE,FALSE,65558,513,65548,513,65540,513,"xid 2 pages for deq rec; data 10 bytes (exact fit) [deq, txn]"
+170,"L",2,16,0,16,1,10,10,65505,65505,TRUE,FALSE,FALSE,65559,513,65549,513,65541,513,"xid 2 pages + 1 byte for deq rec; data 10 bytes (exact fit) [deq, txn]"
+171,"L",4,16,0,16,-1,10,10,131039,131039,TRUE,FALSE,FALSE,131093,1025,131083,1025,131075,1025,"xid 4 pages – 1 byte for deq rec; data 10 bytes (exact fit) [deq, txn]"
+172,"L",4,16,0,16,0,10,10,131040,131040,TRUE,FALSE,FALSE,131094,1025,131084,1025,131076,1025,"xid 4 pages for deq rec; data 10 bytes (exact fit) [deq, txn]"
+173,"L",4,16,0,16,1,10,10,131041,131041,TRUE,FALSE,FALSE,131095,1025,131085,1025,131077,1025,"xid 4 pages + 1 byte for deq rec; data 10 bytes (exact fit) [deq, txn]"
+174,"L",3.5,16,0,16,0,10,10,114656,114656,TRUE,FALSE,FALSE,114710,897,114700,897,114692,897,"xid 3.5 pages for deq rec; data 10 bytes (exact fit) [deq, txn]"
+175,"L",3.5,16,0,16,1,10,10,114657,114657,TRUE,FALSE,FALSE,114711,897,114701,897,114693,897,"xid 3.5 pages + 1 byte for deq rec; data 10 bytes (exact fit) [deq, txn]"
+176,"L",1,16,0,16,-1,10,10,32743,32743,TRUE,FALSE,FALSE,32797,257,32787,257,32779,257,"xid 1 page – 1 byte for txn rec; data 10 bytes (exact fit) [deq, txn]"
+177,"L",1,16,0,16,0,10,10,32744,32744,TRUE,FALSE,FALSE,32798,257,32788,257,32780,257,"xid 1 page for  txn rec; data 10 bytes (exact fit) [deq, txn]"
+178,"L",1,16,0,16,1,10,10,32745,32745,TRUE,FALSE,FALSE,32799,257,32789,257,32781,257,"xid 1 page + 1 byte for  txn rec; data 10 bytes (exact fit) [deq, txn]"
+179,"L",2,16,0,16,-1,10,10,65511,65511,TRUE,FALSE,FALSE,65565,513,65555,513,65547,513,"xid 2 pages – 1 byte for  txn rec; data 10 bytes (exact fit) [deq, txn]"
+180,"L",2,16,0,16,0,10,10,65512,65512,TRUE,FALSE,FALSE,65566,513,65556,513,65548,513,"xid 2 pages for  txn rec; data 10 bytes (exact fit) [deq, txn]"
+181,"L",2,16,0,16,1,10,10,65513,65513,TRUE,FALSE,FALSE,65567,513,65557,513,65549,513,"xid 2 pages + 1 byte for  txn rec; data 10 bytes (exact fit) [deq, txn]"
+182,"L",4,16,0,16,-1,10,10,131047,131047,TRUE,FALSE,FALSE,131101,1025,131091,1025,131083,1025,"xid 4 pages – 1 byte for  txn rec; data 10 bytes (exact fit) [deq, txn]"
+183,"L",4,16,0,16,0,10,10,131048,131048,TRUE,FALSE,FALSE,131102,1025,131092,1025,131084,1025,"xid 4 pages for  txn rec; data 10 bytes (exact fit) [deq, txn]"
+184,"L",4,16,0,16,1,10,10,131049,131049,TRUE,FALSE,FALSE,131103,1025,131093,1025,131085,1025,"xid 4 pages + 1 byte for  txn rec; data 10 bytes (exact fit) [deq, txn]"
+185,"L",3.5,16,0,16,0,10,10,114664,114664,TRUE,FALSE,FALSE,114718,897,114708,897,114700,897,"xid 3.5 pages for  txn rec; data 10 bytes (exact fit) [deq, txn]"
+186,"L",3.5,16,0,16,1,10,10,114665,114665,TRUE,FALSE,FALSE,114719,897,114709,897,114701,897,"xid 3.5 pages + 1 byte for  txn rec; data 10 bytes (exact fit) [deq, txn]"

Modified: store/trunk/cpp/tests/jrnl/tests.ods
===================================================================
(Binary files differ)

Modified: store/trunk/cpp/tests/jrnl/wtests.csv
===================================================================
--- store/trunk/cpp/tests/jrnl/wtests.csv	2007-11-06 19:49:07 UTC (rev 1256)
+++ store/trunk/cpp/tests/jrnl/wtests.csv	2007-11-06 21:52:47 UTC (rev 1257)
@@ -1,277 +1,293 @@
-,,,,,,,"Msg size",,"Xid size",,,,"enq-size",,"deq-size",,"txn-size",,
-"Test #","tf","pf","amn","mn incr","#msgs","ms incr","Min","Max","Min","Max","auto-deq","transient","bytes","dblks","bytes","dblks","bytes","dblks","comment"
-,,,,,,,,,,,,,,,,,,,
-"Initialize only",,,,,,,,,,,,,,,,,,,
-0,"L",0,0,0,0,0,0,0,0,0,FALSE,FALSE,44,1,0,0,0,0,"No messages – journal creation/initialization only"
-,,,,,,,,,,,,,,,,,,,
-"Simple message  combinations of persistent/deq transientueued/non-dequeued, transactional/non-transactional",,,,,,,,,,,,,,,,,,,
-1,"L",1,1,0,1,0,10,10,0,0,FALSE,FALSE,54,1,0,0,0,0,"1 * 10-byte message"
-2,"L",1,10,0,10,0,10,10,0,0,FALSE,FALSE,54,1,0,0,0,0,"10 * 10-byte message"
-3,"L",1,1,0,1,0,10,10,0,0,FALSE,TRUE,54,1,0,0,0,0,"1 * 10-byte message [transient]"
-4,"L",1,10,0,10,0,10,10,0,0,FALSE,TRUE,54,1,0,0,0,0,"10 * 10-byte message [transient]"
-5,"L",1,1,0,1,0,10,10,10,10,FALSE,FALSE,64,1,0,0,0,0,"1 * 10-byte message [txn]"
-6,"L",1,10,0,10,0,10,10,10,10,FALSE,FALSE,64,1,0,0,0,0,"10 * 10-byte message [txn]"
-7,"L",1,1,0,1,0,10,10,10,10,FALSE,TRUE,64,1,0,0,0,0,"1 * 10-byte message [txn transient]"
-8,"L",1,10,0,10,0,10,10,10,10,FALSE,TRUE,64,1,0,0,0,0,"10 * 10-byte message [txn transient]"
-9,"L",1,1,0,1,0,10,10,0,0,TRUE,FALSE,54,1,32,1,0,0,"1 * 10-byte message [deq]"
-10,"L",1,10,0,10,0,10,10,0,0,TRUE,FALSE,54,1,32,1,0,0,"10 * 10-byte message [deq]"
-11,"L",1,1,0,1,0,10,10,0,0,TRUE,TRUE,54,1,32,1,0,0,"1 * 10-byte message [deq transient]"
-12,"L",1,10,0,10,0,10,10,0,0,TRUE,TRUE,54,1,32,1,0,0,"10 * 10-byte message [deq transient]"
-13,"L",1,1,0,1,0,10,10,10,10,TRUE,FALSE,64,1,54,1,46,1,"1 * 10-byte message [deq txn]"
-14,"L",1,10,0,10,0,10,10,10,10,TRUE,FALSE,64,1,54,1,46,1,"10 * 10-byte message [deq txn]"
-15,"L",1,1,0,1,0,10,10,10,10,TRUE,TRUE,64,1,54,1,46,1,"1 * 10-byte message [txn deq transient]"
-16,"L",1,10,0,10,0,10,10,10,10,TRUE,TRUE,64,1,54,1,46,1,"10 * 10-byte message [txn deq transient]"
-,,,,,,,,,,,,,,,,,,,
-"Transition from one d-block to two per message",,,,,,,,,,,,,,,,,,,
-17,"L",1,10,0,10,0,84,84,0,0,FALSE,FALSE,128,1,0,0,0,0,"1 dblk exact fit"
-18,"L",1,10,0,10,1,85,85,0,0,FALSE,FALSE,129,2,0,0,0,0,"1 dblk + 1 byte"
-19,"L",1,10,0,10,0,58,58,26,26,FALSE,FALSE,128,1,0,0,0,0,"1 dblk exact fit [txn]"
-20,"L",1,10,0,10,1,59,59,26,26,FALSE,FALSE,129,2,0,0,0,0,"1 dblk + 1 byte [txn]"
-,,,,,,,,,,,,,,,,,,,
-"Transition from one s-block to two per message",,,,,,,,,,,,,,,,,,,
-21,"L",1,10,0,10,0,468,468,0,0,FALSE,FALSE,512,4,0,0,0,0,"1 sblk exact fit"
-22,"L",1,10,0,10,1,469,469,0,0,FALSE,FALSE,513,5,0,0,0,0,"1 sblk + 1 byte"
-23,"L",1,10,0,10,0,442,442,26,26,FALSE,FALSE,512,4,0,0,0,0,"1 sblk exact fit [txn]"
-24,"L",1,10,0,10,1,443,443,26,26,FALSE,FALSE,513,5,0,0,0,0,"1 sblk + 1 byte [txn]"
-,,,,,,,,,,,,,,,,,,,
-"Transition from first page to second",,,,,,,,,,,,,,,,,,,
-25,"L",1,8,0,8,0,4052,4052,0,0,FALSE,FALSE,4096,32,0,0,0,0,"1/8 page"
-26,"L",1,8,1,9,0,4052,4052,0,0,FALSE,FALSE,4096,32,0,0,0,0,"1/8 page"
-27,"L",1,8,0,8,1,4053,4053,0,0,FALSE,FALSE,4097,33,0,0,0,0,"1/8 page + 1 byte"
-28,"L",1,8,0,8,0,3796,3796,256,256,FALSE,FALSE,4096,32,0,0,0,0,"1/8 page [txn]"
-29,"L",1,8,1,9,0,3796,3796,256,256,FALSE,FALSE,4096,32,0,0,0,0,"1/8 page [txn]"
-30,"L",1,8,0,8,1,3797,3797,256,256,FALSE,FALSE,4097,33,0,0,0,0,"1/8 page + 1 byte [txn]"
-31,"L",1,8,0,8,0,3924,3924,0,0,TRUE,FALSE,3968,31,32,1,0,0,"1/8 page incl deq [deq]"
-32,"L",1,8,1,9,0,3924,3924,0,0,TRUE,FALSE,3968,31,32,1,0,0,"1/8 page incl deq [deq]"
-33,"L",1,8,0,8,1,3925,3925,0,0,TRUE,FALSE,3969,32,32,1,0,0,"1/8 page incl deq + 1 byte [deq]"
-34,"L",1,8,0,8,0,3028,3028,256,256,TRUE,FALSE,3328,26,300,3,292,3,"1/8 page incl deq & txn [deq txn]"
-35,"L",1,8,1,9,0,3028,3028,256,256,TRUE,FALSE,3328,26,300,3,292,3,"1/8 page incl deq & txn [deq txn]"
-36,"L",1,8,0,8,1,3029,3029,256,256,TRUE,FALSE,3329,27,300,3,292,3,"1/8 page incl deq & txn + 1 byte [deq txn]"
-,,,,,,,,,,,,,,,,,,,
-"Page cache rollover (from page 32 back to page 0)",,,,,,,,,,,,,,,,,,,
-37,"L",1,32,0,32,0,32724,32724,0,0,FALSE,FALSE,32768,256,0,0,0,0,"1 page"
-38,"L",1,32,1,33,0,32724,32724,0,0,FALSE,FALSE,32768,256,0,0,0,0,"1 page"
-39,"L",1,32,0,32,1,32725,32725,0,0,FALSE,FALSE,32769,257,0,0,0,0,"1 page + 1 byte"
-40,"L",1.5,22,0,22,0,49108,49108,0,0,FALSE,FALSE,49152,384,0,0,0,0,"1.5 pages"
-41,"L",1,32,0,32,0,32468,32468,256,256,FALSE,FALSE,32768,256,0,0,0,0,"1 page [txn]"
-42,"L",1,32,1,33,0,32468,32468,256,256,FALSE,FALSE,32768,256,0,0,0,0,"1 page [txn]"
-43,"L",1,32,0,32,1,32469,32469,256,256,FALSE,FALSE,32769,257,0,0,0,0,"1 page + 1 byte [txn]"
-44,"L",1.5,22,0,22,0,48852,48852,256,256,FALSE,FALSE,49152,384,0,0,0,0,"1.5 pages [txn]"
-45,"L",1,32,0,32,0,32596,32596,0,0,TRUE,FALSE,32640,255,32,1,0,0,"1 page incl deq [deq]"
-46,"L",1,32,1,33,0,32596,32596,0,0,TRUE,FALSE,32640,255,32,1,0,0,"1 page incl deq [deq]"
-47,"L",1,32,0,32,1,32597,32597,0,0,TRUE,FALSE,32641,256,32,1,0,0,"1 page incl deq + 1 byte [deq]"
-48,"L",1.5,22,0,22,0,48980,48980,0,0,TRUE,FALSE,49024,383,32,1,0,0,"1.5 pages incl deq [deq]"
-49,"L",1,32,0,32,0,31700,31700,256,256,TRUE,FALSE,32000,250,300,3,292,3,"1 page incl deq & txn [deq txn]"
-50,"L",1,32,1,33,0,31700,31700,256,256,TRUE,FALSE,32000,250,300,3,292,3,"1 page incl deq & txn [deq txn]"
-51,"L",1,32,0,32,1,31701,31701,256,256,TRUE,FALSE,32001,251,300,3,292,3,"1 page incl deq & txn + 1 byte [deq txn]"
-52,"L",1.5,22,0,22,0,48084,48084,256,256,TRUE,FALSE,48384,378,300,3,292,3,"1.5 pages incl deq & txn [deq txn]"
-,,,,,,,,,,,,,,,,,,,
-"File transition (from file 0000 to 0001)",,,,,,,,,,,,,,,,,,,
-53,"L",1,48,0,48,0,32724,32724,0,0,FALSE,FALSE,32768,256,0,0,0,0,"1 page"
-54,"L",1,48,1,49,0,32724,32724,0,0,FALSE,FALSE,32768,256,0,0,0,0,"1 page"
-55,"L",1,48,0,48,1,32725,32725,0,0,FALSE,FALSE,32769,257,0,0,0,0,"1 page + 1 byte"
-56,"L",2.5,20,0,20,0,81876,81876,0,0,FALSE,FALSE,81920,640,0,0,0,0,"2.5 pages"
-57,"L",1,48,0,48,0,32468,32468,256,256,FALSE,FALSE,32768,256,0,0,0,0,"1 page [txn]"
-58,"L",1,48,1,49,0,32468,32468,256,256,FALSE,FALSE,32768,256,0,0,0,0,"1 page [txn]"
-59,"L",1,48,0,48,1,32469,32469,256,256,FALSE,FALSE,32769,257,0,0,0,0,"1 page + 1 byte [txn]"
-60,"L",2.5,20,0,20,0,81620,81620,256,256,FALSE,FALSE,81920,640,0,0,0,0,"2.5 pages [txn]"
-61,"L",1,48,0,48,0,32596,32596,0,0,TRUE,FALSE,32640,255,32,1,0,0,"1 page incl deq [deq]"
-62,"L",1,48,1,49,0,32596,32596,0,0,TRUE,FALSE,32640,255,32,1,0,0,"1 page incl deq [deq]"
-63,"L",1,48,0,48,1,32597,32597,0,0,TRUE,FALSE,32641,256,32,1,0,0,"1 page incl deq + 1 byte [deq]"
-64,"L",2.5,20,0,20,0,81748,81748,0,0,TRUE,FALSE,81792,639,32,1,0,0,"2.5 pages incl deq [deq]"
-65,"L",1,48,0,48,0,31700,31700,256,256,TRUE,FALSE,32000,250,300,3,292,3,"1 page incl deq & txn [deq txn]"
-66,"L",1,48,1,49,0,31700,31700,256,256,TRUE,FALSE,32000,250,300,3,292,3,"1 page incl deq & txn [deq txn]"
-67,"L",1,48,0,48,1,31701,31701,256,256,TRUE,FALSE,32001,251,300,3,292,3,"1 page incl deq & txn + 1 byte [deq txn]"
-68,"L",2.5,20,0,20,0,80852,80852,256,256,TRUE,FALSE,81152,634,300,3,292,3,"2.5 pages incl deq & txn [deq txn]"
-,,,,,,,,,,,,,,,,,,,
-"File rollover (from file 0007 to 0000) - RHM_WRONLY req'd for auto-dequeue == FALSE",,,,,,,,,,,,,,,,,,,
-69,"L",0.5,16,0,16,0,786388,786388,0,0,FALSE,FALSE,786432,6144,0,0,0,0,"24 pages = ½ file"
-70,"L",0.5,16,1,17,0,786388,786388,0,0,FALSE,FALSE,786432,6144,0,0,0,0,"24 pages = ½ file"
-71,"L",0.5,16,0,16,1,786389,786389,0,0,FALSE,FALSE,786433,6145,0,0,0,0,"24 pages + 1 byte"
-72,"L",0.5,16,0,16,0,786132,786132,256,256,FALSE,FALSE,786432,6144,0,0,0,0,"24 pages = ½ file [txn]"
-73,"L",0.5,16,1,17,0,786132,786132,256,256,FALSE,FALSE,786432,6144,0,0,0,0,"24 pages = ½ file [txn]"
-74,"L",0.5,16,0,16,1,786133,786133,256,256,FALSE,FALSE,786433,6145,0,0,0,0,"24 pages + 1 byte [txn]"
-75,"L",0.25,32,0,32,0,786388,786388,0,0,FALSE,FALSE,786432,6144,0,0,0,0,"24 pages = ½ file"
-76,"L",0.25,32,1,33,0,786388,786388,0,0,FALSE,FALSE,786432,6144,0,0,0,0,"24 pages = ½ file"
-77,"L",0.25,32,0,32,1,786389,786389,0,0,FALSE,FALSE,786433,6145,0,0,0,0,"24 pages + 1 byte"
-78,"L",0.25,32,0,32,0,786132,786132,256,256,FALSE,FALSE,786432,6144,0,0,0,0,"24 pages = ½ file [txn]"
-79,"L",0.25,32,1,33,0,786132,786132,256,256,FALSE,FALSE,786432,6144,0,0,0,0,"24 pages = ½ file [txn]"
-80,"L",0.25,32,0,32,1,786133,786133,256,256,FALSE,FALSE,786433,6145,0,0,0,0,"24 pages + 1 byte [txn]"
-81,"L",0.5,16,0,16,0,786260,786260,0,0,TRUE,FALSE,786304,6143,32,1,0,0,"24 pages incl deq = ½ file [deq]"
-82,"L",0.5,16,1,17,0,786260,786260,0,0,TRUE,FALSE,786304,6143,32,1,0,0,"24 pages incl deq = ½ file [deq]"
-83,"L",0.5,16,0,16,1,786261,786261,0,0,TRUE,FALSE,786305,6144,32,1,0,0,"24 pages incl deq + 1 byte [deq]"
-84,"L",0.5,16,0,16,0,785364,785364,256,256,TRUE,FALSE,785664,6138,300,3,292,3,"24 pages incl deq & txn = ½ file [deq txn]"
-85,"L",0.5,16,1,17,0,785364,785364,256,256,TRUE,FALSE,785664,6138,300,3,292,3,"24 pages incl deq & txn = ½ file [deq txn]"
-86,"L",0.5,16,0,16,1,785365,785365,256,256,TRUE,FALSE,785665,6139,300,3,292,3,"24 pages incl deq & txn + 1 byte [deq txn]"
-87,"L",0.25,32,0,32,0,786260,786260,0,0,TRUE,FALSE,786304,6143,32,1,0,0,"24 pages incl deq = ½ file [deq]"
-88,"L",0.25,32,1,33,0,786260,786260,0,0,TRUE,FALSE,786304,6143,32,1,0,0,"24 pages incl deq = ½ file [deq]"
-89,"L",0.25,32,0,32,1,786261,786261,0,0,TRUE,FALSE,786305,6144,32,1,0,0,"24 pages incl deq + 1 byte [deq]"
-90,"L",0.25,32,0,32,0,785364,785364,256,256,TRUE,FALSE,785664,6138,300,3,292,3,"24 pages incl deq & txn = ½ file [deq txn]"
-91,"L",0.25,32,1,33,0,785364,785364,256,256,TRUE,FALSE,785664,6138,300,3,292,3,"24 pages incl deq & txn = ½ file [deq txn]"
-92,"L",0.25,32,0,32,1,785365,785365,256,256,TRUE,FALSE,785665,6139,300,3,292,3,"24 pages incl deq & txn + 1 byte [deq txn]"
-,,,,,,,,,,,,,,,,,,,
-"Multi-page messages (large messages) - tests various paths in encoder.",,,,,,,,,,,,,,,,,,,
-93,"L",1,16,0,16,0,32724,32724,0,0,FALSE,FALSE,32768,256,0,0,0,0,"data 1 page"
-94,"L",1,16,0,16,1,32725,32725,0,0,FALSE,FALSE,32769,257,0,0,0,0,"data 1 page + 1 byte (tail split; 1 byte over page boundary)"
-95,"L",1,16,0,16,11,32735,32735,0,0,FALSE,FALSE,32779,257,0,0,0,0,"data 1 page + 11 bytes (tail split; 11 bytes over page boundary)"
-96,"L",1,16,0,16,12,32736,32736,0,0,FALSE,FALSE,32780,257,0,0,0,0,"data 1 page + 12 bytes (tail separated exactly onto next page)"
-97,"L",1,16,0,16,13,32737,32737,0,0,FALSE,FALSE,32781,257,0,0,0,0,"data 1 page + 13 bytes (data split; 1 byte over page boundary)"
-98,"L",1,16,0,16,0,32468,32468,256,256,FALSE,FALSE,32768,256,0,0,0,0,"data 1 page [txn]"
-99,"L",1,16,0,16,1,32469,32469,256,256,FALSE,FALSE,32769,257,0,0,0,0,"data 1 page + 1 byte (tail split; 1 byte over page boundary) [txn]"
-100,"L",1,16,0,16,11,32479,32479,256,256,FALSE,FALSE,32779,257,0,0,0,0,"data 1 page + 11 bytes (tail split; 11 bytes over page boundary) [txn]"
-101,"L",1,16,0,16,12,32480,32480,256,256,FALSE,FALSE,32780,257,0,0,0,0,"data 1 page + 12 bytes (tail separated exactly onto next page) [txn]"
-102,"L",1,16,0,16,13,32481,32481,256,256,FALSE,FALSE,32781,257,0,0,0,0,"data 1 page + 13 bytes (data split; 1 byte over page boundary) [txn]"
-103,"L",2,16,0,16,0,65492,65492,0,0,FALSE,FALSE,65536,512,0,0,0,0,"data 2 pages"
-104,"L",2,16,0,16,1,65493,65493,0,0,FALSE,FALSE,65537,513,0,0,0,0,"data 2 pages + 1 byte (tail split; 1 byte over page boundary)"
-105,"L",2,16,0,16,11,65503,65503,0,0,FALSE,FALSE,65547,513,0,0,0,0,"data 2 pages + 11 bytes (tail split; 11 bytes over page boundary)"
-106,"L",2,16,0,16,12,65504,65504,0,0,FALSE,FALSE,65548,513,0,0,0,0,"data 2 pages + 12 bytes (tail separated exactly onto next page)"
-107,"L",2,16,0,16,13,65505,65505,0,0,FALSE,FALSE,65549,513,0,0,0,0,"data 2 pages + 13 bytes (data split; 1 byte over page boundary)"
-108,"L",2,16,0,16,0,65236,65236,256,256,FALSE,FALSE,65536,512,0,0,0,0,"data 2 pages [txn]"
-109,"L",2,16,0,16,1,65237,65237,256,256,FALSE,FALSE,65537,513,0,0,0,0,"data 2 pages + 1 byte (tail split; 1 byte over page boundary) [txn]"
-110,"L",2,16,0,16,11,65247,65247,256,256,FALSE,FALSE,65547,513,0,0,0,0,"data 2 pages + 11 bytes (tail split; 11 bytes over page boundary) [txn]"
-111,"L",2,16,0,16,12,65248,65248,256,256,FALSE,FALSE,65548,513,0,0,0,0,"data 2 pages + 12 bytes (tail separated exactly onto next page) [txn]"
-112,"L",2,16,0,16,13,65249,65249,256,256,FALSE,FALSE,65549,513,0,0,0,0,"data 2 pages + 13 bytes (data split; 1 byte over page boundary) [txn]"
-113,"L",4,16,0,16,0,131028,131028,0,0,FALSE,FALSE,131072,1024,0,0,0,0,"data 4 pages"
-114,"L",4,16,0,16,1,131029,131029,0,0,FALSE,FALSE,131073,1025,0,0,0,0,"data 4 pages + 1 byte (tail split; 1 byte over page boundary)"
-115,"L",4,16,0,16,11,131039,131039,0,0,FALSE,FALSE,131083,1025,0,0,0,0,"data 4 pages + 11 bytes (tail split; 11 bytes over page boundary)"
-116,"L",4,16,0,16,12,131040,131040,0,0,FALSE,FALSE,131084,1025,0,0,0,0,"data 4 pages + 12 bytes (tail separated exactly onto next page)"
-117,"L",4,16,0,16,13,131041,131041,0,0,FALSE,FALSE,131085,1025,0,0,0,0,"data 4 pages + 13 bytes (data split; 1 byte over page boundary)"
-118,"L",4,16,0,16,0,130772,130772,256,256,FALSE,FALSE,131072,1024,0,0,0,0,"data 4 pages [txn]"
-119,"L",4,16,0,16,1,130773,130773,256,256,FALSE,FALSE,131073,1025,0,0,0,0,"data 4 pages + 1 byte (tail split; 1 byte over page boundary) [txn]"
-120,"L",4,16,0,16,11,130783,130783,256,256,FALSE,FALSE,131083,1025,0,0,0,0,"data 4 pages + 11 bytes (tail split; 11 bytes over page boundary) [txn]"
-121,"L",4,16,0,16,12,130784,130784,256,256,FALSE,FALSE,131084,1025,0,0,0,0,"data 4 pages + 12 bytes (tail separated exactly onto next page) [txn]"
-122,"L",4,16,0,16,13,130785,130785,256,256,FALSE,FALSE,131085,1025,0,0,0,0,"data 4 pages + 13 bytes (data split; 1 byte over page boundary) [txn]"
-123,"L",3.5,16,0,16,0,114644,114644,0,0,FALSE,FALSE,114688,896,0,0,0,0,"data 3.5 pages"
-124,"L",3.5,16,0,16,1,114645,114645,0,0,FALSE,FALSE,114689,897,0,0,0,0,"data 3.5 pages + 1 byte"
-125,"L",3.5,16,0,16,0,114388,114388,256,256,FALSE,FALSE,114688,896,0,0,0,0,"data 3.5 pages [txn]"
-126,"L",3.5,16,0,16,1,114389,114389,256,256,FALSE,FALSE,114689,897,0,0,0,0,"data 3.5 pages + 1 byte [txn]"
-127,"L",1,16,0,16,-1,10,10,32735,32735,FALSE,FALSE,32789,257,0,0,0,0,"xid 1 page – 1 byte; data 10 bytes (exact fit) [txn]"
-128,"L",1,16,0,16,0,10,10,32736,32736,FALSE,FALSE,32790,257,0,0,0,0,"xid 1 page; data 10 bytes (exact fit) [txn]"
-129,"L",1,16,0,16,1,10,10,32737,32737,FALSE,FALSE,32791,257,0,0,0,0,"xid 1 page + 1 byte; data 10 bytes (exact fit) [txn]"
-130,"L",2,16,0,16,-1,10,10,65503,65503,FALSE,FALSE,65557,513,0,0,0,0,"xid 2 pages – 1 byte; data 10 bytes (exact fit) [txn]"
-131,"L",2,16,0,16,0,10,10,65504,65504,FALSE,FALSE,65558,513,0,0,0,0,"xid 2 pages; data 10 bytes (exact fit) [txn]"
-132,"L",2,16,0,16,1,10,10,65505,65505,FALSE,FALSE,65559,513,0,0,0,0,"xid 2 pages + 1 byte; data 10 bytes (exact fit) [txn]"
-133,"L",4,16,0,16,-1,10,10,131039,131039,FALSE,FALSE,131093,1025,0,0,0,0,"xid 4 pages – 1 byte; data 10 bytes (exact fit) [txn]"
-134,"L",4,16,0,16,0,10,10,131040,131040,FALSE,FALSE,131094,1025,0,0,0,0,"xid 4 pages; data 10 bytes (exact fit) [txn]"
-135,"L",4,16,0,16,1,10,10,131041,131041,FALSE,FALSE,131095,1025,0,0,0,0,"xid 4 pages + 1 byte; data 10 bytes (exact fit) [txn]"
-136,"L",3.5,16,0,16,0,10,10,114656,114656,FALSE,FALSE,114710,897,0,0,0,0,"xid 3.5 pages; data 10 bytes (exact fit) [txn]"
-137,"L",3.5,16,0,16,1,10,10,114657,114657,FALSE,FALSE,114711,897,0,0,0,0,"xid 3.5 pages + 1 byte; data 10 bytes (exact fit) [txn]"
-138,"L",1,16,0,16,-1,10,10,32735,32735,TRUE,FALSE,32789,257,32779,257,32771,257,"xid 1 page – 1 byte for enq rec; data 10 bytes (exact fit) [deq, txn]"
-139,"L",1,16,0,16,0,10,10,32736,32736,TRUE,FALSE,32790,257,32780,257,32772,257,"xid 1 page for enq rec; data 10 bytes (exact fit) [deq, txn]"
-140,"L",1,16,0,16,1,10,10,32737,32737,TRUE,FALSE,32791,257,32781,257,32773,257,"xid 1 page + 1 byte for enq rec; data 10 bytes (exact fit) [deq, txn]"
-141,"L",2,16,0,16,-1,10,10,65503,65503,TRUE,FALSE,65557,513,65547,513,65539,513,"xid 2 pages – 1 byte for enq rec; data 10 bytes (exact fit) [deq, txn]"
-142,"L",2,16,0,16,0,10,10,65504,65504,TRUE,FALSE,65558,513,65548,513,65540,513,"xid 2 pages for enq rec; data 10 bytes (exact fit) [deq, txn]"
-143,"L",2,16,0,16,1,10,10,65505,65505,TRUE,FALSE,65559,513,65549,513,65541,513,"xid 2 pages + 1 byte for enq rec; data 10 bytes (exact fit) [deq, txn]"
-144,"L",4,16,0,16,-1,10,10,131039,131039,TRUE,FALSE,131093,1025,131083,1025,131075,1025,"xid 4 pages – 1 byte for enq rec; data 10 bytes (exact fit) [deq, txn]"
-145,"L",4,16,0,16,0,10,10,131040,131040,TRUE,FALSE,131094,1025,131084,1025,131076,1025,"xid 4 pages for enq rec; data 10 bytes (exact fit) [deq, txn]"
-146,"L",4,16,0,16,1,10,10,131041,131041,TRUE,FALSE,131095,1025,131085,1025,131077,1025,"xid 4 pages + 1 byte for enq rec; data 10 bytes (exact fit) [deq, txn]"
-147,"L",3.5,16,0,16,0,10,10,114656,114656,TRUE,FALSE,114710,897,114700,897,114692,897,"xid 3.5 pages for enq rec; data 10 bytes (exact fit) [deq, txn]"
-148,"L",3.5,16,0,16,1,10,10,114657,114657,TRUE,FALSE,114711,897,114701,897,114693,897,"xid 3.5 pages + 1 byte for enq rec; data 10 bytes (exact fit) [deq, txn]"
-149,"L",1,16,0,16,-1,10,10,32735,32735,TRUE,FALSE,32789,257,32779,257,32771,257,"xid 1 page – 1 byte for deq rec; data 10 bytes (exact fit) [deq, txn]"
-150,"L",1,16,0,16,0,10,10,32736,32736,TRUE,FALSE,32790,257,32780,257,32772,257,"xid 1 page for deq rec; data 10 bytes (exact fit) [deq, txn]"
-151,"L",1,16,0,16,1,10,10,32737,32737,TRUE,FALSE,32791,257,32781,257,32773,257,"xid 1 page + 1 byte for deq rec; data 10 bytes (exact fit) [deq, txn]"
-152,"L",2,16,0,16,-1,10,10,65503,65503,TRUE,FALSE,65557,513,65547,513,65539,513,"xid 2 pages – 1 byte for deq rec; data 10 bytes (exact fit) [deq, txn]"
-153,"L",2,16,0,16,0,10,10,65504,65504,TRUE,FALSE,65558,513,65548,513,65540,513,"xid 2 pages for deq rec; data 10 bytes (exact fit) [deq, txn]"
-154,"L",2,16,0,16,1,10,10,65505,65505,TRUE,FALSE,65559,513,65549,513,65541,513,"xid 2 pages + 1 byte for deq rec; data 10 bytes (exact fit) [deq, txn]"
-155,"L",4,16,0,16,-1,10,10,131039,131039,TRUE,FALSE,131093,1025,131083,1025,131075,1025,"xid 4 pages – 1 byte for deq rec; data 10 bytes (exact fit) [deq, txn]"
-156,"L",4,16,0,16,0,10,10,131040,131040,TRUE,FALSE,131094,1025,131084,1025,131076,1025,"xid 4 pages for deq rec; data 10 bytes (exact fit) [deq, txn]"
-157,"L",4,16,0,16,1,10,10,131041,131041,TRUE,FALSE,131095,1025,131085,1025,131077,1025,"xid 4 pages + 1 byte for deq rec; data 10 bytes (exact fit) [deq, txn]"
-158,"L",3.5,16,0,16,0,10,10,114656,114656,TRUE,FALSE,114710,897,114700,897,114692,897,"xid 3.5 pages for deq rec; data 10 bytes (exact fit) [deq, txn]"
-159,"L",3.5,16,0,16,1,10,10,114657,114657,TRUE,FALSE,114711,897,114701,897,114693,897,"xid 3.5 pages + 1 byte for deq rec; data 10 bytes (exact fit) [deq, txn]"
-160,"L",1,16,0,16,-1,10,10,32743,32743,TRUE,FALSE,32797,257,32787,257,32779,257,"xid 1 page – 1 byte for txn rec; data 10 bytes (exact fit) [deq, txn]"
-161,"L",1,16,0,16,0,10,10,32744,32744,TRUE,FALSE,32798,257,32788,257,32780,257,"xid 1 page for  txn rec; data 10 bytes (exact fit) [deq, txn]"
-162,"L",1,16,0,16,1,10,10,32745,32745,TRUE,FALSE,32799,257,32789,257,32781,257,"xid 1 page + 1 byte for  txn rec; data 10 bytes (exact fit) [deq, txn]"
-163,"L",2,16,0,16,-1,10,10,65511,65511,TRUE,FALSE,65565,513,65555,513,65547,513,"xid 2 pages – 1 byte for  txn rec; data 10 bytes (exact fit) [deq, txn]"
-164,"L",2,16,0,16,0,10,10,65512,65512,TRUE,FALSE,65566,513,65556,513,65548,513,"xid 2 pages for  txn rec; data 10 bytes (exact fit) [deq, txn]"
-165,"L",2,16,0,16,1,10,10,65513,65513,TRUE,FALSE,65567,513,65557,513,65549,513,"xid 2 pages + 1 byte for  txn rec; data 10 bytes (exact fit) [deq, txn]"
-166,"L",4,16,0,16,-1,10,10,131047,131047,TRUE,FALSE,131101,1025,131091,1025,131083,1025,"xid 4 pages – 1 byte for  txn rec; data 10 bytes (exact fit) [deq, txn]"
-167,"L",4,16,0,16,0,10,10,131048,131048,TRUE,FALSE,131102,1025,131092,1025,131084,1025,"xid 4 pages for  txn rec; data 10 bytes (exact fit) [deq, txn]"
-168,"L",4,16,0,16,1,10,10,131049,131049,TRUE,FALSE,131103,1025,131093,1025,131085,1025,"xid 4 pages + 1 byte for  txn rec; data 10 bytes (exact fit) [deq, txn]"
-169,"L",3.5,16,0,16,0,10,10,114664,114664,TRUE,FALSE,114718,897,114708,897,114700,897,"xid 3.5 pages for  txn rec; data 10 bytes (exact fit) [deq, txn]"
-170,"L",3.5,16,0,16,1,10,10,114665,114665,TRUE,FALSE,114719,897,114709,897,114701,897,"xid 3.5 pages + 1 byte for  txn rec; data 10 bytes (exact fit) [deq, txn]"
-,,,,,,,,,,,,,,,,,,,
-"Large (multi-megabyte) messages - RHM_WRONLY req'd for auto-dequeue == FALSE",,,,,,,,,,,,,,,,,,,
-171,"L",1,32,0,32,0,1572820,1572820,0,0,FALSE,FALSE,1572864,12288,0,0,0,0,"48 pages = 1 file exactly"
-172,"L",1,32,0,32,1,1572821,1572821,0,0,FALSE,FALSE,1572865,12289,0,0,0,0,"48 pages + 1 byte"
-173,"L",1,32,0,32,0,1605588,1605588,0,0,FALSE,FALSE,1605632,12544,0,0,0,0,"49 pages = 1 file + 1 page"
-174,"L",1,32,0,32,1,1589205,1589205,0,0,FALSE,FALSE,1589249,12417,0,0,0,0,"49 pages + 1 byte = 1 file + 1 page + 1 byte"
-175,"L",1,32,0,32,0,1572565,1572565,255,255,FALSE,FALSE,1572864,12288,0,0,0,0,"48 pages = 1 file exactly [txn]"
-176,"L",1,32,0,32,1,1572566,1572566,255,255,FALSE,FALSE,1572865,12289,0,0,0,0,"48 pages + 1 byte [txn]"
-177,"L",1,32,0,32,0,1588949,1588949,255,255,FALSE,FALSE,1589248,12416,0,0,0,0,"49 pages = 1 file + 1 page [txn]"
-178,"L",1,32,0,32,1,1584854,1584854,255,255,FALSE,FALSE,1585153,12385,0,0,0,0,"49 pages + 1 byte = 1 file + 1 page + 1 byte [txn]"
-179,"L",1,32,0,32,0,1572692,1572692,0,0,TRUE,FALSE,1572736,12287,32,1,0,0,"48 pages incl deq = 1 file exactly [deq]"
-180,"L",1,32,0,32,1,1572693,1572693,0,0,TRUE,FALSE,1572737,12288,32,1,0,0,"48 pages incl deq + 1 byte [deq]"
-181,"L",1,32,0,32,0,1595220,1595220,0,0,TRUE,FALSE,1595264,12463,32,1,0,0,"49 pages incl deq = 1 file + 1 page [deq]"
-182,"L",1,32,0,32,1,1589077,1589077,0,0,TRUE,FALSE,1589121,12416,32,1,0,0,"49 pages incl deq + 1 byte = 1 file + 1 page + 1 byte [deq]"
-183,"L",1,32,0,32,0,1571797,1571797,255,255,TRUE,FALSE,1572096,12282,299,3,291,3,"48 pages incl deq & txn = 1 file exactly [deq txn]"
-184,"L",1,32,0,32,1,1571798,1571798,255,255,TRUE,FALSE,1572097,12283,299,3,291,3,"48 pages incl deq & txn + 1 byte [deq txn]"
-185,"L",1,32,0,32,0,1571797,1571797,255,255,TRUE,FALSE,1572096,12282,299,3,291,3,"49 pages incl deq & txn = 1 file + 1 page [deq txn]"
-186,"L",1,32,0,32,1,1571798,1571798,255,255,TRUE,FALSE,1572097,12283,299,3,291,3,"49 pages incl deq & txn + 1 byte = 1 file + 1 page + 1 byte [deq txn]"
-187,"L",2,16,0,16,0,3145684,3145684,0,0,FALSE,FALSE,3145728,24576,0,0,0,0,"96 pages = 2 files exactly"
-188,"L",2,16,0,16,1,3145685,3145685,0,0,FALSE,FALSE,3145729,24577,0,0,0,0,"96 pages + 1 byte"
-189,"L",2,16,0,16,0,3146708,3146708,0,0,FALSE,FALSE,3146752,24584,0,0,0,0,"97 pages = 2 files + 1 page"
-190,"L",2,16,0,16,1,3145685,3145685,0,0,FALSE,FALSE,3145729,24577,0,0,0,0,"97 pages + 1 byte = 2 files + 1 page + 1 byte"
-191,"L",2,16,0,16,0,3145429,3145429,255,255,FALSE,FALSE,3145728,24576,0,0,0,0,"96 pages = 2 files exactly [txn]"
-192,"L",2,16,0,16,1,3145430,3145430,255,255,FALSE,FALSE,3145729,24577,0,0,0,0,"96 pages + 1 byte [txn]"
-193,"L",2,16,0,16,0,3145429,3145429,255,255,FALSE,FALSE,3145728,24576,0,0,0,0,"97 pages = 2 files + 1 page [txn]"
-194,"L",2,16,0,16,1,3145430,3145430,255,255,FALSE,FALSE,3145729,24577,0,0,0,0,"97 pages + 1 byte = 2 files + 1 page + 1 byte [txn]"
-195,"L",2,16,0,16,0,3145556,3145556,0,0,TRUE,FALSE,3145600,24575,32,1,0,0,"96 pages incl deq = 2 files exactly [deq]"
-196,"L",2,16,0,16,1,3145557,3145557,0,0,TRUE,FALSE,3145601,24576,32,1,0,0,"96 pages incl deq + 1 byte [deq]"
-197,"L",2,16,0,16,0,3145556,3145556,0,0,TRUE,FALSE,3145600,24575,32,1,0,0,"97 pages incl deq = 2 files + 1 page [deq]"
-198,"L",2,16,0,16,1,3145557,3145557,0,0,TRUE,FALSE,3145601,24576,32,1,0,0,"97 pages incl deq + 1 byte = 2 files + 1 page + 1 byte [deq]"
-199,"L",2,16,0,16,0,3144661,3144661,255,255,TRUE,FALSE,3144960,24570,299,3,291,3,"96 pages incl deq & txn = 2 files exactly [deq txn]"
-200,"L",2,16,0,16,1,3144662,3144662,255,255,TRUE,FALSE,3144961,24571,299,3,291,3,"96 pages incl deq & txn + 1 byte [deq txn]"
-201,"L",2,16,0,16,0,3144661,3144661,255,255,TRUE,FALSE,3144960,24570,299,3,291,3,"97 pages incl deq & txn = 2 files + 1 page [deq txn]"
-202,"L",2,16,0,16,1,3144662,3144662,255,255,TRUE,FALSE,3144961,24571,299,3,291,3,"97 pages incl deq & txn + 1 byte = 2 files + 1 page + 1 byte [deq txn]"
-203,"L",4,8,0,8,0,6291412,6291412,0,0,FALSE,FALSE,6291456,49152,0,0,0,0,"192 pages = 2 files exactly"
-204,"L",4,8,0,8,1,6291413,6291413,0,0,FALSE,FALSE,6291457,49153,0,0,0,0,"192 pages + 1 byte"
-205,"L",4,8,0,8,0,6291412,6291412,0,0,FALSE,FALSE,6291456,49152,0,0,0,0,"193 pages = 2 files + 1 page"
-206,"L",4,8,0,8,1,6291413,6291413,0,0,FALSE,FALSE,6291457,49153,0,0,0,0,"193 pages + 1 byte = 2 files + 1 page + 1 byte"
-207,"L",4,8,0,8,0,6291157,6291157,255,255,FALSE,FALSE,6291456,49152,0,0,0,0,"192 pages = 2 files exactly [txn]"
-208,"L",4,8,0,8,1,6291158,6291158,255,255,FALSE,FALSE,6291457,49153,0,0,0,0,"192 pages + 1 byte [txn]"
-209,"L",4,8,0,8,0,6291157,6291157,255,255,FALSE,FALSE,6291456,49152,0,0,0,0,"193 pages = 2 files + 1 page [txn]"
-210,"L",4,8,0,8,1,6291158,6291158,255,255,FALSE,FALSE,6291457,49153,0,0,0,0,"193 pages + 1 byte = 2 files + 1 page + 1 byte [txn]"
-211,"L",4,8,0,8,0,6291284,6291284,0,0,TRUE,FALSE,6291328,49151,32,1,0,0,"192 pages incl deq = 2 files exactly [deq]"
-212,"L",4,8,0,8,1,6291285,6291285,0,0,TRUE,FALSE,6291329,49152,32,1,0,0,"192 pages incl deq + 1 byte [deq]"
-213,"L",4,8,0,8,0,6291284,6291284,0,0,TRUE,FALSE,6291328,49151,32,1,0,0,"193 pages incl deq = 2 files + 1 page [deq]"
-214,"L",4,8,0,8,1,6291285,6291285,0,0,TRUE,FALSE,6291329,49152,32,1,0,0,"193 pages incl deq + 1 byte = 2 files + 1 page + 1 byte [deq]"
-215,"L",4,8,0,8,0,6290389,6290389,255,255,TRUE,FALSE,6290688,49146,299,3,291,3,"192 pages incl deq & txn = 2 files exactly [deq txn]"
-216,"L",4,8,0,8,1,6290390,6290390,255,255,TRUE,FALSE,6290689,49147,299,3,291,3,"192 pages incl deq & txn + 1 byte [deq txn]"
-217,"L",4,8,0,8,0,6290389,6290389,255,255,TRUE,FALSE,6290688,49146,299,3,291,3,"193 pages incl deq & txn = 2 files + 1 page [deq txn]"
-218,"L",4,8,0,8,1,6290390,6290390,255,255,TRUE,FALSE,6290689,49147,299,3,291,3,"193 pages incl deq & txn + 1 byte = 2 files + 1 page + 1 byte [deq txn]"
-,,,,,,,,,,,,,,,,,,,
-"High volume tests of random message lengths - RHM_WRONLY req'd for auto-dequeue == FALSE",,,,,,,,,,,,,,,,,,,
-219,"M",1,5000000,0,5000000,0,0,84,0,0,FALSE,FALSE,128,1,0,0,0,0,"1 dblk max"
-220,"M",3,3000000,0,3000000,0,0,340,0,0,FALSE,FALSE,384,3,0,0,0,0,"3 dblks max"
-221,"M",10,1600000,0,1600000,0,0,1236,0,0,FALSE,FALSE,1280,10,0,0,0,0,"10 dblks max"
-222,"M",30,600000,0,600000,0,0,3796,0,0,FALSE,FALSE,3840,30,0,0,0,0,"30 dblks max"
-223,"M",100,200000,0,200000,0,0,12756,0,0,FALSE,FALSE,12800,100,0,0,0,0,"100 dblks max"
-224,"M",300,60000,0,60000,0,0,38356,0,0,FALSE,FALSE,38400,300,0,0,0,0,"300 dblks max"
-225,"M",1000,20000,0,20000,0,0,127956,0,0,FALSE,FALSE,128000,1000,0,0,0,0,"1000 dblks max"
-226,"M",1,5000000,0,5000000,0,0,100,1,100,FALSE,FALSE,244,2,0,0,0,0,"100 bytes xid max + 100 bytes data max [txn]"
-227,"M",3,3000000,0,3000000,0,0,300,1,300,FALSE,FALSE,644,6,0,0,0,0,"300 bytes xid max + 300 bytes data max [txn]"
-228,"M",10,1600000,0,1600000,0,0,1000,1,1000,FALSE,FALSE,2044,16,0,0,0,0,"1000 bytes xid max + 1000 bytes data max [txn]"
-229,"M",30,600000,0,600000,0,0,3000,1,3000,FALSE,FALSE,6044,48,0,0,0,0,"3000 bytes xid max + 3000 bytes data max [txn]"
-230,"M",100,200000,0,200000,0,0,10000,1,10000,FALSE,FALSE,20044,157,0,0,0,0,"10000 bytes xid max + 10000 bytes data max [txn]"
-231,"M",300,60000,0,60000,0,0,30000,1,30000,FALSE,FALSE,60044,470,0,0,0,0,"30000 bytes xid max + 30000 bytes data max [txn]"
-232,"M",1000,20000,0,20000,0,0,100000,1,100000,FALSE,FALSE,200044,1563,0,0,0,0,"100000 bytes xid max + 100000 bytes data max [txn]"
-233,"M",1,5000000,0,5000000,0,0,84,0,0,TRUE,FALSE,128,1,32,1,0,0,"1 dblk max [deq]"
-234,"M",3,3000000,0,3000000,0,0,340,0,0,TRUE,FALSE,384,3,32,1,0,0,"3 dblks max [deq]"
-235,"M",10,1600000,0,1600000,0,0,1236,0,0,TRUE,FALSE,1280,10,32,1,0,0,"10 dblks max [deq]"
-236,"M",30,600000,0,600000,0,0,3796,0,0,TRUE,FALSE,3840,30,32,1,0,0,"30 dblks max [deq]"
-237,"M",100,200000,0,200000,0,0,12756,0,0,TRUE,FALSE,12800,100,32,1,0,0,"100 dblks max [deq]"
-238,"M",300,60000,0,60000,0,0,38356,0,0,TRUE,FALSE,38400,300,32,1,0,0,"300 dblks max [deq]"
-239,"M",1000,20000,0,20000,0,0,127956,0,0,TRUE,FALSE,128000,1000,32,1,0,0,"1000 dblks max [deq]"
-240,"M",1,5000000,0,5000000,0,0,100,1,100,TRUE,FALSE,244,2,144,2,136,2,"100 bytes xid max + 100 bytes data max [deq txn]"
-241,"M",3,3000000,0,3000000,0,0,300,1,300,TRUE,FALSE,644,6,344,3,336,3,"300 bytes xid max + 300 bytes data max [deq txn]"
-242,"M",10,1600000,0,1600000,0,0,1000,1,1000,TRUE,FALSE,2044,16,1044,9,1036,9,"1000 bytes xid max + 1000 bytes data max [deq txn]"
-243,"M",30,600000,0,600000,0,0,3000,1,3000,TRUE,FALSE,6044,48,3044,24,3036,24,"3000 bytes xid max + 3000 bytes data max [deq txn]"
-244,"M",100,200000,0,200000,0,0,10000,1,10000,TRUE,FALSE,20044,157,10044,79,10036,79,"10000 bytes xid max + 10000 bytes data max [deq txn]"
-245,"M",300,60000,0,60000,0,0,30000,1,30000,TRUE,FALSE,60044,470,30044,235,30036,235,"30000 bytes xid max + 30000 bytes data max [deq txn]"
-246,"M",1000,20000,0,20000,0,0,100000,1,100000,TRUE,FALSE,200044,1563,100044,782,100036,782,"100000 bytes xid max + 100000 bytes data max [deq txn]"
-,,,,,,,,,,,,,,,,,,,
-"STANDARD PERFORMANCE BENCHMARK: 10,000,000 writes, data=212b (2 dblks)",,,,,,,,,,,,,,,,,,,
-247,"M",1,10000000,0,10000000,0,212,212,0,0,FALSE,FALSE,256,2,0,0,0,0,"212 bytes data (2 dblks enq)"
-248,"M",1,10000000,0,10000000,0,404,404,64,64,FALSE,FALSE,512,4,0,0,0,0,"212 bytes data + 64 bytes xid (3 dblks enq)"
-249,"M",1,10000000,0,10000000,0,212,212,0,0,TRUE,FALSE,256,2,32,1,0,0,"212 bytes data (2 dblks enq + 1 dblk deq)"
-250,"M",1,10000000,0,10000000,0,404,404,64,64,TRUE,FALSE,512,4,108,1,100,1,"212 bytes data + 64 bytes xid (3 dblks enq + 1 dblks deq + 1 dblks txn)"
+,,,,,,,"Msg size",,"Xid size",,,,,"enq-size",,"deq-size",,"txn-size",,
+"Test #","tf","pf","amn","mn incr","#msgs","ms incr","Min","Max","Min","Max","auto-deq","transient","external","bytes","dblks","bytes","dblks","bytes","dblks","comment"
+,,,,,,,,,,,,,,,,,,,,
+"Initialize only",,,,,,,,,,,,,,,,,,,,
+0,"L",0,0,0,0,0,0,0,0,0,FALSE,FALSE,FALSE,44,1,0,0,0,0,"No messages – journal creation/initialization only"
+,,,,,,,,,,,,,,,,,,,,
+"Simple message  combinations of persistent/deq transientueued/non-dequeued, transactional/non-transactional",,,,,,,,,,,,,,,,,,,,
+1,"L",1,1,0,1,0,10,10,0,0,FALSE,FALSE,FALSE,54,1,0,0,0,0,"1 * 10-byte message"
+2,"L",1,10,0,10,0,10,10,0,0,FALSE,FALSE,FALSE,54,1,0,0,0,0,"10 * 10-byte message"
+3,"L",1,1,0,1,0,10,10,0,0,FALSE,TRUE,FALSE,54,1,0,0,0,0,"1 * 10-byte message [transient]"
+4,"L",1,10,0,10,0,10,10,0,0,FALSE,TRUE,FALSE,54,1,0,0,0,0,"10 * 10-byte message [transient]"
+5,"L",1,1,0,1,0,10,10,10,10,FALSE,FALSE,FALSE,64,1,0,0,0,0,"1 * 10-byte message [txn]"
+6,"L",1,10,0,10,0,10,10,10,10,FALSE,FALSE,FALSE,64,1,0,0,0,0,"10 * 10-byte message [txn]"
+7,"L",1,1,0,1,0,10,10,10,10,FALSE,TRUE,FALSE,64,1,0,0,0,0,"1 * 10-byte message [txn transient]"
+8,"L",1,10,0,10,0,10,10,10,10,FALSE,TRUE,FALSE,64,1,0,0,0,0,"10 * 10-byte message [txn transient]"
+9,"L",1,1,0,1,0,10,10,0,0,TRUE,FALSE,FALSE,54,1,32,1,0,0,"1 * 10-byte message [deq]"
+10,"L",1,10,0,10,0,10,10,0,0,TRUE,FALSE,FALSE,54,1,32,1,0,0,"10 * 10-byte message [deq]"
+11,"L",1,1,0,1,0,10,10,0,0,TRUE,TRUE,FALSE,54,1,32,1,0,0,"1 * 10-byte message [deq transient]"
+12,"L",1,10,0,10,0,10,10,0,0,TRUE,TRUE,FALSE,54,1,32,1,0,0,"10 * 10-byte message [deq transient]"
+13,"L",1,1,0,1,0,10,10,10,10,TRUE,FALSE,FALSE,64,1,54,1,46,1,"1 * 10-byte message [deq txn]"
+14,"L",1,10,0,10,0,10,10,10,10,TRUE,FALSE,FALSE,64,1,54,1,46,1,"10 * 10-byte message [deq txn]"
+15,"L",1,1,0,1,0,10,10,10,10,TRUE,TRUE,FALSE,64,1,54,1,46,1,"1 * 10-byte message [txn deq transient]"
+16,"L",1,10,0,10,0,10,10,10,10,TRUE,TRUE,FALSE,64,1,54,1,46,1,"10 * 10-byte message [txn deq transient]"
+17,"L",1,1,0,1,0,10,10,0,0,FALSE,FALSE,TRUE,54,1,0,0,0,0,"1 * 10-byte message [extern]"
+18,"L",1,10,0,10,0,10,10,0,0,FALSE,FALSE,TRUE,54,1,0,0,0,0,"10 * 10-byte message [extern]"
+19,"L",1,1,0,1,0,10,10,0,0,FALSE,TRUE,TRUE,54,1,0,0,0,0,"1 * 10-byte message [transient extern]"
+20,"L",1,10,0,10,0,10,10,0,0,FALSE,TRUE,TRUE,54,1,0,0,0,0,"10 * 10-byte message [transient extern]"
+21,"L",1,1,0,1,0,10,10,10,10,FALSE,FALSE,TRUE,64,1,0,0,0,0,"1 * 10-byte message [txn extern]"
+22,"L",1,10,0,10,0,10,10,10,10,FALSE,FALSE,TRUE,64,1,0,0,0,0,"10 * 10-byte message [txn extern]"
+23,"L",1,1,0,1,0,10,10,10,10,FALSE,TRUE,TRUE,64,1,0,0,0,0,"1 * 10-byte message [txn transient extern]"
+24,"L",1,10,0,10,0,10,10,10,10,FALSE,TRUE,TRUE,64,1,0,0,0,0,"10 * 10-byte message [txn transient extern]"
+25,"L",1,1,0,1,0,10,10,0,0,TRUE,FALSE,TRUE,54,1,32,1,0,0,"1 * 10-byte message [deq extern]"
+26,"L",1,10,0,10,0,10,10,0,0,TRUE,FALSE,TRUE,54,1,32,1,0,0,"10 * 10-byte message [deq extern]"
+27,"L",1,1,0,1,0,10,10,0,0,TRUE,TRUE,TRUE,54,1,32,1,0,0,"1 * 10-byte message [deq transient extern]"
+28,"L",1,10,0,10,0,10,10,0,0,TRUE,TRUE,TRUE,54,1,32,1,0,0,"10 * 10-byte message [deq transient extern]"
+29,"L",1,1,0,1,0,10,10,10,10,TRUE,FALSE,TRUE,64,1,54,1,46,1,"1 * 10-byte message [deq txn extern]"
+30,"L",1,10,0,10,0,10,10,10,10,TRUE,FALSE,TRUE,64,1,54,1,46,1,"10 * 10-byte message [deq txn extern]"
+31,"L",1,1,0,1,0,10,10,10,10,TRUE,TRUE,TRUE,64,1,54,1,46,1,"1 * 10-byte message [txn deq transient extern]"
+32,"L",1,10,0,10,0,10,10,10,10,TRUE,TRUE,TRUE,64,1,54,1,46,1,"10 * 10-byte message [txn deq transient extern]"
+,,,,,,,,,,,,,,,,,,,,
+"Transition from one d-block to two per message",,,,,,,,,,,,,,,,,,,,
+33,"L",1,10,0,10,0,84,84,0,0,FALSE,FALSE,FALSE,128,1,0,0,0,0,"1 dblk exact fit"
+34,"L",1,10,0,10,1,85,85,0,0,FALSE,FALSE,FALSE,129,2,0,0,0,0,"1 dblk + 1 byte"
+35,"L",1,10,0,10,0,58,58,26,26,FALSE,FALSE,FALSE,128,1,0,0,0,0,"1 dblk exact fit [txn]"
+36,"L",1,10,0,10,1,59,59,26,26,FALSE,FALSE,FALSE,129,2,0,0,0,0,"1 dblk + 1 byte [txn]"
+,,,,,,,,,,,,,,,,,,,,
+"Transition from one s-block to two per message",,,,,,,,,,,,,,,,,,,,
+37,"L",1,10,0,10,0,468,468,0,0,FALSE,FALSE,FALSE,512,4,0,0,0,0,"1 sblk exact fit"
+38,"L",1,10,0,10,1,469,469,0,0,FALSE,FALSE,FALSE,513,5,0,0,0,0,"1 sblk + 1 byte"
+39,"L",1,10,0,10,0,442,442,26,26,FALSE,FALSE,FALSE,512,4,0,0,0,0,"1 sblk exact fit [txn]"
+40,"L",1,10,0,10,1,443,443,26,26,FALSE,FALSE,FALSE,513,5,0,0,0,0,"1 sblk + 1 byte [txn]"
+,,,,,,,,,,,,,,,,,,,,
+"Transition from first page to second",,,,,,,,,,,,,,,,,,,,
+41,"L",1,8,0,8,0,4052,4052,0,0,FALSE,FALSE,FALSE,4096,32,0,0,0,0,"1/8 page"
+42,"L",1,8,1,9,0,4052,4052,0,0,FALSE,FALSE,FALSE,4096,32,0,0,0,0,"1/8 page"
+43,"L",1,8,0,8,1,4053,4053,0,0,FALSE,FALSE,FALSE,4097,33,0,0,0,0,"1/8 page + 1 byte"
+44,"L",1,8,0,8,0,3796,3796,256,256,FALSE,FALSE,FALSE,4096,32,0,0,0,0,"1/8 page [txn]"
+45,"L",1,8,1,9,0,3796,3796,256,256,FALSE,FALSE,FALSE,4096,32,0,0,0,0,"1/8 page [txn]"
+46,"L",1,8,0,8,1,3797,3797,256,256,FALSE,FALSE,FALSE,4097,33,0,0,0,0,"1/8 page + 1 byte [txn]"
+47,"L",1,8,0,8,0,3924,3924,0,0,TRUE,FALSE,FALSE,3968,31,32,1,0,0,"1/8 page incl deq [deq]"
+48,"L",1,8,1,9,0,3924,3924,0,0,TRUE,FALSE,FALSE,3968,31,32,1,0,0,"1/8 page incl deq [deq]"
+49,"L",1,8,0,8,1,3925,3925,0,0,TRUE,FALSE,FALSE,3969,32,32,1,0,0,"1/8 page incl deq + 1 byte [deq]"
+50,"L",1,8,0,8,0,3028,3028,256,256,TRUE,FALSE,FALSE,3328,26,300,3,292,3,"1/8 page incl deq & txn [deq txn]"
+51,"L",1,8,1,9,0,3028,3028,256,256,TRUE,FALSE,FALSE,3328,26,300,3,292,3,"1/8 page incl deq & txn [deq txn]"
+52,"L",1,8,0,8,1,3029,3029,256,256,TRUE,FALSE,FALSE,3329,27,300,3,292,3,"1/8 page incl deq & txn + 1 byte [deq txn]"
+,,,,,,,,,,,,,,,,,,,,
+"Page cache rollover (from page 32 back to page 0)",,,,,,,,,,,,,,,,,,,,
+53,"L",1,32,0,32,0,32724,32724,0,0,FALSE,FALSE,FALSE,32768,256,0,0,0,0,"1 page"
+54,"L",1,32,1,33,0,32724,32724,0,0,FALSE,FALSE,FALSE,32768,256,0,0,0,0,"1 page"
+55,"L",1,32,0,32,1,32725,32725,0,0,FALSE,FALSE,FALSE,32769,257,0,0,0,0,"1 page + 1 byte"
+56,"L",1.5,22,0,22,0,49108,49108,0,0,FALSE,FALSE,FALSE,49152,384,0,0,0,0,"1.5 pages"
+57,"L",1,32,0,32,0,32468,32468,256,256,FALSE,FALSE,FALSE,32768,256,0,0,0,0,"1 page [txn]"
+58,"L",1,32,1,33,0,32468,32468,256,256,FALSE,FALSE,FALSE,32768,256,0,0,0,0,"1 page [txn]"
+59,"L",1,32,0,32,1,32469,32469,256,256,FALSE,FALSE,FALSE,32769,257,0,0,0,0,"1 page + 1 byte [txn]"
+60,"L",1.5,22,0,22,0,48852,48852,256,256,FALSE,FALSE,FALSE,49152,384,0,0,0,0,"1.5 pages [txn]"
+61,"L",1,32,0,32,0,32596,32596,0,0,TRUE,FALSE,FALSE,32640,255,32,1,0,0,"1 page incl deq [deq]"
+62,"L",1,32,1,33,0,32596,32596,0,0,TRUE,FALSE,FALSE,32640,255,32,1,0,0,"1 page incl deq [deq]"
+63,"L",1,32,0,32,1,32597,32597,0,0,TRUE,FALSE,FALSE,32641,256,32,1,0,0,"1 page incl deq + 1 byte [deq]"
+64,"L",1.5,22,0,22,0,48980,48980,0,0,TRUE,FALSE,FALSE,49024,383,32,1,0,0,"1.5 pages incl deq [deq]"
+65,"L",1,32,0,32,0,31700,31700,256,256,TRUE,FALSE,FALSE,32000,250,300,3,292,3,"1 page incl deq & txn [deq txn]"
+66,"L",1,32,1,33,0,31700,31700,256,256,TRUE,FALSE,FALSE,32000,250,300,3,292,3,"1 page incl deq & txn [deq txn]"
+67,"L",1,32,0,32,1,31701,31701,256,256,TRUE,FALSE,FALSE,32001,251,300,3,292,3,"1 page incl deq & txn + 1 byte [deq txn]"
+68,"L",1.5,22,0,22,0,48084,48084,256,256,TRUE,FALSE,FALSE,48384,378,300,3,292,3,"1.5 pages incl deq & txn [deq txn]"
+,,,,,,,,,,,,,,,,,,,,
+"File transition (from file 0000 to 0001)",,,,,,,,,,,,,,,,,,,,
+69,"L",1,48,0,48,0,32724,32724,0,0,FALSE,FALSE,FALSE,32768,256,0,0,0,0,"1 page"
+70,"L",1,48,1,49,0,32724,32724,0,0,FALSE,FALSE,FALSE,32768,256,0,0,0,0,"1 page"
+71,"L",1,48,0,48,1,32725,32725,0,0,FALSE,FALSE,FALSE,32769,257,0,0,0,0,"1 page + 1 byte"
+72,"L",2.5,20,0,20,0,81876,81876,0,0,FALSE,FALSE,FALSE,81920,640,0,0,0,0,"2.5 pages"
+73,"L",1,48,0,48,0,32468,32468,256,256,FALSE,FALSE,FALSE,32768,256,0,0,0,0,"1 page [txn]"
+74,"L",1,48,1,49,0,32468,32468,256,256,FALSE,FALSE,FALSE,32768,256,0,0,0,0,"1 page [txn]"
+75,"L",1,48,0,48,1,32469,32469,256,256,FALSE,FALSE,FALSE,32769,257,0,0,0,0,"1 page + 1 byte [txn]"
+76,"L",2.5,20,0,20,0,81620,81620,256,256,FALSE,FALSE,FALSE,81920,640,0,0,0,0,"2.5 pages [txn]"
+77,"L",1,48,0,48,0,32596,32596,0,0,TRUE,FALSE,FALSE,32640,255,32,1,0,0,"1 page incl deq [deq]"
+78,"L",1,48,1,49,0,32596,32596,0,0,TRUE,FALSE,FALSE,32640,255,32,1,0,0,"1 page incl deq [deq]"
+79,"L",1,48,0,48,1,32597,32597,0,0,TRUE,FALSE,FALSE,32641,256,32,1,0,0,"1 page incl deq + 1 byte [deq]"
+80,"L",2.5,20,0,20,0,81748,81748,0,0,TRUE,FALSE,FALSE,81792,639,32,1,0,0,"2.5 pages incl deq [deq]"
+81,"L",1,48,0,48,0,31700,31700,256,256,TRUE,FALSE,FALSE,32000,250,300,3,292,3,"1 page incl deq & txn [deq txn]"
+82,"L",1,48,1,49,0,31700,31700,256,256,TRUE,FALSE,FALSE,32000,250,300,3,292,3,"1 page incl deq & txn [deq txn]"
+83,"L",1,48,0,48,1,31701,31701,256,256,TRUE,FALSE,FALSE,32001,251,300,3,292,3,"1 page incl deq & txn + 1 byte [deq txn]"
+84,"L",2.5,20,0,20,0,80852,80852,256,256,TRUE,FALSE,FALSE,81152,634,300,3,292,3,"2.5 pages incl deq & txn [deq txn]"
+,,,,,,,,,,,,,,,,,,,,
+"File rollover (from file 0007 to 0000) - RHM_WRONLY req'd for auto-dequeue == FALSE",,,,,,,,,,,,,,,,,,,,
+85,"L",0.5,16,0,16,0,786388,786388,0,0,FALSE,FALSE,FALSE,786432,6144,0,0,0,0,"24 pages = ½ file"
+86,"L",0.5,16,1,17,0,786388,786388,0,0,FALSE,FALSE,FALSE,786432,6144,0,0,0,0,"24 pages = ½ file"
+87,"L",0.5,16,0,16,1,786389,786389,0,0,FALSE,FALSE,FALSE,786433,6145,0,0,0,0,"24 pages + 1 byte"
+88,"L",0.5,16,0,16,0,786132,786132,256,256,FALSE,FALSE,FALSE,786432,6144,0,0,0,0,"24 pages = ½ file [txn]"
+89,"L",0.5,16,1,17,0,786132,786132,256,256,FALSE,FALSE,FALSE,786432,6144,0,0,0,0,"24 pages = ½ file [txn]"
+90,"L",0.5,16,0,16,1,786133,786133,256,256,FALSE,FALSE,FALSE,786433,6145,0,0,0,0,"24 pages + 1 byte [txn]"
+91,"L",0.25,32,0,32,0,786388,786388,0,0,FALSE,FALSE,FALSE,786432,6144,0,0,0,0,"24 pages = ½ file"
+92,"L",0.25,32,1,33,0,786388,786388,0,0,FALSE,FALSE,FALSE,786432,6144,0,0,0,0,"24 pages = ½ file"
+93,"L",0.25,32,0,32,1,786389,786389,0,0,FALSE,FALSE,FALSE,786433,6145,0,0,0,0,"24 pages + 1 byte"
+94,"L",0.25,32,0,32,0,786132,786132,256,256,FALSE,FALSE,FALSE,786432,6144,0,0,0,0,"24 pages = ½ file [txn]"
+95,"L",0.25,32,1,33,0,786132,786132,256,256,FALSE,FALSE,FALSE,786432,6144,0,0,0,0,"24 pages = ½ file [txn]"
+96,"L",0.25,32,0,32,1,786133,786133,256,256,FALSE,FALSE,FALSE,786433,6145,0,0,0,0,"24 pages + 1 byte [txn]"
+97,"L",0.5,16,0,16,0,786260,786260,0,0,TRUE,FALSE,FALSE,786304,6143,32,1,0,0,"24 pages incl deq = ½ file [deq]"
+98,"L",0.5,16,1,17,0,786260,786260,0,0,TRUE,FALSE,FALSE,786304,6143,32,1,0,0,"24 pages incl deq = ½ file [deq]"
+99,"L",0.5,16,0,16,1,786261,786261,0,0,TRUE,FALSE,FALSE,786305,6144,32,1,0,0,"24 pages incl deq + 1 byte [deq]"
+100,"L",0.5,16,0,16,0,785364,785364,256,256,TRUE,FALSE,FALSE,785664,6138,300,3,292,3,"24 pages incl deq & txn = ½ file [deq txn]"
+101,"L",0.5,16,1,17,0,785364,785364,256,256,TRUE,FALSE,FALSE,785664,6138,300,3,292,3,"24 pages incl deq & txn = ½ file [deq txn]"
+102,"L",0.5,16,0,16,1,785365,785365,256,256,TRUE,FALSE,FALSE,785665,6139,300,3,292,3,"24 pages incl deq & txn + 1 byte [deq txn]"
+103,"L",0.25,32,0,32,0,786260,786260,0,0,TRUE,FALSE,FALSE,786304,6143,32,1,0,0,"24 pages incl deq = ½ file [deq]"
+104,"L",0.25,32,1,33,0,786260,786260,0,0,TRUE,FALSE,FALSE,786304,6143,32,1,0,0,"24 pages incl deq = ½ file [deq]"
+105,"L",0.25,32,0,32,1,786261,786261,0,0,TRUE,FALSE,FALSE,786305,6144,32,1,0,0,"24 pages incl deq + 1 byte [deq]"
+106,"L",0.25,32,0,32,0,785364,785364,256,256,TRUE,FALSE,FALSE,785664,6138,300,3,292,3,"24 pages incl deq & txn = ½ file [deq txn]"
+107,"L",0.25,32,1,33,0,785364,785364,256,256,TRUE,FALSE,FALSE,785664,6138,300,3,292,3,"24 pages incl deq & txn = ½ file [deq txn]"
+108,"L",0.25,32,0,32,1,785365,785365,256,256,TRUE,FALSE,FALSE,785665,6139,300,3,292,3,"24 pages incl deq & txn + 1 byte [deq txn]"
+,,,,,,,,,,,,,,,,,,,,
+"Multi-page messages (large messages) - tests various paths in encoder.",,,,,,,,,,,,,,,,,,,,
+109,"L",1,16,0,16,0,32724,32724,0,0,FALSE,FALSE,FALSE,32768,256,0,0,0,0,"data 1 page"
+110,"L",1,16,0,16,1,32725,32725,0,0,FALSE,FALSE,FALSE,32769,257,0,0,0,0,"data 1 page + 1 byte (tail split; 1 byte over page boundary)"
+111,"L",1,16,0,16,11,32735,32735,0,0,FALSE,FALSE,FALSE,32779,257,0,0,0,0,"data 1 page + 11 bytes (tail split; 11 bytes over page boundary)"
+112,"L",1,16,0,16,12,32736,32736,0,0,FALSE,FALSE,FALSE,32780,257,0,0,0,0,"data 1 page + 12 bytes (tail separated exactly onto next page)"
+113,"L",1,16,0,16,13,32737,32737,0,0,FALSE,FALSE,FALSE,32781,257,0,0,0,0,"data 1 page + 13 bytes (data split; 1 byte over page boundary)"
+114,"L",1,16,0,16,0,32468,32468,256,256,FALSE,FALSE,FALSE,32768,256,0,0,0,0,"data 1 page [txn]"
+115,"L",1,16,0,16,1,32469,32469,256,256,FALSE,FALSE,FALSE,32769,257,0,0,0,0,"data 1 page + 1 byte (tail split; 1 byte over page boundary) [txn]"
+116,"L",1,16,0,16,11,32479,32479,256,256,FALSE,FALSE,FALSE,32779,257,0,0,0,0,"data 1 page + 11 bytes (tail split; 11 bytes over page boundary) [txn]"
+117,"L",1,16,0,16,12,32480,32480,256,256,FALSE,FALSE,FALSE,32780,257,0,0,0,0,"data 1 page + 12 bytes (tail separated exactly onto next page) [txn]"
+118,"L",1,16,0,16,13,32481,32481,256,256,FALSE,FALSE,FALSE,32781,257,0,0,0,0,"data 1 page + 13 bytes (data split; 1 byte over page boundary) [txn]"
+119,"L",2,16,0,16,0,65492,65492,0,0,FALSE,FALSE,FALSE,65536,512,0,0,0,0,"data 2 pages"
+120,"L",2,16,0,16,1,65493,65493,0,0,FALSE,FALSE,FALSE,65537,513,0,0,0,0,"data 2 pages + 1 byte (tail split; 1 byte over page boundary)"
+121,"L",2,16,0,16,11,65503,65503,0,0,FALSE,FALSE,FALSE,65547,513,0,0,0,0,"data 2 pages + 11 bytes (tail split; 11 bytes over page boundary)"
+122,"L",2,16,0,16,12,65504,65504,0,0,FALSE,FALSE,FALSE,65548,513,0,0,0,0,"data 2 pages + 12 bytes (tail separated exactly onto next page)"
+123,"L",2,16,0,16,13,65505,65505,0,0,FALSE,FALSE,FALSE,65549,513,0,0,0,0,"data 2 pages + 13 bytes (data split; 1 byte over page boundary)"
+124,"L",2,16,0,16,0,65236,65236,256,256,FALSE,FALSE,FALSE,65536,512,0,0,0,0,"data 2 pages [txn]"
+125,"L",2,16,0,16,1,65237,65237,256,256,FALSE,FALSE,FALSE,65537,513,0,0,0,0,"data 2 pages + 1 byte (tail split; 1 byte over page boundary) [txn]"
+126,"L",2,16,0,16,11,65247,65247,256,256,FALSE,FALSE,FALSE,65547,513,0,0,0,0,"data 2 pages + 11 bytes (tail split; 11 bytes over page boundary) [txn]"
+127,"L",2,16,0,16,12,65248,65248,256,256,FALSE,FALSE,FALSE,65548,513,0,0,0,0,"data 2 pages + 12 bytes (tail separated exactly onto next page) [txn]"
+128,"L",2,16,0,16,13,65249,65249,256,256,FALSE,FALSE,FALSE,65549,513,0,0,0,0,"data 2 pages + 13 bytes (data split; 1 byte over page boundary) [txn]"
+129,"L",4,16,0,16,0,131028,131028,0,0,FALSE,FALSE,FALSE,131072,1024,0,0,0,0,"data 4 pages"
+130,"L",4,16,0,16,1,131029,131029,0,0,FALSE,FALSE,FALSE,131073,1025,0,0,0,0,"data 4 pages + 1 byte (tail split; 1 byte over page boundary)"
+131,"L",4,16,0,16,11,131039,131039,0,0,FALSE,FALSE,FALSE,131083,1025,0,0,0,0,"data 4 pages + 11 bytes (tail split; 11 bytes over page boundary)"
+132,"L",4,16,0,16,12,131040,131040,0,0,FALSE,FALSE,FALSE,131084,1025,0,0,0,0,"data 4 pages + 12 bytes (tail separated exactly onto next page)"
+133,"L",4,16,0,16,13,131041,131041,0,0,FALSE,FALSE,FALSE,131085,1025,0,0,0,0,"data 4 pages + 13 bytes (data split; 1 byte over page boundary)"
+134,"L",4,16,0,16,0,130772,130772,256,256,FALSE,FALSE,FALSE,131072,1024,0,0,0,0,"data 4 pages [txn]"
+135,"L",4,16,0,16,1,130773,130773,256,256,FALSE,FALSE,FALSE,131073,1025,0,0,0,0,"data 4 pages + 1 byte (tail split; 1 byte over page boundary) [txn]"
+136,"L",4,16,0,16,11,130783,130783,256,256,FALSE,FALSE,FALSE,131083,1025,0,0,0,0,"data 4 pages + 11 bytes (tail split; 11 bytes over page boundary) [txn]"
+137,"L",4,16,0,16,12,130784,130784,256,256,FALSE,FALSE,FALSE,131084,1025,0,0,0,0,"data 4 pages + 12 bytes (tail separated exactly onto next page) [txn]"
+138,"L",4,16,0,16,13,130785,130785,256,256,FALSE,FALSE,FALSE,131085,1025,0,0,0,0,"data 4 pages + 13 bytes (data split; 1 byte over page boundary) [txn]"
+139,"L",3.5,16,0,16,0,114644,114644,0,0,FALSE,FALSE,FALSE,114688,896,0,0,0,0,"data 3.5 pages"
+140,"L",3.5,16,0,16,1,114645,114645,0,0,FALSE,FALSE,FALSE,114689,897,0,0,0,0,"data 3.5 pages + 1 byte"
+141,"L",3.5,16,0,16,0,114388,114388,256,256,FALSE,FALSE,FALSE,114688,896,0,0,0,0,"data 3.5 pages [txn]"
+142,"L",3.5,16,0,16,1,114389,114389,256,256,FALSE,FALSE,FALSE,114689,897,0,0,0,0,"data 3.5 pages + 1 byte [txn]"
+143,"L",1,16,0,16,-1,10,10,32735,32735,FALSE,FALSE,FALSE,32789,257,0,0,0,0,"xid 1 page – 1 byte; data 10 bytes (exact fit) [txn]"
+144,"L",1,16,0,16,0,10,10,32736,32736,FALSE,FALSE,FALSE,32790,257,0,0,0,0,"xid 1 page; data 10 bytes (exact fit) [txn]"
+145,"L",1,16,0,16,1,10,10,32737,32737,FALSE,FALSE,FALSE,32791,257,0,0,0,0,"xid 1 page + 1 byte; data 10 bytes (exact fit) [txn]"
+146,"L",2,16,0,16,-1,10,10,65503,65503,FALSE,FALSE,FALSE,65557,513,0,0,0,0,"xid 2 pages – 1 byte; data 10 bytes (exact fit) [txn]"
+147,"L",2,16,0,16,0,10,10,65504,65504,FALSE,FALSE,FALSE,65558,513,0,0,0,0,"xid 2 pages; data 10 bytes (exact fit) [txn]"
+148,"L",2,16,0,16,1,10,10,65505,65505,FALSE,FALSE,FALSE,65559,513,0,0,0,0,"xid 2 pages + 1 byte; data 10 bytes (exact fit) [txn]"
+149,"L",4,16,0,16,-1,10,10,131039,131039,FALSE,FALSE,FALSE,131093,1025,0,0,0,0,"xid 4 pages – 1 byte; data 10 bytes (exact fit) [txn]"
+150,"L",4,16,0,16,0,10,10,131040,131040,FALSE,FALSE,FALSE,131094,1025,0,0,0,0,"xid 4 pages; data 10 bytes (exact fit) [txn]"
+151,"L",4,16,0,16,1,10,10,131041,131041,FALSE,FALSE,FALSE,131095,1025,0,0,0,0,"xid 4 pages + 1 byte; data 10 bytes (exact fit) [txn]"
+152,"L",3.5,16,0,16,0,10,10,114656,114656,FALSE,FALSE,FALSE,114710,897,0,0,0,0,"xid 3.5 pages; data 10 bytes (exact fit) [txn]"
+153,"L",3.5,16,0,16,1,10,10,114657,114657,FALSE,FALSE,FALSE,114711,897,0,0,0,0,"xid 3.5 pages + 1 byte; data 10 bytes (exact fit) [txn]"
+154,"L",1,16,0,16,-1,10,10,32735,32735,TRUE,FALSE,FALSE,32789,257,32779,257,32771,257,"xid 1 page – 1 byte for enq rec; data 10 bytes (exact fit) [deq, txn]"
+155,"L",1,16,0,16,0,10,10,32736,32736,TRUE,FALSE,FALSE,32790,257,32780,257,32772,257,"xid 1 page for enq rec; data 10 bytes (exact fit) [deq, txn]"
+156,"L",1,16,0,16,1,10,10,32737,32737,TRUE,FALSE,FALSE,32791,257,32781,257,32773,257,"xid 1 page + 1 byte for enq rec; data 10 bytes (exact fit) [deq, txn]"
+157,"L",2,16,0,16,-1,10,10,65503,65503,TRUE,FALSE,FALSE,65557,513,65547,513,65539,513,"xid 2 pages – 1 byte for enq rec; data 10 bytes (exact fit) [deq, txn]"
+158,"L",2,16,0,16,0,10,10,65504,65504,TRUE,FALSE,FALSE,65558,513,65548,513,65540,513,"xid 2 pages for enq rec; data 10 bytes (exact fit) [deq, txn]"
+159,"L",2,16,0,16,1,10,10,65505,65505,TRUE,FALSE,FALSE,65559,513,65549,513,65541,513,"xid 2 pages + 1 byte for enq rec; data 10 bytes (exact fit) [deq, txn]"
+160,"L",4,16,0,16,-1,10,10,131039,131039,TRUE,FALSE,FALSE,131093,1025,131083,1025,131075,1025,"xid 4 pages – 1 byte for enq rec; data 10 bytes (exact fit) [deq, txn]"
+161,"L",4,16,0,16,0,10,10,131040,131040,TRUE,FALSE,FALSE,131094,1025,131084,1025,131076,1025,"xid 4 pages for enq rec; data 10 bytes (exact fit) [deq, txn]"
+162,"L",4,16,0,16,1,10,10,131041,131041,TRUE,FALSE,FALSE,131095,1025,131085,1025,131077,1025,"xid 4 pages + 1 byte for enq rec; data 10 bytes (exact fit) [deq, txn]"
+163,"L",3.5,16,0,16,0,10,10,114656,114656,TRUE,FALSE,FALSE,114710,897,114700,897,114692,897,"xid 3.5 pages for enq rec; data 10 bytes (exact fit) [deq, txn]"
+164,"L",3.5,16,0,16,1,10,10,114657,114657,TRUE,FALSE,FALSE,114711,897,114701,897,114693,897,"xid 3.5 pages + 1 byte for enq rec; data 10 bytes (exact fit) [deq, txn]"
+165,"L",1,16,0,16,-1,10,10,32735,32735,TRUE,FALSE,FALSE,32789,257,32779,257,32771,257,"xid 1 page – 1 byte for deq rec; data 10 bytes (exact fit) [deq, txn]"
+166,"L",1,16,0,16,0,10,10,32736,32736,TRUE,FALSE,FALSE,32790,257,32780,257,32772,257,"xid 1 page for deq rec; data 10 bytes (exact fit) [deq, txn]"
+167,"L",1,16,0,16,1,10,10,32737,32737,TRUE,FALSE,FALSE,32791,257,32781,257,32773,257,"xid 1 page + 1 byte for deq rec; data 10 bytes (exact fit) [deq, txn]"
+168,"L",2,16,0,16,-1,10,10,65503,65503,TRUE,FALSE,FALSE,65557,513,65547,513,65539,513,"xid 2 pages – 1 byte for deq rec; data 10 bytes (exact fit) [deq, txn]"
+169,"L",2,16,0,16,0,10,10,65504,65504,TRUE,FALSE,FALSE,65558,513,65548,513,65540,513,"xid 2 pages for deq rec; data 10 bytes (exact fit) [deq, txn]"
+170,"L",2,16,0,16,1,10,10,65505,65505,TRUE,FALSE,FALSE,65559,513,65549,513,65541,513,"xid 2 pages + 1 byte for deq rec; data 10 bytes (exact fit) [deq, txn]"
+171,"L",4,16,0,16,-1,10,10,131039,131039,TRUE,FALSE,FALSE,131093,1025,131083,1025,131075,1025,"xid 4 pages – 1 byte for deq rec; data 10 bytes (exact fit) [deq, txn]"
+172,"L",4,16,0,16,0,10,10,131040,131040,TRUE,FALSE,FALSE,131094,1025,131084,1025,131076,1025,"xid 4 pages for deq rec; data 10 bytes (exact fit) [deq, txn]"
+173,"L",4,16,0,16,1,10,10,131041,131041,TRUE,FALSE,FALSE,131095,1025,131085,1025,131077,1025,"xid 4 pages + 1 byte for deq rec; data 10 bytes (exact fit) [deq, txn]"
+174,"L",3.5,16,0,16,0,10,10,114656,114656,TRUE,FALSE,FALSE,114710,897,114700,897,114692,897,"xid 3.5 pages for deq rec; data 10 bytes (exact fit) [deq, txn]"
+175,"L",3.5,16,0,16,1,10,10,114657,114657,TRUE,FALSE,FALSE,114711,897,114701,897,114693,897,"xid 3.5 pages + 1 byte for deq rec; data 10 bytes (exact fit) [deq, txn]"
+176,"L",1,16,0,16,-1,10,10,32743,32743,TRUE,FALSE,FALSE,32797,257,32787,257,32779,257,"xid 1 page – 1 byte for txn rec; data 10 bytes (exact fit) [deq, txn]"
+177,"L",1,16,0,16,0,10,10,32744,32744,TRUE,FALSE,FALSE,32798,257,32788,257,32780,257,"xid 1 page for  txn rec; data 10 bytes (exact fit) [deq, txn]"
+178,"L",1,16,0,16,1,10,10,32745,32745,TRUE,FALSE,FALSE,32799,257,32789,257,32781,257,"xid 1 page + 1 byte for  txn rec; data 10 bytes (exact fit) [deq, txn]"
+179,"L",2,16,0,16,-1,10,10,65511,65511,TRUE,FALSE,FALSE,65565,513,65555,513,65547,513,"xid 2 pages – 1 byte for  txn rec; data 10 bytes (exact fit) [deq, txn]"
+180,"L",2,16,0,16,0,10,10,65512,65512,TRUE,FALSE,FALSE,65566,513,65556,513,65548,513,"xid 2 pages for  txn rec; data 10 bytes (exact fit) [deq, txn]"
+181,"L",2,16,0,16,1,10,10,65513,65513,TRUE,FALSE,FALSE,65567,513,65557,513,65549,513,"xid 2 pages + 1 byte for  txn rec; data 10 bytes (exact fit) [deq, txn]"
+182,"L",4,16,0,16,-1,10,10,131047,131047,TRUE,FALSE,FALSE,131101,1025,131091,1025,131083,1025,"xid 4 pages – 1 byte for  txn rec; data 10 bytes (exact fit) [deq, txn]"
+183,"L",4,16,0,16,0,10,10,131048,131048,TRUE,FALSE,FALSE,131102,1025,131092,1025,131084,1025,"xid 4 pages for  txn rec; data 10 bytes (exact fit) [deq, txn]"
+184,"L",4,16,0,16,1,10,10,131049,131049,TRUE,FALSE,FALSE,131103,1025,131093,1025,131085,1025,"xid 4 pages + 1 byte for  txn rec; data 10 bytes (exact fit) [deq, txn]"
+185,"L",3.5,16,0,16,0,10,10,114664,114664,TRUE,FALSE,FALSE,114718,897,114708,897,114700,897,"xid 3.5 pages for  txn rec; data 10 bytes (exact fit) [deq, txn]"
+186,"L",3.5,16,0,16,1,10,10,114665,114665,TRUE,FALSE,FALSE,114719,897,114709,897,114701,897,"xid 3.5 pages + 1 byte for  txn rec; data 10 bytes (exact fit) [deq, txn]"
+,,,,,,,,,,,,,,,,,,,,
+"Large (multi-megabyte) messages - RHM_WRONLY req'd for auto-dequeue == FALSE",,,,,,,,,,,,,,,,,,,,
+187,"L",1,32,0,32,0,1572820,1572820,0,0,FALSE,FALSE,FALSE,1572864,12288,0,0,0,0,"48 pages = 1 file exactly"
+188,"L",1,32,0,32,1,1572821,1572821,0,0,FALSE,FALSE,FALSE,1572865,12289,0,0,0,0,"48 pages + 1 byte"
+189,"L",1,32,0,32,0,1605588,1605588,0,0,FALSE,FALSE,FALSE,1605632,12544,0,0,0,0,"49 pages = 1 file + 1 page"
+190,"L",1,32,0,32,1,1589205,1589205,0,0,FALSE,FALSE,FALSE,1589249,12417,0,0,0,0,"49 pages + 1 byte = 1 file + 1 page + 1 byte"
+191,"L",1,32,0,32,0,1572565,1572565,255,255,FALSE,FALSE,FALSE,1572864,12288,0,0,0,0,"48 pages = 1 file exactly [txn]"
+192,"L",1,32,0,32,1,1572566,1572566,255,255,FALSE,FALSE,FALSE,1572865,12289,0,0,0,0,"48 pages + 1 byte [txn]"
+193,"L",1,32,0,32,0,1588949,1588949,255,255,FALSE,FALSE,FALSE,1589248,12416,0,0,0,0,"49 pages = 1 file + 1 page [txn]"
+194,"L",1,32,0,32,1,1584854,1584854,255,255,FALSE,FALSE,FALSE,1585153,12385,0,0,0,0,"49 pages + 1 byte = 1 file + 1 page + 1 byte [txn]"
+195,"L",1,32,0,32,0,1572692,1572692,0,0,TRUE,FALSE,FALSE,1572736,12287,32,1,0,0,"48 pages incl deq = 1 file exactly [deq]"
+196,"L",1,32,0,32,1,1572693,1572693,0,0,TRUE,FALSE,FALSE,1572737,12288,32,1,0,0,"48 pages incl deq + 1 byte [deq]"
+197,"L",1,32,0,32,0,1595220,1595220,0,0,TRUE,FALSE,FALSE,1595264,12463,32,1,0,0,"49 pages incl deq = 1 file + 1 page [deq]"
+198,"L",1,32,0,32,1,1589077,1589077,0,0,TRUE,FALSE,FALSE,1589121,12416,32,1,0,0,"49 pages incl deq + 1 byte = 1 file + 1 page + 1 byte [deq]"
+199,"L",1,32,0,32,0,1571797,1571797,255,255,TRUE,FALSE,FALSE,1572096,12282,299,3,291,3,"48 pages incl deq & txn = 1 file exactly [deq txn]"
+200,"L",1,32,0,32,1,1571798,1571798,255,255,TRUE,FALSE,FALSE,1572097,12283,299,3,291,3,"48 pages incl deq & txn + 1 byte [deq txn]"
+201,"L",1,32,0,32,0,1571797,1571797,255,255,TRUE,FALSE,FALSE,1572096,12282,299,3,291,3,"49 pages incl deq & txn = 1 file + 1 page [deq txn]"
+202,"L",1,32,0,32,1,1571798,1571798,255,255,TRUE,FALSE,FALSE,1572097,12283,299,3,291,3,"49 pages incl deq & txn + 1 byte = 1 file + 1 page + 1 byte [deq txn]"
+203,"L",2,16,0,16,0,3145684,3145684,0,0,FALSE,FALSE,FALSE,3145728,24576,0,0,0,0,"96 pages = 2 files exactly"
+204,"L",2,16,0,16,1,3145685,3145685,0,0,FALSE,FALSE,FALSE,3145729,24577,0,0,0,0,"96 pages + 1 byte"
+205,"L",2,16,0,16,0,3146708,3146708,0,0,FALSE,FALSE,FALSE,3146752,24584,0,0,0,0,"97 pages = 2 files + 1 page"
+206,"L",2,16,0,16,1,3145685,3145685,0,0,FALSE,FALSE,FALSE,3145729,24577,0,0,0,0,"97 pages + 1 byte = 2 files + 1 page + 1 byte"
+207,"L",2,16,0,16,0,3145429,3145429,255,255,FALSE,FALSE,FALSE,3145728,24576,0,0,0,0,"96 pages = 2 files exactly [txn]"
+208,"L",2,16,0,16,1,3145430,3145430,255,255,FALSE,FALSE,FALSE,3145729,24577,0,0,0,0,"96 pages + 1 byte [txn]"
+209,"L",2,16,0,16,0,3145429,3145429,255,255,FALSE,FALSE,FALSE,3145728,24576,0,0,0,0,"97 pages = 2 files + 1 page [txn]"
+210,"L",2,16,0,16,1,3145430,3145430,255,255,FALSE,FALSE,FALSE,3145729,24577,0,0,0,0,"97 pages + 1 byte = 2 files + 1 page + 1 byte [txn]"
+211,"L",2,16,0,16,0,3145556,3145556,0,0,TRUE,FALSE,FALSE,3145600,24575,32,1,0,0,"96 pages incl deq = 2 files exactly [deq]"
+212,"L",2,16,0,16,1,3145557,3145557,0,0,TRUE,FALSE,FALSE,3145601,24576,32,1,0,0,"96 pages incl deq + 1 byte [deq]"
+213,"L",2,16,0,16,0,3145556,3145556,0,0,TRUE,FALSE,FALSE,3145600,24575,32,1,0,0,"97 pages incl deq = 2 files + 1 page [deq]"
+214,"L",2,16,0,16,1,3145557,3145557,0,0,TRUE,FALSE,FALSE,3145601,24576,32,1,0,0,"97 pages incl deq + 1 byte = 2 files + 1 page + 1 byte [deq]"
+215,"L",2,16,0,16,0,3144661,3144661,255,255,TRUE,FALSE,FALSE,3144960,24570,299,3,291,3,"96 pages incl deq & txn = 2 files exactly [deq txn]"
+216,"L",2,16,0,16,1,3144662,3144662,255,255,TRUE,FALSE,FALSE,3144961,24571,299,3,291,3,"96 pages incl deq & txn + 1 byte [deq txn]"
+217,"L",2,16,0,16,0,3144661,3144661,255,255,TRUE,FALSE,FALSE,3144960,24570,299,3,291,3,"97 pages incl deq & txn = 2 files + 1 page [deq txn]"
+218,"L",2,16,0,16,1,3144662,3144662,255,255,TRUE,FALSE,FALSE,3144961,24571,299,3,291,3,"97 pages incl deq & txn + 1 byte = 2 files + 1 page + 1 byte [deq txn]"
+219,"L",4,8,0,8,0,6291412,6291412,0,0,FALSE,FALSE,FALSE,6291456,49152,0,0,0,0,"192 pages = 2 files exactly"
+220,"L",4,8,0,8,1,6291413,6291413,0,0,FALSE,FALSE,FALSE,6291457,49153,0,0,0,0,"192 pages + 1 byte"
+221,"L",4,8,0,8,0,6291412,6291412,0,0,FALSE,FALSE,FALSE,6291456,49152,0,0,0,0,"193 pages = 2 files + 1 page"
+222,"L",4,8,0,8,1,6291413,6291413,0,0,FALSE,FALSE,FALSE,6291457,49153,0,0,0,0,"193 pages + 1 byte = 2 files + 1 page + 1 byte"
+223,"L",4,8,0,8,0,6291157,6291157,255,255,FALSE,FALSE,FALSE,6291456,49152,0,0,0,0,"192 pages = 2 files exactly [txn]"
+224,"L",4,8,0,8,1,6291158,6291158,255,255,FALSE,FALSE,FALSE,6291457,49153,0,0,0,0,"192 pages + 1 byte [txn]"
+225,"L",4,8,0,8,0,6291157,6291157,255,255,FALSE,FALSE,FALSE,6291456,49152,0,0,0,0,"193 pages = 2 files + 1 page [txn]"
+226,"L",4,8,0,8,1,6291158,6291158,255,255,FALSE,FALSE,FALSE,6291457,49153,0,0,0,0,"193 pages + 1 byte = 2 files + 1 page + 1 byte [txn]"
+227,"L",4,8,0,8,0,6291284,6291284,0,0,TRUE,FALSE,FALSE,6291328,49151,32,1,0,0,"192 pages incl deq = 2 files exactly [deq]"
+228,"L",4,8,0,8,1,6291285,6291285,0,0,TRUE,FALSE,FALSE,6291329,49152,32,1,0,0,"192 pages incl deq + 1 byte [deq]"
+229,"L",4,8,0,8,0,6291284,6291284,0,0,TRUE,FALSE,FALSE,6291328,49151,32,1,0,0,"193 pages incl deq = 2 files + 1 page [deq]"
+230,"L",4,8,0,8,1,6291285,6291285,0,0,TRUE,FALSE,FALSE,6291329,49152,32,1,0,0,"193 pages incl deq + 1 byte = 2 files + 1 page + 1 byte [deq]"
+231,"L",4,8,0,8,0,6290389,6290389,255,255,TRUE,FALSE,FALSE,6290688,49146,299,3,291,3,"192 pages incl deq & txn = 2 files exactly [deq txn]"
+232,"L",4,8,0,8,1,6290390,6290390,255,255,TRUE,FALSE,FALSE,6290689,49147,299,3,291,3,"192 pages incl deq & txn + 1 byte [deq txn]"
+233,"L",4,8,0,8,0,6290389,6290389,255,255,TRUE,FALSE,FALSE,6290688,49146,299,3,291,3,"193 pages incl deq & txn = 2 files + 1 page [deq txn]"
+234,"L",4,8,0,8,1,6290390,6290390,255,255,TRUE,FALSE,FALSE,6290689,49147,299,3,291,3,"193 pages incl deq & txn + 1 byte = 2 files + 1 page + 1 byte [deq txn]"
+,,,,,,,,,,,,,,,,,,,,
+"High volume tests of random message lengths - RHM_WRONLY req'd for auto-dequeue == FALSE",,,,,,,,,,,,,,,,,,,,
+235,"M",1,5000000,0,5000000,0,0,84,0,0,FALSE,FALSE,FALSE,128,1,0,0,0,0,"1 dblk max"
+236,"M",3,3000000,0,3000000,0,0,340,0,0,FALSE,FALSE,FALSE,384,3,0,0,0,0,"3 dblks max"
+237,"M",10,1600000,0,1600000,0,0,1236,0,0,FALSE,FALSE,FALSE,1280,10,0,0,0,0,"10 dblks max"
+238,"M",30,600000,0,600000,0,0,3796,0,0,FALSE,FALSE,FALSE,3840,30,0,0,0,0,"30 dblks max"
+239,"M",100,200000,0,200000,0,0,12756,0,0,FALSE,FALSE,FALSE,12800,100,0,0,0,0,"100 dblks max"
+240,"M",300,60000,0,60000,0,0,38356,0,0,FALSE,FALSE,FALSE,38400,300,0,0,0,0,"300 dblks max"
+241,"M",1000,20000,0,20000,0,0,127956,0,0,FALSE,FALSE,FALSE,128000,1000,0,0,0,0,"1000 dblks max"
+242,"M",1,5000000,0,5000000,0,0,100,1,100,FALSE,FALSE,FALSE,244,2,0,0,0,0,"100 bytes xid max + 100 bytes data max [txn]"
+243,"M",3,3000000,0,3000000,0,0,300,1,300,FALSE,FALSE,FALSE,644,6,0,0,0,0,"300 bytes xid max + 300 bytes data max [txn]"
+244,"M",10,1600000,0,1600000,0,0,1000,1,1000,FALSE,FALSE,FALSE,2044,16,0,0,0,0,"1000 bytes xid max + 1000 bytes data max [txn]"
+245,"M",30,600000,0,600000,0,0,3000,1,3000,FALSE,FALSE,FALSE,6044,48,0,0,0,0,"3000 bytes xid max + 3000 bytes data max [txn]"
+246,"M",100,200000,0,200000,0,0,10000,1,10000,FALSE,FALSE,FALSE,20044,157,0,0,0,0,"10000 bytes xid max + 10000 bytes data max [txn]"
+247,"M",300,60000,0,60000,0,0,30000,1,30000,FALSE,FALSE,FALSE,60044,470,0,0,0,0,"30000 bytes xid max + 30000 bytes data max [txn]"
+248,"M",1000,20000,0,20000,0,0,100000,1,100000,FALSE,FALSE,FALSE,200044,1563,0,0,0,0,"100000 bytes xid max + 100000 bytes data max [txn]"
+249,"M",1,5000000,0,5000000,0,0,84,0,0,TRUE,FALSE,FALSE,128,1,32,1,0,0,"1 dblk max [deq]"
+250,"M",3,3000000,0,3000000,0,0,340,0,0,TRUE,FALSE,FALSE,384,3,32,1,0,0,"3 dblks max [deq]"
+251,"M",10,1600000,0,1600000,0,0,1236,0,0,TRUE,FALSE,FALSE,1280,10,32,1,0,0,"10 dblks max [deq]"
+252,"M",30,600000,0,600000,0,0,3796,0,0,TRUE,FALSE,FALSE,3840,30,32,1,0,0,"30 dblks max [deq]"
+253,"M",100,200000,0,200000,0,0,12756,0,0,TRUE,FALSE,FALSE,12800,100,32,1,0,0,"100 dblks max [deq]"
+254,"M",300,60000,0,60000,0,0,38356,0,0,TRUE,FALSE,FALSE,38400,300,32,1,0,0,"300 dblks max [deq]"
+255,"M",1000,20000,0,20000,0,0,127956,0,0,TRUE,FALSE,FALSE,128000,1000,32,1,0,0,"1000 dblks max [deq]"
+256,"M",1,5000000,0,5000000,0,0,100,1,100,TRUE,FALSE,FALSE,244,2,144,2,136,2,"100 bytes xid max + 100 bytes data max [deq txn]"
+257,"M",3,3000000,0,3000000,0,0,300,1,300,TRUE,FALSE,FALSE,644,6,344,3,336,3,"300 bytes xid max + 300 bytes data max [deq txn]"
+258,"M",10,1600000,0,1600000,0,0,1000,1,1000,TRUE,FALSE,FALSE,2044,16,1044,9,1036,9,"1000 bytes xid max + 1000 bytes data max [deq txn]"
+259,"M",30,600000,0,600000,0,0,3000,1,3000,TRUE,FALSE,FALSE,6044,48,3044,24,3036,24,"3000 bytes xid max + 3000 bytes data max [deq txn]"
+260,"M",100,200000,0,200000,0,0,10000,1,10000,TRUE,FALSE,FALSE,20044,157,10044,79,10036,79,"10000 bytes xid max + 10000 bytes data max [deq txn]"
+261,"M",300,60000,0,60000,0,0,30000,1,30000,TRUE,FALSE,FALSE,60044,470,30044,235,30036,235,"30000 bytes xid max + 30000 bytes data max [deq txn]"
+262,"M",1000,20000,0,20000,0,0,100000,1,100000,TRUE,FALSE,FALSE,200044,1563,100044,782,100036,782,"100000 bytes xid max + 100000 bytes data max [deq txn]"
+,,,,,,,,,,,,,,,,,,,,
+"STANDARD PERFORMANCE BENCHMARK: 10,000,000 writes, data=212b (2 dblks)",,,,,,,,,,,,,,,,,,,,
+263,"M",1,10000000,0,10000000,0,212,212,0,0,FALSE,FALSE,FALSE,256,2,0,0,0,0,"212 bytes data (2 dblks enq)"
+264,"M",1,10000000,0,10000000,0,404,404,64,64,FALSE,FALSE,FALSE,512,4,0,0,0,0,"212 bytes data + 64 bytes xid (3 dblks enq)"
+265,"M",1,10000000,0,10000000,0,212,212,0,0,TRUE,FALSE,FALSE,256,2,32,1,0,0,"212 bytes data (2 dblks enq + 1 dblk deq)"
+266,"M",1,10000000,0,10000000,0,404,404,64,64,TRUE,FALSE,FALSE,512,4,108,1,100,1,"212 bytes data + 64 bytes xid (3 dblks enq + 1 dblks deq + 1 dblks txn)"




More information about the rhmessaging-commits mailing list