远程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:434318
CR Number:   434318
Product Name:   MobiLink
Product Component:   QAnywhere server
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 2375 22 Jun 2006 Fixed
9.0.2 3327 22 Jun 2006 Fixed
Description
The QAnywhere MobiLink server could have processed, and subsequently not delivered, incoming JMS messages to its QAnywhere JMS connector if the QAnywhere MobiLink server consolidated database was inaccessible, for example because it had crashed. This has been fixed by allowing the default value of the ianywhere.connector.incoming.retry.timeout property to be set to -1, and making this the default. This means the connector will not give up trying to send the message.



As a work around, the connector property ianywhere.connector.incoming.retry.timeout can be set to a very large value, for example 1000000000. This property indicates how many times the QAnywhere connector will retry transferring a JMS message to QAnywhere before giving up. Unfortunately, the default value for this property was set to 5, which was much too low. It was not documented, improperly named, and had no support for specifying an infinite value. In recognition that this property's name implies a duration rather than a number of retries, a new property, ianywhere.connector.incoming.retry.max, has been added as a replacement for ianywhere.connector.incoming.retry.timeout. The property ianywhere.connector.incoming.retry.max indicates the maximum number of times the connector will retry transferring a JMS message to QAnywhere before giving up. The default is -1, which indicates that the connector will never give up. Please now use this new property.



Also, the fact that the QAnywhere connector had given up trying to transfer the message, was also not added to the dead message destination. Now, if the connector reaches the maximum number of subsequent failed attempts to transfer a JMS message to QAnywhere, the JMS message will be re-addressed to the ianywhere.connector.jms.deadMessageDestination property value.



CR:434364
CR Number:   434364
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.0 2375 20 Jun 2006 Fixed
9.0.2 3328 20 Jun 2006 Fixed
Description
If an external function DLL name contained a non-ASCII character, and the OS and database character sets were different, then the external function DLL would have failed to load with the following error:



Could not load dynamic library '<dll name>' [-620] ['WW006']



The external function DLL was being loaded using the name of the DLL encoded in the database's character set. This has been fixed so that the external function DLL is now loaded using the name of the DLL encoded in the native character set.



CR:434469
CR Number:   434469
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)
9.0.2 3366 28 Aug 2006 Fixed
8.0.3 5433 28 Aug 2006 Fixed
Description
The server may have crashed if a trigger on a table that had multiple triggers for the same event (ie. foreign keys with CASCADE referential actions), was currently executing and another connection's operation (e.g. create publication, alter table/view/publication, drop table/view/publication/domain, revoke) marked all the triggers for reload. This has been fixed.



CR:434510
CR Number:   434510
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.0 2377 22 Jun 2006 Fixed
9.0.2 3329 22 Jun 2006 Fixed
Description
Any variable name in an HTTP request that was HTTP encoded (e.g., "Test%20Name") was not being HTTP decoded before being presented to the user. This has been fixed.



CR:434597
CR Number:   434597
Product Name:   UltraLite
Product Component:   Runtime Libraries
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3334 29 Jun 2006 Fixed
Description
Opening a table in extremely low memory conditions may have caused an UltraLite application to crash. The Open() method on the generated class for a table calls ULTable::init() (in ulapi.c). This method then calls ULOpenBegin(), which could fail to allocate memory for the cursor if enough memory was not available. When this happens, an error is set, UL_RUNTIME_EXIT() is called, and NULL is return. The implementation of init() was checking for the NULL return, but also calling UL_RUNTIME_EXIT() again. This would have put the runtime into a state where the next call to the runtime would cause a crash. This is now fixed.



Since ulapi.c is a distributed source file, a work around for this problem is to remove the first call to UL_EXIT_RUNTIME() in ULTable::init().



CR:434601
CR Number:   434601
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.0 2379 27 Jun 2006 Fixed
9.0.2 3330 27 Jun 2006 Fixed
9.0.1 2166 27 Jun 2006 Fixed
Description
If a procedure appeared in a select's FROM clause, and the procedure's select list exceed the syntactic limit of the server, the server would have crashed during execution of the CREATE PROCEDURE statement. This has been fixed.



CR:434602
CR Number:   434602
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.0 2382 27 Jun 2006 Fixed
9.0.2 3333 27 Jun 2006 Fixed
Description
A new server command line option has been added, -su <password>, in order to specify the utility_db password, and deprecate the use of the util_db.ini file. Also, the GRANT CONNECT statement now allows changing the utility_db password, and the REVOKE CONNECT now allows disabling connections to the utility_db



New option documentation:



-su server option



Function: Set the password for the DBA user of the utility database (utility_db), or disables connections to the utility database.



Syntax: { dbsrv10 | dbeng 10 } -su password ...



Applies to: All operating systems and servers.



Description:

This options specifies the initial password for DBA user of the utility database. By using a value of NONE for the password, all connections to the utility database are disabled. You may wish to use dbfhide to obfuscate the password, and reference the obfuscated file on the command line.

If this option is not specified, the personal server allows connections with the DBA userid and any password. If this option is not specified, the network server does not allow connections to the utility database unless the util_db.ini file exists and the userid is DBA with a password which matches the password in the util_db.ini file. On a network server, if both -su and util_db.ini are used, util_db.ini is ignored.



Note util_db.ini is deprecated and will be removed a future version of SQL Anywhere. While connected to utility_db, the GRANT CONNECT TO DBA [IDENTIFIED BY 'new_password'] statement may be used to change the password for the DBA user of the utility database, and the REVOKE CONNECT FROM DBA statement can be used to disable connections to the utility_db.



Examples:

dbeng10 -su None demo.db

create util_db_pwd.cfg containing only the text "utilpwd"

dbfhide util_db_pwd.txt util_db_pwd_hide.txt

dbsrv10 -su @util_db_pwd_hide.txt -n my_server demo.db



See also:

- utility database

- util_db.ini



CR:434603
CR Number:   434603
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.0 2382 29 Jun 2006 Fixed
9.0.2 3333 29 Jun 2006 Fixed
Description
If the method AsaConnection.GetSchema was called while the connection already had a transaction, an exception would have been thrown. This problem has been fixed.



