远程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:427856
CR Number:   427856
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)
9.0.2 3291 13 Apr 2006 Fixed
Description
When the QAnywhere Agent was started by an application, and the application then started sending and receiving messages immediately, it was possible that the QAnywhere Agent would not complete its startup, and issue the following error:



InternalError: User 'ml_qa_user' has the row in 'ml_qa_repository_content_client' locked

Source statement: CREATE SYNCHRONIZATION SUBSCRIPTION TO ml_qa_user_group.ml_qa_repository_pub FOR "02600601376" OPTION sv='ml_qa_2'



The problem was that messaging cannot begin until the synchronization subscription is created in the message store, which cannot happen until the message store ID is known. This has been fixed so that the message store property "ias_StoreID" is set by the QAnywhere Agent when the message store ID has been initialized. A QAnywhere application can query this message store property and begin sending and receiving messages when the property value is defined.



CR:428011
CR Number:   428011
Product Name:   SQL Anywhere
Product Component:   OLEDB Client Library
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
01 May 2006 Duplicate
Description
With IQ 12.6 ESD#4 on Solaris set to Force_Updatable_Cursor=OFF, queries referencing MS SQL 2000 Linked Server based on Sybase ASAProv.90 (9.02) exhibit the followings:

+ INSERT succeeds

+ UPDATE & DELETE fail with MSSQL Msg 7352, Level 16



With IQ set to Force_Updatable_Cursor=ON, INSERT fails additionally:

+ UPDATE & DELETE continue to fail with the same error as above

+ INSERT fails with MSSQL Msg 7343, Level 16



CR:428075
CR Number:   428075
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 2054 17 Apr 2006 Fixed
9.0.2 3292 17 Apr 2006 Fixed
Description
It was possible for the server to hang while generating the plan for a query. This has now been fixed.



CR:428363
CR Number:   428363
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Microsoft Windows
Original Version:   4.3.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 2297 21 Apr 2006 Fixed
9.0.2 3295 21 Apr 2006 Fixed
8.0.3 5391 21 Apr 2006 Fixed
Description
Both the SQL Anywhere and MobiLink plug-ins permitted pausing, and continuing Windows services for dbsrv8 and dbsrv9, dbeng8 and dbeng9, dbremote, dbmlsync and dbmlsrv8 and dbmlsrv9. This ability has been removed, as none of these executables actually support pausing. Pause and continue operations are now only permitted on dbltm Windows services.



CR:428375
CR Number:   428375
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.0 2294 18 Apr 2006 Fixed
Description
The Interactive SQL utility could have truncated the data from columns with NUMERIC and DECIMAL datatypes of precision greater than 18, when they were exported to dBASE II file formats. This has been fixed so that columns with precisions greater than 16 are now saved as character data.



CR:428387
CR Number:   428387
Product Name:   SQL Anywhere
Product Component:   ISQL
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 2294 20 Apr 2006 Fixed
9.0.2 3294 20 Apr 2006 Fixed
Description
The option to print only the last result set when running in console mode was ignored if the "Show multiple result sets" option was enabled. Instead of printing only the last result set, all result sets were being printed. This has been fixed.



The linkage between these two options is possibly not clear in the user interface. To clarify the relationship, the "Results" panel in the "Options" dialog has been updated to disable the option to show all result sets when run in console mode when "Show multiple result sets" is turned off. Note that in that case, "all" is the same as "last".
Workaround Description
 Setting the Results Console Mode option to "All of them" does

display the last result set last, but it may not be what is

wanted in a logged output result.



CR:428508
CR Number:   428508
Product Name:   SQL Anywhere
Product Component:   ISQL
Status:   Closed
OS:   Microsoft Windows
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 2297 21 Apr 2006 Fixed
9.0.2 3295 21 Apr 2006 Fixed
8.0.3 5391 21 Apr 2006 Fixed
Description
The Interactive SQL utility could have reexecuted more than the last SELECT statement if the "Auto_refetch" option was on. For this to have occurred, DBISQL would also have to have been run in windowed mode, with multiple statements executed at once, starting with a SELECT statement. e.g.

SELECT * FROM myTable;

OUTPUT TO 'c:\\test.txt';

Then an INSERT, UPDATE, or DELETE statement was executed, which would have caused the statements following the SELECT statement (in this case, the OUTPUT statement) to have been reexecuted. This has been fixed.



CR:428685
CR Number:   428685
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 3295 20 Apr 2006 Fixed
8.0.3 5391 20 Apr 2006 Fixed
Description
If the NUMBER(*) function was used in a subquery of an expression, and the expression referenced a proxy table, the server may have crashed. This has been fixed.



CR:428862
CR Number:   428862
Product Name:   UltraLite
Product Component:   UltraLite for M-Business Anywhere
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 2303 27 Apr 2006 Fixed
9.0.2 3298 27 Apr 2006 Fixed
9.0.1 2158 27 Apr 2006 Fixed
Description
When host input variables were used in binary operations (such as comparisons using LIKE) and the other operand of the operation had a string type, Ultralite Dynamic SQL would have used the size of the other operand as the size for the host input variable as well. This could have lead to incorrect results when the string value was larger than the size designated for the host input variable. This has been fixed by increasing the sizes used to handle most reasonable cases, without using the maximum size which could impact the performance of existing applications.



For example, a query of the form

SELECT * FROM table WHERE col-a LIKE ?

where col-a is a 5-character column with a value '12345', would have generated a row in the result set for a host input value of '1234567%' (because that value would be truncated to '12345').



Similar problems existed with other comparisons.



CR:428879
CR Number:   428879
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.0 2000 25 Apr 2006 Fixed
9.0.2 3295 25 Apr 2006 Fixed
8.0.3 5391 25 Apr 2006 Fixed
Description
When using the Windows Service Manager to start and stop ASA services, the option to pause

running services was available. This option has been removed for all services, except for

dbltm.



CR:428977
CR Number:   428977
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3447 08 Feb 2007 Fixed
Description
It was possible for a query to return the wrong answer, if the query contained an IN list search condition that was used in an index scan to provide an ordering property.



For example, the following query could give the wrong answer for some query execution plans:



create table TOB( c1 int, c2 int);

create index TOBx on TOB(c1,c2);

insert into TOB

select row_num c1, 20-c1

from rowgenerator where row_num <= 20;

commit



select *

from TOB T1 with( index(TOBx) ), TOB T2 with( index(TOBx) )

where T1.c1 = T2.c1

and T1.c2 in (15,16,17,18,19) and T1.c1 in (1,2,3,4,5)

order by T1.c2



The wrong answer could have been returned in some cases if a Merge Join was used for the above query. This problem has been fixed.



