Following is a list of the main features introduced in SQL Anywhere version 16.0.
The SQL Anywhere optimizer has been enhanced to consider, during the query optimization process, access plans that are not left-deep trees. Considering extra access plans results in the optimizer finding a more efficient best plan, which reduces the runtime of some statements significantly in SQL Anywhere 16.0. See Execution plan components.
SQL Anywhere has added support for the ROWS and ARRAYS composite data types. These data types are a more efficient way to store lists because they provide the ability to define the structure and data type of their values. They also make access to list elements easier to achieve, either directly, by using double square brackets; or as result set, by using the UNNEST operator. Consider using the ARRAY data type if you are storing lists as delimited strings in VARCHAR columns, and parsing them using sa_split_list. ARRAYS are very helpful when storing different objects that are all related in some ways. ROWS are helpful when storing multiple values related to one object.
New SQL functions have been added to support composite data types, including a ROW constructor and an ARRAY constructor. A new operator, UNNEST, has also been added
SQL functions and procedures accept ROW and ARRAY data types as IN, OUT, or INOUT arguments. Rows and arrays can be used as the return type from a SQL user-defined function.
ROW and ARRAY types can be used in:
ROW, ARRAY, VARRAY, and UNNEST are now reserved words.
SQL Anywhere now includes an OData Server that allows web clients to communicate with a SQL Anywhere database server. Web clients can send OData requests to a configurable OData Producer hosted in an HTTP server, which converts OData concepts into relational database operations. The following features have been added or modified as part of OData support:
See OData support.
Event tracing records information about system-defined and user-defined trace events to an event tracing target. A trace session is made up of trace events (specific points in the database server software or your SQL application) that collect information that is logged to a target. Targets are the location (such as a file) where the database server logs trace events.
Event tracing is recommended for production environments and provides fine-grained control over the information that is logged. You can log both user- and system-defined trace events for both the database server and your application and customize the trace events to identify performance issues.
The trace_system_event secure feature lets you control whether user-defined trace events can be created.
Interactive SQL supports connecting to SAP HANA databases You can use Interactive SQL to connect to an SAP HANA database. In the Connect window, click Change Database Type, and then click SAP HANA. See Interactive SQL.
HANAODBC remote data access server class To use SAP HANA as a back-end server, the HANAODBC remote data access class is included in Remote Data Access support. See Server classes for remote data access.
Events can run on the mirror or a copy node Now, events can run on the mirror server and copy nodes in mirroring and read-only scale-out systems. To create an event that can run on any server, specify the FOR ALL clause with the CREATE EVENT statement or the ALTER EVENT statement. See CREATE EVENT statement and ALTER EVENT statement.
New MIRROR remote data access server class The MIRROR server class connects to a remote SQL Anywhere server via ODBC. However, when creating the remote server, the USING clause contains a mirror server name from the SYS.SYSMIRRORSERVER catalog table. See Server class MIRROR.
Move the arbiter server in a running mirroring configuration See Tutorial: Moving the arbiter server.
Convert the mirror server to a copy node See Tutorial: Converting a partner server to a copy node.
Move a partner from one server to another server See Tutorial: Moving a partner server.
A server can be a copy node and an arbiter for the same database See Tutorial: Using one server as both a copy node and an arbiter.
Dynamically start a mirroring or read-only scale-out database on a running server Use the START DATABASE statement with the MIRROR ON clause to start a mirror database or copy node on a running partner. See START DATABASE statement.
SET MIRROR OPTION statement The SET MIRROR OPTION statement has a new option, promotion_time, that allows you to specify the length of time that a copy node stays connected to the root database server after a parent connection is lost before promoting itself. The max_disconnected_time option now specifies the amount of time since the last time the copy node was connected to the parent, alternate parent, or root database before the copy node stops. See SET MIRROR OPTION statement.
Database property enhancements
CopyNodeParent Returns the name of the current parent server of a copy node in a read-only scale-out configuration. See CopyNodeParent database property.
PartnerState If no partner is defined, then the PartnerState returns NULL. Previously, it returned disconnected. See PartnerState database property.
LOAD TABLE new default WITH ROW LOGGING clause WITH ROW LOGGING clause The WITH ROW LOGGING clause causes each row that is loaded to be recorded in the transaction log as an INSERT statement. This level of logging is recommended for databases involved in synchronization and is now the default when using the FROM filename-expression or the USING FILE filename-expression on a mirrored database. However, when loading large amounts of data, this logging type can affect performance, and results in a much longer transaction log.
Discuss this page in DocCommentXchange.
|Copyright © 2014, SAP AG or an SAP affiliate company. - SAP Sybase SQL Anywhere 16.0|