CR:434641
CR Number:   434641
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 3329 21 Jun 2006 Fixed
9.0.1 2166 21 Jun 2006 Fixed
Description
Use of an IF or CASE expression in an OLAP window function argument would have given a wrong result, unless the leading edge of the window was always the current row (e.g. when using "range between x preceding and current row"). This is fixed.



CR:434647
CR Number:   434647
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)
9.0.2 3329 22 Jun 2006 Fixed
Description
When upgrading a version 9.0.1 database to version 9.0.2, some views would have been missing. This would not have occurred if the starting database was older than version 9.0.1. This has been fixed.



CR:434740
CR Number:   434740
Product Name:   SQL Anywhere
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 2379 23 Jun 2006 Fixed
9.0.2 3330 23 Jun 2006 Fixed
Description
When using ECC or TLS encryption to connect, a number of parameters about the encryption certificate are specified, including the cerfificate company, unit and name. When an ODBC datasource was created with these parameters, it was necessary to specify all of the parameters. Omitting one of the parameters would have left the value empty in the connection string, possibly preventingthe connection from being made. This has been fixed so that empty parameters are no longer added to the connection string.



CR:434808
CR Number:   434808
Product Name:   MobiLink
Product Component:   QAnywhere client
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 2379 27 Jun 2006 Fixed
9.0.2 3330 27 Jun 2006 Fixed
Description
A QAnywhere message listener could have been starved of messages waiting to be delivered. If two or more listener were on a QAManager, and messages were put in the queue of one of the listeners as fast as it could process them, the other listeners would not have received any messages, even if there were messages in its queue. This has been fixed so that messages are delivered to listeners one at a time, with a round-robin algorithm.



CR:434814
CR Number:   434814
Product Name:   MobiLink
Product Component:   QAnywhere client
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 2378 27 Jun 2006 Fixed
9.0.2 3329 27 Jun 2006 Fixed
Description
A QAnywhere application could get into the situation where an excessive amount of CPU was being used. This would typically happen on Windows CE devices when three or more QAManagers with message listeners were opened and started. The problem can be avoided by increasing the database server's maximum number of concurrent requests (using the -gn option). For a QAnywhere application, the rule of thumb for the -gn value for the database server is: 3 * (number of QAManager's ) + 2. The "+ 2" is for the qaagent and dbmlsync. This has been corrected by adding a heuristic check to the QAManagerBase.Open method, so that it will fail when it detects that the number of active requests in the database server is too close to the maximum number of concurrent requests for that server.



CR:435039
CR Number:   435039
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.0 2380 27 Jun 2006 Fixed
9.0.2 3331 27 Jun 2006 Fixed
9.0.1 2167 27 Jun 2006 Fixed
Description
When starting a database on a running server by passing the DatabaseFile parameter (DBF), if the DatabaseKey parameter (DBKEY) is passed unnecessarily, the server prints a warning message using the database file name. If the database being connected to was the utility_db, for which there was no actual file, the server would have crashed. This has now been fixed.



CR:435045
CR Number:   435045
Product Name:   MobiLink
Product Component:   Synchronization Server
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3336 05 Jul 2006 Fixed
Description
If multiple blobs were synchronized from a remote to the consolidated, and the -bn command line option was used on the MobiLink server, it was possible for the MobiLink server to have hung while processing the download stream for this synchronization. This problem has been fixed so that synchronization of blobs will now complete as expected.



CR:435053
CR Number:   435053
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.0 2380 27 Jun 2006 Fixed
9.0.2 3331 27 Jun 2006 Fixed
Description
If all other server threads were blocked, and the last server thread attempted to execute a WAITFOR statement, the statement would have failed to wait and server usage would have risen to 100%. The wait failed as a thread deadlock would have occured on a wait. Executing WAITFOR on the last non-waiting thread will now generate a thread deadlock error and will no longer result in 100% CPU usage.



CR:435083
CR Number:   435083
Product Name:   SQL Anywhere
Product Component:   ODBC Client Library
Status:   Closed
OS:   Generic
Original Version:   8.0.3
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 2381 27 Jun 2006 Fixed
9.0.2 3331 27 Jun 2006 Fixed
9.0.1 2167 27 Jun 2006 Fixed
Description
Changing the rowset size (SQL_ATTR_ROW_ARRAY_SIZE) from a smaller to a larger value between calls to SQLFetchScroll, when using bookmarks on 64-bit platforms, would have caused the application to crash. The driver was not freeing the bookmark buffer, but was reusing the existing buffer without growing it. This problem has been fixed.



Note, a similar problem with the SQL Anywhere OLE DB provider on 64-bit platforms has also been fixed.



CR:435217
CR Number:   435217
Product Name:   MobiLink
Product Component:   Synchronization Server
Status:   Closed
OS:   Windows 2000
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3349 26 Jul 2006 Fixed
9.0.1 2171 26 Jul 2006 Fixed
8.0.3 5427 26 Jul 2006 Fixed
Description
If the upload_update synchronization event had been defined to accept both the new and old row values being synchronized, the table contained blob columns, and a new row value for one of the blob columns was of zero length, then the MobiLink Server would have returned the error : "Error: INTERNAL ERROR: occurred while retrieving a BLOB -- zero length". This problem has now been fixed.
Workaround Description
 None.



CR:435243
CR Number:   435243
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Solaris
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 2362 30 Jun 2006 Fixed
9.0.2 3334 30 Jun 2006 Fixed
Description
The server could have crashed when running a stored procedure following the execution of a DDL statemnt against the server. The server was failing to detect that a cached plan for a procedure that has been reloaded (due to a schema version change), was no longer valid. This has been fixed by not allowing plans to be cached if the procedure is flagged as needing a reload.



A workaround is to set the option MAX_PLANS_CACHED to zero (although this will hurt the performance of stored procedures).



CR:435328
CR Number:   435328
Product Name:   SQL Anywhere
Product Component:   ODBC Client Library
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 2389 28 Jun 2006 Fixed
9.0.2 3336 28 Jun 2006 Fixed
Description
The ODBC function SQLBindParameter could have incorrectly reported an "Invalid String or Buffer Length" error if parameters were passed at execution time. The check that would report this error to the SQLExecute call is now delayed, ensuring that the error is only reported when it is valid.