CR:429026
CR Number:   429026
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Linux
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3300 02 May 2006 Fixed
Description
When searching for the .odbc.ini file on Unix systems, the ODBC driver would have first searched the current directory, and if one was found, would have used it, incorrectly taking precedence over the search locations documented in the SQL Anywhere Database Administration Guide. For example, a .odbc.ini file found in the current directory would be used even if the ODBCINI environment variable was set to reference a different file. This has been fixed so that the search order is as documented.



Note, an application that is dependent upon finding the .odbc.ini file in the current directory will need to explicitly include the current path or full filename. The environment variables ODBCINI and ODBC_INI can be used to specify the complete filename. The environment variables ODBCHOME, HOME and PATH can be used to specify the directory containing .odbc.ini. Consult the SQL Anywhere documentation for details.



CR:429029
CR Number:   429029
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 2303 25 Apr 2006 Fixed
9.0.2 3298 25 Apr 2006 Fixed
9.0.1 2158 25 Apr 2006 Fixed
8.0.3 5393 25 Apr 2006 Fixed
Description
The changes for Engineering case 406765 could have caused a server crash. The circumstances where this occurred were rare, and would have required that the CONNECT or REMOTE permissions for a user be dropped, while dbremote was actively replicating transactions for the user. This has been fixed.



CR:429117
CR Number:   429117
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Generic
Original Version:   8.0.3
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 2300 25 Apr 2006 Fixed
9.0.2 3298 25 Apr 2006 Fixed
8.0.3 5393 25 Apr 2006 Fixed
Description
In the Details panel of a table's result set, if a row was selected and the Delete key pressed, the row would have been successfully deleted. If the Delete key was pressed again, an error would have been displayed. This has been fixed.



CR:429129
CR Number:   429129
Product Name:   UltraLite
Product Component:   UltraLite for M-Business Anywhere
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 2301 25 Apr 2006 Fixed
9.0.2 3298 25 Apr 2006 Fixed
Description
Two cases of memory leaks have been fixed in the ULPod component.



Case 1: If a PrepStmt pods object was not explicitly closed, the SQL string stored in the object was not freed when an AvantGo client exited.



case 2: In SyncParms.getAuthenticationParms(), pods array elements used to construct the output array were not freed properly afterwards.



CR:429136
CR Number:   429136
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)
9.0.2 3298 25 Apr 2006 Fixed
Description
Scripts are now available for applying QAnywhere performance upgrades to consolidated databases used by a Version 9.0.2 QAnywhere (MobiLink) server. These scripts are located in the SQL Anywhere Studio 9.0.2 install directory under QAnywhere\sql. This includes a readme.txt that details how to apply the scripts.



Engineering cases 409529, 415999, and 417415 described applying performance upgrades by using additional command line parameters on the QAnywhere server:



-sl java ( -Dianywhere.qa.db.upgradeDeliveryColumns=true )



As there were situations where it was not possible to start the MobiLink server with a database user having schema change permissions, the scripts:



patchasa1.sql

patchmss1.sql

patchora1.sql



were developed for applying the performance upgrades against Adaptive Server Anywhere, Microsoft SQL Server and Oracle consolidated databases respectively.



CR:429146
CR Number:   429146
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)
9.0.2 3298 25 Apr 2006 Fixed
Description
When there were hundreds of thousands of messages in the QAnywhere Server consolidated message store, cleaning up (deleting) old messages could have been very slow. Deleting this many messages would have locked down message transmission for the duration of the operation. A work-around would be to schedule message deletion to a time of low server activity, perhaps over night. This has been fixed, but requires the application of an upgrade to the QAnywhere Server consolidated message store. The fix, so far, is only available for Adaptive Server Anywhere, Microsoft SQL Server, and Oracle consolidated databases used by a Version 9.0.2 QAnywhere (MobiLink) server. These scripts are located in the SQL Anywhere Studio 9.0.2 install directory under QAnywhere\sql. This includes a readme.txt that details how to apply the scripts. The scripts are:



patchasa2.sql

patchmss2.sql

patchora2.sql



for Adaptive Server Anywhere, Microsoft SQL Server and Oracle consolidated databases respectively.



CR:429149
CR Number:   429149
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 2300 25 Apr 2006 Fixed
9.0.2 3297 25 Apr 2006 Fixed
Description
The implementation of message listeners in QAManagerBase would have continued to loop as long as it was receiving messages (which it would have continued to do, as the same message would have continually been rolled back and subsequently received) and did not intermittently check to see if a request had been issued to stop or close the manager. This infinite loop would have occurred if the message store property ias_MaxDeliveryAttempts was not set, or was set to -1, and the processing of a message in a message listener caused an exception to be thrown which was not caught. This has been fixed so that now a QAManager in such a state can be stopped or closed.



CR:429167
CR Number:   429167
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 2300 25 Apr 2006 Fixed
9.0.2 3297 25 Apr 2006 Fixed
Description
When a QATransactionalManager had an open transaction, another QAManager would have blocked in the GetQueueDepth methods. This has been fixed so that the GetQueueDepth methods do not block.



CR:429169
CR Number:   429169
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 2304 25 Apr 2006 Fixed
9.0.2 3298 26 Apr 2006 Fixed
Description
The message listeners in QAManagerBase were polling the message store for messages. This unnecessarily consumed CPU resources. This has been changed so that the background receiver thread now efficiently waits for a message to be put on a queue before retrieving it and delivering it to the message listener.



Note that the behaviour of the (foreground) blocking GetMessage methods has not changed - these have always efficiently waited for a message to be put on a queue.



CR:429258
CR Number:   429258
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Open
OS:   Windows CE 2.11
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
Fixed
Description
PocketBuilder 2.0.4 against ASA 9.0.2 on CE Device: Select error: SQLSTATE=S1090 [Sybase] [ODBC Driver] Invalid string or buffer length.



This worked fine with ASA 9.0.1

(yes - another ASA behavior change fixed via PocketBuilder)



CR:429262
CR Number:   429262
Product Name:   SQL Anywhere
Product Component:   DBLIB Client Library
Status:   Closed
OS:   Solaris
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3299 28 Apr 2006 Fixed
8.0.3 5394 28 Apr 2006 Fixed
Description
If an ODBC application called SQLSetConnectAttr() to set the isolation level while there were concurrent requests using the same connection on other threads, the application could have hung, crashed, or the call could have failed with an error. This problem does not occur on Windows systems when using the Microsoft ODBC Driver Manager. This problem has been fixed.



Note, similar problems with SQLConnect, SQLBrowseConnect, SQLDriverConnect, SQLAllocStmt/SQLAllocHandle and SQLFreeStmt/SQLFreeHandle have also been corrected.



