Oracle® TimesTen In-Memory Database C Developer's Guide Release 11.2.1 Part Number E13066-08 |
|
|
View PDF |
This section summarizes new features and functionality of Oracle TimesTen In-Memory Database Release 11.2.1 that are documented in this guide, providing links into the guide for more information.
CALL
for PL/SQL procedures and functions
TimesTen now supports CALL
syntax from any of its programming interfaces to call PL/SQL procedures and functions (in addition to CALL
syntax to call TimesTen built-in procedures, which was already supported).
User-specified parallel replication
For applications that have very predictable transactional dependencies and do not require the commit order on the replica database to be the same as that on the originating database, TimesTen supports parallel replication. This feature allows replication of multiple user-specified tracks of transactions in parallel.
Synonyms
TimesTen supports private and public synonyms (aliases) for database objects such as tables, views, sequences, and PL/SQL objects.
Quick Start demos
This release includes an optional Quick Start feature with introductory information, tutorials, and new or reworked demo applications. Note that the demos have mostly the same names as in earlier releases, but in a different location.
See "About the TimesTen C demos" and install_dir
/quickstart.html
in your installation.
Oracle Call Interface (OCI) support
OCI is an API that provides functions you can use to access the database server and control SQL execution. OCI supports the data types, calling conventions, syntax, and semantics of the C and C++ programming languages. You compile and link an OCI program much as you would any C or C++ program. There is no preprocessing or precompilation step.
See Chapter 3, "TimesTen Support for Oracle Call Interface."
Pro*C/C++ support
The Oracle Pro*C/C++ Precompiler enables you to embed SQL statements or PL/SQL blocks directly into C or C++ code. You use a precompilation step to convert the Pro*C/C++ source file into a C or C++ source file.
See Chapter 4, "TimesTen Support for Oracle Pro*C/C++ Precompiler."
Access control
Perhaps the most significant overall change to previous functionality in this release is access control. TimesTen has new features to control database access with object-level resolution for database objects such as tables, views, materialized views, and sequences. This also affects access to certain TimesTen built-in procedures, utilities, and connection attributes.
See "Considering TimesTen features for access control". For general information, see "Managing Access Control" in Oracle TimesTen In-Memory Database Operations Guide.
Output parameters
Discussion of binding parameters includes new support for binding OUT
and IN OUT
parameters.
See appropriate subsections under "Binding parameters and executing statements".
Duplicate parameters
TimesTen now supports either of two modes for binding duplicate parameters in a SQL statement. Use the DuplicateBindMode
general connection attribute to choose between the Oracle mode (now the default) and the traditional TimesTen mode.
REF CURSORs
REF CURSOR is a PL/SQL concept, where a REF CURSOR is a handle to a cursor over a SQL result set and can be passed between PL/SQL and an application.
Automatic client failover
Automatic client failover, used in High Availability scenarios when failure of a TimesTen node results in failover (transfer) to an alternate node, automatically reconnects applications to the new node. TimesTen provides features that allow applications to be alerted when this happens, so they can take any appropriate action.
Deferred prepare
To make its behavior consistent with OCI expectations and to avoid unwanted round trips between client and server, the TimesTen client library implementation of SQLPrepare
performs what is referred to as a deferred prepare, where the request is not sent to the server until required.
Parallel log manager
As a result of new multistrand functionality of the log manager, some terminology has changed in Chapter 5, "XLA and TimesTen Event Management," and Chapter 9, "XLA Reference." For discussion in those chapters, the term "log sequence number" (LSN) is replaced by "log record identifier". There are still LSNs, but in a more limited and specific context. Only some of what used to be called LSNs are still LSNs in the new usage. Names of functions, data structures, and so on where "LSN" appears are not changed due to backward compatibility considerations.
In particular, note that the multistrand functionality affects the tt_XlaLsn_t
structure used by XLA functions ttXlaGetLSN
and ttXlaSetLSN
. It also affects the tt_LSN_t
structure that is a field of the ttXlaUpdateDesc_t
structure. See "ttXlaGetLSN", "ttXlaSetLSN", and "ttXlaUpdateDesc_t".
Rowids
Each row in a TimesTen database table has a unique identifier known as its rowid. TimesTen now supports Oracle-style rowids. An application can retrieve the rowid of a row from the ROWID
pseudocolumn. Rowids can be represented in either binary or character format.
DML returning (RETURNING INTO clause)
TimesTen now supports the RETURNING INTO
clause, referred to as DML returning, with an INSERT
, UPDATE
, or DELETE
statement to return specified items from a row that was affected by the action.
Execution time threshold for SQL statements
You can configure TimesTen to write a warning to the support log and throw an SNMP trap when the execution of a SQL statement exceeds a specified time duration, in seconds. This feature was added in a 7.0.x maintenance release but not documented in this manual. Note that this feature is similar to but differs from the previously existing timeout value for SQL statements.
See "Setting a timeout or threshold for executing SQL statements".
"T-tree" indexes are now referred to as "range" indexes.
C utility function changes
The ttRepDuplicateEx
function in particular is affected by access control. See "ttRepDuplicateEx".
XLA replicated bookmarks
If you are using an active standby pair replication scheme, you now have the option of using replicated bookmarks. For a replicated bookmark, operations on the bookmark are replicated to the standby database as appropriate. This allows more efficient recovery of your bookmark positions in the event of failover.
See the section on replicated bookmarks under "About XLA bookmarks".
Additional XLA changes
Use of XLA in non-persistent mode is discouraged. Use the persistent mode.
There is a new XLA type conversion function for rowids, ttXlaRowidToCString
.
XLA indicates whether an update was generated as part of a cascading delete or aging operation, through new values for the flags
field in the ttXlaUpdateDesc_t
structure.
See "ttXlaUpdateDesc_t".