远程Sybase数据库技术支持,联系手机:13811580958,QQ:289965371!

 

随着Sybase被完全整合到SAP下,Sybase原来的支持网站被SAP Support Portal取代。
只有购买了SAP服务的用户才能使用账号登录SAP Support Portal进行介质下载、补丁升级、报Incident等。
考虑到Sybase数据库的初学者或者没有购买原厂服务的Sybase客户情况,现提供SAP ASE/IQ/RS/SDK/SQL Anywhere/PB等产品的BUG信息。
在SAP Support Portal网站或者google上搜索Targeted CR List for ASE,可以看到针对不同版本的CR(CR表示Change Request)简单描述信息列表。
需要注意的是:Targeted CR List for ASE列出的CR虽然绝大多数是BUG,但有一些是更改需求。
以下提供SAP ASE/IQ/RS/SDK/SQL Anywhere/PB等产品的BUG信息!

如有问题,请联系我!

QQ :289965371 点击这里给我发消息
Email:
不仅仅包括BUG的详细描述信息,还包括首次报告BUG的平台、数据库版本以及BUG修复历史过程;有些BUG还提供了Workaround来临时解决该BUG带来问题。

 

CR:461056
CR Number:   461056
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3470 02 Mar 2007 Fixed
10.0.0 2815 02 Mar 2007 Fixed
Description
If an assignment statement contained a concatenation operator, it was possible for the assignment to modify the value of an unrelated variable.



For example:

begin

declare @x long varchar;

declare @y long varchar;



set @x = 'abc';

set @y = @x;

set @y = @y || 'z';

end



It was possible for the variable @x to be incorrectly modified to be 'abcz'. In order for this problem to have occurred, the concatenation must have been of the form:

set @var = @var || 'string';

for some variable @var, and further, the variable @var must have shared the same string value as another variable. In cases where the problem may have occurred, it would occur intermittently depending on the current server state. It has now been fixed.



CR:461064
CR Number:   461064
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   6.0.00
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3395 28 Feb 2007 Fixed
10.0.0 2812 28 Feb 2007 Fixed
Description
Calling a proxy function or procedure, where the remote server was MicoSoft SQL Server, would not always have returned the proper return or output parameter values. This problem has been fixed.



CR:461144
CR Number:   461144
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3395 28 Feb 2007 Fixed
9.0.2 3457 28 Feb 2007 Fixed
Description
The server will no longer start if a license file cannot be found. The error message "License file could not be found" will now be displayed.



Rather than looking for fixed filenames "dbeng10.lic", "dbsrv10.lic", etc, the server now looks for a ".lic" file that has the same base filename as the executable that is being run. For example, if dbeng10.exe has been renamed to be "mydb.exe", the server will now look for the file "mydb.lic".



CR:461154
CR Number:   461154
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3470 28 Feb 2007 Fixed
10.0.0 2812 28 Feb 2007 Fixed
Description
The server could have crashed when under heavy load, and issuing (and possibly cancelling) a large number of external calls. These could have been external function calls, HTTP client procedures, RPC calls to remote servers, or Java requests. A race condition in the server has been corrected.



CR:461155
CR Number:   461155
Product Name:   UltraLite
Product Component:   UltraLite Engine
Status:   Closed
OS:   Generic
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3396 28 Feb 2007 Fixed
10.0.0 2812 28 Feb 2007 Fixed
Description
If an error occurred while an UltraLIte .Net application was closing a connection to the database connection, the engine could have hung. This has been fixed.



CR:461161
CR Number:   461161
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Microsoft Windows
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3396 01 Mar 2007 Fixed
10.0.0 2814 01 Mar 2007 Fixed
9.0.2 3458 01 Mar 2007 Fixed
Description
Opening the Connected User property sheet for a connection that no longer existed and clicking the Extended Information tab, would have caused Sybase Central to crash. This has been fixed.



CR:461162
CR Number:   461162
Product Name:   MobiLink
Product Component:   QAnywhere client
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3391 01 Mar 2007 Fixed
10.0.0 2810 01 Mar 2007 Fixed
Description
If the QAnywhere Agent was started with a client ID of 128 characters or more, the actual ID would have been changed to an empty string. This has been fixed.



The QAnywhere Agent will not start if the client ID is more than 120 characters long. The maximum length for a QAnywhere client ID is now 120 characters. This is because the maximum length of dblsn user names is 128, and qaagent forms a dblsn user name as "ias_<client-id>_lsn".



CR:461164
CR Number:   461164
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3396 01 Mar 2007 Fixed
10.0.0 2812 01 Mar 2007 Fixed
9.0.2 3457 01 Mar 2007 Fixed
Description
The SNMP agent could have crashed when dynamic traps were fired. This has been fixed.



CR:461166
CR Number:   461166
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3379 28 Feb 2007 Fixed
10.0.0 2812 28 Feb 2007 Fixed
Description
Messages sent by the system procedure xp_sendmail could have had mangled non-ASCII characters, both in the body and the subject of the message. This only would have occurred when using a session started with xp_startsmtp, not with xp_startmail. The problem wasn't that xp_sendmail was corrupting the message, but that it wasn't specifying the character set that message was encoded in. Now xp_sendmail specifies the correct encoding, in this case the OS character set.



CR:461181
CR Number:   461181
Product Name:   SQL Anywhere
Product Component:   ISQL
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
11.0.0 1170 27 Mar 2008 Fixed
Description
The syntax highlighter would have displayed SQL code with incorrect coloring. The problem was confined to the text following a constant string, where the string included a backslash immediately before the string's closing quotation mark. This has been fixed.



CR:461185
CR Number:   461185
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   6.0.00
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3396 01 Mar 2007 Fixed
10.0.0 2814 01 Mar 2007 Fixed
9.0.2 3458 01 Mar 2007 Fixed
Description
Executing a query with a dotted reference, with the dotted reference having less than four fields, would likely have caused the server to crash, instead of returning an error if one of the fields was empty. Note that for the query to crash the server, the table being referenced in the dotted reference must be a proxy table. This problem has now been fixed and a proper error message is now returned.



CR:461274
CR Number:   461274
Product Name:   SQL Anywhere
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3470 02 Mar 2007 Fixed
10.0.0 2815 02 Mar 2007 Fixed
Description
If connection parameters passed to the Unload utility using the -c or -ac command line options failed to parse, it would have shutdown without displaying any error message. This has been fixed.



CR:461282
CR Number:   461282
Product Name:   SQL Anywhere
Product Component:   Utilities
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3398 02 Mar 2007 Fixed
10.0.0 2815 02 Mar 2007 Fixed
9.0.2 3460 02 Mar 2007 Fixed
Description
The 32 bit version of the dbisqlc utility would not run on the PA-RISC version of HP-UX

11i v3 (version 11.31) as it required the deprecated library libcur_colr. This requirement for this library has been removed.



CR:461288
CR Number:   461288
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3397 05 Mar 2007 Fixed
10.0.0 2815 05 Mar 2007 Fixed
Description
Ater selecting a user in the tree and then selecting the Memberships tab, attempting to change a group in the Memberships tab to a user would have caused Sybase Central to crash. This has been fixed.