CR:429267
CR Number:   429267
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 2305 28 Apr 2006 Fixed
9.0.2 3299 28 Apr 2006 Fixed
Description
The value returned for the ERRORMSG() function could have been incorrect if the function was used within a procedure, and the statement referencing it was executed repeatedly. The function was not defined as non-deterministic, which as a result, may have caused plan caching to return a previous value. This has been fixed.
Workaround Description
 Customer is using message statement



CR:429284
CR Number:   429284
Product Name:   SQL Anywhere
Product Component:   Other
Status:   Closed
OS:   Generic
Original Version:   7.0.00
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 2300 27 Apr 2006 Fixed
9.0.2 3299 27 Apr 2006 Fixed
Description
On Unix systems, when searching for the .odbc.ini file, or an ODBC File DSN, one of the places searched is the user's home directory. Under normal circumstances, the HOME environment variable points to the user's home directory, but it can be changed. If the HOME environment variable was set to a location other than the user's actual home directory, and the file being sought was not found there, the file was not then searched for in the user's "real" home directory (ie ~/.odbc.ini). This has been corrected so that the user's actual home directory is search as well.



CR:429438
CR Number:   429438
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 3299 27 Apr 2006 Fixed
9.0.1 2158 27 Apr 2006 Fixed
8.0.3 5394 27 Apr 2006 Fixed
Description
When the return value of a user-defined function was truncated, the server created a temporary string that was not freed until the cursor was closed. This problem only occurred with multibyte character set databases. This has been corrected.



CR:429527
CR Number:   429527
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.0 2312 01 May 2006 Fixed
9.0.2 3300 01 May 2006 Fixed
8.0.3 5395 01 May 2006 Fixed
Description
The changes for Engineering case 404908, introduced a problem where obtaining parameter information on a stored procedure that was owned by a different user could have resulted in a crash.



The following Delphi code demostrates the problem:



procedure TForm1.Button1Click(Sender: TObject);

var

adoParams: Parameters;

nCnt: integer;

begin

mmoParams.Clear;

FAdoCommand.Set_ActiveConnection(ADOConnection1.ConnectionObject);

FAdoCommand.Set_CommandText("sp_test");

FAdoCommand.Set_CommandTimeout(30);

FAdoCommand.Set_CommandType(adCmdStoredProc);

adoParams := FAdoCommand.Get_Parameters();

adoParams.Refresh;

for nCnt := 0 to adoParams.Count - 1 do begin

mmoParams.Lines.Add(adoParams.Item[nCnt].Name);

end;

end;



This problem has been fixed.



CR:429607
CR Number:   429607
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 3299 28 Apr 2006 Fixed
Description
The Unload utility could have generated calls to dbo.ml_add_property() in the reload.sql file, even when they were not necessary. This has been fixed.



CR:429629
CR Number:   429629
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)
9.0.2 3312 01 May 2006 Fixed
Description
The QAnywhere Server could have performed poorly if the consolidated database was IBM DB2. For the performance degradation to have been apparent, the consolidated database must have contained more than 100,000 undelivered messages. The performance issues included slow processing of messages by a JMS connector, slow expiry of messages, and slow removal of old messages. This has been fixed, but the fix requires the application of an upgrade to the DB2 consolidated message store using a SQL script. The script, patchdb2.sql, is located in the SQL Anywhere Studio 9.0.2 install directory under QAnywhere\sql. This directory also includes a readme.txt that details how to apply the script.



CR:429794
CR Number:   429794
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.0 2325 17 May 2006 Fixed
9.0.2 3308 17 May 2006 Fixed
Description
The SQL Anywhere Webservice Client has been modified such that when a defined attribute resolves to NULL the behaviour is now equivalent to that of an undefined attribute. For example, the following client procedure instances behave as if the PROXY clause is not defined when their associated substitution parameters are NULL:



create procedure f2c("temp" float, proxyurl long varchar )

url 'http://localhost/f2c' proxy '!proxyurl'; // where proxyurl = NULL



create procedure f2c("temp" float, schemehost long varchar, path long varchar )

url 'http://localhost/f2c' proxy '!schemehost!path'; // where schemehost = NULL and path = NULL



create procedure f2c("temp" float )

url 'http://localhost/f2c'; // proxy not defined



whereas:



create procedure f2c("temp" float, hostname long varchar, path long varchar )

url 'http://localhost/f2c' proxy '!http://!hostname/!path'; // does not resolve to NULL even if hostname = NULL and path = NULL



can never resolve to NULL due to the static text within the value of the PROXY attribute.



An empty string '' is not treated the same as a NULL. If used within one or more substitution parameters, the empty string will resolve to an empty string - not NULL. In the case of the first two examples, if all substitution parameters were empty strings, the proxy attribute would equal '' (empty string). Conversely, in the fourth example proxy would resolve to 'http:///', whether the substitution parameters were NULL or '' (empty string).



Default Behaviour of undefined (or resolve to NULL) Attributes

- ** type - 'SOAP:RPC'

- namespace - URI composed of scheme, hostname and port:

If type 'SOAP:DOC' Http SOAPAction header is composed of URI/operation, where operation is the soap service endpoint. e.g.: if the operation at localhost is login, then the namespace = 'http://localhost' and the SOAPAction : "http://localhost/login"

If type 'SOAP:RPC' resulting Http SOAPAction header is SOAPAction : ""

- url - The URI 'NULL' is invalid. SQLCODE = -980

- proxy - no proxy.

- clientport - use any free port.

- certificate - no certificate.

- *header - no user defined HTTP headers.

- *soapheader - no soap headers.



Notes:

* header and soapheader clauses are a new features in 10.0.

** type substitution parameters are not supported prior to 10.0.



CR:429846
CR Number:   429846
Product Name:   SQL Anywhere
Product Component:   ISQL
Status:   Closed
OS:   Generic
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 2313 02 May 2006 Fixed
9.0.2 3301 02 May 2006 Fixed
8.0.2 5396 02 May 2006 Fixed
Description
The Interactive SQL utility would have reported a syntax error when attempting to execute a BACKUP DATABASE statement with the WAIT AFTER END clause from within a BEGIN ... END block. The parser was interpreting the "END" in "WAIT AFTER END" as the end of a BEGIN...END block, and then submitting only part of the block to the server for execution. This has been fixed.



CR:429867
CR Number:   429867
Product Name:   SQL Anywhere
Product Component:   Utilities
Status:   Closed
OS:   Linux
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3301 03 May 2006 Fixed
Description
The Server Locate utility was truncating the server names in the list that was displayed to 20 bytes. This has been fixed. The displayed server names are no longer truncated.



