Version 1.4.2
Upgrading WiredTiger applications

Upgrading to Version 1.3.9

Compression

A new member, WT_COMPRESSOR::compress_raw, was added to the WT_COMPRESSOR extension API. Applications using the WT_COMPRESSOR extension API should add a NULL as the second field of that structure.

Checksums

The WT_SESSION::create method's checksum configuration string has been changed from a boolean type to a string type. Applications using the checksum configuration string should change a value of true to the string on, and a value of false to the string off or the string uncompressed.

File format changes

The underlying file formats changed in the 1.3.9 release; tables and files should be dumped and re-loaded into a new database.


Upgrading to Version 1.3.8

Statistics keys

The statistics key constants have been renamed to use all capitals, and use consistent prefixes to distinguish between connection statistics and statistics for data sources.


Upgrading to Version 1.3.6

Installed library names

The installed WiredTiger extension library names changed to limit namespace pollution:

LibraryPrevious NameNew Name
Bzip2 compressionbzip2_compress.alibwiredtiger_bzip2.a
bzip2_compress.lalibwiredtiger_bzip2.la
bzip2_compress.solibwiredtiger_bzip2.so
Snappy compressionsnappy_compress.alibwiredtiger_snappy.a
snappy_compress.lalibwiredtiger_snappy.la
snappy_compress.solibwiredtiger_snappy.so
No-op compressionnop_compress.aNo longer installed
nop_compress.laNo longer installed
nop_compress.soNo longer installed
Reverse order collatorreverse_collator.aNo longer installed
reverse_collator.laNo longer installed
reverse_collator.soNo longer installed

Built-in compression names

The built-in compression name arguments to the WT_SESSION:create block_compressor configuration string changed for consistency:

ExtensionPrevious NameNew Name
Bzip2 compression"bzip2_compress""bzip2"
Snappy compression"snappy_compress""snappy"


Upgrading to Version 1.3.5

File format changes

The underlying file formats changed in the 1.3.5 release; tables and files should be dumped and re-loaded into a new database.


Upgrading to Version 1.3

Checkpoint and Snapshot

The checkpoint functionality supported by WT_SESSION::checkpoint and the snapshot functionality supported by WT_SESSION::sync have been merged into a single piece of functionality.

  • WT_SESSION.checkpoint
    The WT_SESSION::checkpoint method's snapshot configuration string has been renamed to name. The name assigned to checkpoints without a specified name configuration is now "WiredTigerCheckpoint".

  • WT_SESSION.drop
    In releases before 1.3, the WT_SESSION::drop method was used to delete snapshots. In 1.3, the functionality of deleting snapshots has been moved to the WT_SESSION::checkpoint method, specifically, snapshots are discarded using the WT_SESSION::checkpoint method's drop configuration string.

  • WT_SESSION.sync
    The WT_SESSION::sync method has been removed from the 1.3 release; the functionality of creating an object snapshot has moved to the WT_SESSION::checkpoint method, specifically, creating a snapshot of a one or more objects is done using the WT_SESSION::checkpoint method's target configuration string.

  • wt drop -s
    The -s option to the drop command for the wt command line utility has been removed, and object snapshots may no longer be removed from the command line.

  • wt dump, list -s
    The -s options to the dump and list commands for the wt command line utility have been renamed to be -c.

WT_SESSION.open_cursor

In releases before 1.3, the WT_SESSION::open_cursor method could duplicate cursors that were not positioned in an object; in 1.3, a cursor must be positioned in order to be duplicated.

Transactional cursors

In releases before 1.3, ending a transaction by calling the WT_SESSION::commit_transaction or WT_SESSION::rollback_transaction methods implicitly closed all open cursors; in 1.3, the cursors remain open, but are reset (discarding their positions and cursor values). This means applications must change to either close cursors explicitly, or rely on an eventual WT_SESSION::close or WT_CONNECTION::close methods to implicitly close open cursors.

Default transactional isolation level

In releases before 1.3, the default isolation level for transaction was snapshot, and the default isolation level for non-transaction operations was read-uncommitted; in 1.3, the default isolation level for all operations is read-committed.

The default can be overridden for a session using the isolation setting in WT_CONNECTION::open_cursor.

WT_SESSION.truncate

In releases before 1.3, the WT_SESSION::truncate method required cursors used for truncation of a cursor range to reference existing keys in the object; in 1.3, the WT_SESSION::truncate method has been changed to allow cursors to reference any valid key in the object's name space so applications may discard portions of the object name space without knowing exactly what records the object contains.

WT_CURSOR.equals

In releases before 1.3, the WT_CURSOR::equals method returned zero/non-zero to indicate cursor equality; in 1.3, the WT_CURSOR::equals method has been replaced with WT_CURSOR::compare, which compares two cursors and returns a cursor comparison status (less than 0, equal to 0, or greater than 0) depending on the cursors' key order.

File format changes

The underlying file formats changed in the 1.3 release; tables and files should be dumped and re-loaded into a new database.