CR:461299
CR Number:   461299
Product Name:   SQL Anywhere
Product Component:   Utilities
Status:   Closed
OS:   Microsoft Windows
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3494 18 May 2007 Fixed
10.0.0 2851 18 May 2007 Fixed
9.0.2 3498 18 May 2007 Fixed
Description
When using the Unload utility dbunload and doing an external unload of a database to files (i.e., using -xx or -xi and specifying an unload directory) on a system with a multi-byte OS charset, then the unloaded character data could have been inconsistently encoded, or incorrectly unloaded. For this problem to have occurred, a connection charset of something other than the OS charset must have been specified. Fr data to be incorrectly unloaded, t specified charset needed to be one of Windows-31j (sjis/cp932), GBK (cp936), GB18030, cp950, big5-hkscs, or cp949, and the character data needed to contain the value 0x5c (i.e. an ASCII backslash) as a follow-byte. Otherwise, the unloaded data may just have been inconsistently encoded into hex (i.e., some bytes encoded as '\xDD', and other bytes left as is) characters. While the 10.x fix addresses this problem for any unload connection charset, the fix for earlier versions addresses this problem only when the specified connection charset is either the OS or the database charset.



It is generally recommended that the database charset be used for unloading as it avoids both the overhead of unnecessary charset conversion and potentially lossy conversions.



CR:461314
CR Number:   461314
Product Name:   SQL Anywhere
Product Component:   ADO.Net Managed Provider
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3397 02 Mar 2007 Fixed
10.0.0 2815 02 Mar 2007 Fixed
9.0.2 3460 02 Mar 2007 Fixed
Description
The size and position of some user interface controls have been adjusted, as they were not displaying properly for applications run on Windows Vista.



CR:461407
CR Number:   461407
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3470 05 Mar 2007 Fixed
10.0.0 2818 05 Mar 2007 Fixed
Description
Under some specific conditions, if a trigger used row variables that were defined to be NUMERIC, DECIMAL or a string type, then the server could have crashed, or reported an assertion failure. This has been fixed.



CR:461408
CR Number:   461408
Product Name:   SQL Anywhere
Product Component:   ADO.Net Managed Provider
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3398 19 Mar 2007 Fixed
10.0.0 2815 19 Mar 2007 Fixed
Description
When run on Unix systems, the server could have hung when under heavy load and diagnostic tracing was enabled. Although likely very rare, this problem has been fixed.



CR:461436
CR Number:   461436
Product Name:   UltraLite
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3398 02 Mar 2007 Fixed
10.0.0 3460 02 Mar 2007 Fixed
Description
Windows Mobile Device Center (the Windows Vista replacement for ActiveSync) would have reported an unhandled exception when the MobiLink provider's Options dialog was closed. This has been fixed.



CR:461547
CR Number:   461547
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3404 21 Mar 2007 Fixed
10.0.0 2823 21 Mar 2007 Fixed
9.0.2 3461 21 Mar 2007 Fixed
Description
If a sargable IN list predicate can be used for a partial index scan of a unique index, the optimizer was incorrectly choosing the unique index, without costing other indexes or sequential scan alternatives. This exclusion of other indexes may have resulted in an inefficient plan being used for the query. This has been fixed so that the optimizer will cost all available indexes and the sequential scan for cases where IN list predicates are present.



For example, the query below had always, before this fix, the plan T<c1> which may be inefficient for some instances of the table T.

create table T (c1 int primary key );

.....



select count(*) from T where T.c1 IN (1,2,3,4,5,6,7,8,9);
Workaround Description
 Rewrite query?



CR:461574
CR Number:   461574
Product Name:   SQL Anywhere
Product Component:   ODBC Client Library
Status:   Closed
OS:   Generic
Original Version:   6.0.00
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3461 05 Mar 2007 Fixed
Description
If an application that was connected to the utility database via ODBC, executed "select @@server" and bound the resulting string as a WCHAR, there was a chance that the length of the string returned would have been incorrect. This problem only appeared if the server was running on a mult-byte character set system and the servername being fetched was a string of multi-byte characters. The problem has now been fixed.



Note that the problem did not happen if the application connected to a real database, instead of the utility database.



CR:461578
CR Number:   461578
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   6.0.00
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3461 05 Mar 2007 Fixed
Description
If a jConnect application connected to the utility database, then jConnect always chose iso_1 as the character set, even if the server was using a multi-byte character set. This problem has now been fixed and jConnect now uses the same character set as the server.



CR:461591
CR Number:   461591
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   6.0.00
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3401 06 Mar 2007 Fixed
10.0.0 2816 06 Mar 2007 Fixed
9.0.2 3461 06 Mar 2007 Fixed
Description
Executing a query referencing proxy tables, that contains a subquery which involved MANY unions, could have caused the server to have crashed. This problem has been fixed.



CR:461688
CR Number:   461688
Product Name:   SQL Anywhere
Product Component:   Other
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3470 06 Mar 2007 Fixed
10.0.0 2816 06 Mar 2007 Fixed
Description
The Deployment Wizard was not including the utility for unloading database files created with versions earlier than 10.0.0 (dbunlspt.exe and associated files). These files will now be included by selecting the new "Unload Support for pre 10.0 databases" feature which has been added under "SQL Anywhere Server\Database Tools" in the Deployment Wizard.



CR:461699
CR Number:   461699
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3402 06 Mar 2007 Fixed
10.0.0 2817 06 Mar 2007 Fixed
Description
When using the Unload Database wizard and browsing for a non-running database file, a Save dialog would have been displayed. This has been fixed so that now an Open dialog is shown.



CR:461712
CR Number:   461712
Product Name:   SQL Anywhere
Product Component:   Other
Status:   Closed
OS:   Microsoft Windows NT
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3483 16 Apr 2007 Fixed
Description
On older versions of Windows NT the install could have failed to load a required dll with a message like: "Unable to load install support DLL (dbinst.dll)...". This has been fixed.



CR:461732
CR Number:   461732
Product Name:   SQL Anywhere
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3402 07 Mar 2007 Fixed
10.0.0 2817 07 Mar 2007 Fixed
Description
If the Allow_nulls_by_default option was set to 'off', the Unload utility would have failed to unload the database. The error reported was:

Column 'first_pkcol' in table 'sa_unloaded_table' cannot be NULL

This has been fixed. A workaround is to set the option to 'on' prior to unloading the database.



CR:461829
CR Number:   461829
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3403 07 Mar 2007 Fixed
10.0.0 2817 07 Mar 2007 Fixed
Description
If a table in the tree was selected, the Data tab in the right pane was clicked, and then the white space below all rows was right-clicked, then the Add Row, Edit Row, Delete Row, Update and Cancel menu items would not have been displayed in the popup menu. This has been fixed.



CR:461846
CR Number:   461846
Product Name:   MobiLink
Product Component:   QAnywhere client
Status:   Closed
OS:   Windows CE 2.11
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3474 27 Mar 2007 Fixed
10.0.0 2825 27 Mar 2007 Fixed
9.0.2 3471 27 Mar 2007 Fixed
Description
It was possible for QAnywhere applications to get into a state where calls to GetQueueDepth would have taken an usually long time to return, and eventually have thrown a QAException "error getting queue depth". If a device crashed, or was powered off while the QAnywhere Agent was marking messages to be uploaded, a flag was left set that GetQueueDepth checked. This problem has been fixed by adding code to reset the flag in appropriate circumstances.