CR:435348
CR Number:   435348
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.0 2382 29 Jun 2006 Fixed
9.0.2 3333 29 Jun 2006 Fixed
Description
If an HTTPS connection was closed by the client while the initial connection handshake was still in progress, the server could have crash. This has been fixed.



CR:435511
CR Number:   435511
Product Name:   MobiLink
Product Component:   Monitor
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3264 28 Sep 2006 Fixed
10.0.0 2712 28 Sep 2006 Fixed
9.0.2 3380 28 Sep 2006 Fixed
Description
The MobiLink Monitor could have shown invalid counts for upload-only or download-only synchronizations, or possibly have shut down unexpectedly. This has been fixed.



CR:435643
CR Number:   435643
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.0 2384 30 Jun 2006 Fixed
Description
The FIPS parameter (when specified using the -xs or -ec server command line options) was ignored when the server was run on platforms that do not support FIPS. This has been fixed so that now if FIPS=YES is specified on a platform that does not support FIPS, an error message will be given, and the server will not start.



CR:435859
CR Number:   435859
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   8.0.3
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 2899 17 Jul 2006 Fixed
10.0.0 2403 17 Jul 2006 Fixed
Description
The ON EXISTING UPDATE clause of the INSERT statement can be used to update an existing row. The server now requires UPDATE privileges on the target table, in addition to the current INSERT privileges, if the ON EXISTING UPDATE clause of the INSERT statement is used.



CR:435885
CR Number:   435885
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.0 2390 05 Jul 2006 Fixed
9.0.2 3336 05 Jul 2006 Fixed
9.0.1 2168 05 Jul 2006 Fixed
Description
If a database was upgraded using the Upgrade Database wizard, jConnect support would always have be installed, regardless of whether the "Install jConnect meta-information

support" check box was checked or not. This has been fixed.



CR:435890
CR Number:   435890
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.0 2390 05 Jul 2006 Fixed
9.0.2 3336 05 Jul 2006 Fixed
9.0.1 2168 05 Jul 2006 Fixed
Description
After pressing Finish in the Upgrade Database wizard, it was possible to still cancel the upgrade operation by pressing the Escape key, even though the Cancel button was disabled in the Upgrading Database dialog. This has been fixed so that now Escape key presses are ignored while the database is being upgraded and the Cancel button is disabled.



CR:435951
CR Number:   435951
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 3340 05 Jul 2006 Fixed
Description
Expressions involving arithmetic operations with numeric data could have yielded results with a precision that was greater than the maximum allowed by the PRECISION database option. This has now been fixed.



CR:435957
CR Number:   435957
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.0 2390 05 Jul 2006 Fixed
9.0.2 3336 05 Jul 2006 Fixed
Description
Calling the method UltraLite_Table::UpdateBegin, while on a row that had been deleted by another cursor, would have caused the next row in the index to be updated instead. This has been fixed. Now the UpdateBegin call will fail with SQLE_NOTFOUND.



CR:435960
CR Number:   435960
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.0 2390 05 Jul 2006 Fixed
9.0.2 3336 05 Jul 2006 Fixed
Description
When an update was done to a row, any other cursors that were pointing to that row could have lost the results of previous UltraLite_Table::Set calls. This has been fixed.



CR:436098
CR Number:   436098
Product Name:   MobiLink
Product Component:   QAnywhere client
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 2391 06 Jul 2006 Fixed
9.0.2 3337 06 Jul 2006 Fixed
Description
Calling the QAManager Close() method could have taken up to 1 minute to return. The background receiver thread could have been interrupted, resulting in a cancel request which took a minute to timeout. Now the cancel request is retried until it succeeds, so the Close() method will always complete in a reasonable amount of time.



CR:436194
CR Number:   436194
Product Name:   SQL Anywhere
Product Component:   DBLIB Client Library
Status:   Closed
OS:   Microsoft Windows
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3338 17 Jul 2006 Fixed
Description
Attempting to autostart a server and database would fail if the DatabaseFile (DBF) parameter contained both apostrophes (single quotes) and spaces. This has been fixed.



Note, that apostrophes in database file names are not supported by CREATE DATABASE and other tools, so using apostrophes in database file names is not recommended.



CR:436293
CR Number:   436293
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.0 2393 07 Jul 2006 Fixed
9.0.2 3333 07 Jul 2006 Fixed
Description
When run on Unix systems, utilities such as Interactive SQL, when looking for a file with a filename with no extension, might fail to find the file even when present. The routine doing the search was appending the filename with a dot ".", even when there was no extension to add. This has been fixed.



CR:436306
CR Number:   436306
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 2893 07 Jul 2006 Fixed
10.0.0 2394 31 Jul 2006 Fixed
9.0.2 3337 31 Jul 2006 Fixed
Description
Attempting to make an encrypted connection using transport-layer security, from a

non-threaded Unix clients, would have caused the application to hang. This has now been fixed.



CR:436437
CR Number:   436437
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)
9.0.2 3338 17 Jul 2006 Fixed
Description
If the command history file could not be saved, the Interactive SQL utility would have reported an internal exception (NullPointerException in PlainView.updateMetrics) on shutdown. This has been fixed.



CR:436457
CR Number:   436457
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 3345 18 Jul 2006 Fixed
9.0.1 2170 18 Jul 2006 Fixed
Description
The server could have leaked memory if user-defined datatypes containing check constraints were used as column datatypes when creating tables. This would have resulted in a server slowdown, and eventually a "memory exhausted" error. This has been fixed.

In the course of fixing this problem a second memory leak was found that affected columns that had check constraints, but were not user defined datatypes. This has been fixed as well.



CR:436484
CR Number:   436484
Product Name:   MobiLink
Product Component:   ASA Client
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 2928 21 Aug 2006 Fixed
Description
The database option, DELETE_OLD_LOGS, has been extended so that SQL Remote, RepAgent and MobiLink delete offline transaction logs will wait before deleting offline transaction logs. The option can now additionally be set to a positive integer ('n D', 'n d', or 'n DAYS') which is the number of days to wait before deleting logs.



For example, running dbmlsync on 2006-08-18, against a remote database that contains "DELETE_OLD_LOGS = 10 days", will cause dbmlsync to only delete the offline transaction logs that were created on or before 2006-08-07. Any offline transaction logs that were created after 2006-08-07 will not be deleted, even if these offline transaction logs are no longer needed for synchronization.



