Adaptive Server Anywhere behavior changes

Deprecated and discontinued features

This list includes features that are no longer supported or are deprecated, and that may impact existing applications.

  • MDSR encryption discontinued   Previously, both MDSR and AES strong encryption were supported in Adaptive Server Anywhere. Currently, the only type of strong encryption now supported is AES encryption. This change means that the -ea option is no longer required when using encryption with the Initialization utility, the Extract utility, or the Unload utility. It also removes the algorithm parameter from both the Create Database statement and the Create Encrypted File statement.

  • Write files deprecated   The use of write files is deprecated with this release.

  • Compressed database files deprecated   The use of compressed database files is deprecated with this release.

  • Unload utility (dbunload) -j option deprecated   As a result of enhancements to the Unload utility, the -j Unload utility option is no longer supported.

  • Language Selection utility (dblang) -d option deprecated   The -d option for the Language Selection utility, which was used to change the Adaptive Server Anywhere registry setting, is no longer supported.

Other behavior changes

The following is a list of behavior changes from previous versions of the software.

  • CURRENT_TIMESTAMP and CURRENT_USER special values added   The CURRENT_TIMESTAMP (equivalent to CURRENT TIMESTAMP) and CURRENT_USER (equivalent to CURRENT USER) special values have been added for compatibility with Microsoft SQL Server.

    See CURRENT TIMESTAMP special value and CURRENT USER special value.

  • db_start_engine returns SQLCODE 0 if database server is already running   db_start_engine now returns non-zero and sets the SQLCODE to 0 if the database server is already running. Previously, db_start_engine returned non-zero, but set the SQLCODE to SQLE_ENGINE_ALREADY_RUNNING.

    See db_start_engine function.

  • db_start_database returns non-zero and SQLCODE 0 if database is already running   db_start_database now returns non-zero and set the SQLCODE to 0 if the database is already running. Previously, db_start_database returned 0 (indicating failure) and set the SQLCODE to SQLE_ALIAS_CLASH.

    See db_start_database function and db_start_database function.

  • Default algorithm changed for the validation utility   The Validation utility (dbvalid) now uses the express check (-fx option) algorithm by default. The express check algorithm performs significantly faster for large tables that have several indexes where the table does not completely fit in the server's cache. You can specify the -fn option if you want to use the validation algorithm that was used in previous versions of Adaptive Server Anywhere.

    See Validation utility (dbvalid).

  • Entering multibyte characters in the Connect window   In order to conform to Windows security practices, you can no longer use an Input Method Editor (IME) to type Japanese and other Asian language multibyte characters in the Password field of the Connect window used in Sybase Central, Interactive SQL, and the Adaptive Server Anywhere Console utility.

    If you have an existing database that includes these characters in passwords, you can type your password in the Additional Connection Parameters field on the Advanced tab of both the Connect window and the ODBC Configuration window. However, you should note that when the password is typed on the Advanced tab, it is not obscured and is visible in plain text. When upgrading your database, it is recommended that you change your passwords so they do not include multibyte characters.

  • Owner name cannot be specified in DECLARE LOCAL TEMPORARY TABLE statements   In previous versions of the software, if an owner name was specified in DECLARE LOCAL TEMPORARY TABLE and the owner was not the same as the current user, it was possible to create more than one temporary table with the same name. A syntax error now occurs if an owner name is specified.

  • min_table_size_for_histogram option default setting changed   The min_table_size_for_histogram option specifies the minimum table size for which histograms are created. The default value has been changed to 100 rows. In previous versions of the software, the default value was 1000 rows. This setting can be changed in databases created with earlier versions of the software using the SET OPTION statement.

  • NULL constants data type conversion change   In previous versions, when converting a NULL constant to a CHAR, VARCHAR, LONG VARCHAR, BINARY, VARBINARY, or LONG BINARY type, the size of the column would be initialized to 32767 if no length was provided. Now, the size is initialized to 0.

    For example, the following queries previously returned a column described as length 32767:

    SELECT CAST( NULL AS CHAR )
    -- This now returns a CHAR(0) column
    SELECT 'abc' 
    UNION ALL 
    SELECT NULL
    -- This now returns a CHAR(3) column
    SELECT '' 
    UNION ALL 
    SELECT NULL
    -- This now returns a CHAR(0) column
    SELECT IF 1=1 THEN 'abc' ELSE NULL ENDIF
    -- This now returns a CHAR(3) column
    

  • UPDATE statements and errors when ORDER BY clauses use ordinal values   UPDATE statements containing an ORDER BY clause that uses ordinal values now return a syntax error.

  • Restrictions on identifiers   You can no longer use double backslashes or double quotes in identifiers. Backslashes are permitted in identifiers only if used as an escape character.

    See Identifiers.

  • EXECUTE IMMEDIATE statement default setting WITH RESULT SET clause   The EXECUTE IMMEDIATE statement can return a result set when you specify the WITH RESULT SET ON clause. The default setting is WITH RESULT SET OFF.

    See EXECUTE IMMEDIATE statement [SP].