远程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:446398
CR Number:   446398
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 3280 31 Oct 2006 Fixed
10.0.0 2510 31 Oct 2006 Fixed
Description
When a non-default port was specified for TCPIP connections, the server could not be found by the Locate utility on Unix systems. The UDP listener for the default port was listening on the actual IP address, as opposed to the broadcast address which Unix uses. This has been fixed.



CR:446405
CR Number:   446405
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 3280 01 Nov 2006 Fixed
10.0.0 2750 01 Nov 2006 Fixed
Description
The list of data types on the column details page of the Import Wizard could have contained unsupported data types, if a SQL Anywhere database had been connected to prior to connecting to an UltraLite database. The cached list of data types was not being discarded on a disconnect. This is now fixed.



CR:446406
CR Number:   446406
Product Name:   SQL Anywhere
Product Component:   DBLIB Client Library
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3280 01 Nov 2006 Fixed
10.0.0 2510 01 Nov 2006 Fixed
Description
If a machine was configured for IPv6, but for some reason failed to send the broadcast on the IPv6 interface (e.g. "No route to host"), applications that sent a broadcast would find no servers at all. The broadcast was giving up after any failure to send a message. This has been fixed so that if either the IPv4 or the IPv6 send succeeds, it will

listen for responses.



CR:446409
CR Number:   446409
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 3280 31 Oct 2006 Fixed
10.0.0 2750 31 Oct 2006 Fixed
Description
If an ALTER TABLE statement attempted to add a column CHECK constraint, plus make other changes to the column, and the CHECK clause was not the first one in the statement, the server could have crashed. This has been fixed. To work around this problem, divide the changes into separate statements, or specify the CHECK clause first.



CR:446416
CR Number:   446416
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 3280 01 Nov 2006 Fixed
10.0.0 2750 01 Nov 2006 Fixed
Description
When generating recommendations for a logging sesssion on a database, deadlocks were reported on all logging sessions, not just the one that was selected. This has been fixed.



CR:446424
CR Number:   446424
Product Name:   SQL Anywhere
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   4.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3280 31 Oct 2006 Fixed
10.0.0 2750 31 Oct 2006 Fixed
Description
When reading a SQL script via the File.../Open menu, or via the READ command (either explicitly or implicitly by putting the file name on the command line), dbisqlc would have stopped reading the file at the first '\x1a' character (also known as control-Z or a DOS end of file character). Typically, a syntax error or other obvious error would have occurred when executing the script, as the most likely reason that such a character would be present in a file is that it is a substitution character created during a lossy character set translation. This has been fixed by opening the file in binary mode.



CR:446425
CR Number:   446425
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 3398 31 Oct 2006 Fixed
Description
The server could have leaked small amounts of memory when calling some of the server or connection property functions, such as sa_conn_properties(). This has been fixed.



CR:446427
CR Number:   446427
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 3280 31 Oct 2006 Fixed
10.0.0 2519 31 Oct 2006 Fixed
Description
Validating indexes could have caused the server to become deadlocked. For this to have occurred, the validation had to report "Invalid or duplicate index entries", whether spurious or not. This is now fixed.



CR:446432
CR Number:   446432
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 3280 02 Nov 2006 Fixed
10.0.0 2750 02 Nov 2006 Fixed
Description
The download resumption feature of MLFileTransfer did not work properly if an error had occurred during download. Although it did work properly when a download was cancelled. The temp file was always being deleted when there was an error. This has been fixed so that the temp file is deleted only if download resumption is disabled.



CR:446433
CR Number:   446433
Product Name:   SQL Anywhere
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3280 02 Nov 2006 Fixed
10.0.0 2750 02 Nov 2006 Fixed
Description
Changing any value on the DBConsole options dialog, except quitting time, on a database that did not have quitting time set, would have caused an error message to display indicating that quitting time had an incorrect value. This has been fixed.



CR:446517
CR Number:   446517
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 3281 01 Nov 2006 Fixed
10.0.0 2750 01 Nov 2006 Fixed
Description
Unscheduled requests were being recommended for all logging sessions, not just the selected session, when examining a database with tracing information from multiple sessions. This has been fixed.



CR:446550
CR Number:   446550
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 3281 02 Nov 2006 Fixed
10.0.0 2750 02 Nov 2006 Fixed
Description
An invalid column reference could result in a server crash. This has been fixed.



CR:446555
CR Number:   446555
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 3302 27 Nov 2006 Fixed
10.0.0 2761 27 Nov 2006 Fixed
Description
If an application used BCP IN to insert data into a table, then the last row in the input would not have been inserted. This problem has now been fixed.



CR:446556
CR Number:   446556
Product Name:   SQL Anywhere
Product Component:   ADO.Net Managed Provider
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3284 09 Nov 2006 Fixed
10.0.0 2752 09 Nov 2006 Fixed
9.0.2 3403 09 Nov 2006 Fixed
Description
The ADO.NET providers ( versions 1.x and 2.0 ) were not marked as CLS Compliant. This could have caused CS3001 and CS3003 warnings from Visual Studio. This problem has been fixed.



CR:446662
CR Number:   446662
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 3281 03 Nov 2006 Fixed
10.0.0 2750 03 Nov 2006 Fixed
Description
If a proxy table had a unique identifier column defined, then querying that unique identifier column would always have returned NULL. This problem has been fixed.



CR:446667
CR Number:   446667
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)
9.0.2 3399 03 Nov 2006 Fixed
Description
Casting a double with a large positive or negative exponent, into a string with a large buffer, would have crashed the UltaLite runtime. An intermediary buffer was too small. This has been fixed.



CR:446669
CR Number:   446669
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 3281 03 Nov 2006 Fixed
10.0.0 2750 03 Nov 2006 Fixed
Description
Executing a JAVA method could have hung if the method attempted to flush a message to System.out or System.err. For this problem to occur, many specific events must take place:



1) multiple connections must be executing JAVA at the same time,

2) the connection that executed JAVA last is the first one to return from JAVA,

3) that connection then subsequently disconnects,

4) no other connection executes JAVA after the connection in 3 above disconnects, and

5) one of the connections still executing JAVA tattempts to flush a message to System.out or System.err after the connection in 3 above disconnects.



