What's New in SQL Anywhere Studio
What's New in Version 9.0.0
Behavior changes in version 9.0
The following is a list of behavior changes from previous versions of the software.
Java objects in the database not supported Support has been removed for storing data as Java objects. Support is maintained for Java stored procedures.
For a description of the current support for Java in the database, see Introduction to Java in the Database.
New Greek collation for Windows environment Greek collations for OEM/DOS character sets existed in previous versions, however, a new Greek collation, 1253ELL, has been added for Windows. When creating a new database in a Greek Windows environment, 1253ELL will be selected automatically if a collation is not specified.
For more information, see Supplied and recommended collations.
New connection limit The database server now allows one extra DBA connection above the connection limit, to allow a DBA to connect and drop other connections in case of an intentional or accidental denial-of-service.
For more information, see -gm server option.
References to table expressions preceding in the FROM clause may now be used in ON clauses of nested outer joins. In previous releases, outer references in the ON phrase were permitted. Such outer references must now be indicated by use of the LATERAL keyword. The restriction enforces clarity and conforms to the SQL/99 standard.
The following query is an example of one that is no longer valid, as it contains an outer reference (highlighted) without use of the LATERAL keyword:
SELECT * FROM T1, T2 LEFT OUTER JOIN ( T3 LEFT OUTER JOIN T4 ON T1.col1 = T2.col2 ) ON T1.col2 = T2.col2
For more information, see FROM clause.
Unqualified table references with multiple matches are reported as syntax errors In previous releases, if a query contained a reference to a table without an owner name specified (an unqualified table reference) and if more than one match was possible on that table, the first match found was used. Unqualified table references now cause an error. See Table name '%1' is ambiguous.
LIKE operator with NULL escape character now evaluates to NULL LIKE predicates containing a NULL escape character now evaluate to NULL. Previously, a LIKE predicate with a NULL escape character was evaluated as if there were no escape character. The new behavior matches the ISO/ANSI specification.
Properties and statistics removed The ServerIdleWaits database property, and the TaskSwitch and CurrTaskSwitch connection properties have been removed, along with their corresponding performance monitor statistics: Context Switches, Server Idle Waits/sec, Request Queue Waits/sec.
Column statistics are updated on INSERT/UPDATE/DELETE Statistics are now updated when executing an INSERT, UPDATE, or DELETE statement results in changing a significant amount of data.
Statistics no longer updated during recovery The server no longer updates statistics during recovery or when executing simple DELETE and UPDATE statements. Simple statements are those that are not optimized and executed directly by the server.
Histogram ranges displayed as the correct data type The sa_get_histogram() system procedure and the histogram [dbhist] utility previously displayed outputted ranges in hash values. Now, outputted histogram ranges match the data in the corresponding column, and are displayed as the correct data type.
For more information, see The Histogram utility and the sa_get_histogram system procedure.
Only one consolidated user permitted per remote database It is no longer possible to define multiple consolidated users on the same remote database.
For more information, see GRANT CONSOLIDATE statement [SQL Remote] or REVOKE CONSOLIDATE statement [SQL Remote].
CommLinks connection parameter uses shared memory if not explicitly specified Now, connections that do not specify a CommLinks connection parameter always attempt to connect over shared memory.
For more information, see CommLinks connection parameter [LINKS].
CommLinks connection parameter always attempts shared memory protocol first When you specify CommLinks=all, Adaptive Server Anywhere always attempts to connect using the shared memory protocol before attempting to connect using other protocols.
For more information, see CommLinks connection parameter [LINKS].
Connection errors abort process Previously, connection protocols listed in the CommLinks connection parameter were attempted one by one until a connection occurred. Now, if a connection error occurs during the process, it aborts the connection process immediately, regardless of whether or not all the listed protocols were tried.
For more information, see CommLinks connection parameter [LINKS].
Default value for PREVENT_ARTICLE_PKEY_UPDATE changed The default value for the PREVENT_ARTICLE_PKEY_UPDATE database option has been changed to ON to reflect the fact that updating primary key values should be avoided. The new default setting disallows primary key updates on primary keys that are part of a publication. You can override this feature by setting the value to OFF.
For more information, see PREVENT_ARTICLE_PKEY_UPDATE option [database].
Some functions treated as non-deterministic The RAND, NEWID, and GET_IDENTITY functions are treated as non-deterministic. A consequence is that these functions are not cached during query execution.
For more information, see Function caching.
Performance messages now display database name The engine performance advice messages now display the database name. This is especially helpful when running more than one database. As well, messages starting with the word Note indicate that they are advice messages.
NetWare clients using Adaptive Server Anywhere versions prior to 9.0 require upgrade As a result of enhancements to NetWare support in Adaptive Server Anywhere, NetWare clients using Adaptive Server Anywhere versions prior to 9.0 cannot connect to 9.0 servers using shared memory unless they have a specific EBF installed. The build numbers are: 7.0.4.3400, 8.0.0.2358, 8.0.1.3088, and 8.0.2.4095. Clients with build numbers before these will simply not find the 9.x server.
Change in syntax for ALTER DATABASE CALIBRATE The syntax for ALTER DATABASE CALIBRATE TEMPORARY DBSPACE has been changed to ALTER DATABASE CALIBRATE DBSPACE TEMPORARY to make the syntax consistent with other, similar statements.
For more information, see the ALTER DATABASE statement.
Dynamic cache sizing more aggressive Dynamic cache sizing is now more aggressive at resizing the cache after a new database is started or when a file grows significantly. Prior to this change, statistics were sampled and the cache was resized at most once per minute. Now, after a database is started or a file grows significantly, statistics are sampled and the cache may be resized every five seconds for thirty seconds.
For more information, see Using the cache to improve performance.
Determining the language for interfaces and messages Two new environment variables, ASLANG and ASCHARSET, control languages used in interfaces (such as Sybase Central or Interactive SQL) and messages. ASLANG specifies the language, and ASCHARSET specifies the character set.
For more information, see the ASLANG environment variable or the ASCHARSET environment variable.
Rowcount setting now limits the rows returned The rowcount setting now limits the rows returned by a cursor from the top. It is no longer possible to position to the beginning of the results using an absolute fetch.
You can use the new feature, TOP N / START AT to emulate this behaviour if it is needed.
For more information see Sort Top N.
Adaptive Server Anywhere -d server option no longer supported As a result of enhancements to NetWare support in Adaptive Server Anywhere, the -d
server option is no longer supported.
NetWare 4.x no longer supported As a result of enhancements to NetWare support in Adaptive Server Anywhere, Adaptive Server Anywhere will only run on NetWare version 5.1 SP6 or higher, or version 6.0 SP3 or higher. The correct service packs must be installed or the Adaptive Server Anywhere server will display an error message.
SQLLOCALE environment variable no longer supported SQLLOCALE environment variable has been replaced by two new environment variables, ASLANG and ASCHARSET.
For more information, see Behavior changes in version 9.0.