CR:436575
CR Number:   436575
Product Name:   MobiLink
Product Component:   QAnywhere server
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 2883 18 Jul 2006 Fixed
10.0.0 2381 18 Jul 2006 Fixed
9.0.2 3332 18 Jul 2006 Fixed
Description
When using the QAnywhere JMS connector, a message may have appeared in the server log indicating that a problem with anywhere.ml.jdbcodbc.IConnection.setAutoCommit had occurred. The problem was with respect to resetting the autocommit status of a database connection used by the QAnywhere JMS connector. The error had no effect on the performance or accuracy of the connector, but the cause of the error has now been removed and the message should no longer occur.



CR:436578
CR Number:   436578
Product Name:   MobiLink
Product Component:   QAnywhere server
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 2381 17 Jul 2006 Fixed
9.0.2 3332 17 Jul 2006 Fixed
Description
A message available for download to a client may not have been downloaded. The message was not lost, and would likely have been downloaded on the next synchronization of that client. The problem could only have occurrec if the transmission rules used for the client included a reference to a custom message property. This has been fixed.



CR:436685
CR Number:   436685
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 2897 17 Jul 2006 Fixed
10.0.0 2400 17 Jul 2006 Fixed
Description
It was possible to create user IDs, server names and database names which required the user to quote the value in a connection string. In order to make it easier to connect, these user IDs, server names and database names are no longer allowed. The following are now invalid for use as user IDs, server names and database names:

- strings that begin with white space, or single or double quotes

- strings that end with white space

- strings that contain semicolons



CR:436708
CR Number:   436708
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 2897 17 Jul 2006 Fixed
10.0.0 2400 17 Jul 2006 Fixed
Description
If the Unload utility was used with the -an or -ar command line options, on a database with encrypted tables enabled (and contained at least one encrypted table), and neither the -et nor -er switches were used, it would have created the new database and then failed with the error "This database does not support encrypted tables". This has been fixed so that dbunload now requires that one of the -er or -et switches must be specified when reloading a database that has encrypted tables enabled, and will display a message to that effect if neither switch has been given.



CR:436711
CR Number:   436711
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 2897 17 Jul 2006 Fixed
10.0.0 2400 17 Jul 2006 Fixed
Description
If a view was marked as disabled, and permissions had been granted for it, attempting to rebuild the database would have resulted in an error when the GRANT statements for the view were executed. This has been fixed by moving the the GRANT statements until after the ALTER VIEW ... DISABLE statement when rebuilding a database.



CR:436988
CR Number:   436988
Product Name:   MobiLink
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3340 18 Jul 2006 Fixed
Description
The Listener utility for Windows, now logs the command line options when verbosity is 1 or higher.



CR:436994
CR Number:   436994
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 2899 17 Jul 2006 Fixed
10.0.0 2402 17 Jul 2006 Fixed
9.0.2 3340 17 Jul 2006 Fixed
Description
Illegal XML element names would have been generated within the WSDL output of a SQLAnywhere DISH service whose name contained one or more forward slash ('/') characters. This caused some SOAP toolkit clients to fail, notably, Visual Studio 2003 C# .NET will fail to 'Add WebReference' if the DISH service name contained a '/'. This has been fixed so that DISH services may not be created or altered if the service name contains a forward slash.



Note, any other service name may contain a forward slash.



CR:437013
CR Number:   437013
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 2899 18 Jul 2006 Fixed
10.0.0 2403 18 Jul 2006 Fixed
9.0.2 3341 18 Jul 2006 Fixed
Description
UPDATE and DELETE statements that were automatically generated by the provider would have failed if table had nullable columns. This problem has been corrected.



CR:437104
CR Number:   437104
Product Name:   MobiLink
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3342 18 Jul 2006 Fixed
Description
The Listener utility for Windows, when shutdown on CE devices under heavy load may have taken a long time. Changes have been made to improve shutdown times when the device is under load.



CR:437122
CR Number:   437122
Product Name:   SQL Anywhere
Product Component:   ISQL
Status:   Closed
OS:   Generic
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 2902 18 Jul 2006 Fixed
10.0.0 2697 18 Jul 2006 Fixed
9.0.2 3342 18 Jul 2006 Fixed
9.0.1 2170 19 Jul 2006 Fixed
Description
When using Interactive SQL in console mode (ie with -nogui command line option), result sets data could have been truncated unnecessarily if the column name was shorter than any of the data in the column, and if the column data contained leading and/or trailing blanks. This has been fixed.



CR:437144
CR Number:   437144
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 3266 03 Oct 2006 Fixed
Description
The ALTER MATERIALIZED VIEW ... DISABLE statement can be used to disable a materialized view. If the materialized view being disabled was referenced by other views, i.e., had dependent views, then the ALTER statement would have failed with an error. A work-around is to disable the dependent views explicitly before attempting to disable the referenced materialized view. The server will now allow the ALTER statement to succeed. Remember that disabling a view, materialized or otherwise, also disables all dependent views. In addition, for materialized views, all materialized data is deleted and all indexes dropped. If and when the materialized view is re-enabled, indexes must be recreated and the data refreshed.



CR:437162
CR Number:   437162
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 2903 18 Jul 2006 Fixed
10.0.0 2407 18 Jul 2006 Fixed
Description
The information for procedure and function parameters in the catalog could have contained incorrect values for the user_type and default fields. This has been fixed so that the catalog information is now generated correctly.



CR:437266
CR Number:   437266
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 3366 28 Aug 2006 Fixed
Description
If a proxy table was created that referenced a table that had columns with unsigned datatypes (i.e. unsigned smallint, unsigned bigint, and unsigned int), then querying the data of the proxy table would have given incorrect conversion errors. This problem has now been fixed.



CR:437270
CR Number:   437270
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 2897 18 Jul 2006 Fixed
9.0.2 3339 18 Jul 2006 Fixed
Description
In rare situations, the server could have stopped processing requests for a database when one user was attempting to CREATE, DROP or ALTER a procedure while other users were calling procedures. This has been fixed.