This problem has now been fixed.



CR:446682
CR Number:   446682
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 3282 06 Nov 2006 Fixed
10.0.0 2750 06 Nov 2006 Fixed
Description
An invalid ORDER BY clause in an OLAP window specification could have caused a server crash. This has been fixed so that the server now handles errors correctly when constructing composite aggregate functions.



CR:446700
CR Number:   446700
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 3283 09 Nov 2006 Fixed
10.0.0 2752 09 Nov 2006 Fixed
9.0.2 3403 09 Nov 2006 Fixed
Description
When calling a stored procedure with a string parameter, either inout or out, the parameter value returned would have been an empty string, if the size of the string parameter was not specified. Now, the provider will throw an InvalidOperationException if the size of the parameter is invalid.



CR:446768
CR Number:   446768
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 3281 06 Nov 2006 Fixed
10.0.0 2750 06 Nov 2006 Fixed
Description
The MobiLink server would have crashed, or hung, when shutdown after a QAnywhere client had sent a web services request. This has now been fixed.



CR:446771
CR Number:   446771
Product Name:   SQL Anywhere
Product Component:   JDBC Client Library
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3282 06 Nov 2006 Fixed
10.0.0 2513 06 Nov 2006 Fixed
Description
Connections using the iAnywhere JDBC driver would have failed if the connection string contained chararacters that were not ASCII or UTF-8. This has now been fixed.



CR:446772
CR Number:   446772
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 3282 07 Nov 2006 Fixed
10.0.0 2750 07 Nov 2006 Fixed
Description
When viewing the Details pane after profiling an application, the procedure name may have been incorrect for some statements. The displayed statement text and line number information were correct though. This would only have happened if a separate tracing database had been created. This has been fixed. A workaround is to trace to the local database.



CR:446803
CR Number:   446803
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 3283 07 Nov 2006 Fixed
10.0.0 2751 07 Nov 2006 Fixed
Description
In the MobiLink Model Mode in Sybase Central, if multiple rows were selected on the Mapping page and the download type changed from Timestamp to Snapshot or Custom, or the Download Deletes column was unchecked, the download_delete_cursor script on the Events page might not have reflected the change. This is now fixed.



A workaround is to change one table mapping at a time.



CR:446806
CR Number:   446806
Product Name:   MobiLink
Product Component:   ASA Client
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3291 17 Nov 2006 Fixed
10.0.0 2756 17 Nov 2006 Fixed
9.0.2 3408 17 Nov 2006 Fixed
Description
An application would not have shut down after it had NEW'ed a Dbmlsync object (an object that represented the dbmlsync non-visual integration component -- dbmlsynccom.dll). When the application closed the last of its windows the process did not terminate, as the Application.Run() method did not return, even though all application windows were closed. This problem has been resolved. The application now shutdowns normally.



Note, this problem did not occur when the graphical version of the integration component was used (dbmlsynccomg.dll).
Workaround Description
 None.



CR:446808
CR Number:   446808
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 3282 06 Nov 2006 Fixed
10.0.0 2750 06 Nov 2006 Fixed
Description
After performing an analysis on a database, and viewing the recommendations by moving to it via the arrow button in the recommendation dialog, the recommendation for "outdated optimizer statistics" could have been truncated. This has been fixed.



CR:446914
CR Number:   446914
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 3500 31 May 2007 Fixed
10.0.0 2858 31 May 2007 Fixed
9.0.2 3507 31 May 2007 Fixed
Description
With this change, it is now possible to restrict the permissions of temporary files created by the server and/or client. Traditionally, these files were unconditionally created with global read, write and execute permissions. To use this feature, a directory must be specified using the SATMP environment variable and this directory must not be one of the standard locations:

- /tmp

- /tmp/.SQLAnywhere

- the value of the TMP environment variable, if set

- the value of the TMPDIR environment variable, if set

- the value of the TEMP environment variable, if set

- a symbolic link pointing to any of the above

When SATMP is set to such a non-standard location, the server and client will walk up the given directory path looking for directories owned by the current user with permissions set to 707, 770 or 700. For each directory found, the appropriate permissions (other, group, other+group respectively) will be set from the permission mask used to create temporary files.



For example, if the SATMP environment variable is set to: /tmp/restricted_permissions/sqlany, where restricted_permissions is a directory with permissions 700, then all files created in this directory will have permissions 700.



CR:446916
CR Number:   446916
Product Name:   UltraLite
Product Component:   Runtime Libraries
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3404 09 Nov 2006 Fixed
Description
After doing a schema upgrade (ApplyFile) the values for the last_download_timestamp of each publication would have been overwritten by the values of last_upload_timestamp. This has been corrected.



CR:446925
CR Number:   446925
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 3283 07 Nov 2006 Fixed
10.0.0 2751 07 Nov 2006 Fixed
Description
If the QAnywhere Agent's message store was created to use a transaction log, and the QAnywhere Agent was launched with no special database server options, the transaction log of the message store database would have grown without limit. This has been fixed. Now, the QAnywhere Agent uses -m (truncate transaction log after checkpoint) by default for the database server start options.



Previously, it was recommended to create QAnywhere client message stores with no transaction log. This is no longer the case, as the QAnywhere client is much more efficient when the message store is using a transaction log.



CR:446927
CR Number:   446927
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 3283 07 Nov 2006 Fixed
10.0.0 2752 07 Nov 2006 Fixed
Description
If a procedure was called using host variables many thousands of times on a single connection, the call could eventually fail with error -890 (Statement size or complexity exceeds server limit). This has been fixed.



A workaround is to periodically disconnect and reconnect the connection.



CR:446931
CR Number:   446931
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 3283 07 Nov 2006 Fixed
10.0.0 2519 07 Nov 2006 Fixed
Description
Index corruption was possible if there were two consecutive index entries with the following properties: the first index entry had a hash length between 242 and 248 and the second entry had a hash of length 249 or greater, and must have contained the first hash as a prefix. The hash length of an index entry is roughly the sum of the lengths of the indexed values [for strings with ICU collations, doubling the length will likely give a better estimate]. For the corruption to have occurred, the last column indexed needed to be a string column with a legacy collation. This is now fixed.



