SQL Anywhere behavior changes

Following is a list of behavior changes to SQL Anywhere introduced in version 12.0.1. For information about supported platforms and versions, see [external link] http://www.sybase.com/detail?id=1061806.

  • Escape characters used by the LOAD and UNLOAD TABLE statements   In previous releases, the escape character for these statements could not be longer than 1 byte. Now, it is recommended that the string you specify for the escape character is no longer than 255 bytes, but it is recommended that the string be no longer than one character.

  • Minimum and initial cache sizes may increase depending on maximum cache size   If you attempt to set your initial or minimum cache sizes to a value that is less than one eighth of the maximum cache size, the initial and minimum cache sizes are automatically increased relative to the maximum cache size. Consequently, the minimum and initial cache sizes may often be larger than they were in previous versions.

  • Changes to the scope of the reserved_keywords option   Previously, you could set the reserved_keywords option for individual users, or specify that the setting had a temporary scope. However, if the temporary or user-level settings differed from the corresponding PUBLIC settings when executing certain DDL statements, you could have encountered problems while recovering or rebuilding the database.

    The following behavior change for the reserved_keywords option applies to new version 12.0.1 databases:

    • Temporary and non-PUBLIC settings are not allowed.

    The following behavior changes for the reserved_keywords option apply to existing version 12 databases:

    • Existing non-PUBLIC settings are ignored during execution.

    • Removal of existing non-PUBLIC settings is allowed.

    • Dbunload ignores existing non-PUBLIC settings.

  • Multiprogramming level options   Previously, multiprogramming level database server options that applied strictly to the network database server (dbsrv12) were ignored by the personal database server (dbeng12) without generating an error. Now, the following database server options generate a warning if they are used on the personal database server:

    • -gna dbsrv12 server option
    • -gnh dbsrv12 server option
    • -gnl dbsrv12 server option
    • -gns dbsrv12 server option

  • Change to the -zt database server option   Setting the -zt database server option no longer makes the ReqCountBlockIO and ReqTimeBlockIO properties available. These two properties are now always available, whether or not the RequestTiming connection property is turned on.

  • Change to the ODBC connection parameter for the SQLTables function   When you run the ODBC function SQLTables, the TABLE_TYPE column now returns by default the value VIEW for materialized views. Previously, the function would return the value MATERIALIZED VIEW. You can change this default using the MATVIEW connection parameter. See MatView (MATVIEW) connection parameter.

  • CONVERT function   Parsing of formatted time strings has been enhanced so that the time portion of a string is accepted provided that it matches the format hh:nn:ss.ssssssAA. The time string must specify the hour digits, but all other time parts are optional. The AM/PM indicator is always accepted whether or not time parts are omitted. This permits up to six digits to represent microseconds after the seconds.

    This change affects the conversion of string to TIME and also to TIMESTAMP. See CONVERT function [Data type conversion].

    Previously, when converting a string to a time using the CONVERT function with a specified format-style, SQL Anywhere 10 and later could have rejected conversions permitted by earlier versions. For example, the following statement is accepted by version 9, but rejected by version 10 and later:

    SELECT CONVERT( TIME, '11:45am', 14 ) tm_conv 

    The behavior of converting strings to TIME changed from version 9 of SQL Anywhere to version 10 and later, with version 10 and later applying the same rules that conversions from string to TIMESTAMP used. For example, the string 11:45am does not precisely match the format style 14 (hh:nn:ss.sss) because it contains an am indicator that is not present in the style.

    The following statement is accepted by version 9 but rejected by version 10 and later because the string does not match the style format 101 (mm/dd/yyyy):

    SELECT CONVERT( TIME, '1991-02-03 11:45', 101 )

  • Changing the licensed user and company name with the Server License utility (dblic)   You can now change the licensed user and company without specifying the user count and license type. See Server Licensing utility (dblic).