CR:461875
CR Number:   461875
Product Name:   MobiLink
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3403 09 Mar 2007 Fixed
10.0.0 2817 09 Mar 2007 Fixed
Description
The Redirector would have failed to initialize on Unix systems when synchronizing over HTTPS to a backend server. This problem did not affect clients using HTTPS to a web server and HTTP to a backend server. Error messages such as the following would have appeared in the web server log:



... mod_iaredirect: Error creating stream, code: 224, system code: 0

... mod_iaredirect: failed to initialize stream..



Note: The above error messages are an example of what would have appeared in an Apache redirector log. Similar messages would have appeared in the log for iPlanet or M-Business Anywhere.



This has been fixed.



CR:461878
CR Number:   461878
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3404 08 Mar 2007 Fixed
Description
When a CREATE DATABASE statement was executed, the DATABASE SIZE option would have been silently ignored if the units (e.g., BYTES, PAGES, etc) were omitted. This has been corrected so that a CREATE DATABASE statement will now fail with a syntax error if the units for DATABASE SIZE are omitted.



CR:461882
CR Number:   461882
Product Name:   MobiLink
Product Component:   Java Plugin for Sybase Central
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3403 08 Mar 2007 Fixed
Description
First mnemonic was broken in the MobiLink Server options tab of the Deploy Sync Model Wizard. This has been fixed.



CR:461978
CR Number:   461978
Product Name:   UltraLite
Product Component:   UL Java Provider for Sybase Central
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3404 08 Mar 2007 Fixed
10.0.0 2818 08 Mar 2007 Fixed
Description
Unloading a database into a new or existing database, or upgrading a database, could have resulted in Sybase Central crashing. This problem was more likely to have occurred when run on Windows Vista. This has been fixed.



CR:461985
CR Number:   461985
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3402 08 Mar 2007 Fixed
10.0.0 3470 08 Mar 2007 Fixed
Description
The UNICODE function would always have returned NULL when the first byte of the string parameter was a single-byte UTF8 character (ie, in the ASCII range of 0x00 to 0x7f). This has been fixed so that it now returns the correct UNICODE codepoint.



CR:461990
CR Number:   461990
Product Name:   SQL Anywhere
Product Component:   DBLIB Client Library
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3403 09 Mar 2007 Fixed
9.0.2 3462 09 Mar 2007 Fixed
10.0.0 2818 12 Mar 2007 Fixed
Description
When unloading the DBLIB client library, or the ODBC or OLEDB drivers on Windows Vista, could have caused the client application to crash. This problem has been fixed.



CR:461999
CR Number:   461999
Product Name:   SQL Anywhere
Product Component:   Other
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 2800 08 Mar 2007 Fixed
9.0.2 3450 08 Mar 2007 Fixed
9.0.1 2200 08 Mar 2007 Fixed
8.0.3 5500 08 Mar 2007 Fixed
Description
The United State has extended Daylight Saving Time (DST) by 4 weeks in the U.S. time zones that recognize DST. Starting in 2007, Daylight Saving Time will begin the second Sunday in March (2am, March 11, 3 weeks earlier than previous years) and will end the first Sunday in November (November 14, 2am, 1 week later than previous years). SQL Anywhere software is not directly vulnerable to issues related to this change, but users of Java logic may need to update their run-time environments.



For more details, see:

http://www.ianywhere.com/developer/technotes/sa_daylight_savings_time_change.html



CR:462000
CR Number:   462000
Product Name:   SQL Anywhere
Product Component:   ADO.Net Managed Provider
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3470 08 Mar 2007 Fixed
10.0.0 2818 08 Mar 2007 Fixed
Description
The SAParameterCollection.AddWithValue method was not implemented. It has now been added. The SAParameterCollection.AddWithValue method replaces the SAParameterCollection.Add method that takes a String and a Object. The overload of Add that takes a string and an object was deprecated because of possible ambiguity with the SAParameterCollection.Add overload that takes a String and a SADbType enumeration value where passing an integer with the string could be interpreted as being either the parameter value or the corresponding SADbType value. Use AddWithValue whenever there is a need to add a parameter by specifying its name and value.



CR:462017
CR Number:   462017
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3473 20 Mar 2007 Fixed
10.0.0 2823 20 Mar 2007 Fixed
Description
After dropping the primary key from a table, the optimizer could have failed to recognize that values in the column were no longer necessarily unique. While rare, this could have lead to a poor execution plan. This has been fixed.



CR:462019
CR Number:   462019
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3404 08 Mar 2007 Fixed
10.0.0 2818 08 Mar 2007 Fixed
Description
A database mirroring server acting as a mirror could have failed to copy a transaction log page from the primary server. Although rare, the problem would have occurred, and been detected, as the mirror server was starting. When this happened, the server would have reported that the transaction log was corrupt. This has been fixed.



As a workaround, connect to the primary server, insert a row into an existing table, and roll back the transaction. Then copy the transaction log to the mirror server. The mirror server should now start.



CR:462026
CR Number:   462026
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3404 09 Mar 2007 Fixed
10.0.0 2818 09 Mar 2007 Fixed
Description
In a database mirroring environment, if a connection was modifying the database when the mirror server became unavailable, the connection could have seen a "communication error" even though the presence of an arbiter allowed the primary server to stay up. No error should have been reported. The connection remains active. This has been fixed.



CR:462028
CR Number:   462028
Product Name:   SQL Anywhere
Product Component:   ISQL
Status:   Closed
OS:   Generic
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3404 09 Mar 2007 Fixed
10.0.0 2818 09 Mar 2007 Fixed
9.0.2 3463 09 Mar 2007 Fixed
Description
On Windows XP or Vista, when launching DBISQL while its Fast Launcher was running, the application window may have failed to appear. This has been fixed.



CR:462029
CR Number:   462029
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3470 08 Mar 2007 Fixed
Description
The United State has extended Daylight Saving Time (DST) by 4 weeks in the U.S. time zones that recognize DST. Starting in 2007, Daylight Saving Time will begin the second Sunday in March (2am, March 11, 3 weeks earlier than previous years) and will end the first Sunday in November (November 14, 2am, 1 week later than previous years). SQL Anywhere software is not directly vulnerable to issues related to this change. SQL Anywhere 10.0.1 includes Java Runtime Environment 1.5.0_10 (5.0_u10), which includes changes to resolve issues associated with the new DST rules.



For more details, see:

http://www.ianywhere.com/developer/technotes/sa_daylight_savings_time_change.html



CR:462145
CR Number:   462145
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3405 12 Mar 2007 Fixed
Description
When running on multi-processor systems, the server could have exhusted all the cache, causing it to fail with a dynamic memory exhausted error. This has now been fixed.



CR:462154
CR Number:   462154
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Generic
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3404 09 Mar 2007 Fixed
10.0.0 2818 09 Mar 2007 Fixed
9.0.2 3463 09 Mar 2007 Fixed
Description
On Windows XP or Vista, when launching Sybase Central while its Fast Launcher was running, the application window may have failed to appear. This has been fixed.



