Adaptive Server Anywhere behavior changes

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.

    See Java support in SQL Anywhere.

  • 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.

    See Supported and alternate 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.

    See -gm server option.

  • Personal database server limited to a single processor   In previous versions of the software, the personal database server used a maximum of two CPUs for request processing. Now, the personal server is limited to a single processor.

  • 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

    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.

    See Histogram utility (dbhist) and 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.

    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.

    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.

    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.

    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.

    See prevent_article_pkey_update option [database] [MobiLink client].

  • 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.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.0 cannot connect to 9.0.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.

    See 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.

    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.

    See SALANG environment variable or SACHARSET 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 behavior if it is needed.

    See SortTopN algorithm (SrtN).

Deprecated and unsupported features

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.

See Behavior changes in version 9.0.