Note, the fix will flag any index entry having a hash length between 242 and 248 as corrupt. Indexes with such entries can be found by running VALIDATE TABLE ... WITH EXPRESS CHECK ( or dbvalid -fx). Indexes with such entries will produce a message like



Index "t_l" has invalid entries - reorganizing the index may resolve the problem



Reorganizing the index by issuing a REORGANIZE INDEX command will fix the affected index entries (a validate with express check should run cleanly afterwards). Reorganizing the table is not recommended.



CR:446945
CR Number:   446945
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Generic
Original Version:   5.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 2751 07 Nov 2006 Fixed
Description
Using the "Back" or "Forward" toolbar buttons or menu items would have selected the tree item, but did not restore the selected details tab. This is now fixed.



CR:446948
CR Number:   446948
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 3283 07 Nov 2006 Fixed
10.0.0 2745 07 Nov 2006 Fixed
Description
It was possible, although very rare, for the server to have crashed or exhibit other fatal behaviour when it was under heavy load, or when there was increased concurrency, such as when run on multi-processor systems. This has been fixed.



CR:446951
CR Number:   446951
Product Name:   UltraLite
Product Component:   Runtime Libraries
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3283 08 Nov 2006 Fixed
10.0.0 2751 08 Nov 2006 Fixed
Description
A deleted row that could not be immediately removed from the database because it was in use by another cursor, was not subsequently removed as quickly as possible when the row was freed. This has been corrected.



CR:446958
CR Number:   446958
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 3283 07 Nov 2006 Fixed
10.0.0 2751 07 Nov 2006 Fixed
Description
The server automatically collects column statistics when data is modified by means of LOAD TABLE or when INSERT, UPDATE or DELETE statements are executed. The efficiency of the collection mechanism for NUMERIC columns has been significantly improved.



CR:446962
CR Number:   446962
Product Name:   SQL Anywhere
Product Component:   ISQL
Status:   Closed
OS:   Generic
Original Version:   7.0.4
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3283 08 Nov 2006 Fixed
10.0.0 2751 08 Nov 2006 Fixed
Description
Interactive SQL was treating the character 0x1A as an end-of-file character, when it was encountered by the INPUT or READ statements. This has been changed so that processing continues after reading that character.



CR:446965
CR Number:   446965
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 3393 15 Nov 2006 Fixed
Description
The fix for Engineering case 433730 introduced a problem which caused the types for procedure parameters and function results defined using user-defined types to be set incorrectly. As well. the problem could have affected procedures which returned XML data. This has been fixed.



CR:447049
CR Number:   447049
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 3284 13 Nov 2006 Fixed
10.0.0 2753 13 Nov 2006 Fixed
9.0.2 3404 13 Nov 2006 Fixed
Description
Executing a statement, or statements, which caused tens of thousands of messages to be displayed in the "Messages" panel, could have caused Interactive SQL to eventually report an out of memory error. This has been fixed so that only the last 1000 messages are displayed when Interactive SQL is run as a windowed application, in order to reduce the amount of memory required. When run as a console application, all of the messages are displayed in the console window.
Workaround Description
 None.



CR:447062
CR Number:   447062
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 3283 07 Nov 2006 Fixed
Description
When importing data using Interactive SQL's Import wizard, setting any column type to "long varchar" would have caused a syntax error. This has been fixed.



CR:447079
CR Number:   447079
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 3283 09 Nov 2006 Fixed
10.0.0 2752 09 Nov 2006 Fixed
Description
When Interactive SQL was connected to an UltraLite database, an INPUT statement would have failed attempting to load data into a BIGINT column. While SQL_C_SBIGINT and SQL_C_UBIGINT were supported, SQL_BIGINT was not. It is now supported.



CR:447081
CR Number:   447081
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 3283 09 Nov 2006 Fixed
10.0.0 2746 09 Nov 2006 Fixed
Description
The server could have crashed when truncating a table with an index that contained long hash values, when the database option Truncate_with_auto_commit was ON, which is the default. For the crash to have occurred there must have been no foreign keys to or from the table, no DELETE triggers defined on the table, and the server must not have been in the middle of an atomic operation. This problem is now fixed.



CR:447085
CR Number:   447085
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 3283 08 Nov 2006 Fixed
10.0.0 2752 08 Nov 2006 Fixed
Description
The Import wizard could have crashed on the last page. The crash was timing related, so its frequency could have varied considerably. This problem has now been fixed.



CR:447199
CR Number:   447199
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 3284 04 Dec 2006 Fixed
10.0.0 2752 04 Dec 2006 Fixed
Description
In some constrained memory conditions, a recursive union query might have caused the server to crash, or failed with the error 'attempting to insert a null into a not null column of a temp table'. This has now been fixed.



CR:447332
CR Number:   447332
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 3284 09 Nov 2006 Fixed
10.0.0 2719 09 Nov 2006 Fixed
Description
Sort key generations for some UCA collations could have been incorrect and could have lead to index corruption. The problem only affected primary-only sort keys (ie it must have been case and accent insensitive, and it must have sorted punctuation at the primary level). This has been fixed.



CR:447334
CR Number:   447334
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 3284 09 Nov 2006 Fixed
10.0.0 2519 09 Nov 2006 Fixed
Description
If a server was killed or crashed while executing a command through xp_cmdshell it's sockets would not have closed until the xp_cmdshell process was finished executing. Thus, if the server was restarted, it would not have been able to bind to the port used in the last run, and could not have been restarted unless a different port was specified. This has been fixed so that the port is closed when the process ends.



CR:447342
CR Number:   447342
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 3289 14 Nov 2006 Fixed
10.0.0 2524 14 Nov 2006 Fixed
Description
If a query used a SUM aggregate function with a NUMERIC argument in a query containing window OLAP features, it was possible for the server to have crashed. This has been fixed.



CR:447343
CR Number:   447343
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 3284 10 Nov 2006 Fixed
10.0.0 2753 10 Nov 2006 Fixed
Description
When using the Database Tracing wizard, clicking the Tracing Data page for a closed server could have caused an exception. This has been fixed by ensuring that the database is found before closing all connections on a server for the database.