CR:437296
CR Number:   437296
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 2903 18 Jul 2006 Fixed
10.0.0 2697 18 Jul 2006 Fixed
9.0.2 3343 18 Jul 2006 Fixed
Description
If an RPC call was made to an ASE remote server, the call may have failed or hung. The problem was due to to the fact that RPC calls to ASE usually need to be made with AUTOCOMMIT on. RPC calls are now always made with AUTOCOMMIT on regardless of the back end, whereas previous calls were made within a transaction with AUTOCOMMIT off.



CR:437306
CR Number:   437306
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 2903 19 Jul 2006 Fixed
10.0.0 2697 19 Jul 2006 Fixed
9.0.2 3343 19 Jul 2006 Fixed
9.0.1 2170 19 Jul 2006 Fixed
8.0.3 5426 19 Jul 2006 Fixed
Description
It was possible, although extremely rare, for a database to get into an inconsistent state, where some rolled back transactions would appeared to have been committed. The chances of this happening were moret likely when performing several large operations without doing any commits, and the operations also spanned checkpoints. The connection doing the operations would have needed to be disconnected before committing, and then the server must have gone down dirty at the appropriate time. It also would have been more likely when 'savepoints' and 'rollback to savepoint' were used. This has now been fixed.



CR:437392
CR Number:   437392
Product Name:   MobiLink
Product Component:   Synchronization Server
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
Description
A new MobiLink server HTTP stream option, called session_key, has been added. This option determines how the MobiLink server tracks non-persistent HTTP sessions.



The option is used as follows:



dbmlsrv9 ... -x http(...;session_key=[cookie|header];...) ...



When the session_key is cookie, an HTTP cookie is used to track HTTP sessions. When the session key is header, an HTTP header is used. The default value is cookie.



CR:437399
CR Number:   437399
Product Name:   MobiLink
Product Component:   Synchronization Server
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 2905 20 Jul 2006 Fixed
10.0.0 2409 20 Jul 2006 Fixed
9.0.2 3344 20 Jul 2006 Fixed
Description
If a repeatable notification was sent, and the confirmation was not received within the acknowledgement timeout of the delivering gateway, the notifier would have started polling the database once a second. This problem has been fixed.



CR:437586
CR Number:   437586
Product Name:   UltraLite
Product Component:   Native UltraLite for Java
Status:   Closed
OS:   Generic
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3346 21 Jul 2006 Fixed
Description
Attempting to use IBM's J9 VM with Native UltraLite for Java would have caused exceptions regarding deprecated methods in DatabaseManager. IBM's J9, based on CDC 1.1/Foundation 1.1/Personal Profile 1.1, is now supported.



CR:437684
CR Number:   437684
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 2933 24 Aug 2006 Fixed
10.0.0 2697 24 Aug 2006 Fixed
Description
Results of aggregate functions might have been described as belonging to a user-defined domain, but the underlying data type would not have matched the definition of the user-defined domain.



In a related issue, the result of casting a value to a user-defined data type might not have been described with the appropriate user-defined domain.



Both these problems have been fixed.



CR:437688
CR Number:   437688
Product Name:   SQL Anywhere
Product Component:   ISQL
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
1301 07 Dec 2007 Fixed
Description
If a relative path name is used in a READ statement, and the READ statement itself appears in a .SQL file, the directory containing the calling file is now searched when resolving the name of the called file. As an example, suppose there are two files, "test1.sql" and "test2.sql", both in "c:\test", and that "test1.sql" contains the line:

READ test2.sql;

If the current directory is "C:\Home", and the following is run:

DBISQL c:\test\test.sql

the READ statement is now able to resolve the relative file name "test2.sql" to "c:\test\test2.sql" by using the folder name of the file which contains the READ statement. Previously, "test2.sql" would not have been found unless it was in the path, or SQLPATH.



CR:437700
CR Number:   437700
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 2912 21 Jul 2006 Fixed
10.0.0 2421 28 Jul 2006 Fixed
9.0.2 3345 28 Jul 2006 Fixed
8.0.3 5427 28 Jul 2006 Fixed
Description
When the database option Temp_space_limit_check was set to 'on', the temporary file space used by user temporary tables, such as those created with DECLARE LOCAL TEMPORARY TABLE, was not included in the temporary space limit checking. This has now been fixed.



CR:437815
CR Number:   437815
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 2907 24 Jul 2006 Fixed
10.0.0 2697 24 Jul 2006 Fixed
9.0.2 3348 24 Jul 2006 Fixed
9.0.1 2171 24 Jul 2006 Fixed
8.0.3 5427 24 Jul 2006 Fixed
Description
A client application would have crashed when a connection attempt was made using a connect string that used the hash char '#' in place of the equal sign '=' for the CommLinks option VerifyServerName (e.g. "Verify#No"). This has been fixed.



CR:437957
CR Number:   437957
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)
9.0.2 3352 01 Aug 2006 Fixed
Description
The error message: "Package 'SQL Anywhere Explorer' has failed to load propertly... ", would have been displayed when attempting to open SQL Anywhere Explorer in Visual Studio 2005. This problem has been fixed.



CR:437964
CR Number:   437964
Product Name:   UltraLite
Product Component:   Analyser Java Classes
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3349 27 Jul 2006 Fixed
9.0.1 2171 27 Jul 2006 Fixed
Description
Compilation errors could have been produced if an application contained a TRUNCATE TABLE statement on a table that was not referenced in other statements, and there existed a foreign key which referenced a table that was referenced in other statements. This has now been corrected.



CR:438075
CR Number:   438075
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 2912 26 Jul 2006 Fixed
10.0.0 2697 26 Jul 2006 Fixed
9.0.2 3349 26 Jul 2006 Fixed
Description
If the server was started with the TCP/IP option ServerPort=0, no connection through that link was possible, and the client error message did not help in diagnosing the cause. This has been fixed so that the server can no longer be started if one of the specified server ports is 0, and the error message "Illegal value for option 'ServerPort'" will be displayed.



CR:438119
CR Number:   438119
Product Name:   SQL Anywhere
Product Component:   JDBC Client Library
Status:   Closed
OS:   Generic
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 2912 27 Jul 2006 Fixed
10.0.0 2420 27 Jul 2006 Fixed
9.0.2 3349 27 Jul 2006 Fixed
Description
If a connection was made from Sybase Central to a SQL Anywhere server, using the iAnywhere JDBC Driver, and then a subsequent connection attempt was made to an ASE server within the same Sybase Central session using the ASE plug-in and jConnect, the connection to ASE would have failed. This problem has been fixed.



