In the 1.6.1 release, the default for the WT_SESSION::create configuration string allocation_size
changed from 512B to 4KB, and the default for the configuration string internal_page_max
changed from 2KB to 4KB. Applications wanting to create files with smaller allocation or internal page sizes will need to set those configuration values explicitly.
In the 1.6.1 release, an explicit shared_cache=(enable=boolean) option was added to the wiredtiger_open configuration options. Existing applications that use shared cache functionality will need to add the enable option to the configuration string. The default value for the option is false.
In the 1.6.1 release, the split_pct
argument to the WT_COMPRESSOR::compress_raw function changed type from u_int
to int
, applications may require modification to avoid compiler warnings.
The underlying file formats changed in the 1.6.0 release; tables and files should be dumped and re-loaded into a new database.
An undocumented feature where configuration string case was ignored has been removed, and all configuration strings are now case-dependent. Applications may require modifications to resolve run-time errors.
The following changes are only applicable to applications loading extensions and/or using the WiredTiger extension functions described in WT_EXTENSION_API.
The signature of wiredtiger_extension_init has changed from (WT_SESSION *session, WT_EXTENSION_API *api)
to (WT_CONNECTION *connection)
. As no WT_EXTENSION_API handle reference is passed to the function, the WT_CONNECTION::get_extension_api has been added to support retrieval of the extension API. Applications may require modifications.
The type of all configuration arguments to extension methods has changed from "const char *"
to "WT_CONFIG_ARG *"
, and the WT_EXTENSION::config method added to support configuration parsing; applications may require modifications.
The undocumented wiredtiger_XXX
defines for WT_EXTENSION_API extension methods have been removed from the wiredtiger_ext.h
include file; applications should instead use the method handles referenced by the WT_EXTENSION_API handle to call extension functions.
The extension API methods have all changed to require an additional parameter, the WT_EXTENSION_API method handle; applications may require modifications.
The following changes are only applicable to applications providing new implementations of the WiredTiger WT_DATA_SOURCE class.
The WT_DATA_SOURCE class has three new methods: WT_DATA_SOURCE::compact, WT_DATA_SOURCE::salvage, and WT_DATA_SOURCE::verify; applications may require modifications to resolve compile errors.
The owner
argument to the WT_DATA_SOURCE::open_cursor method has been removed; applications may require modifications to resolve compile errors.
exclusive
argument to the WT_DATA_SOURCE::create method has been removed; applications may require modifications to resolve compile errors. WiredTiger statistics are no longer maintained by default; to configure statistics, use the statistics
configuration string to the wiredtiger_open function.
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.
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
.
The underlying file formats changed in the 1.3.9 release; tables and files should be dumped and re-loaded into a new database.
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.
The installed WiredTiger extension library names changed to limit namespace pollution:
Library | Previous Name | New Name |
---|---|---|
Bzip2 compression | bzip2_compress.a | libwiredtiger_bzip2.a |
bzip2_compress.la | libwiredtiger_bzip2.la | |
bzip2_compress.so | libwiredtiger_bzip2.so | |
Snappy compression | snappy_compress.a | libwiredtiger_snappy.a |
snappy_compress.la | libwiredtiger_snappy.la | |
snappy_compress.so | libwiredtiger_snappy.so | |
No-op compression | nop_compress.a | No longer installed |
nop_compress.la | No longer installed | |
nop_compress.so | No longer installed | |
Reverse order collator | reverse_collator.a | No longer installed |
reverse_collator.la | No longer installed | |
reverse_collator.so | No longer installed |
The built-in compression name arguments to the WT_SESSION:create block_compressor
configuration string changed for consistency:
Extension | Previous Name | New Name |
---|---|---|
Bzip2 compression | "bzip2_compress" | "bzip2" |
Snappy compression | "snappy_compress" | "snappy" |
The underlying file formats changed in the 1.3.5 release; tables and files should be dumped and re-loaded into a new database.
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.
-s
options to the dump
and list
commands for the wt
command line utility have been renamed to be -c
. 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.
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.
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.
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.
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.
The underlying file formats changed in the 1.3 release; tables and files should be dumped and re-loaded into a new database.