CR:429894
CR Number:   429894
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 3302 05 May 2006 Fixed
Description
Executing an INSERT statement that used the ON EXISTING UPDATE clause, on a table whose primary key contained column(s) with default values, but did not provide a value for one of these default columns, could have caused the INSERT to perform incorrect data changes. This problem has been resolved.
Workaround Description
 Substituting a get_identity( ) function call

instead of the null worked around the reporting

customer's issue.



CR:429978
CR Number:   429978
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.0 2314 03 May 2006 Fixed
9.0.2 3301 03 May 2006 Fixed
9.0.1 2159 03 May 2006 Fixed
Description
If a query contained window aggregate functions such as SUM(T.X) OVER (PARTITION BY T.Y), and the query had a subquery appearing in an EXISTS, ANY, or ALL predicate, then the query may have returned an incorrect result set. This has been fixed.



For example:

select id,

sum( quantity) over (partition by size )

from product p

where exists( select 1 from sales_order_items s where s.quantity > p.quantity )

and size = 'Large'

order by id



CR:430086
CR Number:   430086
Product Name:   MobiLink
Product Component:   Synchronization Server
Status:   Closed
OS:   Generic
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3302 05 May 2006 Fixed
8.0.3 5397 05 May 2006 Fixed
Description
After a deadlock occurred, the upload data for the tables prior the current table that caused the deadlock may not have been applied to the consolidated database by the MobiLink synchronization server if the following situations applied:

1) the MobiLink synchronization was running with the rowset size greater than 1: the command line option -s X (X > 1) was used or the command line contained no -s option;

2) the deadlock occurred when the MobiLink synchronization server was applying the upload operations in multi-row mode and there was no deadlock when the server was retrying to apply the same operations for the current table in single-row mode.

This problem is now fixed.



CR:430149
CR Number:   430149
Product Name:   UltraLite
Product Component:   Native UltraLite for Java
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3302 05 May 2006 Fixed
Description
When an existing entry was deleted from an index in a Java UltraLite database, the subsequent coalescing of index pages could have left the index corrupt. This has been corrected.



CR:430229
CR Number:   430229
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 3303 05 May 2006 Fixed
Description
If the LIST() function was used with a query over a large number of rows and the result of the function was also large, the query would execute slowly but would return the correct result. Changes have been made so that the same query will now execute much faster.



CR:430425
CR Number:   430425
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 2321 09 May 2006 Fixed
9.0.2 3305 09 May 2006 Fixed
Description
If a column was defined with DEFAULT GLOBAL AUTOINCREMENT before the value of the Global_database_id option was set, and the new value for the option was 0, the max_identity value of the column would not have been set based on existing rows in the table. This has been fixed.



CR:430442
CR Number:   430442
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 2328 16 May 2006 Fixed
9.0.2 3307 16 May 2006 Fixed
Description
When doing a restore from an archived backup image on UNIX platforms, the disk activity would have been very high and the restore would have taken a long time. This has been corrected.



CR:430465
CR Number:   430465
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 3320 01 Jun 2006 Fixed
9.0.1 2165 16 Jun 2006 Fixed
Description
If an updateable table in an updateable cursor was defined in a SQL Remote or MobiLink article, retrieving the plan for the query could have caused the server to crash.



CR:430554
CR Number:   430554
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.0 2314 10 May 2006 Fixed
9.0.2 3301 10 May 2006 Fixed
Description
Queries that contained predicates with subqueries that used a range clause (i.e., FIRST, TOP N, TOP N START AT M) may have returned an incorrect result set. The subquery had to have been correlated, and an ORDER BY clause was not specified. This has been fixed.



The following examples demonstrate the problem:



select * from product p where p.id > any( select TOP 10 prod_id from sales_order_items s where s.quantity > p.quantity )



select * from product p where exists( select TOP 10 START AT 2 * from sales_order_items s where s.quantity > p.quantity )



CR:430564
CR Number:   430564
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 3305 12 May 2006 Fixed
9.0.1 2160 12 May 2006 Fixed
Description
If a connection executed a statement that caused the server's Java VM to start, and another connection that was executing a Java statemet was canceled, it was possible, although rare, that all connections could appear to hang (ie. deadlock) in the presence of DDL statements, checkpoints, backups, and possibly other operations, . This has been fixed.



CR:430576
CR Number:   430576
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Solaris
Original Version:   8.0.3
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 2361 06 Jun 2006 Fixed
9.0.2 3326 06 Jun 2006 Fixed
8.0.3 5413 06 Jun 2006 Fixed
Description
It was possible, although rare, for the server to hang while doing an ALTER TABLE. A deadlock problem updating histograms has been fixed.



CR:430586
CR Number:   430586
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.0 2369 14 Jun 2006 Fixed
9.0.2 3326 14 Jun 2006 Fixed
8.0.3 5413 14 Jun 2006 Fixed
Description
The Interactive SQL utility was failing to execute a ROLLBACK following a failed statement if the Auto_commit option was ON. The behaviour has been changed so that a ROLLBACK is now executed in this situation. Note, this is now the same behavior as DBISQLC.



CR:430594
CR Number:   430594
Product Name:   SQL Remote for SQL Anywhere
Product Component:   SQL Remote for Adaptive Server Anywhere
Status:   Closed
OS:   Microsoft Windows
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3307 12 May 2006 Fixed
9.0.1 2160 12 May 2006 Fixed
8.0.3 5400 12 May 2006 Fixed
10.0.0 2328 16 May 2006 Fixed
Description
If a passthrough session contained "create variable" or "drop variable" statements, it was possible for SQL Remote to crash when applying the passthrough session at the remote database. A case sensitive string comparison for "VARIABLE" was being done, but if a create or drop variable command was executed in lower case during a passthrough session, the receiving side would fail to find the name of the variable, leading to the crash. The string is now converted to upper case before doing the comparison.



CR:430606
CR Number:   430606
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 3305 12 May 2006 Fixed
Description
MobiLink synchronizations through an IIS redirector could have failed if the http header sizes added up to an integer multiple of 2k, The problem has been fixed.



CR:430742
CR Number:   430742
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.0 2334 23 May 2006 Fixed
9.0.2 3310 23 May 2006 Fixed
Description
Usually, the Interactive SQL utility sends statements to the database server for execution one at a time. When dbisql saw an IF statement with an ELSEIF clause, it would become confused as to where one statement ended and another began, which would have caused multiple statements to be sent to the server at the same time. This has now been fixed.



CR:430899
CR Number:   430899
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)
9.0.2 3308 12 May 2006 Fixed
Description
When running on Solaris systems, the server will now use 'cp932' as the default character set when it detects that the locale is set to ja_JP.PCK. Perviously, it would have used 'iso_1' as the default character set.



CR:431023
CR Number:   431023
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 3308 17 May 2006 Fixed
Description
If a SQL Anywhere Webservice Client was defined with a PROXY clause and the proxy url, and/or the URL clause, contained a non-default port specification, the web service request may have failed. This has been fixed.