CR:462179
CR Number:   462179
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   10.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3404 09 Mar 2007 Fixed
10.0.0 2818 12 Mar 2007 Fixed
Description
When the server name contained multibyte characters, and the OS character was different than the database character set, the result returned by the server properties 'Commandline' and 'OmniIdentifier' could have been mangled. These properties were being maintained in the OS character set, and needed to be converted to the database character set before being returned by the property function. The server was not doing this, now it does.



CR:462181
CR Number:   462181
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3470 12 Mar 2007 Fixed
10.0.0 2818 12 Mar 2007 Fixed
Description
The Unload utility (dbunload) required table names used in the -t and -e options to be case sensitive in case sensitive databases. This has been corrected so that the table names are now case insensitive.



CR:462182
CR Number:   462182
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3405 12 Mar 2007 Fixed
10.0.0 2818 12 Mar 2007 Fixed
Description
The server could have failed assertion 201117 "attempt to close a file marked as dirty" on shutdown. For this to have occurred, the option 'allow_snapshot_isolation' must have been 'on', and a column containing a blob must have been updated shortly before shutdown. The problem is now fixed.



Note that the assertion does not indicate corruption and can be safely ignored.



CR:462186
CR Number:   462186
Product Name:   MobiLink
Product Component:   Java Plugin for Sybase Central
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3405 12 Mar 2007 Fixed
10.0.0 2818 12 Mar 2007 Fixed
Description
Changing a table mapping in a synchronization model to upload-only, after it had previously had logical delete tracking enabled, would have caused the generated upload scripts to incorrectly refer to the logical delete column, leading to upload errors. Delete tracking is only set up for table mappings with downloads, since it is not needed for upload-only table mappings. This has been fixed.



CR:462291
CR Number:   462291
Product Name:   MobiLink
Product Component:   Utilities
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3470 16 Mar 2007 Fixed
10.0.0 2821 16 Mar 2007 Fixed
Description
The MobiLink File Transfer utility (mlfiletransfer) was accepting an empty string as a valid script version (e.g. mlfiletransfer -v "" ...). This has been fixed. The empty string is now rejected, just as if no script version was supplied at all.



Note, this fix also applies to the MLFileTransfer and ULFileTransfer methods in the various UltraLite interfaces.



CR:462299
CR Number:   462299
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   10.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3470 12 Mar 2007 Fixed
Description
If client statement caching was disabled for a connection by setting the option Max_client_statements_cached to 0, then prepared statements on this connection could still have used resources after the application had dropped them. Statements would have been correctly dropped and re-prepared if the application prepared the same statement again. This has been fixed so that if client statement caching is disabled, the resources for a statement will now be released when the application drops the statement.



CR:462307
CR Number:   462307
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3470 12 Mar 2007 Fixed
10.0.0 2824 26 Mar 2007 Fixed
Description
The setting for the option Sort_collation was not used when ordering NCHAR, NVARCHAR or LONG NVARCHAR values. This has been fixed.



Note, if a materialized view was created with NCHAR values, this change may alter the results of the materialized view. Such views should be recomputed after this change is applied.



CR:462311
CR Number:   462311
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3406 13 Mar 2007 Fixed
10.0.0 2820 13 Mar 2007 Fixed
Description
A database may become corrupted when it is moved from a big to little-endian platform, and vice versa, and run with a server without this fix. This problem may manifest itself with a number of different symptoms, including but not limited to: the server crashing or asserting when executing a request, failing to start the affected database, or the database failing validation. The problem is more likely to be seen with servers running "large" databases, such as those with many tables, or with many large values, such as blobs. It may also appear if the database has indexes containing long values or a large number of columns.



If a database was created and started only on architectures with the same endian (i.e., byte-ordering), then the corruption will not appear, and no immediate action needs to be taken. However, if at some point during its history it had been started on platforms with a different byte-ordering, then it may potentially be corrupt.



This problem was caused by incorrect reads and writes to a small set of database page types. Due to the nature of the problem, it is not feasible to update or correct the affected pages of existing databases in-situ. Instead, this fix allows detection of databases that either may be corrupt or that cannot be started on a particular platform, because doing so may cause corruption. It also fixes the problem in newly created 10.0.1 databases, and optionally in new 10.0.0 databases.



Description of the Changes

----------------------------------------



Databases created with version 10.0.1 are not susceptible to this issue and may be freely moved between platforms with different byte-orderings. These databases are created with a new database "capability bit", which means that they cannot be started by 10.0.0 servers that do not have this fix. All databases with the capability bit can be moved between platforms without restriction. A new database property has been added so that it can be determined whether or not a database has the capability:



SELECT db_property(慔asEndianSwapFix)



If a database does not have this capability, both the 10.0.1 or 10.0.0 servers may still be able to start it depending on what platforms it had been created or previously started on. The server will perform the following actions when it starts a database without this capability:



1) If the history of a database (determined via the SYSHISTORY catalog table) indicates that it has been created or started only on platforms with the same endian as the current platform, then the database will start normally.



2) If the database has been created and started exclusively on platforms of one endian, and a start is attempted on a platform of the other endian, then the start will fail with the SQL error SQLSTATE 08W99, SQLE_DATABASE_ENDIAN_FAILURE. The text of the message is:



揇atabase '%1' cannot be started on this platform. See http://ianywhere.com/developer/product_manuals/sqlanywhere/notes/en/endian_cant_change_platform.html



If this error is received, the database should be moved back to a platform with its 搊riginal byte-ordering. It can then be started normally, or rebuilt so that it may be moved to a new platform.



3) If the history indicates that it has been created and/or started on platforms with mixed byte-orderings, then the server will fail to start it with the SQL error SQLSTATE 08W98, SQLE_POSSIBLE_DATABASE_CORRUPTION. The text of the message is:



揇atabase '%1' cannot be started on this platform. See http://ianywhere.com/developer/product_manuals/sqlanywhere/notes/en/endian_corruption_warning.html





10.0.1 Specific Changes

------------------------------------



1) If this error described by 3) is received, then the database cannot be started normally on either a big- or a little-endian platform as it may be corrupt.



Since rebuilding the database is the only option, a new command line switch, "-hR" is provided to allow the server to start the database for the purpose of unloading or rebuilding it. The "-hR" switch causes the database to be started in a "read-only" mode, disabling features that may attempt to access the potentially corrupted pages. Once started in this mode, all modifications to the database, including inserts, updates and DDL are disallowed.



2) If a 10.0.0 database without the capability bit has been created and only ever started on little-endian platforms, then it will not be corrupt. In this circumstance, assuming the database is running on a little-endian platform, the capability bit may be turned on by upgrading the database (i.e., running dbungrad). After the upgrade completes successfully the database may be moved across platforms without restriction.



10.0.0 Changes

-----------------------



1) By default, databases created by 10.0.0 servers with this fix will NOT have the capability turned on. However, if required, databases with the fix may be explicitly created. The CREATE DATABASE statement has been extended to support the new clause:



CREATE DATABASE ... CAPABILITY 'DatabaseEndianFix'