CR:438139
CR Number:   438139
Product Name:   SQL Anywhere
Product Component:   Utilities
Status:   Closed
OS:   Microsoft Windows
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 2932 04 Aug 2006 Fixed
10.0.0 2697 04 Aug 2006 Fixed
9.0.2 3364 04 Aug 2006 Fixed
Description
If a database having dbspaces with fully-qualified pathnames was backed up, there was no way to start the backed-up copy of the database on the same machine as the original database, while the original database was still running. A new server command line option "-ds <dir>" has been added to tell the server where to find all of the dbspaces and transaction log for the database. The START DATABASE statement has a new clause as well to provide the same information:

START DATABASE 'db-file' ... DIRECTORY 'dbspace-directory'

When a dbspace directory is specified, the server will look only in that directory for the files for that database. For example, if the server is started in the same directory as all of the dbspaces, adding "-ds ." will tell the server to find the log and all dbspaces in the current directory.



During startup, a message will be displayed in the server messages window, e.g.:

Opening dbspace file 'path\sp1.db'

to indicate the location of the dbspace.



CR:438141
CR Number:   438141
Product Name:   UltraLite
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3349 28 Jul 2006 Fixed
Description
If the ulload utility was used (without using the -i option) to load data into a _nosync table, then any future deletes to those loaded rows would have been leaked. This may eventually have caused UltaLite to hit its 64K row limit (SQLE_DBSPACE_FULL error will be raised in this case). There was no way to clean up the leaked rows, so the table could no longer have been updated once the 64K limit was reached.



The workaround is to use ulload -i. This has been fixed by effectively invoking the -i functionality, but only for _no_sync tables. So now rows populated through ulload can be deleted, and they will be physically removed from the database on a commit.



CR:438225
CR Number:   438225
Product Name:   SQL Anywhere
Product Component:   ISQL
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3349 27 Jul 2006 Fixed
Description
It is now possible to change the setting of the "Show multiple result sets" checkbox (Tools->Options->results), using the SET statement. The name of the option is "isql_show_multiple_result_sets". Allowable values are "on" and "off" (case-insensitive).



For example:

SET TEMPORARY OPTION isql_show_multiple_result_sets = on;



This is not a new option per-se, but the ability to modify it from the SET statement is new.



CR:438231
CR Number:   438231
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 2912 28 Jul 2006 Fixed
10.0.0 2697 28 Jul 2006 Fixed
9.0.2 3350 28 Jul 2006 Fixed
8.0.3 5427 28 Jul 2006 Fixed
Description
Attempting to execute a statement using the Open Client isql utility, that failed with a conversion error, and which referenced to a proxy table, would have leaked cache memory. If such statements were executed many, many times, the server would have eventually failed with a "Fatal Error: Memory Exhausted". This has now been fixed.



CR:438265
CR Number:   438265
Product Name:   SQL Anywhere
Product Component:   ODBC Client Library
Status:   Closed
OS:   Generic
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 2912 28 Jul 2006 Fixed
10.0.0 2421 28 Jul 2006 Fixed
9.0.2 3350 28 Jul 2006 Fixed
Description
On Unix platforms, if the sum of the lengths of all the keys in the [ODBC Data Sources] section of .odbc.ini, added to the number of the keys in the section, equaled one less than some multiple of 100 (i.e., 99, 199, 299, etc.), calling SQLDataSources may have caused memory corruption. This has been fixed.



A workaround is to change data source names such that the above condition is avoided.



CR:438405
CR Number:   438405
Product Name:   SQL Anywhere
Product Component:   Other
Status:   Closed
OS:   Windows CE 2.11
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 2917 04 Aug 2006 Fixed
10.0.0 2430 04 Aug 2006 Fixed
9.0.2 3354 04 Aug 2006 Fixed
Description
When using the Database Tools interface, calling DBToolsInit followed by DBToolsFini, would have resulted in a few kilobytes of memory being left unfreed. The amount would have been relatively constant.



Calling DBSynchronizeLog, would also have resulted in memory being left unfreed. The amount of memory left unfreed was proportional to the number of articles contained in all the publications involved in synchronization subscriptions in the database being synchronized.



Both of these memory leaks have now been fixed.



CR:438514
CR Number:   438514
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 1917 02 Aug 2006 Fixed
10.0.0 2427 02 Aug 2006 Fixed
9.0.2 3353 02 Aug 2006 Fixed
Description
The MobiLink Listener (dblsn.exe) may have appeared to hang indefinitely, resulting in the necessity to kill it, while shutting down the QAnywhere Agent. The QAnywhere Agent hangs indefinitely waiting for the MobiLink Listener to shutdown. This would have happened when the QAnywhere Agent was shut down soon after starting, after dblsn had been launched and before dblsn was ready to receive a shutdown command. This has now been fixed.



CR:438528
CR Number:   438528
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 2915 01 Aug 2006 Fixed
10.0.0 2425 01 Aug 2006 Fixed
9.0.2 3352 01 Aug 2006 Fixed
Description
The name of the table's owner was not being added to automatically generated INSERT, UPDATE and DELETE statements by ADO.NET 2.0 provider. This has now been fixed by setting the BaseSchemaName to the table's owner.



CR:438529
CR Number:   438529
Product Name:   MobiLink
Product Component:   Synchronization Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 2917 02 Aug 2006 Fixed
10.0.0 2427 02 Aug 2006 Fixed
9.0.2 3353 02 Aug 2006 Fixed
Description
When a repeatable notification was sent, and the confirmation was not received within the acknowledgement timeout of the delivering gateway, the notifier would have deleted the request prematurely without respecting the repeatability of the request. This problem was introduced by the changes for Engineering case 437399, and hais now been fixed.



CR:438857
CR Number:   438857
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 2917 08 Aug 2006 Fixed
10.0.0 2429 08 Aug 2006 Fixed
9.0.2 3354 08 Aug 2006 Fixed
Description
The server could have incorrectly detected CPU characteristics, such as the number of physical and logical cores, when run on some newer processor architectures. This has been fixed.