CR:447345
CR Number:   447345
Product Name:   SQL Anywhere
Product Component:   JDBC Client Library
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3284 09 Nov 2006 Fixed
10.0.0 2753 09 Nov 2006 Fixed
9.0.2 3404 09 Nov 2006 Fixed
Description
If an application using the iAnywhere JDBC driver executed a statement, or prepared statement, that returned several tens of thousands of asynchronous messages to the client (i.e. calling a stored procedure that executes many MESSAGE ...TO CLIENT statements), then there it was very likely that the Java VM would either run out of memory or crash. If however, the stored procedure returned only a few messages per execution, calling the stored procedure tens of thousands of times would not have been a problem. This is now fixed.



Note, that for this problem to occur, the application must install an asynchronous message handler. the Interactive SQL utility is one such application.



This problem has now been fixed.



CR:447353
CR Number:   447353
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 3284 10 Nov 2006 Fixed
10.0.0 2753 10 Nov 2006 Fixed
Description
The Model Mode of the MobiLink plug-in would have added a CHAR(1) column to consolidated tables for which logical deletes were chosen to be used. With a SA, a CHAR(1) column is just one byte, so it can not hold multi-byte characters, even if a UTF8 database was used. Now an NCHAR column is used, except for DB2 consolidated databases (since DB2 does not support the NCHAR type, and in a Unicode DB2 database CHAR can hold multi-byte characters).



CR:447355
CR Number:   447355
Product Name:   SQL Anywhere
Product Component:   Other
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3404 10 Nov 2006 Fixed
Description
If the tracetime.pl Perl script (<asany>\Samples\ASA\PerformanceTraceTime\tracetime.pl) was run using a request log containing host variable information, the script would have hung. The script failed to increment a counter within a loop that was resetting the hostvar info. This has been fixed.



CR:447458
CR Number:   447458
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 3285 13 Nov 2006 Fixed
10.0.0 2519 13 Nov 2006 Fixed
Description
When the network protocol option MyIP specified a link-local IPv6 address on Linux, depending on Linux kernel version, the server would have failed to start, or broadcasts would not have worked. This has been fixed.



CR:447469
CR Number:   447469
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 3285 10 Nov 2006 Fixed
10.0.0 2753 10 Nov 2006 Fixed
Description
If a BACKUP DATABASE statement with a TRANSACTION LOG RENAME clause was performed on a mirrored database, the mirror server would have crashed at the completion of the backup. This has been fixed.



CR:447481
CR Number:   447481
Product Name:   UltraLite
Product Component:   UltraLite Engine
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3296 21 Nov 2006 Fixed
10.0.0 2759 21 Nov 2006 Fixed
Description
Given a query with a LEFT OUTER JOIN where the join condition was on an indexed column whose ID value was greater than 7, all rows after the first that had null values supplied on the right side (i.e. when the join condition was not satisfied) would have had null values for the null-supplying side.



For example:

SELECT id, c8 FROM T LEFT OUTER JOIN S on id = c8



If c8 was the 8th column in table S and the first row抯 value of id could not be found in c8, NULL would have been supplied for every value of c8 in the result set (even when S had a row where id = c8).



This has been fixed.



CR:447483
CR Number:   447483
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 3284 10 Nov 2006 Fixed
10.0.0 2753 10 Nov 2006 Fixed
Description
1) The -ea option ('strong encryption') on dbinit and dbunload now accepts the additional values of 'none' and 'simple' as encryption types. This switch no longer requires either of the -ek or -ep options. The option "-ea none" cannot be specified with -ek, -et, or -ep; and the option "-ea simple" cannot be specified with -ek or -ep.



The defaults for the -ea option are as follows:

1. "none" if none of -ek, -ep, or -et are used

2. "AES" if -ek or -ep is used (with or without -et)

3. "simple" if -et is used without -ek or -ep



2) The -e option ('simple encryption') on dbinit is now deprecated. It will still be accepted in 10.x, but is not listed in the usage, and will be removed in the next major release. Instead, "-ea simple" should be used for the same behaviour.



CR:447484
CR Number:   447484
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 3284 10 Nov 2006 Fixed
10.0.0 2753 10 Nov 2006 Fixed
Description
The syntax for creating encrypted databases has changed slightly. The syntax for the ENCRYPTED clause of the CREATE DATABASE statement is now:



ENCRYPTED OFF |

ON |

[ON] KEY key [ALGORITHM { AES | AES_FIPS } ] |

[ON] ALGORITHM { AES | AES_FIPS | SIMPLE } [KEY key]



The key and the algorithm can be specified in either order, and the algorithm can be specified without the key, although this is only useful for the 'simple' algorithm. The "SIMPLE" algorithm cannot be specified without a key. Algorithm names (AES, AES_FIPS, and SIMPLE) are case-insensitive.



This change only applies to the CREATE DATABASE statement; the CREATE ENCRYPTED FILE statement is unchanged.



CR:447585
CR Number:   447585
Product Name:   SQL Anywhere
Product Component:   OLEDB Client Library
Status:   Closed
OS:   Microsoft Windows
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3292 20 Nov 2006 Fixed
10.0.0 2756 20 Nov 2006 Fixed
9.0.2 3408 20 Nov 2006 Fixed
9.0.1 2189 20 Nov 2006 Fixed
8.0.3 5468 20 Nov 2006 Fixed
Description
When using Microsoft's Query Analyzer with Microsoft SQL Server, if a SELECT statement that used the OPENDATASOURCE procedure and specified the SQL Anywhere OLE DB provider was executed, it would have failed with the error: "Could not perform a Windows NT authenticated login because delegation is not available.".



For example:

SELECT * FROM OPENDATASOURCE('ASAProv.90','Data Source=dba_sql_90;User ID=dba;Password=sql')..dba.my_table



This has been fixed so that the OPENDATASOURCE procedure now works correctly.



CR:447602
CR Number:   447602
Product Name:   SQL Remote for SQL Anywhere
Product Component:   Mapi Messaging for Adaptive Server Anywhere
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3337 08 Jan 2007 Fixed
10.0.0 3337 08 Jan 2007 Fixed
9.0.2 3430 08 Jan 2007 Fixed
8.0.3 5486 08 Jan 2007 Fixed
Description
It was possible for SQL Remote to have generated MAPI messages which were visible in the account's inbox, even if the SQL Remote message link option for IPM_Send had been properly set to FALSE. The IPM_Send variable was not being properly initialized. This has now been fixed.