The following example illustrates a relevant use case:



alter procedure f2c("temp" float )

url 'http://hostname:8081/f2c'

type 'SOAP:RPC'

proxy 'http://proxy-host:8080';



CR:431126
CR Number:   431126
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.3
Fixed Version Build Resolution Date Closure Code (If Appropriate)
24 May 2006 Duplicate
Description
When starting db_backup on database, everything freezes: no connection, none can work.



CR:431225
CR Number:   431225
Product Name:   SQL Anywhere
Product Component:   Other
Status:   Closed
OS:   Microsoft Windows
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3264 29 Sep 2006 Fixed
10.0.0 2712 29 Sep 2006 Fixed
Description
After uninstalling SQL Anywhere for Windows CE, the entry 'Deploy SQL Anywhere for

Windows Mobile' would have remained on the Windows Start menu. This has been fixed



CR:431228
CR Number:   431228
Product Name:   SQL Anywhere
Product Component:   ISQL
Status:   Closed
OS:   Microsoft Windows
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 2351 01 Jun 2006 Fixed
9.0.2 3318 01 Jun 2006 Fixed
Description
Specifying the connection parameter INT=NO (do not use integrated logins) would actually have been interpreted as 'use integrated logins' if the database was being autostarted, which would likely have prevented a connection from being made. This has been fixed.



Note, this problem also affects the Console utility and the plug-ins for Sybase Central.



CR:431369
CR Number:   431369
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 3327 16 Jun 2006 Fixed
8.0.3 5414 16 Jun 2006 Fixed
Description
An INSERT statement with the ON EXISTING UPDATE clause could have failed with an incorrect referential integrity error. This would only have occurred if the table had a single column primary key, and there existed a row where value of this column was the same as another column value in the VALUES clause. This has been fixed, but a workaround would be to use an UPDATE statement when the primary key value already exists.



CR:431697
CR Number:   431697
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.0 2336 23 May 2006 Fixed
9.0.2 3310 23 May 2006 Fixed
Description
When the OUTPUT command was used with the FORMAT LOTUS clause, UNSIGNED SHORT values greater than 32767 were exported as negative numbers. This has been fixed by writing out UNSIGNED SHORTs as numeric records.



CR:431810
CR Number:   431810
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 2339 23 May 2006 Fixed
9.0.2 3311 23 May 2006 Fixed
9.0.1 2162 23 May 2006 Fixed
8.0.3 5404 23 May 2006 Fixed
Description
The server may have crashed, rather than return the error "OMNI cannot handle expressions involving remote tables inside stored procedures" (SQLCODE -823 : SQLE_OMNI_REMOTE_ERROR).



For example (x is a remote table)



declare @x int

declare @y int

select @x =1

select @y =1

if (select x from x where y = @y) = @x + 1

print 'yes'

else

print 'no'



This has been fixed.



CR:431876
CR Number:   431876
Product Name:   SQL Anywhere
Product Component:   ISQL
Status:   Closed
OS:   Microsoft Windows
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 2363 13 Jun 2006 Fixed
9.0.2 3324 13 Jun 2006 Fixed
8.0.3 5411 13 Jun 2006 Fixed
Description
The Interactive SQL utility could have reported a spurious table missing error if a connection executed a SELECT statement, disconnected, then connected to a different database and executed an INSERT statement. The problem was due to the "Auto_refetch" option being on. This option was not sensitive to the connection being closed, which has now has been fixed.



CR:431917
CR Number:   431917
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 3318 30 May 2006 Fixed
Description
Engineering case 384238 changed the behaviour of the Ping utility, such that when run with the -q command line option "quiet: do not print messages", it would not have displayed a message if the server could not be found. According to the

documentation, a message is always displayed when an error occurs. This change has been reversed, so that error messages are now displayed.



CR:431929
CR Number:   431929
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 3312 29 May 2006 Fixed
Description
A SQLAnywhere SOAP webservice declared to return data in 'XML' would have returned the XML data in unencoded form. This has been fixed so that the XML data is now encoded and typed as an XMLSchema string type. A SOAP client will unencode the XML data and assign it as a string, suitable for post processing with an xml parser. The following SOAP response of a hello_svc webservice demonstrates this behaviour:



<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope...>

<SOAP-ENV:Body>

<tns:hello_svcResponse>

<tns:hello_svcResult xsi:type='xsd:string'><tns:rowset><tns:row><tns:hello>Hello World</tns:hello></tns:row></tns:rowset>

</tns:hello_svcResult>

<tns:sqlcode>0</tns:sqlcode>

</tns:hello_svcResponse>

</SOAP-ENV:Body>

</SOAP-ENV:Envelope>



A SOAP client will decode hello_svcResult element into a string as follows: <tns:rowset><tns:row><tns:hello>Hello World</tns:hello></tns:row></tns:rowset>



CR:432032
CR Number:   432032
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)
10.0.0 2346 24 May 2006 Fixed
9.0.2 3313 24 May 2006 Fixed
8.0.3 5405 24 May 2006 Fixed
Description
When run on Unix systems with the -q "silent mode" command line option, dbisqlc would have crashed if a MESSAGE statement was executed with a TYPE ACTION TO CLIENT or a TYPE WARNING TO CLIENT clause. This has been fixed.



CR:432068
CR Number:   432068
Product Name:   MobiLink
Product Component:   ASA Client
Status:   Closed
OS:   Windows CE 2.11
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
30 May 2006 DEFER
Description
Customer upgraded to resolve a bug and since applying the upgrade, they are unable to Synchronise - "Unable to connect to remote database. SQLCode = -140."



CR:432074
CR Number:   432074
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 2342 24 May 2006 Fixed
9.0.2 3314 24 May 2006 Fixed
Description
When run on Windows CE devices, the server could have crashed if the language DLL could not be found or loaded. This has been fixed. A dialog stating the language DLL could not be found will now be displayed.



CR:432090
CR Number:   432090
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 2902 18 Jul 2006 Fixed
10.0.0 2406 18 Jul 2006 Fixed
Description
For complex queries involving a large number of tables, the memory required to open a cursor could have been excessive. In some cases, this would have lead to "dynamic memory exhausted" errors. This has now been fixed.



CR:432113
CR Number:   432113
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 3316 26 May 2006 Fixed
Description
The server could have crashed while generating a graphical UltraLite plan. This has been fixed by adding a missing check for a NULL pointer.



CR:432184
CR Number:   432184
Product Name:   UltraLite
Product Component:   UltraLite Engine
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3321 06 Jun 2006 Fixed
Description
In PocketPC 2003 Applications, calling the MIN() function would have returned the MAX-Value, and the MAX() function would have returned the Min-Value. This has been fixed.



