All data operations are performed in the context of a WT_SESSION. More...
Public Member Functions | |
synchronized void | delete () |
Connection | getConnection () |
int | close (String config) throws com.wiredtiger.db.WiredTigerException |
Close the session handle. More... | |
int | reconfigure (String config) throws com.wiredtiger.db.WiredTigerException |
Reconfigure a session handle. More... | |
String | strerror (int error) throws com.wiredtiger.db.WiredTigerException |
int | create (String name, String config) throws com.wiredtiger.db.WiredTigerException |
Create a table, column group, index or file. More... | |
int | compact (String name, String config) throws com.wiredtiger.db.WiredTigerException |
Compact a live row- or column-store btree or LSM tree. More... | |
int | drop (String name, String config) throws com.wiredtiger.db.WiredTigerException |
Drop (delete) an object. More... | |
int | log_printf (String fmt) throws com.wiredtiger.db.WiredTigerException |
Insert a WT_LOGREC_MESSAGE type record in the database log files (the database must be configured for logging when this method is called). More... | |
int | rename (String uri, String newuri, String config) throws com.wiredtiger.db.WiredTigerException |
Rename an object. More... | |
int | salvage (String name, String config) throws com.wiredtiger.db.WiredTigerException |
Salvage a file or table. More... | |
int | truncate (String name, Cursor start, Cursor stop, String config) throws com.wiredtiger.db.WiredTigerException |
Truncate a file, table or cursor range. More... | |
int | upgrade (String name, String config) throws com.wiredtiger.db.WiredTigerException |
Upgrade a file or table. More... | |
int | verify (String name, String config) throws com.wiredtiger.db.WiredTigerException |
Verify a file or table. More... | |
int | begin_transaction (String config) throws com.wiredtiger.db.WiredTigerException |
Start a transaction in this session. More... | |
int | commit_transaction (String config) throws com.wiredtiger.db.WiredTigerException |
Commit the current transaction. More... | |
int | rollback_transaction (String config) throws com.wiredtiger.db.WiredTigerException |
Roll back the current transaction. More... | |
int | checkpoint (String config) throws com.wiredtiger.db.WiredTigerException |
Write a transactionally consistent snapshot of a database or set of objects. More... | |
Cursor | open_cursor (String uri, Cursor to_dup, String config) throws com.wiredtiger.db.WiredTigerException |
Open a new cursor on a data source or duplicate an existing cursor. More... | |
int | transaction_pinned_range () throws com.wiredtiger.db.WiredTigerException |
Return the transaction ID range pinned by the session handle. More... | |
Protected Member Functions | |
Session (long cPtr, boolean cMemoryOwn) | |
int | java_init (Object jsess) |
Static Protected Member Functions | |
static long | getCPtr (Session obj) |
Protected Attributes | |
boolean | swigCMemOwn |
All data operations are performed in the context of a WT_SESSION.
This encapsulates the thread and transactional context of the operation.
Thread safety: A WT_SESSION handle is not usually shared between threads, see Multithreading for more information.
int com.wiredtiger.db.Session.begin_transaction | ( | String | config | ) | throws com.wiredtiger.db.WiredTigerException |
Start a transaction in this session.
The transaction remains active until ended by WT_SESSION::commit_transaction or WT_SESSION::rollback_transaction. Operations performed on cursors capable of supporting transactional operations that are already open in this session, or which are opened before the transaction ends, will operate in the context of the transaction.
WT_SESSION::begin_transaction will fail if a transaction is already in progress in the session.
session | the session handle | |||||||||||||||
config | Configuration string, see Configuration Strings. Permitted values:
|
int com.wiredtiger.db.Session.checkpoint | ( | String | config | ) | throws com.wiredtiger.db.WiredTigerException |
Write a transactionally consistent snapshot of a database or set of objects.
The checkpoint includes all transactions committed before the checkpoint starts. Additionally, checkpoints may optionally be discarded.
session | the session handle | |||||||||||||||
config | Configuration string, see Configuration Strings. Permitted values:
|
int com.wiredtiger.db.Session.close | ( | String | config | ) | throws com.wiredtiger.db.WiredTigerException |
Close the session handle.
This will release the resources associated with the session handle, including rolling back any active transactions and closing any cursors that remain open in the session.
session | the session handle |
config | Configuration string, see Configuration Strings. No values currently permitted. |
int com.wiredtiger.db.Session.commit_transaction | ( | String | config | ) | throws com.wiredtiger.db.WiredTigerException |
Commit the current transaction.
A transaction must be in progress when this method is called.
If WT_SESSION::commit_transaction returns an error, the transaction was rolled back, not committed.
session | the session handle |
config | Configuration string, see Configuration Strings. No values currently permitted. |
int com.wiredtiger.db.Session.compact | ( | String | name, |
String | config | ||
) | throws com.wiredtiger.db.WiredTigerException |
Compact a live row- or column-store btree or LSM tree.
session | the session handle | ||||||
name | the URI of the object to compact, such as "table:stock" | ||||||
config | Configuration string, see Configuration Strings. Permitted values:
|
int com.wiredtiger.db.Session.create | ( | String | name, |
String | config | ||
) | throws com.wiredtiger.db.WiredTigerException |
Create a table, column group, index or file.
session | the session handle | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
name | the URI of the object to create, such as "table:stock" . For a description of URI formats see Data Sources. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
config | Configuration string, see Configuration Strings. Permitted values:
|
int com.wiredtiger.db.Session.drop | ( | String | name, |
String | config | ||
) | throws com.wiredtiger.db.WiredTigerException |
Drop (delete) an object.
session | the session handle | |||||||||
name | the URI of the object to drop, such as "table:stock" | |||||||||
config | Configuration string, see Configuration Strings. Permitted values:
|
int com.wiredtiger.db.Session.log_printf | ( | String | fmt | ) | throws com.wiredtiger.db.WiredTigerException |
Insert a WT_LOGREC_MESSAGE type record in the database log files (the database must be configured for logging when this method is called).
session | the session handle |
fmt | a printf format specifier |
Cursor com.wiredtiger.db.Session.open_cursor | ( | String | uri, |
Cursor | to_dup, | ||
String | config | ||
) | throws com.wiredtiger.db.WiredTigerException |
Open a new cursor on a data source or duplicate an existing cursor.
An existing cursor can be duplicated by passing it as the to_dup
parameter and setting the uri
parameter to NULL:
Cursors being duplicated must have a key set, and successfully duplicated cursors are positioned at the same place in the data source as the original.
Cursor handles should be discarded by calling WT_CURSOR::close.
Cursors capable of supporting transactional operations operate in the context of the current transaction, if any.
WT_SESSION::rollback_transaction implicitly resets all cursors.
Cursors are relatively light-weight objects but may hold references to heavier-weight objects; applications should re-use cursors when possible, but instantiating new cursors is not so expensive that applications need to cache cursors at all cost.
session | the session handle |
uri | the data source on which the cursor operates; cursors are usually opened on tables, however, cursors can be opened on any data source, regardless of whether it is ultimately stored in a table. Some cursor types may have limited functionality (for example, they may be read-only or not support transactional updates). See Data Sources for more information. |
The following are the builtin basic cursor types:
URI | Type | Notes |
---|---|---|
table:<table name>[<projection>] | table cursor | table key, table value(s) with optional projection of columns |
colgroup:<table name>:<column group name> | column group cursor | table key, column group value(s) |
index:<table name>:<index name>[<projection>] | index cursor | key=index key, value=table value(s) with optional projection of columns |
Some administrative tasks can be accomplished using the following special cursor types that give access to data managed by WiredTiger:
URI | Type | Notes |
---|---|---|
backup: | backup cursor | key=string , see Backups for details |
log: | log cursor | key=(long fileID, long offset, int seqno) ,value= (uint64_t txnid, uint32_t rectype, ,see Log cursors for details |
metadata: | metadata cursor | key=string , value=string ,see Reading WiredTiger Metadata for details |
statistics:[<data source URI>] | database or data source statistics cursor | key=int id ,value= (string description, string value, uint64_t value) ,see Statistics Data for details |
Advanced applications may also open the following low-level cursor types:
URI | Type | Notes |
---|---|---|
file:<file name> | file cursor | file key, file value(s) |
lsm:<name> | LSM cursor (key=LSM key, value=LSM value) | LSM key, LSM value, see Log-Structured Merge Trees |
to_dup | a cursor to duplicate | ||||||||||||||||||||||||||||||||||
config | Configuration string, see Configuration Strings. Permitted values:
| ||||||||||||||||||||||||||||||||||
[out] | cursorp | a pointer to the newly opened cursor |
int com.wiredtiger.db.Session.reconfigure | ( | String | config | ) | throws com.wiredtiger.db.WiredTigerException |
Reconfigure a session handle.
WT_SESSION::reconfigure will fail if a transaction is in progress in the session.
All cursors are reset.
session | the session handle | ||||||
config | Configuration string, see Configuration Strings. Permitted values:
|
int com.wiredtiger.db.Session.rename | ( | String | uri, |
String | newuri, | ||
String | config | ||
) | throws com.wiredtiger.db.WiredTigerException |
Rename an object.
session | the session handle |
uri | the current URI of the object, such as "table:old" |
newuri | the new URI of the object, such as "table:new" |
config | Configuration string, see Configuration Strings. No values currently permitted. |
int com.wiredtiger.db.Session.rollback_transaction | ( | String | config | ) | throws com.wiredtiger.db.WiredTigerException |
Roll back the current transaction.
A transaction must be in progress when this method is called.
All cursors are reset.
session | the session handle |
config | Configuration string, see Configuration Strings. No values currently permitted. |
int com.wiredtiger.db.Session.salvage | ( | String | name, |
String | config | ||
) | throws com.wiredtiger.db.WiredTigerException |
Salvage a file or table.
Salvage rebuilds the file, or files of which a table is comprised, discarding any corrupted file blocks.
Previously deleted records may re-appear, and inserted records may disappear, when salvage is done, so salvage should not be run unless it is known to be necessary. Normally, salvage should be called after a file or table has been corrupted, as reported by the WT_SESSION::verify method.
Files are rebuilt in place, the salvage method overwrites the existing files.
session | the session handle | ||||||
name | the URI of the file or table to salvage | ||||||
config | Configuration string, see Configuration Strings. Permitted values:
|
int com.wiredtiger.db.Session.transaction_pinned_range | ( | ) | throws com.wiredtiger.db.WiredTigerException |
Return the transaction ID range pinned by the session handle.
The ID range is approximate and is calculated based on the oldest ID needed for the active transaction in this session, compared to the newest transaction in the system.
session | the session handle | |
[out] | range | the range of IDs pinned by this session. Zero if there is no active transaction. |
int com.wiredtiger.db.Session.truncate | ( | String | name, |
Cursor | start, | ||
Cursor | stop, | ||
String | config | ||
) | throws com.wiredtiger.db.WiredTigerException |
Truncate a file, table or cursor range.
Truncate a file or table.
Truncate a cursor range. When truncating based on a cursor position, it is not required the cursor reference a record in the object, only that the key be set. This allows applications to discard portions of the object name space without knowing exactly what records the object contains.
session | the session handle |
name | the URI of the file or table to truncate |
start | optional cursor marking the first record discarded; if NULL , the truncate starts from the beginning of the object |
stop | optional cursor marking the last record discarded; if NULL , the truncate continues to the end of the object |
config | Configuration string, see Configuration Strings. No values currently permitted. |
int com.wiredtiger.db.Session.upgrade | ( | String | name, |
String | config | ||
) | throws com.wiredtiger.db.WiredTigerException |
Upgrade a file or table.
Upgrade upgrades a file or table, if upgrade is required.
session | the session handle |
name | the URI of the file or table to upgrade |
config | Configuration string, see Configuration Strings. No values currently permitted. |
int com.wiredtiger.db.Session.verify | ( | String | name, |
String | config | ||
) | throws com.wiredtiger.db.WiredTigerException |
Verify a file or table.
Verify reports if a file, or the files of which a table is comprised, have been corrupted. The WT_SESSION::salvage method can be used to repair a corrupted file,
session | the session handle | ||||||||||||||||||
name | the URI of the file or table to verify | ||||||||||||||||||
config | Configuration string, see Configuration Strings. Permitted values:
|