CR:447613
CR Number:   447613
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 3288 14 Nov 2006 Fixed
10.0.0 2523 14 Nov 2006 Fixed
9.0.2 3405 14 Nov 2006 Fixed
Description
A performance warning "Server cache size is too small for database '<dbname>'" could have been displayed in the server console even when the cache size was adequate for the size of the database. The problem was that the server was including the size of the transaction log in its space calculation. This has been fixed.



CR:447620
CR Number:   447620
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3290 15 Nov 2006 Fixed
10.0.0 2755 15 Nov 2006 Fixed
9.0.2 3406 15 Nov 2006 Fixed
Description
If a request log was generated using an application which dropped the statement for a query before the cursor on that statement was closed, the tracetime.pl Perl script would not have calculated the time for the statement correctly. This has been fixedso that the script now keeps track of statements for which a cursor is open, similar to the change made for sa_get_request_times in Engineering case 445069.
Workaround Description
 One possible workaround is to remove the lines representing the statement DROP from the request log before running tracetime.pl



CR:447679
CR Number:   447679
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 3288 14 Nov 2006 Fixed
10.0.0 2755 14 Nov 2006 Fixed
Description
If a primary key or a single column unique constraint was deleted, either from the Indexes folder or from a table's Indexes or Constraints tab, then the table's table editor on its Columns tab wouldn't have been updated automatically to reflect the deleted constraint(s). This has been fixed.



CR:447680
CR Number:   447680
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 3288 15 Nov 2006 Fixed
10.0.0 2754 15 Nov 2006 Fixed
Description
Changing the data type of a column from a data type that was either compressed or maintained blob indexes for large values, to a data type that didn't support either of these options, would have failed when attempting to save the changes to the table.



CR:447753
CR Number:   447753
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 3289 14 Nov 2006 Fixed
10.0.0 2755 14 Nov 2006 Fixed
Description
Interactive SQL could have reported an internal error (NullPointerException) if the database connection was lost immediately after being opened. This has been fixed.



CR:447782
CR Number:   447782
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 3289 14 Nov 2006 Fixed
10.0.0 2755 14 Nov 2006 Fixed
Description
The server could have reported spurious 104904 assertions ("latch count not 0 at end of request"). This would only have happened on multiprocessor machines. A problem with the per-connection counters in question has been corrected.



CR:447913
CR Number:   447913
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 3290 15 Nov 2006 Fixed
10.0.0 2755 15 Nov 2006 Fixed
Description
A blob column's "compressed" or "index" attributes could have been reset to their default values after running an ALTER TABLE "tabname" ALTER "colname" ... statement. The default value for "compressed" is OFF and the default value for "index" is ON. This problem would have occurred only if the ALTER TABLE statement did not specify a COMPRESSED or INDEX clause. The absence of the clause on the ALTER TABLE statement was taken to mean that it should use the default value. This has been corrected.



CR:447935
CR Number:   447935
Product Name:   SQL Anywhere
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 3295 20 Nov 2006 Fixed
10.0.0 2757 20 Nov 2006 Fixed
Description
The SQL preprocessor (sqlpp) could have crashed on certain ALTER statements. This has been fixed.
Workaround Description
 Add the column data type and this will work.



CR:447937
CR Number:   447937
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 3287 15 Nov 2006 Fixed
10.0.0 2523 15 Nov 2006 Fixed
Description
A change has been made to the server, and client tools, so that the interface identifier suffix on IPv6 addresses are now accepted when specified as part of the HOST network protocol option.



The documentation mentions that the interface identifier is "Windows only", but this no longer applies. Although Linux (kernel 2.6.13 and higher) is the only OS thus far that appears to require that the interface identifier be specified, the option is available on all versions of Unix.



Below are some examples of entering an IPv6 address as the host parameter:



Global scope address, unique everywhere, so no interface index is required

-c "links=tcpip(Host=fd77:55d:59d9:56a:202:55ff:fe76:df19)" // no index required

-c "links=tcpip(Host=fd77:55d:59d9:56a:202:55ff:fe76:df19%2)" // all communication will be done through interface 2

-c "links=tcpip(Host=fd77:55d:59d9:56a:202:55ff:fe76:df19%eth0)" // all communication will be done through eth0



Link scope address, addresses are unique on each interface

-c "links=tcpip(Host=fe80::202:55ff:fe76:df19)" // possibly ambiguous (i.e. this host may exist through both eth0 and eth1)

-c "links=tcpip(Host=fe80::202:55ff:fe76:df19%2)" // not ambiguous because it must use interface 2

-c "links=tcpip(Host=fe80::202:55ff:fe76:df19%eth0)" // not ambiguous because it must use eth0



CR:448074
CR Number:   448074
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)
9.0.2 3408 17 Nov 2006 Fixed
9.0.1 2189 17 Nov 2006 Fixed
Description
Repetition of a complex expression, inside and outside a window function argument, could have caused incorrect results for the outside copy. The problem has now been fixed.



Note, that this problem could also have occurred if an implicit cast of a simple expression was repeated both inside and outside a window function.



CR:448083
CR Number:   448083
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)
9.0.2 3408 17 Nov 2006 Fixed
9.0.1 2189 17 Nov 2006 Fixed
Description
A query that used both a keyset, and a complex expression involving a window function in the select list, may have crashed or given incorrect results. This is fixed.



CR:448088
CR Number:   448088
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 3290 17 Nov 2006 Fixed
10.0.0 2756 17 Nov 2006 Fixed
Description
A query containing a correlated subquery may have returned incorrect result set if the subquery contained a function whose arguments were aggregate functions and the subquery did not have a GROUP BY clause. For this problem to have occurred, the FROM clause expression must have returned no rows and the access plan for the query computed the subquery as a decorrelated derived table.



For example:

select * from syscolumn c

where

(select Coalesce(sum(t.Count), 0) from systable t

where file_id = 1 and t.table_id = c.table_id) >= 0



This problem has now been corrected