2) A 10.0.0 server with this fix is able to recognize and start databases with the capability. If the server does not have the fix then it will not be able to start these databases, failing with the following error:



"Unable to start specified database: '<DB name>' must be upgraded to start with this server (capability 50 missing)"





Other Information

------------------------



Currently supported SA big-endian platforms include:



- AIX (PowerPC)

- Solaris SPARC

- HP Itanium and HP PARISC



Currently supported SA little-endian platforms include:



- All Windows platforms, including X86, Itanium and CE

- All Linux platforms

- Solaris X86

- Mac X86



CR:462319
CR Number:   462319
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3467 19 Mar 2007 Fixed
Description
If an UPDATE statement specified a VERIFY clause that contained a string or numeric (decimal) value, the server could have crashed under some conditions. It was also possible that the wrong set of rows could have been updated, or they could have been updated to incorrect values. This has now been corrected.



CR:462322
CR Number:   462322
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3406 12 Mar 2007 Fixed
10.0.0 2819 12 Mar 2007 Fixed
9.0.2 3464 12 Mar 2007 Fixed
Description
Under very rare conditions the server could have crashed if it was unable to start a database. This has been fixed.



CR:462328
CR Number:   462328
Product Name:   UltraLite
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3406 13 Mar 2007 Fixed
10.0.0 2819 13 Mar 2007 Fixed
Description
Opening a UTF-8 UltraLite database with dbisql, or Sybase Central and the UltraLite plugin, that had a name with certain UNICODE encodings on a Multi-byte Character Set Windows system, could have resulted in the database name being mangled in the title bar. This has been fixed.



CR:462332
CR Number:   462332
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   10.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3470 13 Mar 2007 Fixed
10.0.0 2820 13 Mar 2007 Fixed
Description
It was possible to create a foreign key between two global temporary tables, where one was shared and the other was not. This is no longer allowed. A foreign key can be created between global temporary tables now only if both are shared, or neither are shared.



CR:462362
CR Number:   462362
Product Name:   UltraLite
Product Component:   UL Java Provider for Sybase Central
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3470 13 Mar 2007 Fixed
10.0.0 2819 13 Mar 2007 Fixed
Description
The Unload wizard could still have tried to connect, even if there was a failure. If the failure was ignored and the user clicked on Finish again, Sybase Central could have crashed. This was most likely to have occurred if unloading from a currently connected database. This problem may also have occurred with other wizards. These problems have been fixed.



CR:462446
CR Number:   462446
Product Name:   SQL Anywhere
Product Component:   ISQL
Status:   Closed
OS:   Microsoft Windows
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3472 20 Mar 2007 Fixed
10.0.0 2822 20 Mar 2007 Fixed
Description
The Interactive SQL utility could have reported an out-of-memory error when executing some large .SQL files or statements, which contained Transact-SQL CREATE PROCEDURE or IF statements. This has been fixed.
Workaround Description
 I had the customer use dbisqc to execute the sql.



CR:462447
CR Number:   462447
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3470 13 Mar 2007 Fixed
10.0.0 2820 13 Mar 2007 Fixed
Description
If an HTTP request was made to the server, and then subsequently the Java VM was loaded, then it was very likely that the server would have hung on shut down. This problem has been fixed.



CR:462449
CR Number:   462449
Product Name:   MobiLink
Product Component:   Streams
Status:   Closed
OS:   Generic
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3408 13 Mar 2007 Fixed
10.0.0 2820 13 Mar 2007 Fixed
9.0.2 3465 13 Mar 2007 Fixed
Description
Large, non-persistent HTTP synchronizations through a server or proxy, requiring digest HTTP authentication, would have failed if the session timed-out and a new session was initiated by the server or proxy. This has been fixed.



CR:462453
CR Number:   462453
Product Name:   UltraLite
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3408 13 Mar 2007 Fixed
10.0.0 2820 13 Mar 2007 Fixed
Description
The UltraLite utilities and UltraLite ODBC driver share the SQL Anywhere resource files for database error message strings. These messages were always in English, even when another locale was set with dblang. The SQL Anywhere resource files were not properly loading for error messages, only the English resources were being loaded. This has been corrected.



CR:462463
CR Number:   462463
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3474 13 Mar 2007 Fixed
10.0.0 2825 13 Mar 2007 Fixed
Description
When executing a wide insert into a proxy table, the statement could have failed to insert rows beyond the first row, returning a "-308 Connection terminated" or "-85 Communications error" error code. This has been fixed.



CR:462471
CR Number:   462471
Product Name:   MobiLink
Product Component:   Synchronization Server
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3402 13 Mar 2007 Fixed
9.0.2 3462 13 Mar 2007 Fixed
Description
The MobiLink server will no longer start if a license file cannot be found. The error message "License file could not be found" will be displayed.



Rather than looking for fixed filenames, the MobiLink server now looks for a ".lic" file that has the same base filename as the executable that is being run.



CR:462482
CR Number:   462482
Product Name:   SQL Remote for SQL Anywhere
Product Component:   Extraction Utility for Adaptive Server Anywhere
Status:   Closed
OS:   Microsoft Windows
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3484 23 Apr 2007 Fixed
9.0.1 2209 23 Apr 2007 Fixed
8.0.3 5530 23 Apr 2007 Fixed
Description
It was possible for stored procedures to be unloaded in the wrong order when using the Unload or Extraction utilities. In situation where an outer procedure called an inner procedure, and the inner procedure returned a result set, if the outer procedure was created first, then calling the outer procedure would have resulted in the error 'Result set not permitted in InnerProcedure'. The problem has now been fixed. It's important to note that this fix only addresses situations where calling the outer procedure does not result in an error on the original database, but an error is returned when called on the newly rebuilt or extracted database. If the error is occurring on the original database, then dropping and recreating the outer procedure should fix the problem.
Workaround Description
 Re-write the procedures using Watcom-SQL and the "With Result" clause.



CR:462516
CR Number:   462516
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3477 10 Apr 2007 Fixed
10.0.0 2833 10 Apr 2007 Fixed
Description
The server may have failed to detect that a corrupt database page was read from disk, and not stopped with an assertion failure. This has been corrected.



CR:462595
CR Number:   462595
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3470 14 Mar 2007 Fixed
10.0.0 2820 14 Mar 2007 Fixed
Description
If a TDS connection had already reached the maximum number of prepared statements allowed, as defined by the Max_statement_count option, and then received a language request, the server may have crashed instead of failing the request with SQLCODE -685 "Resource governor exceeded". This has been fixed.



CR:462634
CR Number:   462634
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3474 02 Apr 2007 Fixed
10.0.0 2828 02 Apr 2007 Fixed
Description
Executing a CREATE VIEW statement could have failed with:

"*** ERROR *** Assertion failed: 102600 Error building EXISTS subquery

if complex constrains existed on the tables referenced in the view definition. This has been fixed.



For example:

create table T1 ( a int )

create publication Pub1 ( table T1 (a) where not exists ( select 1 from dummy ) )

The following statement would have failed:

create view V1 as select * from T1