CR:438976
CR Number:   438976
Product Name:   SQL Anywhere
Product Component:   ISQL
Status:   Closed
OS:   Generic
Original Version:   8.0.3
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 2918 10 Aug 2006 Fixed
10.0.0 2432 10 Aug 2006 Fixed
9.0.2 3354 10 Aug 2006 Fixed
Description
Executing a STOP ENGINE statement would not have caused the Interactive SQL title bar text to revert to "(Not Connected)". As a result, users may have had the impression that they were still connected, even when they weren't. The title text is now updated after execution of a STOP ENGINE statement if the connection is closed.



CR:439163
CR Number:   439163
Product Name:   MobiLink
Product Component:   QAnywhere server
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 2922 08 Aug 2006 Fixed
10.0.0 2436 08 Aug 2006 Fixed
9.0.2 3356 08 Aug 2006 Fixed
Description
The error "Too many connections in use" may have appeared in the QAnywhere MobiLink server log. It may have occurred if a JMS connector had been configured and started, and the JMS connector was handling a large volume of incoming messages from JMS to QAnywhere. The error would not have affected accurate delivery of messages, but may have had an impact on performance. This has been fixed.



CR:439201
CR Number:   439201
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 2922 09 Aug 2006 Fixed
10.0.0 2436 09 Aug 2006 Fixed
Description
Executing the ALTER TABLE statement on a table that contained deleted rows, could have left the table corrupted. This has been fixed.



CR:439213
CR Number:   439213
Product Name:   SQL Anywhere
Product Component:   ISQL
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 2926 18 Aug 2006 Fixed
10.0.0 2697 18 Aug 2006 Fixed
9.0.2 3360 18 Aug 2006 Fixed
Description
Global temporary tables were not listed in the "Lookup Table Name" window. There were inadvertently excluded, and are now listed.



CR:439377
CR Number:   439377
Product Name:   UltraLite
Product Component:   UltraLite Engine
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 2748 02 Nov 2006 Fixed
9.0.2 3398 02 Nov 2006 Fixed
Description
Two special values "default_internet" and "default_work", are now recognized for the network_name client synchronization parameter on Windows CE These values represent the default internet network and default work network, as specified via the Start->Settings->Connections->Connections dialog. The network_name parameter still accepts the name of a specific network profile as before.



CR:439591
CR Number:   439591
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 2924 15 Aug 2006 Fixed
10.0.0 2697 15 Aug 2006 Fixed
Description
If the PASSWORD or DATABASEKEY connection parameters were entered on the Interactive SQL command line, any leading or trailing blanks would have been inadvertently trimmed, even if the string was quoted. The blanks are now preserved.



CR:439597
CR Number:   439597
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)
9.0.2 3365 24 Aug 2006 Fixed
Description
The server may have crashed if a select list alias (e.g. "cols" in the example below) was used in a LIKE predicate.



For example:

select table_name,

( select list(column_name) from syscolumn a where a.table_id = b.table_id ) cols

from systable b

where cols like 't%'



This has been fixed.



CR:439687
CR Number:   439687
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 2926 18 Aug 2006 Fixed
10.0.0 2446 18 Aug 2006 Fixed
9.0.2 3360 18 Aug 2006 Fixed
Description
SQL Anywhere web service client HTTPS connections may have truncated received data. This has been fixed.



CR:439693
CR Number:   439693
Product Name:   SQL Anywhere
Product Component:   ISQL
Status:   Closed
OS:   Generic
Original Version:   7.0.00
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 2925 18 Aug 2006 Fixed
10.0.0 2697 18 Aug 2006 Fixed
Description
Attempting to disconnect from a database which had already closed the connection, could have caused two error messages to be generated. One warning that changes could not be committed (if the Commit/On exit option was checked), and another notifying the user that the connect had been closed. Now, at most the warneing that changes could not be committed is displayed.



CR:439705
CR Number:   439705
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)
9.0.2 3366 28 Aug 2006 Fixed
Description
If a query contained a nested loops join with a subselect expression used for the first time on the null-supplying side of the join, and also used above the nested loops join, then the query could return the wrong answer or possibly crash. This has been fixed.



CR:439707
CR Number:   439707
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 2941 31 Aug 2006 Fixed
10.0.0 2697 31 Aug 2006 Fixed
9.0.2 3368 31 Aug 2006 Fixed
8.0.3 5434 31 Aug 2006 Fixed
Description
It was possible for the server to have crashed if the system procedure sa_server_option( 'RequestLogFile', ... ) was called while requests were running. This was less likely on single processor machines. This has been fixed.



CR:439710
CR Number:   439710
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 2931 21 Aug 2006 Fixed
10.0.0 2697 21 Aug 2006 Fixed
9.0.2 3363 21 Aug 2006 Fixed
9.0.1 2176 21 Aug 2006 Fixed
8.0.3 5430 21 Aug 2006 Fixed
Description
Trying to use the TableData adapter wizard with a Dataset, would have failed with the message "Generated SELECT statement: 'ASAProv.90' failed with no error message available, result code: DB_E_DELETEDROW(0x80040E23)". This problem has been fixed.



CR:439713
CR Number:   439713
Product Name:   SQL Anywhere
Product Component:   JDBC Client Library
Status:   Closed
OS:   Generic
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3360 16 Aug 2006 Fixed
Description
If an application called ResultSet.close(), and the underlying ODBC driver threw an error when closing the result set, then the iAnywhere JDBC Driver would have thrown a JNI exception complaining about making a JNI call with a pending exception. This problem has now fixed by ignoring the error from SQLFreeStmt.



CR:439790
CR Number:   439790
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)
9.0.2 3363 21 Aug 2006 Fixed
Description
The selectivity estimation of a predicate of the form 'col IS NULL' is now recomputed if the column 'col' is generated by the null-supplying side of an outerjoin, and the predicate is evaluated after the outerjoin is computed. Previously under these conditions, the selectivity estimation used (for example, the histogram for the column 'col') was not accurate, as those estimates did not take into account that the column 'col' may have been NULL supplied by the outerjoin.



CR:439802
CR Number:   439802
Product Name:   MobiLink
Product Component:   QAnywhere server
Status:   Closed
OS:   Linux
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3360 22 Aug 2006 Fixed
Description
If the consolidated database had a message repository containing several million messages, startup time of the MobiLink QAnywhere server may have taken several minutes. This has been fixed so that the startup time should now be the same, regardless of the number of messages in the repository.