CR:432212
CR Number:   432212
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3315 25 May 2006 Fixed
9.0.1 2162 25 May 2006 Fixed
Description
If a user had been granted select permissions on a view which referenced a proxy table, but did not have select permissions on the underlying proxy table, querying the view inside an IF or CASE expression would have failed with a permission denied error. This problem has now been fixed.



Note that using the view outside of an expression would have worked fine.



CR:432227
CR Number:   432227
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.0 2345 26 May 2006 Fixed
9.0.2 3316 26 May 2006 Fixed
9.0.1 2162 26 May 2006 Fixed
Description
When using Open Client, there was a requirement that the servername that was specified as part of the Open Client login, was also the name of the database that the user was attempting to connect to. The reason for this requirement was due to the fact that the database name that is usually specified as part of an Open Client connection actually does not get sent until after the connection is establised. This model of sending the database name after the connection is established works for ASE, since in ASE the connection is to the master database first, and then switches to the specified database once the database name is sent. However, in the case of SA, there is no master database so SA needs to know at login time which database the user wants to connect to.



A new feature has now been implemented so that the SA server will allow connections to the default database, even though the Open Client login server name does not match the name of the default database, provided that the connection string does not involve starting a database (i.e. there is no DBF=), and the server is only running one database. If both of these conditions are met, then the Open Client connection will be allowed to the default database.



CR:432246
CR Number:   432246
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 3319 01 Jun 2006 Fixed
Description
If a query had a predicate of the form 'T.col1 = DT.col2', where DT was a derived table or view, and T.col1 and DT.col2 had different domains, it was possible for the server to return an incorrect result. This has been fixed.



For example:

create table T (x tinyint);

create table R (x smallint);

SELECT * FROM R, (SELECT T.x FROM T GROUP BY T.x ) dt

WHERE R.x = dt.x



CR:432297
CR Number:   432297
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 3316 26 May 2006 Fixed
Description
Graphical plans written to the server log had information missing 'Optimizer statistics' sections. The following information is now displayed for these plans:





CurrentCacheSize Current cache size in kilobytes

Isolation_level Controls the locking isolation level

Optimization_goal Optimize queries for first row or all rows

Optimization_level Reserved

Optimization_workload Controls whether optimizing for OLAP or mixed queries

ProductVersion Product version

User_estimates Controls whether to respect user estimates



Note, logging graphical plans to the server log is enabled by starting the server with the -zx command line option, or by calling the system procedure sa_server_option:



sa_server_option ( 'RequestLogging', 'NONE' );

sa_server_option ( 'RequestLogFile', {file_name} ); -- append to file

sa_server_option ( 'RememberLastPlan', 'ON' );

sa_server_option ( 'LogExpensiveQueries', {x} ); -- cost {x} threshold in milliseconds



CR:432537
CR Number:   432537
Product Name:   SQL Anywhere
Product Component:   OLEDB Client Library
Status:   Closed
OS:   Microsoft Windows
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 2372 14 Jun 2006 Fixed
9.0.2 3325 14 Jun 2006 Fixed
9.0.1 2165 14 Jun 2006 Fixed
8.0.3 5412 14 Jun 2006 Fixed
Description
The OLE DB provider did not properly support 4-part queries when used with the SQL Server 2005 Linked Server feature. For example, attempting the following SQL statement in Microsoft SQL Server 2005 Management Studio:



SELECT * FROM ASASERVER..dba.customer



would have caused the error:



Msg 7320, Level 16, State 2, Line 1 Cannot execute the query



However, the OPENQUERY form of SELECT works fine:



SELECT * FROM OPENQUERY( ASASERVER, 'SELECT * FROM customer')



This problem has now been fixed. Note, this problem does not appear with SQL Server 2000.



CR:432545
CR Number:   432545
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 3319 01 Jun 2006 Fixed
Description
A problem was introduced with the changes for Engineering case 419782, such that if a query contained two subselects S1 and S2, and subselect S2 referred to S1 using an alias, and S1 does not appear in the select list returned with S2, then S2 may have returned incorrect results. This has been corrected. The most common failure mode would be to return the same value for multiple rows (not re-evaluating as needed).



The following query demonstrates this problem:



SELECT row_num,

SS2

FROM

(

SELECT R.row_num,

( SELECT R.row_num FROM sys.dummy D1 ) AS SS1,

( SELECT SS1 + (100*row_num) from sys.dummy D2 ) AS SS2



FROM dbo.rowgenerator R

) DT



The problem can be worked around by including both subselects in the result set of the query.



CR:432574
CR Number:   432574
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.0 2351 31 May 2006 Fixed
9.0.2 2353 31 May 2006 Fixed
9.0.1 2163 31 May 2006 Fixed
Description
Constants were not being allowed as SELECT expressions with aggregate queries.



For example:

INSERT INTO tab( pk, col1) SELECT max(pk)+1, 15;

SELECT sum( pk ), 'a constant' FROM tab GROUP BY col1;



This has now been corrected.



CR:432645
CR Number:   432645
Product Name:   UltraLite
Product Component:   UltraLite for AppForge MobileVB
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3318 31 May 2006 Fixed
Description
After setting stream parameters, a Synchronize with callbacks would have lost the stream parameters, preventing the connection/sync from happening. This has been fixed. The only workaround is to not use callbacks for the Synchronize operation.



CR:432730
CR Number:   432730
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 2352 02 Jun 2006 Fixed
9.0.2 3319 02 Jun 2006 Fixed
9.0.1 2163 02 Jun 2006 Fixed
Description
The server may have crashed, although occurences would have been rare, if multiple connections ran the same stored procedure for the first time after the database was started, and the procedure was used in a select statement. This has been fixed



CR:432886
CR Number:   432886
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.0 2364 02 Jun 2006 Fixed
9.0.2 3324 09 Jun 2006 Fixed
8.0.3 5411 09 Jun 2006 Fixed
Description
Attempting to reference a hexadecimal literal with an odd number of characters between 9 and 15 characters long inclusive, would have caused a syntax error.

For example:

select cast( 0xF1234ABCD as bigint );

This has been fixed, as now an extra zero is added to the front of odd length hexadecimal strings. Note, hexadecimal strings that are odd in length, and too large to fit into a BIGINT, will still generate a syntax error.



CR:432903
CR Number:   432903
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 3320 02 Jun 2006 Fixed
9.0.1 2165 16 Jun 2006 Fixed
Description
The server could crashed if an updatable keyset driven cursor was opened for a query that had a predicate with an IF or CASE expression over a subquery. This has been fixed. This is a similar issue to Engineering case 430465.