CR:462642
CR Number:   462642
Product Name:   UltraLite
Product Component:   UltraLite for M-Business Anywhere
Status:   Closed
OS:   Microsoft Windows NT
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3474 30 Mar 2007 Fixed
10.0.0 2827 30 Mar 2007 Fixed
9.0.2 3472 30 Mar 2007 Fixed
Description
Queries involving 'long varchar' or 'long binary' columns, containing both null and non-null values, and a temp table, could have caused a crashed in UltraLite, signaled an error, or produced incorrect results for the 'long' columns. This has now been fixed.



CR:462661
CR Number:   462661
Product Name:   SQL Anywhere
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3470 15 Mar 2007 Fixed
10.0.0 2820 15 Mar 2007 Fixed
Description
If a user was granted BACKUP or VALIDATE authority, this authority would have been lost after rebuilding the database using the Unload utility. This has been fixed.



CR:462673
CR Number:   462673
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Generic
Original Version:   10.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3470 15 Mar 2007 Fixed
Description
The Unload Database and Extract Database wizards did not ensure that a new database file name was specified when unloading or extracting into a new database. Failure to specify a new database file name would have caused the unload or extract operation to fail with the error: "Specified database is invalid". This has been fixed.



CR:462754
CR Number:   462754
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3410 15 Mar 2007 Fixed
10.0.0 2820 15 Mar 2007 Fixed
Description
The server could have hung, or failed with a 'page is invalid' (wrong page number, bad page type, etc), when run on a multi-processor system. This has been fixed.



CR:462782
CR Number:   462782
Product Name:   MobiLink
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3470 15 Mar 2007 Fixed
10.0.0 2821 15 Mar 2007 Fixed
Description
If MobiLink authentication failed, the MobiLink File Transfer utility (mlfiletransfer) would not have reported a useful error message. This has been corrected so that it will now report "MobiLink authentication failed". Also, the methods MLFileTransfer and ULFileTransfer will now return the stream error code STREAM_ERROR_AUTHENTICATION_FAILED.



CR:462796
CR Number:   462796
Product Name:   UltraLite
Product Component:   UltraLite Engine
Status:   Closed
OS:   Generic
Original Version:   10.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3470 16 Mar 2007 Fixed
10.0.0 2821 16 Mar 2007 Fixed
Description
The ABS() function (absolute value of a numeric expression) did not properly handle integers with more than 30 digits. This has been corrected.



CR:462899
CR Number:   462899
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3486 13 Dec 2007 Fixed
9.0.2 3488 13 Dec 2007 Fixed
Description
When using the command line options -qw "do not display database server screen" or -qi "do not display database server tray icon", a number of messages that should have been logged to the -o output file were suppressed. This has now been corrected.



CR:462903
CR Number:   462903
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3416 27 Mar 2007 Fixed
10.0.0 2826 27 Mar 2007 Fixed
Description
The server could have reported assertion failures, a fatal error or crashed, when reading rows with certain characteristics. This would only have occurred if the row contained NCHAR data, or a column in the table was defined with CHARACTER-LENGTH SEMANTICS (such as a datatype of VARCHAR( N CHAR ) ). The problem could have occurred during querying the data, DML, or DDL. The data in the database file was correct. In order for the problem to occur, the column must have been declared to be one of the following:

- CHAR( N CHAR ) or VARCHAR( N CHAR )

- NCHAR( N ) or NVARCHAR(N)

where N <= 127 and (N * (max-bytes-per-char) > 127). This problem is now fixed and servers containing this fix will be able to properly read rows containing the aforementioned datatypes.



CR:462912
CR Number:   462912
Product Name:   MobiLink
Product Component:   QAnywhere client
Status:   Closed
OS:   Windows CE 2.11
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3414 27 Mar 2007 Fixed
10.0.0 2825 27 Mar 2007 Fixed
9.0.2 3471 27 Mar 2007 Fixed
Description
When a QAnywhere application had an open QATransactionalManager, delete rules always failed in the QAnywhere Agent. The error from the database server when executing delete rules would have been: ** ERROR conn: 5 code: -210 "User 'DBA' has the row in 'ml_qa_global_props_client' locked". This has been fixed. Delete rules will now delete messages that satisfy the delete rules, skipping over messages that are in an open transaction.



CR:462915
CR Number:   462915
Product Name:   SQL Anywhere
Product Component:   ODBC Client Library
Status:   Closed
OS:   Generic
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3470 19 Mar 2007 Fixed
9.0.2 3468 19 Mar 2007 Fixed
Description
The ODBC PrefetchOnOpen optimization was disabled for queries which had input parameters. The PrefetchOnOpen optimization is disabled by default, and is enabled with the PrefetchOnOpen ODBC connection parameter. This has been changed so that the optimization is now enabled for queries which have input parameters if the ODBC PrefetchOnOpen connection parameter is used.



CR:462939
CR Number:   462939
Product Name:   MobiLink
Product Component:   Java Plugin for Sybase Central
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3470 19 Mar 2007 Fixed
10.0.0 2821 19 Mar 2007 Fixed
Description
In order to not miss conflicts, the upload_fetch and upload_fetch_column_conflict scripts need to prevent modification of the rows it has selected before they are updated. Previously, for SQL Anywhere consolidated databases, the upload_fetch and upload_fetch_column_conflict scripts generated for a model with conflict detection used the HOLDLOCK table hint. Now these scripts use the UPDLOCK table hint. For scripts deployed to a SQL file already, replace HOLDLOCK with WITH (UPDLOCK) in the upload_fetch and upload_fetch_column_conflict scripts.



CR:462940
CR Number:   462940
Product Name:   SQL Anywhere
Product Component:   ADO.Net Managed Provider
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3411 19 Mar 2007 Fixed
10.0.0 2821 19 Mar 2007 Fixed
Description
Setting ConnectionString could have caused a buffer overrun if the ConnectionString contained some very long connection parameters. In SAConnection.ParseConnectionString method, the managed code uses fixed statements to set pointers to managed variables, which were not being passed correctly to the native code. This problem has been fixed.



CR:462945
CR Number:   462945
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Novell NetWare
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3477 10 Apr 2007 Fixed
10.0.0 2832 10 Apr 2007 Fixed
9.0.2 3477 10 Apr 2007 Fixed
Description
When run on NetWare systems, unloading the server using the NetWare console (i.e. "UNLOAD DBSRV9") when there were still active connections to the server, may have caused the server to abend or hang. This has been fixed.



CR:463059
CR Number:   463059
Product Name:   MobiLink
Product Component:   Synchronization Server
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3413 20 Mar 2007 Fixed
10.0.0 2822 20 Mar 2007 Fixed
Description
The MobiLink server was not able to start with snapshot isolation against Microsoft SQL server running a case-sensitive database. The MobiLink server mistakenly used upper-case identifiers to build queries to access system tables when the consolidated database was running on Microsoft SQL server, which was a problem as identifiers are case-sensitive in a case-sensitive database on Microsoft SQL server. This has now been fixed.