CR:439903
CR Number:   439903
Product Name:   MobiLink
Product Component:   QAnywhere client
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3381 03 Oct 2006 Fixed
Description
When the QAnywhere agent was running and the device was connected to a network (e.g. wired, wireless, etc.), the device seemed to dramatically slow down. For any other combination of QAnywhere agent running and network connectivity, the device performance was fine. This has been addressed by a performance optimization in the upload part of the QAnywhere data synchronization process. The performance slowdown occurred when the QAnywhere agent was performing repeated data synchronizations, such as when the device is connected, the policy is automatic, and an application is adding messages to a queue at a high frequency. This performance optimization should decrease the time spent processing the upload by about 33%. An approach worth considering in this scenario is to use transmission rules, or ondemand policy, to batch several messages puts before triggering a message transmission to the server.



CR:440007
CR Number:   440007
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 2918 18 Aug 2006 Fixed
10.0.0 2697 18 Aug 2006 Fixed
9.0.2 3356 18 Aug 2006 Fixed
Description
The Interactive SQL utility now supports the new DIRECTORY clause added to the START DATABASE statement by Engineeering case 438139.



CR:440029
CR Number:   440029
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 2927 18 Aug 2006 Fixed
10.0.0 2447 18 Aug 2006 Fixed
9.0.2 3556 24 Aug 2006 Fixed
8.0.3 5431 24 Aug 2006 Fixed
Description
Database corruption, and server crashes and assertions, could have occurred if a database was modifed while in the process of being backed up. This could only have happened on systems with multi-core processors. In 9.x and earlier servers, this could also have happened if many thousands of locks had been obtained.



Note that if a server was running multiple databases, databases other than the one being backed up could have been affected.



CR:440037
CR Number:   440037
Product Name:   SQL Anywhere
Product Component:   ISQL
Status:   Closed
OS:   Generic
Original Version:   7.0.00
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 2931 22 Aug 2006 Fixed
10.0.0 2697 22 Aug 2006 Fixed
9.0.2 3362 22 Aug 2006 Fixed
Description
The Input Wizard could have crashed when double-clicking the "Finish" button, and was most likely to have occurred when the computer was busy. A similar problem could have occurred with the "Next" button if the table which was beaing imported into was locked, and the database option "Blocking" was "on". This has been fixed by having the Wizard prevent any interaction with a control while it is busy with a request to database.



CR:440041
CR Number:   440041
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)
9.0.2 3369 05 Sep 2006 Fixed
Description
The hash join algorithm has an optimization to scan the right input using an index scan if the left side is small enough such that using the index provides a cheaper strategy (shown as JHx in the plan). In some cases, the use of this indexed strategy could have caused a server crash. One particular way for this problem to occur was for the right hand table to contain a large number of rows that had been deleted with the deletes not yet commited. This problem has been fixed.



CR:440124
CR Number:   440124
Product Name:   SQL Anywhere
Product Component:   ODBC Client Library
Status:   Closed
OS:   Microsoft Windows
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 2935 28 Aug 2006 Fixed
10.0.0 2456 28 Aug 2006 Fixed
9.0.2 3366 28 Aug 2006 Fixed
Description
The ODBC function SQLBindParameter is used to specify a data buffer address or offset, and a data length/indicator address or offset. As offsets, these values are combined with the address specified by SQLSetStmtAttr(SQL_ATTR_PARAM_BIND_OFFSET_PTR) to produce an actual memory addresses. A change to the SQL Anywhere ODBC driver to check data buffer alignment failed to combine the offset and address which when referemnced, resulted in a memory access violation. This problem has been fixed.



CR:440132
CR Number:   440132
Product Name:   MobiLink
Product Component:   QAnywhere server
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 2931 21 Aug 2006 Fixed
10.0.0 2451 21 Aug 2006 Fixed
9.0.2 3358 21 Aug 2006 Fixed
Description
When not utilizing push notifications, the extra processing done on the MobiLink server to process notifications was wasted. A new server configuration parameter ianywhere.qa.server.disableNotifications has been added, that will allow disabling server-side notification processing. The parameter, which defaults to "false", should be set to "true" to disable server-side notification processing. Disabling process notification should improve performance when not using push notification.



CR:440134
CR Number:   440134
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)
9.0.2 3366 25 Aug 2006 Fixed
Description
If the Datasource utility was executed with the -g option on a non-existent DSN, or if -g or -gu was used on a system DSN on Windows; and the -cm option was also used, then the output would have been an invalid dbdsn command. This has been fixed.



CR:440140
CR Number:   440140
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)
9.0.2 3364 24 Aug 2006 Fixed
8.0.3 5431 24 Aug 2006 Fixed
Description
Calling the DBTools DBUnload function twice in an application would have resulted in the second call hanging if the unload was attempting to load into a new database. This problem did not affect dbunload.exe, but could be seen using Sybase Central. This has been fixed.



CR:440146
CR Number:   440146
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 3363 22 Aug 2006 Fixed
Description
Optimization of a query could have taken longer than necessary if it had multiple window functions, each with a distinct window specification. In practice, at least 10 windows functions would have been required for this to have been noticeable. The problem has now been fixed.



CR:440209
CR Number:   440209
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3290 16 Nov 2006 Fixed
10.0.0 2755 16 Nov 2006 Fixed
9.0.2 3406 16 Nov 2006 Fixed
8.0.3 5467 16 Nov 2006 Fixed
9.0.1 2189 17 Nov 2006 Fixed
Description
A WRITETEXT statement would have returned the incorrect SQL error "Subquery cannot return more than one row" if the table had a publication with a "subscribe by (subselect)" condition and the subselect returned more than one row. This has been corrected.



CR:440215
CR Number:   440215
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 2939 06 Sep 2006 Fixed
10.0.0 2458 06 Sep 2006 Fixed
9.0.2 3368 06 Sep 2006 Fixed
8.0.3 5434 06 Sep 2006 Fixed
Description
The changes made for Engineering case 433717 caused the provider to return 'Object or provider is not capable of performing requested operation', when executing a simple query. This has now 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等等。
+-------------------------------------华丽的分割线-------------------------------------------------------------------------