CR:432929
CR Number:   432929
Product Name:   MobiLink
Product Component:   QAnywhere server
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 2363 06 Jun 2006 Fixed
9.0.2 3323 09 Jun 2006 Fixed
Description
Normally, QAnywhere works against any consolidated database that MobiLink supports. However, MobiLink supports DB2 UDB 7.2 only with caveats. Those caveats make it impossible for QAnywhere to work against a DB2 UDB 7.2 consolidated database, and the documentation was not clear on this. In fact, there is a small chance of message corruption if DB2 7.2 is used as a consolidated database for QAnywhere. Now, attempting to to start a QAnywhere MobiLink server against a DB2 UDB 7.2 database will result in an error. Similarly, trying to administer such a database with QAnywhere Central will also result in an error



CR:433047
CR Number:   433047
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.0 2371 16 Jun 2006 Fixed
9.0.2 3327 16 Jun 2006 Fixed
8.0.3 5414 16 Jun 2006 Fixed
Description
The LOAD TABLE statement could have incorrectly loaded multi-byte character data, due to incorrect accounting for a split character in a buffer. The loaded data would appear to have characters or bytes within it that were not part of the original data. This has been fixed.



CR:433072
CR Number:   433072
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 2371 06 Jun 2006 Fixed
9.0.2 3322 06 Jun 2006 Fixed
Description
If a keyset-driven cursor (value sensitive cursor) was opened on a query that contained a derived table used on the null-supplying side of an outer join, and the derived table contained a subquery, then, depending on the access plan selected, the server could have crashed, or in some cases, the wrong answer could have been returned for the query.



The following is an example of the type of query that would be affected by this problem if used in a keyset-driven cursor:

select ( if D1.y is null then 0 endif ) as z

from T1 left outer join

( select T2.b,

cast( sum( if T2.c = any( select T3.e from T3 WITH ( INDEX(T3) )

where f in( 1001,1020,1040,1080,10100,10200,10400,10500,101000,102000))

then T2.d

endif) as numeric(12,4) ) as y

from T2

group by T2.b

) as D1

on T1.a = D1.b



The incorrect behaviour relies on the specific access plan selected. This problem has been fixed.



CR:433164
CR Number:   433164
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.0 2361 06 Jun 2006 Fixed
9.0.2 3323 06 Jun 2006 Fixed
9.0.1 2197 29 Jan 2007 Fixed
Description
Engineering case 418264 introduced a problem such that if the server crashed while executing a CREATE VIEW operation, there was a small window of opportunity where the database could have become unrecoverable. The redo-log processing would have failed trying to recreate the view. This has been fixed.



CR:433272
CR Number:   433272
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Windows CE 2.11
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
06 Feb 2007 DEFER
Description
The docs suggest that a filedsn is searched for in various locations, but in fact its chacked only in the root directory.



CR:433281
CR Number:   433281
Product Name:   MobiLink
Product Component:   Utilities
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.3
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 2372 20 Jun 2006 Fixed
9.0.2 3327 20 Jun 2006 Fixed
9.0.1 2165 20 Jun 2006 Fixed
8.0.3 5414 20 Jun 2006 Fixed
Description
If a transaction log was renamed and a new one started, and there were transactions that spanned the old and new transaction logs, then it was possible for any of the log scanning tools (dbmlsync, dbremote, dbltm or dbtran) to crash while processing the two transaction logs in sequence. This problem has now beem fixed.



CR:433331
CR Number:   433331
Product Name:   SQL Anywhere
Product Component:   Utilities
Status:   Closed
OS:   Microsoft Windows
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3303 09 Jan 2007 Fixed
Description
The Deployment Wizard, and resulting MSI installations generated, now supports French, German, Japanese and Simplified Chinese in addition to English. A dialog box allowing the selection of a language will appear when the Deployment Wizard is run, which is the language that will be used when subsequent installations are generated.



CR:433340
CR Number:   433340
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 2898 18 Jul 2006 Fixed
Description
If a column was renamed, and was part of a foreign key defined with ON {UPDATE | DELETE} {CASCADE | SET NULL | SET DEFAULT}, the system trigger for the foreign key would still have contained a reference to the old column name and would have failed when executed. Similarly, if one of the key columns referenced by such a foreign key was renamed, the system trigger was not updated. This has been fixed.



CR:433341
CR Number:   433341
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 2362 08 Jun 2006 Fixed
9.0.2 3324 08 Jun 2006 Fixed
Description
If there was a transient connection problem with the consolidated database server, it was possible that a message being transferred from QAnywhere to JMS would have been duplicated. This problem would have occurred after a message was transferred from QAnywhere to JMS. The transfer acknowledgement is stored in the consolidated database, and if there was a temporary difficulty accessing the database, the transfer would not have been acknowledged. At a later time (not necessarily immediately), because the acknowledgement was lost, the message may have been re-transferred from QAnywhere to JMS. This problem has been fixed, although, if the connectivity with the consolidated server is not resumed in a timely manner it is still possible the message may be duplicated.



Note that we do not guarantee that duplicates will not be delivered from QAnywhere to JMS, but duplicates should only occur in rare situations, for example where the QAnywhere MobiLink server or the dbms or the JMS server was to crash.



CR:433428
CR Number:   433428
Product Name:   SQL Anywhere
Product Component:   ODBC Client Library
Status:   Closed
OS:   AIX
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 2907 14 Jun 2006 Fixed
10.0.0 2697 19 Jul 2006 Fixed
9.0.2 3348 19 Jul 2006 Fixed
Description
Using SQLBindCol to bind to a variable that was not naturally aligned would have resulted in an error on AIX and Mac OS X (PowerPC) systems, even though these platforms can handle this situation properly. The 2-byte, 4-byte, and 8-byte alignment requirement has been removed for AIX and Mac OS X platforms.
Workaround Description
 Ensure all variable of type DOUBLE are double word aligned either by using a #pragma or the compiler option -qalign=natural



CR:433460
CR Number:   433460
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)
10.0.0 2363 14 Jun 2006 Fixed
9.0.2 3324 14 Jun 2006 Fixed
Description
The Interactive SQL utility was displaying messages that contained ampersands incorrectly. Ampersands were removed from the text, and the characters following the ampersands were underlined. This has been fixed.



CR:433484
CR Number:   433484
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 2377 22 Jun 2006 Fixed
9.0.2 3326 22 Jun 2006 Fixed
9.0.1 2166 22 Jun 2006 Fixed
Description
The server may have crashed if an UPDATE statement contained a subquery with a GROUP BY clause, and the subquery was merged into the main query block. This has been fixed.