CR:463062
CR Number:   463062
Product Name:   MobiLink
Product Component:   QAnywhere server
Status:   Closed
OS:   Microsoft Windows NT
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3479 10 Apr 2007 Fixed
Description
When a QAnywhere client that had previously synchronized with a MobiLink server, and whose message store was subsequently re-created, synchronized again with the MobiLink server, the error " -193 error Primary key for table 'ml_qa_global_props' is not unique" would have been reported in the MobiLink log. This has been corrected so that the QAnywhere client's message store properties are now upserted into the consolidated database. This fix is only for ASA consolidated databases.



Note that this works correctly for all supported consolidated databases in version 10.0.0 and later.



CR:463074
CR Number:   463074
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3461 19 Mar 2007 Fixed
Description
In build 3461, the ECC transport-layer security protocol has changed to allow 10.0.x clients to connect version 9 servers. If only the server is updated to build 3461 or higher, 9.0.2 clients running older builds can continue to connect using ECC transport-layer security. However, if 9.0.2 clients are updated to build 3461 or higher, they can use ECC transport-layer security to connect to a 9.0.2 server only if the server is also running build 3461 or higher. In other words, the 9.0.2 server must be updated first.



For a 10.0.0 client to use ECC transport-layer security to connect to a 9.0.2 server, the 10.0.0 client must be running build 2816 or higher, and the 9.0.2 server must be running build 3461 or higher.



CR:463081
CR Number:   463081
Product Name:   SQL Anywhere
Product Component:   ADO.Net Managed Provider
Status:   Closed
OS:   Microsoft Windows
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3473 21 Mar 2007 Fixed
10.0.0 2823 21 Mar 2007 Fixed
9.0.2 3469 21 Mar 2007 Fixed
Description
The property DataReader.HasRows would have always returned True, whether there were actually rows in the dataReader or not. This problem has been fixed.



CR:463091
CR Number:   463091
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3472 20 Mar 2007 Fixed
10.0.0 2823 20 Mar 2007 Fixed
Description
If an index was created on a column of type VARBIT or LONG VARBIT, then the index would have incorrectly ordered some values.



For example, if x1 and x2 are two bit string values where x2 = x1 || repeat('0',N) for some N > 0 (so, x2 = x1 followed by some number of 0 bits), the proper order is therefore x1 < x2 because x2 is longer. If x2 has a multiple of 8 bits and x1 does not, then an index will incorrectly order x2 < x1.



create table TVarBit( pk long varbit primary key, nbits int );

insert into TVarBit select repeat('0', row_num), row_num from sa_rowgenerator(0,8);

select nbits, pk from TVarBit with(index(TVarBit)) order by pk;



nbits,pk

0,''

8,'00000000'

1,'0'

2,'00'

3,'000'

4,'0000'

5,'00000'

6,'000000'

7,'0000000'



The value '00000000' is incorrectly sorted before '0' if the index is used. If no index is used, the correct answer is given:

select nbits, pk from TVarBit with( no index ) order by pk;

nbits,pk

0,''

1,'0'

2,'00'

3,'000'

4,'0000'

5,'00000'

6,'000000'

7,'0000000'

8,'00000000'



This problem has been fixed. If a server with this fixed is used on a database that contains an index on a VARBIT or LONG VARBIT column, then the index will be reported as corrupt by VALIDATE TABLE, VALIDATE INDEX, sa_validate() or dbvalid. All such indexes should be rebuilt using the ALTER INDEX ... REBUILD statement. Any primary key indexes that contain VARBIT/LONG VARBIT should be rebuilt first, followed by other index types. Otherwise attempts to rebuild foreign keys could fail. For some structures of referential integrity, it may not be possible to rebuild the indexes in place and it may be necessary to drop and re-create them.



CR:463170
CR Number:   463170
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3473 21 Mar 2007 Fixed
10.0.0 2823 21 Mar 2007 Fixed
9.0.2 3470 21 Mar 2007 Fixed
Description
If a query contained a left outer join with an index scan on the left hand side, then the query could have returned incorrect results on a refetch operation. This problem only occurred on refetch operations (e.g. fetch relative 0), and only when the data from the current row on the left hand side of the join had been modified or deleted since the original access.



For example:



create table R ( x integer primary key );

insert into R values (1);

insert into R values (2);

insert into R values (3);



create table T ( x integer primary key );

insert into T values (1);

insert into T values (3);



Connection A:

open crsr { select R.x, T.x from R ( with index( R ) ) left join T on R.x - T.x = 0 }

fetch crsr into x1, x2

=> returns (x1, x2) = (1, 1)



Connection B:

update R set x = 99 where x = 1



Connection A:

fetch crsr relative 0 into x1, x2

=> returns (x1, x2) = (3, 3), should be (2, NULL)



This problem has been fixed.



CR:463174
CR Number:   463174
Product Name:   SQL Anywhere
Product Component:   ADO.Net Managed Provider
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3472 20 Mar 2007 Fixed
10.0.0 2822 20 Mar 2007 Fixed
9.0.2 3468 20 Mar 2007 Fixed
9.0.1 2205 20 Mar 2007 Fixed
Description
Using pooled connections could have caused exceptions when used in multi-thread applications. This has been fixed.



CR:463182
CR Number:   463182
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3473 21 Mar 2007 Fixed
10.0.0 2823 21 Mar 2007 Fixed
Description
If an UPDATE or DELETE statement had a sufficiently simple structure, contained a WHERE clause identifying a single row by primary key, and had additional predicates comparing a string or numeric/decimal column to a value that was NULL, then the server could have crashed. This has been fixed.



CR:463194
CR Number:   463194
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3401 20 Mar 2007 Fixed
10.0.0 2816 20 Mar 2007 Fixed
Description
If a client failed to connect using ECC encryption to a version 9 or earlier server, the client could have written an error to the connection log saying that ECC encryption could not be used to connect to older servers, even if there was some other cause. This has been corrected, and this error will no longer appear.



CR:463200
CR Number:   463200
Product Name:   SQL Anywhere
Product Component:   ISQL
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3404 20 Mar 2007 Fixed
10.0.0 2823 21 Mar 2007 Fixed
Description
Users running systems in a Japanese locale where not able to do a check for updates from the admin tools. This restriction has now been removed.



CR:463311
CR Number:   463311
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
31 Aug 2007 Fixed
10.0.1 3641 11 Feb 2008 Fixed
Description
The server keeps track of the dependencies of a view on other views and tables. When the schema of a table or view is modified by a DDL statement, the server automatically recompiles any existing views that reference the table or view being modified. If a dependent view no longer compiles as a consequence of the schema modification of a referenced object, the dependent view is marked as invalid and is no longer available for queries. Once a view becomes invalid, the server prohibits it's definition from being modified by means of the ALTER VIEW statement, requiring the view to be dropped and recreated with a definition that can be successfully compiled. An example of this scenario is provided below:



create table t1 (c1 integer, c2 integer);

create view v1 as select c1, c2 from t1;

alter table t1 drop c1;

alter view v1 as select c2 from t1;



The server will now allow the use of the ALTER VIEW statement on an invalid view so that its definition can be corrected without having to drop the view first; or to disable it.