CR:448115
CR Number:   448115
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   7.0.00
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3291 17 Nov 2006 Fixed
10.0.0 2756 17 Nov 2006 Fixed
9.0.2 3408 17 Nov 2006 Fixed
Description
When run on Windows CE, the server could have hung when attempting to display a message if the PostMessage Windows function failed. This has been fixed so that if PostMessage fails, the server will assert but not hang.



CR:448214
CR Number:   448214
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 3292 20 Nov 2006 Fixed
10.0.0 2755 20 Nov 2006 Fixed
Description
If a temporary table containing a compressed column was used in the result set of a stored procedure or batch, the server may have failed assertion 101504 - 'mermory allocation size to large'. This would have been rare, as it would only happen if the size of the compressed data was slightly less than one page. This has been fixed.



CR:448223
CR Number:   448223
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   7.0.00
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3292 20 Nov 2006 Fixed
10.0.0 2756 20 Nov 2006 Fixed
9.0.2 3408 20 Nov 2006 Fixed
Description
A busy server with high CPU usage and hundreds, or thousands, of connections could have occasionally dropped a connection due to a liveness timeout. If this occurred, the liveness timeout would be detected by the client, and a message like "Disconnecting Client - 120 seconds since last contact" would have appeared in the client's logfile, if the logfile connection parameter was used. A change has been made to the server's liveness code so that connections should no longer be dropped in this case.



CR:448234
CR Number:   448234
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 3292 20 Nov 2006 Fixed
10.0.0 2527 20 Nov 2006 Fixed
Description
Under very rare conditions, unpredictable behaviour in TCP/IP connections may have been observed, including all TCP/IP traffic halting. A problem in the TCP/IP networking code that could have caused this behaviour has been fixed.



CR:448247
CR Number:   448247
Product Name:   UltraLite
Product Component:   UltraLite Engine
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3299 24 Nov 2006 Fixed
10.0.0 2760 24 Nov 2006 Fixed
Description
UltraLite has a restriction that the maximum size of a row for a table cannot exceed 64KB. The maximum size of a row can be roughly computed by adding the number of bytes required for each column. For example, consider the following table:

CREATE TABLE T( id int not null primary key, c1 bigint, c2 varchar(200), c3 binary(10) )

The maximum row size for this table is approximately 222 bytes (4 for id + 8 for c1 + 200 for c2 + 10 for c3 = 222). (Note that internal data structures may add a few bytes to this value). This restriction was not properly enforced, so it was possible to create a table with a row size greater than 64K. Attempting to use this table would have caused the UltraLite application to crash. Now, attempting to create or alter a table that results in a table with a row size greater than 64K will generate an error; -1132 : "Maximun row size exceeeded" (SQLE_MAX_ROW_SIZE_EXCEEDED).



In cases where a database exists with a table already defined to have a maximum row size greater than 64K, UltraLite will no longer allow a connection to this database. This is necessary because the existence of this kind of table could cause database corruption. Unloading the database before applying this fix should allow existing schema and possibly data in other tables to be preserved.



CR:448363
CR Number:   448363
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 3295 20 Nov 2006 Fixed
10.0.0 2757 20 Nov 2006 Fixed
9.0.2 3409 20 Nov 2006 Fixed
Description
The method SACommandBuilder.UnquoteIdentifier was not supported. Support for this method has now been added.



CR:448391
CR Number:   448391
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 3297 15 Dec 2006 Fixed
10.0.0 2757 21 Nov 2006 Fixed
Description
A simple update statement that modified a small fraction of columns in every row of a large table may have run inefficiently. This inefficiency was more likely to be noticed in temporary non-transactional tables, and has been addressed.



CR:448398
CR Number:   448398
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 3294 21 Nov 2006 Fixed
10.0.0 2756 21 Nov 2006 Fixed
Description
Simple updates with an index hint may not have updated all rows.

For example:

update T with( index( I ) ) set a = a + 1

Would only have updated the first row returned by the index I. The server was bypassing optimization of queries with index hints, even if the index was not unique. Now, updates with index hints are bypassed only if there is a covered unique index.



CR:448405
CR Number:   448405
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 3295 21 Nov 2006 Fixed
10.0.0 2757 21 Nov 2006 Fixed
9.0.2 3409 21 Nov 2006 Fixed
Description
Auto-starting a database with a connection string that contained the CharSet connection parameter, whose value differed from the OS charset, could have failed. This would have ocurred when a value for the EngineName, DatabaseName, or DatabaseFile parameters did not consist of ASCII characters. If it did succeed, the name of the auto-started server would have been mangled, and connections to it using a connection string that lacked the CharSet parameter, or that had a different value for this parameter, would have subsequently failed.



Note, this problem affected all connections using the iAnywhere JDBC driver, regardless of whether or not the CharSet connection parameter was explicitly specified. This also affected the Java Tools, and actions like, for instance, creating a database from Sybase Central that had a non-ASCII, non-UTF-8 name.



This has been fixed.



CR:448409
CR Number:   448409
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 3295 21 Nov 2006 Fixed
10.0.0 2530 21 Nov 2006 Fixed
Description
When run on Unix systems, if the server had insufficiently low system resources to successfully spawn a new process, connections may have hung after attempting to execute the xp_cmdshell() system procedure. This has been fixed by having the server ensure that the fork succeeded before proceeding.



CR:448425
CR Number:   448425
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 3295 21 Nov 2006 Fixed
10.0.0 2758 21 Nov 2006 Fixed
Description
Table relationships were not being added in DataSets generated by Visual Studio 2005. This has now been corrected.



CR:448489
CR Number:   448489
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 3305 30 Nov 2006 Fixed
10.0.0 2763 30 Nov 2006 Fixed
9.0.2 3413 30 Nov 2006 Fixed
8.0.3 5473 30 Nov 2006 Fixed
Description
A DESCRIBE of a statement may have returned a syntax error if the SELECT statement contained tables that had CHECK constraints, or articles with WHERE/SUBSCRIBE BY clauses. For this to have occurred the very next operation after PREPARE was an OPEN of a read-only cursor, and the statement described was executed after opening the cursor. This has been fixed.