CR:433564
CR Number:   433564
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 2364 14 Jun 2006 Fixed
9.0.2 3324 14 Jun 2006 Fixed
Description
It was possible that the generation of notifications to the cliemt, for messages that were available on the server for that particular client, might be delayed. The problem was that the determination of whether notifications should be generated was serialized. Hence, if the determination conditions were slow for a particular client (because of complicated transmission rules), then the determination for all other clients would have been held up. This has been fixed so that slow determination of notifications for some clients will not hold up the determination of notifications for other clients.



CR:433577
CR Number:   433577
Product Name:   MobiLink
Product Component:   Synchronization Server
Status:   Closed
OS:   Generic
Original Version:   7.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 2365 14 Jun 2006 Fixed
Description
The data in TIME columns in a remote database might not have been uploaded or downloaded properly. After synchronization, the fractional part of the second would always be zero. This problem is fixed now.



CR:433582
CR Number:   433582
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 2372 20 Jun 2006 Fixed
9.0.2 3327 20 Jun 2006 Fixed
Description
Engineering case 428075 introduced a problem where the server could hang when starting a database read-only that was stored on a CD-ROM. This has been fixed.



CR:433696
CR Number:   433696
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 23 Jun 2006 Fixed
9.0.2 3329 27 Jun 2006 Fixed
Description
On Windows CE, sending messages to a queue could have taken longer and longer over time. This would have occurred when messages were not received by a receiver, or transmitted from the message store. This has been fixed so that the time taken to now send a message to a queue stays fairly constant, even as messages build up in the queue.



CR:433717
CR Number:   433717
Product Name:   SQL Anywhere
Product Component:   OLEDB Client Library
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 2372 14 Jun 2006 Fixed
9.0.2 3325 14 Jun 2006 Fixed
Description
The Windows x64 version of the OLE DB provider did not align the data areas for columns on memory boundaries. This was resulting in run-time errors. This problem has been fixed.



CR:433726
CR Number:   433726
Product Name:   SQL Anywhere
Product Component:   OLEDB Client Library
Status:   Closed
OS:   Generic
Original Version:   8.0.3
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 2331 16 Jun 2006 Fixed
9.0.2 3308 16 Jun 2006 Fixed
8.0.3 5401 16 Jun 2006 Fixed
Description
The Windows CE version of the OLE DB Provider could have failed when attempting conversions to and from Variant types. Also, some properties were not supported properly under Windows CE and would have incorrectly returned errors. These problems have now been fixed.



CR:433730
CR Number:   433730
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.1 2883 27 Jun 2006 Fixed
9.0.2 3332 27 Jun 2006 Fixed
Description
If a domain was dropped and re-created within a batch, and the batch also included a subsequent reference to the domain in a CREATE TABLE or ALTER TABLE statement, the server could have crashed. This has been fixed.



CR:433741
CR Number:   433741
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.0 2377 20 Jun 2006 Fixed
9.0.2 3329 20 Jun 2006 Fixed
9.0.1 2166 20 Jun 2006 Fixed
8.0.3 5416 20 Jun 2006 Fixed
Description
Although rare, the server may have crashed if at that moment a shared memory connection was being established, the client process disappeared. For the same reason a client application may have crashed if the server disappear at the moment the application was about to establish a shared memory connection. This has been fixed.



CR:433829
CR Number:   433829
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 2370 14 Jun 2006 Fixed
9.0.2 3326 14 Jun 2006 Fixed
Description
It was not possible to interrupt or cancel execution of a CREATE STATISTICS statement. As a consequence, if an exclusive operation such as a CHECKOINT started in the middle of executing a CREATE STATISTICS statement, then all other connections would have had to wait until both the CREATE STATISTICS and the CHECKPOINT completed executing. This problem has been resolved by having the CREATE STATISTICS operation context switch.



CR:433934
CR Number:   433934
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 3326 14 Jun 2006 Fixed
Description
A memory leak may have occurred when web service client procedure parameters were converted to Strings for XML or HTML representation. This has been fixed.



CR:433982
CR Number:   433982
Product Name:   MobiLink
Product Component:   ASA Client
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3320 14 Jun 2006 Fixed
Description
QAnywhere Java clients now support Windows CE running Windows Mobile 2003 and the J9 VM. The J9 VM is the core of WebSphere Everyplace Micro Environment (WEME), an IBM(TM) implementation of the Java Virtual Machine Specification, Version 1.3. The supported J9 runtime is J2ME Personal Profile 1.0 (JSR-62), based on the CDC/Foundation Profile.



CR:434156
CR Number:   434156
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 2372 16 Jun 2006 Fixed
9.0.2 3327 16 Jun 2006 Fixed
Description
JBoss JMS message property names must begin with an alpha character, can contain only alphanumeric and underscore characters, and must not be the same name of any of the JMS Defined Properties (as listed in section 3.5.9 of the JMS 1.1 spec), that are defined as being set by the provider. These include JMSXUserID, JMSXAppID, JMSXDeliveryCount, JMSXProducerTXID, JMSXConsumerTXID, JMSXRcvTimestamp, or JMSXState. Using a property name that JBoss does not support in a QAnywhere message, and then sending that to JBoss JMS via a configured QAnywhere connector, would have caused problems. The connector would have tried to deliver the message to JBoss continuously until the message expired, was cancelled, or was deleted. This problem has been fixed so that the problematic property name problem will be detected as message-specific, the message will be marked as unreceivable, and the connector will no longer try to deliver the message. If the property ianywhere.connector.outgoing.deadMessageAddress is set to a non-empty value, then a copy of the message will be sent to that address value.



CR:434229
CR Number:   434229
Product Name:   SQL Anywhere
Product Component:   Utilities
Status:   Closed
OS:   Microsoft Windows
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 2375 21 Jun 2006 Fixed
Description
If the Transact-SQL compatibility option CHAINED was set to Off, and the database contained scheduled events, attempting to unload the database would have resulted in the error "COMMIT/ROLLBACK not allowed within atomic operation". This has been fixed. A workaround is to set the chained option to ON, unload the database, and then restore the option setting.



CR:434305
CR Number:   434305
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 21 Jun 2006 Fixed
9.0.2 3327 21 Jun 2006 Fixed
Description
The QAnywhere MobiLink server could have hung on shutdown if all the following conditions occurred:

- There was a problem accessing the consolidated database, for example, the consolidated database engine crashed,

- There were messages queued for delivery from QAnywhere to an external JMS server via the QAnywhere JMS connector,

- An upload message transmission had just occurred, containing messages meant for the QAnywhere JMS connector



If a shutdown was attempted at this point, it was possible that the QAnywhere MobiLink server would not shutdown. As a work around, either the database server would have to be brought back on line, or the QAnywhere MobiLink server process would have to be killed. No message data would be lost. This has now been fixed so that a shutdown should not hang under these circumstances.





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