CR:463318
CR Number:   463318
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3494 18 May 2007 Fixed
10.0.0 2851 18 May 2007 Fixed
9.0.2 3499 18 May 2007 Fixed
Description
On Windows CE, when starting a second server on the device, the window of the first server is normally displayed. This should not have been the case though when the first server was started with the command line options -qw and -qi to hide the window and the icon resectively. This has been corrected so that the first server's command line is honored and the first server's window is no longer displayed when attempting to start a second server on the device. Starting the second server will now fail silently in this instance.



CR:463335
CR Number:   463335
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3408 21 Mar 2007 Fixed
10.0.0 2823 21 Mar 2007 Fixed
Description
If two database mirroring servers were started simultaneously and both were capable of taking ownership of the database, a small delay in starting the server that was the previous owner could have resulted in both servers starting as primary servers.



Also, if a server acting as mirror was stopped and later restarted, the primary server may have failed to reconnect to the mirror. This may have resulted in the primary server not taking an appropriate action if the arbiter became unavailable.



Both of these problems have now been fixed.



CR:463343
CR Number:   463343
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3413 21 Mar 2007 Fixed
10.0.0 2823 21 Mar 2007 Fixed
Description
It was possible, although likely rare, for the server to have crashed while processing a query with a GROUP BY clause. This has been fixed.



CR:463346
CR Number:   463346
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3473 21 Mar 2007 Fixed
10.0.0 2823 21 Mar 2007 Fixed
Description
Under rare circumstances the server can crash while processing a query. This has been fixed.



CR:463466
CR Number:   463466
Product Name:   SQL Anywhere
Product Component:   ADO.Net Managed Provider
Status:   Closed
OS:   Microsoft Windows
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3477 11 Apr 2007 Fixed
10.0.0 2833 11 Apr 2007 Fixed
9.0.2 3480 11 Apr 2007 Fixed
Description
The ADO.Net provider could have thrown the exception 'Resource governor limit for prepared statements exceeded' if the application issued statements which contained multi-select statement.



For example:



BEGIN

DECLARE @MyConnectionId INTEGER;

DECLARE @MaxCount INTEGER;

DECLARE @Prepared INTEGER;

SELECT CONNECTION_PROPERTY ( 'prepstmt' ) into @Prepared;

SELECT number INTO @MyConnectionId FROM sa_conn_list(-1);

SELECT Value INTO @MaxCount FROM sa_conn_properties(@MyConnectionId) WHERE PropName='max_statement_count';

SELECT @MyConnectionId AS Id, @MaxCount AS MaxStatement, @Prepared as Prepared;

END



This problem has been fixed.
Workaround Description
 Setting the max_statement_count option to 0 to turn it off avoids this error, but the apparent leak behaviour does not change, it appears that eventually this application just runs out of things to run.



CR:463517
CR Number:   463517
Product Name:   UltraLite
Product Component:   Runtime Libraries
Status:   Closed
OS:   Generic
Original Version:   7.0.00
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3437 27 Mar 2007 Fixed
10.0.0 2824 27 Mar 2007 Fixed
9.0.2 3471 27 Mar 2007 Fixed
Description
On Windows CE devices, database corruption could have occurred due to a bug in Windows CE related to growing the database file. A change to the runtime to close and reopen the file after growing it has been implemented in an attempt to work around the problem.



CR:463557
CR Number:   463557
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3347 10 Apr 2007 Fixed
Description
When the Evaluation Edition was selected, the titles of the Setup dialogs referenced "Developer Edition" instead of "Evaluation Edition". This has been fixed.



CR:463586
CR Number:   463586
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3474 26 Mar 2007 Fixed
10.0.0 2824 26 Mar 2007 Fixed
Description
If a Remote Data Access server was created for a remote database with a different charset than the local database, then it was possible that a string that fit in a char(n) or varchar(n) column on the remote would not have fit into a char(n) or varchar(n) column when inserted into a local table. The reason being that performing charset translation on the remote string would have yielded an equivelent string in the local database's charset, but the string would have required more space in the local charset. Unfortunately, the Remote Data Access layer was not raising an error or truncating the string in these instances. As a result, attempting to insert these remote strings into a local table would have generated a server assertion failure error. This problem has now been fixed and either a truncation error will be raised if the string_rtruncation option is on, or the Remote Data Access layer will silently truncate the string to the maximum number of whole characters that will fit if the string_rtruncation option off.



CR:463589
CR Number:   463589
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Generic
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3474 26 Mar 2007 Fixed
10.0.0 2824 26 Mar 2007 Fixed
9.0.2 3471 26 Mar 2007 Fixed
Description
Clicking the "Help" button on the "Add Watch" dialog would not have done anything. Now it correctly opens the online help for the dialog.





--------------------------------------华丽的分割线-------------------------------------------------------------------------
之前就已经研发成功了能够从Sybase SQL Anywhere的DB文件中恢复数据的工具:ReadASADB。
此工具支持ASA v5.0,v6.0,v7.0,v8.0,v9.0,v10.0,v11.0,v12.0等版本。
恢复Sybase SQL Anywhere的工具在国内应该算首创。

ReadASADB功能
能够从损坏的SQL Anywhere数据文件(.db)和UltraLite数据文件(.udb)上提取数据的非常规恢复工具

  1. 适用于所有的SQL Anywhere版本    包括:5.x,6.x,7.x,8.x,9.x,10.x,11.x,12.x
  2. 适用于所有的UltraLite版本
  3. 能够恢复出来表结构和数据
  4. 能够恢复自定义数据类型
  5. 能够恢复存储过程等对象的语法
  6. 能够导出到目标数据库
  7. 能够导出到SQL文件并生成导入脚本
  8. 支持多种字符集  包括:cp850、cp936、gb18030、utf8等
  9. 能够恢复未加密或者简单加密类型的数据
  10. 简单易用
  11. 限制:不支持AES加密的数据文件
请参考:研发成功了从Sybase SQL Anywhere的DB文件上恢复数据的工具
            SQL Anywhere数据库非常规恢复工具ReadASADB使用介绍

ReadASADB适用场景

各种误操作:

  1. 误截断表(truncate table)
  2. 误删除表(drop table)
  3. 错误的where条件误删数据
  4. 误删除db或log文件
  5. 误删除表中的字段

本工具的应用场景:

1.因为物理磁盘故障、操作系统、系统软件方面或者掉电等等原因导致的Sybase SQL Anywhere数据库无法打开的情况;
2.误操作,包括truncate table,drop table,不正确的where条件导致的误删除等;
Sybase SQL Anywhere无法打开时,比较常见的错误是:Assertion failed。
如:
1、Internal database error *** ERROR *** Assertion failed:201819 (8.0.1.2600) Checkpoint log: invalid bitmap page -- transaction rolled back
2、Internal database error *** ERROR *** Assertion failed:201819 (8.0.1.2600) Page number on page does not match page requested -- transaction rolled back
3、Internal database error *** ERROR *** Assertion failed:200502 (9.0.2.2451) Checksum failure on page 23 -- transaction rolled back
4、File is shorter than expected
5、Internal database error *** ERROR *** Assertion failed: 201116 Invalid free list index page found while processing checkpoint log -- transaction rolled back
6、*** ERROR *** Assertion failed: 51901 Page for requested record not a table page or record not present on page等等。
+-------------------------------------华丽的分割线-------------------------------------------------------------------------