CR:448491
CR Number:   448491
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 3295 21 Nov 2006 Fixed
10.0.0 2756 21 Nov 2006 Fixed
Description
The Language Selection utility dblang.exe now works without having to have administrator privilege. The SQL Anywhere installer creates language settings that are stored in HKEY_LOCAL_MACHINE in the Windows registry. Without Windows administrator privilege, these registry settings cannot be modified. Thus users had to login as administrator to change language settings for localized versions of SQL Anywhere. The Language Selection utility has been changed so that when it is used to change langauge settings, it will create an entry, or update an existing one, in HKEY_CURRENT_USER in the Windows registry.



CR:448493
CR Number:   448493
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 3397 01 Mar 2007 Fixed
10.0.0 2815 01 Mar 2007 Fixed
9.0.2 3459 01 Mar 2007 Fixed
Description
There was really no way of forcing the server to quote identifiers when attempting to execute a remote query that contained identifiers that needed to be quoted. The quoting of idetifiers by the server is based on specific rules within the Remote Data Access framework. This has now been enhanced to do a better job of quoting identifiers for certain classes of remote servers. In particular, the new more simplified, and more accurate rules, for quoting identifiers are:



- For SA, ASE, and MS SQL Server, the quoted_identifier option is now turned on by default at connect time and identifiers are always quoted.

- For Oracle, identifiers can always be quoted, so the server now always quotes identifiers in SQL generated for Oracle.

- For DB2 and generic ODBC remote servers, the old rules for quoting identifiers still apply. That is, quoting of identifiers is done based on whether or not the identifier contains special characters that require quoting.



CR:448501
CR Number:   448501
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3297 23 Nov 2006 Fixed
10.0.0 2759 23 Nov 2006 Fixed
9.0.2 3410 23 Nov 2006 Fixed
Description
The event viewer could have contained informational messages like "Service not able to access Desktop" or "Service able to access Desktop". These messages were the result of normal server startup. They are no longer generated by the starting of a service for a server.



CR:448506
CR Number:   448506
Product Name:   SQL Anywhere
Product Component:   Other
Status:   Closed
OS:   Microsoft Windows
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3271 12 Dec 2006 Fixed
10.0.0 2760 12 Dec 2006 Fixed
9.0.2 3412 12 Dec 2006 Fixed
Description
When SQL Remote for ASA/SA was the only feature selected for installation, the installer was failing to include certain files (dbtools*.dll, dblib*.dll, dblg*.dll) required for standalone operation. This has been fixed so that these files are now installed.



CR:448549
CR Number:   448549
Product Name:   UltraLite
Product Component:   UltraLite Engine
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3298 22 Nov 2006 Fixed
10.0.0 2760 22 Nov 2006 Fixed
Description
It was possible that an attempt by an UltraLite application to connect to the UltraLite engine could have caused the application to enter an infinite loop. When an UltraLite application disconnected from an auto-started engine, causing the engine to auto-stop, the UltraLite client code did not fully clean up its shared memory connection. Subsequent connection attempts would have caused the application to enter the infinite loop trying to auto-start the engine again. This has been fixed by having the UltraLite client clean up its shared memory connection.



CR:448637
CR Number:   448637
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 3296 22 Nov 2006 Fixed
10.0.0 2759 22 Nov 2006 Fixed
Description
If the MobiLink server could not find the Java native library mljstrm10, it would have failed with not very helpful errors in the server log. This has been fixed. Now, it displays an error dialog as originally intended, and logs other useful information to the server log.



CR:448659
CR Number:   448659
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 3297 23 Nov 2006 Fixed
10.0.0 2759 23 Nov 2006 Fixed
Description
When the Sybase Central MobiLink plug-in was in Model mode, creating a new remote database from a consolidated database with table's having LONG NVARCHAR columns, would have resulted in those columns being LONG BINARY in the remote. This has been fixed. Such columns will now be LONG NVARCHAR in the remote.



CR:448677
CR Number:   448677
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 3296 23 Nov 2006 Fixed
10.0.0 2532 23 Nov 2006 Fixed
Description
When the server was running with the TCP/IP network protocol enabled and no database running, or in the brief time between starting the server and starting the database, if a broadcast was received looking for a specific database name, the server could have crashed. This has been fixed.



CR:448735
CR Number:   448735
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 3296 23 Nov 2006 Fixed
10.0.0 2759 23 Nov 2006 Fixed
Description
Prior to 10.0.0, the EUC_TAIWAIN database collation used a character set that was labeled "eucb5", which appeared to be distinct from the cp950 character set used by the 950ZHO_TW collation; however, internally they were the very same character set (Windows cp950 / "Big5"). Also, the character set encoding definition in the EUC_TAIWAN collation matched neither Big5 nor the real EUC-TW character set (which Unilib in 9.x and earlier did not support).

In 10.0.0, the server now uses ICU and the character set "eucb5" used by the EUC_TAIWAN collation ended up using the "ibm-950_P110-1999" ICU character set which was distinct from (but close to) the ICU character set "windows-950-2000" used by the SQL Anywhere character set label "Big5" used by 950ZHO_TW.

The EUC_TAIWAIN collation now uses the EUC-TW character set and has had its character encoding specification corrected. EUC_TAIWAN databases created with 10.0.0 will continue to use the "eucb5" label for their character set; however, "eucb5" now maps to the windows-950-2000 ICU converter.

Although the EUC-TW character set was defined as "known by SQL Anywhere" (a client connection could request it, for example), the conversion tables for it were not shipped in the ICU dataset. Adding the EUC-TW conversion tables to ICU was the only part of this change made to 10.0.0.



CR:448751
CR Number:   448751
Product Name:   SQL Anywhere
Product Component:   ADO.Net Managed Provider
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3298 24 Nov 2006 Fixed
10.0.0 2760 24 Nov 2006 Fixed
9.0.2 3412 24 Nov 2006 Fixed
Description
Updating a DataTable using DataAdapter and CommandBuilder could have caused the exception DBConcurrencyException.



Example:



AsaDataAdapter adapter = new AsaDataAdapter( "SELECT * FROM mytable", conn );

DataTable table = new DataTable();

adapter.Fill( table );

table.Rows[ 0 ][ 1 ] = "ABCDEFG";

AsaCommandBuilder cb = new AsaCommandBuilder( adapter );

adapter.Update( table );



This problem has been fixed.



CR:448758
CR Number:   448758
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 3298 24 Nov 2006 Fixed
10.0.0 2760 24 Nov 2006 Fixed
Description
The description for files with .QAA extensions, that appeared in file browsers used by the QAnywhere plug-in, would have been "QAnywhere Agent Command Files". This has been corrected to be "Qanywhere Agent Configuration Files".



CR:448759
CR Number:   448759
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 3297 23 Nov 2006 Fixed
10.0.0 2759 23 Nov 2006 Fixed
9.0.2 3410 23 Nov 2006 Fixed
Description
The TDS DATE and TDS TIME datatypes were recently introduced into TDS clients. As a result, applications that use Open Client 15 or newer versions/ebfs of jConnect are now able to fetch date and time columns as TDS DATE or TDS TIME values instead of TDS DATETIME. Unfortunately, Open Client and jConnect applications wishing to fetch date and time columns as TDS DATE and TDS TIME could not do so when connected to SA servers. The server has now been enhanced so that TDS based applications can now fetch date and time data as TDS DATE and TDS TIME values if they so wish. Applications that use an older version of Open Client or jConnect will continue to fetch date and time data as TDS DATETIME.



Note that non-TDS based applications (i.e. applications that use ESQL, ODBC or the iAnywhere JDBC Driver) have always been able to fetch date and time data as DATE and TIME values.



CR:448760
CR Number:   448760
Product Name:   UltraLite
Product Component:   Runtime Libraries
Status:   Closed
OS:   Generic
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3298 24 Nov 2006 Fixed
10.0.0 2760 24 Nov 2006 Fixed
9.0.2 3412 24 Nov 2006 Fixed
8.0.3 5471 24 Nov 2006 Fixed
Description
Several improvements have been made for Palm HotSync reliability and VFS performance as follows:



- Devices with a sufficiently large heap (RAM) now use a RAM-based cache for VFS file access instead of a storage heap-based cache.



- A fix has been made to prevent a progress mismatch with MobiLink, if a reset was done at the right moment during a HotSync.



- A fix has also been made to resolve the problem where the HotSync conduit could have referenced freed memory (likely causing a crash), if the record database on the device was corrupt (missing pages), but caused no I/O errors.



CR:448819
CR Number:   448819
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 3298 24 Nov 2006 Fixed
9.0.2 3412 24 Nov 2006 Fixed
Description
If an ORDER BY expression contained an IN predicate that matched an expression in the SELECT list, it would have been treated as though there were no matching expression in the SELECT list, resulting is an error.



For example, the following query (run on asademo.db):

select case when name in ('syscolumns') then name else 'OTHERS' end

from sysobjects

group by case when name in ('syscolumns') then name else 'OTHERS' end

order by case when name in ('syscolumns') then name else 'OTHERS' end

would have failed with the error "Function or column reference to 'name' in the ORDER BY clause is invalid". This problem has been fixed.



CR:448821
CR Number:   448821
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 3387 20 Feb 2007 Fixed
10.0.0 2805 20 Feb 2007 Fixed
Description
Application of an EBF or Patch to a non-English system, could have caused the Network Server and/or MobiLink Server licenses to become corrupted. This has been fixed.



CR:448824
CR Number:   448824
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 3302 24 Nov 2006 Fixed
10.0.0 2761 24 Nov 2006 Fixed
Description
If an index entry for a row wasn't fully hashed, deleting the row might not have reclaimed the space for the row. Fully reorganizing a table could have increased the space allocated for the table by more than a factor of 30. This has now been fixed.



CR:448828
CR Number:   448828
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 3299 24 Nov 2006 Fixed
10.0.0 2760 24 Nov 2006 Fixed
9.0.2 3412 24 Nov 2006 Fixed
Description
If a non-DBA user created a view referencing a system table and granted SELECT permission on the view to another user, then that other user could not have selected from the view with a permission denied error. This was due to the non-DBA user not having SELECT permission on the system table WITH GRANT OPTION. The system table referenced could have been the SYS.DUMMY table referenced implicitly. This has now been fixed. A workaround would be to explicitly grant SELECT permission WITH GRANT OPTION on the system table to the view creator.



CR:448832
CR Number:   448832
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 3297 24 Nov 2006 Fixed
10.0.0 2759 24 Nov 2006 Fixed
9.0.2 3410 24 Nov 2006 Fixed
Description
Opening the Trigger wizard from the Triggers folder would have listed all tables, including proxy tables. This has been corrected so that proxy tables are now excluded, since a trigger on a proxy table will never execute.



CR:448834
CR Number:   448834
Product Name:   UltraLite
Product Component:   Runtime Libraries
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3299 24 Nov 2006 Fixed
10.0.0 2760 24 Nov 2006 Fixed
Description
There is code in ulglobal.h that checks that the CE version is at least 3.0:



#if defined(UNDER_CE) && UNDER_CE < 300

#error "UltraLite applications for Windows CE must target Windows CE 3.0 or later"

#endif



Embedded Visual C++ 3.0 and 4.0 automatically defined UNDER_CE to be 300 and 420, respectively, but, unfortunately, Visual Studio 2005 defines UNDER_CE, but does not set it to the CE version, which was causing this check to fail. The workaround is to change the default settings in VS 2005 so that UNDER_CE is defined to $(CEVER).



This has been fixed by removing the check, so that the default settings of Visual Studio 2005 will work. For 10.0.1 and later, ulglobal.h will check that _WIN32_WCE is at least 300. Embedded Visual C++ 3.0 and 4.0 and Visual Studio 2005 all define _WIN32_WCE to the CE version by default.



CR:448835
CR Number:   448835
Product Name:   UltraLite
Product Component:   UltraLite.NET
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3299 24 Nov 2006 Fixed
10.0.0 2760 24 Nov 2006 Fixed
Description
The method ULDataReader.HasRows, HasRows is part of the ADO.NET 2.0 specification, was performing poorly on large result sets. This has been fixed.





--------------------------------------华丽的分割线-------------------------------------------------------------------------
之前就已经研发成功了能够从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等等。
+-------------------------------------华丽的分割线-------------------------------------------------------------------------