提供7*24专业Sybase数据库远程及现场技术支持,Sybase ASE及Sybase SQL Anywhere数据库修复服务,
请联系电话: (微信),QQ: 289965371!
We supply technical support for Sybase ASE and Sybase SQL Anywhere, also have many years of experience in recovering data from damanged Sybase devices.
Please contact us:
Phone:
Wechat: 13811580958
QQ: 289965371 联系我们获取数据库技术支持!
Email: 289965371@qq.com
扫描下方微信,联系我们:
扫描雨翰数据恢复官方微信获取专业数据库恢复服务

 

随着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:473206
CR Number:   473206
Product Name:   SQL Anywhere
Product Component:   ODBC Client Library
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3516 03 Jul 2007 Fixed
9.0.2 3521 03 Jul 2007 Fixed
Description
On UNIX platforms, linking applications directly against the iAnywhere ODBC driver without using a driver manager is supported. When an application was linked in this way, the FileDSN connection parameter would have been ignored by the ODBC driver. This has been fixed.



As a workaround, a driver manager such, as unixODBC, can be installed, or the ODBCINI environment variable can be set to point to the DSN file in question. The second work around would require the FileDSN parameter to be changed to DSN.



CR:473431
CR Number:   473431
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows
Original Version:   10.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3520 05 Jul 2007 Fixed
Description
For certain types of queries, it was possible for the statement to fail with the non-fatal assertion failure 106105-"Unexpected expression type dfe_PlaceHolder while compiling". If this happened, the statement was failed but the server would continue processing further requests.



For example, the following statement could have exhibited this behaviour:



SELECT row_num

FROM rowgenerator R2

WHERE

( SELECT sum( 1 )

FROM sys.dummy D1

WHERE D1.dummy_col = R2.row_num

) >= 0



This has been fixed.



CR:473449
CR Number:   473449
Product Name:   UltraLite
Product Component:   Runtime Libraries
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3523 12 Jul 2007 Fixed
Description
Database file space allocated for long varchar or long binary columns was not properly reclaimed on deletion of the row in some cases. As a result, the database file could have grown unexpectedly. This has been fixed. Applying this fix will prevent further unnecessary growth but not reclaim the lost space within the database file. To reclaim space, the database file must be recreated.



CR:473461
CR Number:   473461
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows
Original Version:   10.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3521 16 Jul 2007 Fixed
Description
Simple DELETE and UPDATE statements that bypass the optimizer could have caused the server to crash when they were executed a second time after rstarting the database. This would have occurred if the trigger used a row limit (TOP n , FIRST,...), or the Transact SQL option rowcount was set to a non-zero value. This has been fixed.
Workaround Description
 Don't call the query twice but customer says it is necessary.



From customer:



It's strange to include "top (5000)" in the query when the where clause only matches one row. This SQL is being executed in a method that builds up a query based on values passed into the method, so depending on the values passed in, it could delete a large number of rows from the table. It deletes the rows (5000 at a time) until the delete statement no longer deletes any rows. In this case, the SQL is being executed twice. The first time it runs, 1 row is deleted. The SQL is executed again to make sure there are no more rows to be deleted.



This worked fine with SQL Anywhere 10.0.0.



Possible relation to CR 468148?



CR:473528
CR Number:   473528
Product Name:   MobiLink
Product Component:   Utilities
Status:   Closed
OS:   Windows CE 2.11
Original Version:   10.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3522 20 Dec 2007 Fixed
Description
A long running Listener utility dblsn.exe may have crashed when persistent connections were used. This has been fixed.



CR:473550
CR Number:   473550
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   10.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3520 05 Jul 2007 Fixed
Description
A query with predicates in the WHERE clause of the form "column < constant OR column > constant", would have returned rows with column = constant. This only occurred if "column < constant" predicate appeared before the OR and "column > constant" predicate was after it. The predicate optimizer did not recognize that the two conditions were disjoint and replaced them with "column is not null". This has been corrected.



CR:473559
CR Number:   473559
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 3631 22 Jan 2008 Fixed
11.0.0 1133 22 Feb 2008 Fixed
9.0.2 3627 26 Feb 2008 Fixed
Description
The server could have failed to recover a database, with assertion failures 200502, 201417 or 201418 likely in this situation. This was most likely to have occurred when the server was running on a Windows CE device, and the device was reset while the server was active. Databases using checksums or encryption may be more prone to seeing this problem. While this problem has been fixed, it's still possible to get these assertions where there is something wrong with the database.



CR:473562
CR Number:   473562
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 3520 06 Jul 2007 Fixed
Description
It was possible, although rare, for a call to the system procedure sa_locks() to have caused the server to crash. This crash was most likely to have occurred when many users were connecting, and/or disconnecting, while sa_locks() was being called. This issue has been fixed.



CR:473621
CR Number:   473621
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   10.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3521 16 Jul 2007 Fixed
Description
Attempting to autostart a server with no license file installed, would have failed with the error "Unable to start specified database: failure code 1." The license file has the same name as the server executable, with a .lic extension. This has been fixed so that the more descriptive error "Unable to start database server: missing license file" is now given in this case.



CR:473622
CR Number:   473622
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows
Original Version:   10.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3596 06 Nov 2007 Fixed
Description
Re-executing the exact same "FORWARD TO" statement multiple times on the same connection could have failed with various errors. FORWARD TO statements were incorrectly being cached, but they must be prepared each time they are executed. This has been fixed by no longer caching FORWARD TO statements.



A workaround is to disable client statement caching for the connection by setting the max_client_statements_cached temporary option to 0.



CR:473623
CR Number:   473623
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 3520 05 Jul 2007 Fixed
Description
If two or more database mirroring servers running on Windows were started at the same time, they could have failed to communicate properly. In this situation, the last message displayed in the server console would have been "determining mirror role ...". The servers would not have accepted connections, and could not have been shut down. This has been fixed.



CR:473699
CR Number:   473699
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows
Original Version:   10.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3531 24 Jul 2007 Fixed
Description
Queries containing derived tables, or views which were eliminated during semantic rewriting, may have incorrectly returned syntax errors such as "Column '...' not found" (SQLE_COLUMN_NOT_FOUND, -143, 52003). For this problem to have occurred, the derived tables or views must have had at least a subselect or a subquery. This has now been fixed.



Example:

The derived table T4 contains a subselect "( select dummy_col from sys.dummy T2 where 1 = T3.row_num ) as c1". T4 is redundant in this query and it is eliminated by the outer join elimination process. The query Q1 is equivalent to " SELECT DISTINCT T1.dummy_col FROM sys.dummy T1 "



Q1:

SELECT DISTINCT T1.dummy_col

FROM

sys.dummy T1

left outer join

( select row_num c0,

( select dummy_col from sys.dummy T2 where 1 = T3.row_num ) as c1



from dbo.rowgenerator T3

) T4

on 1=1



CR:473724
CR Number:   473724
Product Name:   MobiLink
Product Component:   ASA Client
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3532 25 Jul 2007 Fixed
9.0.2 3533 25 Jul 2007 Fixed
Description
When both the graphical and non-graphical Dbmlsync Integration Components (ActiveX components) were unregistered, they left the following key in the registry:



HKEY_CLASSES_ROOT\TypeLib\{A385EA65-7B23-4DC3-A444-2E759FF30B14}



This key is now removed when both components have been unregistered.



CR:473827
CR Number:   473827
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 3527 16 Jul 2007 Fixed
8.0.3 5566 03 Aug 2007 Fixed
Description
The server could have failed during database recovery with assertion failures 202101 - "Invalid Bitmap Links on Page ..." or 202100 "Invalid bitmap page at page ... -- transaction rolled back" under some circumstances where it was not warranted. This has been fixed.



CR:473831
CR Number:   473831
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3521 10 Jul 2007 Fixed
10.0.0 2874 10 Jul 2007 Fixed
9.0.2 3524 10 Jul 2007 Fixed
Description
A watch for the variable SQLCODE did not evaluate correctly. This has been fixed.



CR:473833
CR Number:   473833
Product Name:   SQL Anywhere
Product Component:   ODBC Client Library
Status:   Closed
OS:   Microsoft Windows
Original Version:   10.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3525 12 Jul 2007 Fixed
9.0.2 3527 12 Jul 2007 Fixed
Description
If an ODBC application bound a procedure's INOUT parameter as input-only, a communication error may have occurred. Calling SQLBindParameter( ..., SQL_PARAM_INPUT, SQL_C_WCHAR,... ) would bind an input-only parameter. This has been fixed.
Workaround Description
 Esnure that the PB RPC declaration and the procedure definition match i.e., INOUT parameters need to be passed by reference in the PB RPC call



CR:473834
CR Number:   473834
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   6.0.01
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3522 10 Jul 2007 Fixed
9.0.2 3526 11 Jul 2007 Fixed
Description
If a statement contained a user-defined function that had an argument that was a subquery, and the statement contained a union view with a predicate comparing a column of the union view to the user-defined function, then the statement could have failed with an inappropriate error. For example, the following sequence would generate this inappropriate error.



create view V_shubshub( x ) as

select dummy_col from sys.dummy D3

union all

select dummy_col from sys.dummy D4

go



create temporary function F_tt(in a1 smallint)

returns decimal(16,5)

begin

return 0.0

end

go



SELECT *

FROM

(

select F_tt( ( select dummy_col from sys.dummy D1 ) ) x

from sys.dummy D2

) AS T1

WHERE NOT EXISTS(

SELECT 1

FROM V_shubshub T2

WHERE T1.x=T2.x

)



In version 8.0, the following error was returned:

-266 42W27 "QOG_BUILDEXPR: could not build sub-select"

in version 9.0 and later, the following error was given:

"Run time SQL error -- *** ERROR *** Assertion failed: 102604 (...) Error building sub-select"

In versions prior to 8.0, it was possible for an incorrect answer to be returned without an error being returned.



This has been fixed.



CR:473835
CR Number:   473835
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 3528 19 Jul 2007 Fixed
Description
The HTTP server can now disable connections using SSLv2. The database server command line option -xs now supports the SSLv2 parameter whose values can be YES or NO. SSLv2 defaults to YES, but can be set to NO to disallow HTTPS connections using SSL version 2.0. For example,

dbeng10 web.db -xs HTTPS(SSLv2=N)



CR:473860
CR Number:   473860
Product Name:   MobiLink
Product Component:   Java Plugin for Sybase Central
Status:   Closed
OS:   Windows 2000
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3522 10 Jul 2007 Fixed
Description
If a synchronization model was deployed with HTTPS or TLS as the stream type, the generated batch file for starting the MobiLink server could have given an "Unable to convert the string <string> to a numeric value" error, because the stream parameters were incorrectly separated by commas instead of semi colons. This has been fixed.



A workaround is to edit the generated batch file to use semicolons instead of comma for the stream parameters by changing this line:



set STREAM="%STREAM_TYPE%(port=%PORT%,tls_type=%TLS_TYPE%,fips=%FIPS%,certificate=%CERTIFICATE%)"



to the following:



set STREAM="%STREAM_TYPE%(port=%PORT%;tls_type=%TLS_TYPE%;fips=%FIPS%;certificate=%CERTIFICATE%)"



CR:473990
CR Number:   473990
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 3523 12 Jul 2007 Fixed
9.0.2 3527 12 Jul 2007 Fixed
Description
If a statement contained a derived table or view that specified DISTINCT and that derived table appeared on the NULL-supplying side of an outer join and further the query optimizer selected the Ordered Distinct algorithm for that derived table, then the statement could have failed with an assertion failure:

Assertion failed: 106105 (...) Unexpected expression type dfe_PlaceHolder while compiling



For example, the following statement could have this problem:

SELECT *

FROM

dbo.rowgenerator T1



LEFT JOIN

(

SELECT dummy_col c1

FROM sys.dummy T2



UNION ALL



SELECT 12345 c1

FROM ( select distinct id from sales_order_items order by id asc ) T3

) T4

ON 1=1

WHERE T1.row_num < 10



This has been fixed.



CR:474181
CR Number:   474181
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 3525 12 Jul 2007 Fixed
Description
If the SQL Anywhere engine/server was shutdown by means of a SIGINT, SIGHUP, SIGQUIT or SIGTERM then no reason for the shutdown would have been recorded in the server log. This has been fixed -- an appropriate message will now be output to the server log.



CR:474282
CR Number:   474282
Product Name:   SQL Anywhere
Product Component:   OLEDB Client Library
Status:   Closed
OS:   Microsoft Windows
Original Version:   10.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3537 20 Jul 2007 Fixed
10.0.0 2877 20 Jul 2007 Fixed
9.0.2 3537 20 Jul 2007 Fixed
Description
When a DataGrid object was filled with columns that contained more than 32K bytes, an error could have been returned by the SQL Anywhere OLE DB provider. This problem has been fixed.



CR:474289
CR Number:   474289
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 3569 11 Sep 2007 Fixed
9.0.2 3561 12 Sep 2007 Fixed
8.0.3 5573 17 Sep 2007 Fixed
10.0.0 2884 17 Sep 2007 Fixed
Description
If an application maked use of external function calls, the server may have crashed if the application disconnected while a call to an external function was being executed; or if enough connections called external functions such that the server's worker thread limit was exceeded and a deadlock condition arose. This problem has been fixed. When a deadlock condition arises, the error "All threads are blocked" will result for one or more connections executing an external function call. To avoid this error, the server option -gn can be used to increase the number of worker threads.



When a client disconnects during execution of an external function call, the server will no longer crash.



CR:474305
CR Number:   474305
Product Name:   SQL Anywhere
Product Component:   JDBC Client Library
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3525 12 Jul 2007 Fixed
Description
If both the 64-bit and 32-bit SQL Anywhere client software were installed on the same system, and an application attempted to use the iAnywhere JDBC driver, it was possible that the driver would have failed with an UnsatisfiedLinkError exception. This problem could only have occurred if a 32-bit Java VM was being used and the 64-bit SQL Anywhere libraries appeared first in the path, or a 64-bit Java VM was being used and the 32-bit SQL Anywhere libraries appear first in the path, and the SQL Anywhere installation path has at least one space in it. In particular, if there was no space in the installation path, then the bitness of the VM, and the order of the libraries in the path, did not matter and should not have caused any UnsatisfiedLinkError exceptions. This particular problem has now been fixed.



CR:474312
CR Number:   474312
Product Name:   SQL Anywhere
Product Component:   ADO.Net Managed Provider
Status:   Closed
OS:   Linux
Original Version:   10.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3528 19 Jul 2007 Fixed
Description
An existing dbdata10.dll in an application's folder would still have been loaded by the .NET Common Language Runtime. This problem has been fixed.



CR:474314
CR Number:   474314
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 3525 16 Jul 2007 Fixed
Description
Using or accessing a procedure or function that had been marked as hidden could have caused the server to hang. This would only have happened if the length of the obfuscated text was near, or larger than, a database pagesize. This has been fixed.



CR:474324
CR Number:   474324
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   10.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3525 12 Jul 2007 Fixed
Description
If a stored procedure contained a cursor declaration for a call to an internal stored procedure (e.g. sa_locks, sa_rowgenerator), then calling the procedure would have resulted in the error "Invalid prepared statement type". This has been fixed.



CR:474480
CR Number:   474480
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 3533 23 Jul 2007 Fixed
Description
If a database contained a table with a table ID larger than 65535, calling the system procedure sa_locks() may have caused the server to crash. This crash would only have occurred if there was a lock held on a table with a table ID larger than 65535. The contents of SYS.SYSTABLE can be examined to determine if any such tables exist. This issue has been fixed.



CR:474496
CR Number:   474496
Product Name:   MobiLink
Product Component:   Java Plugin for Sybase Central
Status:   Closed
OS:   Windows 2000
Original Version:   10.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.0 2192 05 Apr 2010 Fixed
Description
When editing a cell in the "Table Mappings" table, if a corresponding tab existed in the lower details pane, the appropriate tab would have be selected. For example, if a table mapping's Download Type changes, the Download Type tab would have been selected in the lower details pane.



Also, if a row was selected in the "Table Mappings" table that had a non-empty status column, the Status tab would have been selected.



These problems have been fixed.



CR:474596
CR Number:   474596
Product Name:   SQL Anywhere
Product Component:   ADO.Net Managed Provider
Status:   Closed
OS:   Microsoft Windows
Original Version:   10.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3539 08 Aug 2007 Fixed
Description
The 10.0.1 Maintenance Release and subsequent EBFs did not correctly update the ADO.NET Data Provider. This has been fixed so that the provider is now updated.



The following steps are a work around:

- From the Control Panel launch the Add or Remove Programs application.

- In the SQL Anywhere 10 item click the Change button.

- In the maintenance Welcome dialog select the Modify option.

- In the Select Features dialog deselect the ADO.NET Data Provider feature and proceed with installation maintenance (this will uninstall the feature).

- Repeat the above, but this time select the ADO.NET Data Provider and proceed with installation maintenance (this will reinstall the correct version of the feature).



CR:474597
CR Number:   474597
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 3527 16 Jul 2007 Fixed
Description
The result set of SYS.SYSINDEXES was modified to include primary and foreign key indexes in version 10 of SQL Anywhere. However, these indexes were not distinguished from other indexes. The view definition has been changed so that these indexes are identified by "Primary Key" and "Foreign Key", respectively, by the indextype field.



CR:474599
CR Number:   474599
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3521 16 Jul 2007 Fixed
9.0.2 3524 16 Jul 2007 Fixed
Description
If the database option Ansi_close_cursors_on_rollback was set to 'on', and a cursor was opened on a stored procedure containing a declared cursor, a ROLLBACK could have put the connection into a state where attempting to open additional cursors would have failed with the message: "Resource governor for 'cursors' exceeded". The ROLLBACK caused the cursors to be closed in an order that resulted in the server trying to close a cursor twice. This has now been fixed.



CR:474606
CR Number:   474606
Product Name:   SQL Anywhere
Product Component:   OLEDB Client Library
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3527 16 Jul 2007 Fixed
10.0.0 2875 16 Jul 2007 Fixed
9.0.2 3529 16 Jul 2007 Fixed
9.0.1 2212 16 Jul 2007 Fixed
Description
When using the OLE DB provider, a crash could have occurred when disconnecting from a datasource. This problem has been fixed.



CR:474617
CR Number:   474617
Product Name:   MobiLink
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   10.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3527 16 Jul 2007 Fixed
Description
The certificate utilities createcert.exe and viewcert.exe as well as dbcecc10.dll were missing version info. This has been fixed.



CR:474631
CR Number:   474631
Product Name:   MobiLink
Product Component:   Synchronization Server
Status:   Closed
OS:   Generic
Original Version:   10.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3527 17 Jul 2007 Fixed
Description
In the Windows Explorer, the files mlrsa_tls10.dll, mlrsa_tls_fips10.dll and mlecc_tls10.dll would have appeared versionless when their properties were inspected. This has been corrected.



CR:474633
CR Number:   474633
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 3527 17 Jul 2007 Fixed
Description
If the definition of a computed column included a reference to another table column defined as NOT NULL, and an INSERT or UPDATE statement set the NOT NULL column to NULL, then the computed column could have been evaluated to an inconsistent result.



For example:

create table T( x int not null, y int null compute( if x is null then 123 else x endif ) )

go

CREATE TRIGGER "ChangeX" BEFORE INSERT, UPDATE ON T

REFERENCING NEW AS new_row

FOR EACH ROW

BEGIN

message string('Trigger: ',new_row.x,',',new_row.y);

if new_row.x is null then

SET new_row.x = 4;

end if;

END

go

insert into T(x) values( NULL )



After the above insert, T contains one row (4,NULL). The result for y is inconsistent with the definition of the computed column.



The following non-fatal assertion failures could be reported in this case:

Assertion failure 106900 Expression value unexpectedly NULL in read

or

Assertion failure 106901 Expression value unexpectedly NULL in write



This has been fixed. An attempt to put a NULL value into a column declared NOT NULL that is used in a computed column will result in an error message:

23502 -195 "Column '%1' in table '%2' cannot be NULL"



This checking is performed before triggers fire, and this represents an intentional change in behaviour.



CR:474715
CR Number:   474715
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 3563 28 Sep 2007 Fixed
Description
The server only supports compressed database files up to a size of 4GB. If dbshrink

or the CREATE COMPRESSED DATABASE statement tried to create a compressed db file larger

than 4GB then the resulting file would have been corrupted. This has been fixed so that the server now returns the error "Database creation failed" if the resulting file would be larger than 4GB.



CR:474724
CR Number:   474724
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   10.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3529 19 Jul 2007 Fixed
Description
When attempting to process transaction logs from an older version of ASA, (such as with the Translation utility or SQL Remote), there was a chance that it would have failed prior to processing the full log, with any number of odd error messages. This problem has now been fixed.



CR:474726
CR Number:   474726
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 3527 17 Jul 2007 Fixed
9.0.2 3529 17 Jul 2007 Fixed
Description
If a query contained INTERSECT ALL or EXCEPT ALL and one of the branches of the query expression was optimized by un-nesting an EXISTS predicate, then the wrong answer could have been given. The INTERSECT ALL would have been incorrectly treated as INTERSECT, and the EXCEPT ALL as EXCEPT.



For example, the following query shows this problem:



select D0.type_id

from sys.sysdomain D0



intersect all



select D1.type_id

from sys.sysdomain D1

where exists ( select * from sys.sysdomain D2 where D2.type_id = D1.type_id )



This has been fixed.



CR:474737
CR Number:   474737
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   7.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3523 17 Jul 2007 Fixed
Description
Queries containing a predicate using a view column which was a complex expression (e.g., it contained a subselect) may have caused the server to fail an assertion. Although this would likely have been rare, it has been fixed.





For example:



SELECT *

FROM

( SELECT DISTINCT DT1c2

FROM ( SELECT (select dummy_col from sys.dummy D3 ) as alias1,

( select row_num from dbo.rowgenerator R4 where row_num-1 = alias1 )

FROM dbo.rowgenerator R5

) DT1( DT1c1, DT1c2 )

) DT2

WHERE EXISTS(

SELECT 1

FROM (

SELECT 1

FROM sys.dummy D0

UNION ALL

SELECT 2

FROM sys.dummy D1



) DT3( "DT3c1")



WHERE DT2.DT1c2 >= DT3.DT3c1 <<<<<------------- DT2.DT1c2 contains the subselect "( select row_num from dbo.rowgenerator R4 where row_num-1 = alias1 )"

)



CR:474753
CR Number:   474753
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 3523 17 Jul 2007 Fixed
Description
Queries containing a predicate referencing a subquery may, in rare circumstances, have failed with the message: "Assertion failed: 106105 (...) Unexpected expression type dfe_Quantifier while compiling". This has been fixed.



CR:474873
CR Number:   474873
Product Name:   MobiLink
Product Component:   Synchronization Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   10.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3534 30 Jul 2007 Fixed
Description
Synchronizing with a version 8 client, could have caused the MobiLink server to crash. This would have usually happened after a log offset mismatch. This has been fixed.



CR:474883
CR Number:   474883
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 3528 19 Jul 2007 Fixed
Description
Connecting to a blank padded database, using either Open Client or jConnect, and then attempting to fetch an NChar value, would likely have caused the application to hang. This problem has now been fixed.



Note that this fetching nvarchar or long NVarChar data from a blank padded database using a TDS client was not affected.



CR:474904
CR Number:   474904
Product Name:   SQL Anywhere
Product Component:   Other
Status:   Closed
OS:   Microsoft Windows
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3530 24 Jul 2007 Fixed
9.0.2 3534 24 Jul 2007 Fixed
Description
If two or more transactions concurrently attempted to lock a table t in exclusive mode with "lock table t in exclusive mode", the transactions could have deadlocked. This was much more likely to occur on multi-processor systems, and is not likely to be reported by personal servers. This has been fixed.



CR:475008
CR Number:   475008
Product Name:   MobiLink
Product Component:   Synchronization Server
Status:   Closed
OS:   Windows 2000
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3550 21 Aug 2007 Fixed
Description
When using a load balancer that tested the MobiLink server availability by probing the server network port, the server may have shutdown. This shutdown was due to the server believing that it could no longer accept new connections. This has been corrected.



CR:475009
CR Number:   475009
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   10.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3527 19 Jul 2007 Fixed
Description
If a web server set the HTTP option CharsetConversion to 'OFF' by calling the system procedure sa_set_http_option(), (eg sa_set_http_option( 'CharsetConversion', 'OFF' ) from a stored procedure, the setting would have been ignored. This has been fixed.



CR:475010
CR Number:   475010
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   10.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3529 20 Jul 2007 Fixed
Description
The server may have crashed while debugging a web service procedure from within Sybase Central, if the server was shutdown while paused on a break-point. This has been fixed. In addition, the canceled response will specify a Connection: close and default to non-chunk mode Transfer-Encoding.



CR:475032
CR Number:   475032
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   10.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3527 19 Jul 2007 Fixed
Description
Two new parameter values have been added to the system procedure sa_server_option() to aid in locating references to database options in applications: OptionWatchList and OptionWatchAction. OptionWatchList specifies a comma-separated list of database options. OptionWatchAction specifies the action the server should take when an attempt is made to set an option in the list. The possible values for OptionWatchAction are 'message' (default) and 'error'. If OptionWatchAction is set to 'message' and one of the options in the watch list is set, the server will display a message in the server console window:

Option "<option-name>" is on the options watch list

If OptionWatchAction is set to 'error', an attempt to set an option in the watch list will result in an error:

Cannot set database option "<option-name>" because it is on the options watch list

The values of db_property('OptionWatchList') and db_property('OptionWatchAction') can be used to determine the current settings.



Example:

call dbo.sa_server_option('OptionWatchList','automatic_timestamp,float_as_double,tsql_hex_constant')



Note that the size of the string specified for OptionWatchList is limited to 128 bytes (the maximum for the "val" parameter to sa_server_option).



CR:475035
CR Number:   475035
Product Name:   SQL Anywhere
Product Component:   Utilities
Status:   Closed
OS:   Novell NetWare
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
23 Jul 2007 Presently Not Targeted For Any Future Release Of This Product
Description
Ct has two request to do about this :



a.) continue developer the DBShrink in ASA 9.x, it means, fix the limitation to handle cbd file over 4 Gb.



b.) Return to include this in ASA 10, in where it was removed.



CR:475038
CR Number:   475038
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   10.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3529 23 Jul 2007 Fixed
Description
Preparing the exact same statement before and after executing a SETUSER WITH OPTION statement may have caused the second statement to not respect the option change and behave incorrectly. This has been fixed.



CR:475039
CR Number:   475039
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 3529 20 Jul 2007 Fixed
Description
If an application connected using jConnect 6.x, and attempted to query the name of a date or time column using ResultSetMetaData.getColumnTypeName(), then the server would have incorrectly returned null instead of the string "date" or "time" respectively. The server now has support for the new TDS DATE and TIME datatypes, but the jConnect metadata scripts had not been updated to reflect the new support. The script jcatalog.sql has been updated.



CR:475052
CR Number:   475052
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   QNX
Original Version:   10.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3531 23 Jul 2007 Fixed
Description
Under heavy load, a mirror server could have generated a corrupt transaction log. The mirror server could have failed in several different ways, including failed assertions 100902, 100903, and 100904. This has been fixed.



CR:475131
CR Number:   475131
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Solaris
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3540 24 Jul 2007 Fixed
Description
Under rare circumstances, applications running on Unix systems may have crashed following a disconnect. This was more likely to have occurred on a multi-processor machines. This has now been fixed.



CR:475135
CR Number:   475135
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 3529 20 Jul 2007 Fixed
Description
In rare circumstances, a TLS connection that should have failed due to a certificate validation failure, may have actually succeeded. This has been fixed.



CR:475138
CR Number:   475138
Product Name:   UltraLite
Product Component:   Runtime Libraries
Status:   Closed
OS:   Generic
Original Version:   10.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3530 23 Jul 2007 Fixed
Description
Erroneous results could have been obtained for queries with joins containing a derived table with GROUP BY, and a WHERE clause referencing a column from the derived table. This has been corrected.



CR:475228
CR Number:   475228
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows
Original Version:   10.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3531 23 Jul 2007 Fixed
Description
If a remote table had a wchar column and an attempt was made to create a proxy table to the remote table, but with the wchar column being mapped to a varchar column, then the server would have failed with a datatype not compatible error. While this error was correct, it nevertheless was unexpected given that mapping remote wchar columns to local varchar columns worked in prior versions. Mapping remote wchar columns to local varchar columns is now allowed for backwards compatibility, but not recommended. Wchar columns should instead be mapped to nchar columns, if at all possible.



CR:475259
CR Number:   475259
Product Name:   SQL Anywhere
Product Component:   ISQL
Status:   Closed
OS:   Microsoft Windows
Original Version:   10.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3551 23 Aug 2007 Fixed
Description
When the variable "@@rowcount" was selected, the Interactive SQL utility would always have displayed the value "1". This has been corrected so that the actual value is now displayed.



CR:475263
CR Number:   475263
Product Name:   MobiLink
Product Component:   Monitor
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3531 23 Jul 2007 Fixed
Description
The MobiLink Monitor could have failed with a NegativeArraySizeException. The failure was more likely when under very heavy load. This has now been fixed.



CR:475278
CR Number:   475278
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 3531 24 Jul 2007 Fixed
9.0.2 3533 24 Jul 2007 Fixed
Description
If a table was defined with a char(255) or varchar(255) column, and then BCP IN was used to insert a string of length 251 or greater bytes into the char(255) column, then BCP would either have failed with a protocol error, or, the value NULL would have been inserted into the column. This problem has now been fixed.



CR:475293
CR Number:   475293
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 3536 31 Jul 2007 Fixed
10.0.0 2877 31 Jul 2007 Fixed
Description
A client-side backup (ie using the Backup utility or calling the dbtools function DBBackup) that truncated the log, could have created a backed-up log file that was invalid. When this occurred the logfile would have appeared to be too short; i.e., the end offset of the backed-up log did not match the starting offset of the current log. This problem did not occur when the log was not truncated, or when calling the BACKUP DATABASE statement. This has been fixed.



CR:475297
CR Number:   475297
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)
1119 24 Jul 2007 Fixed
Description
If a dbspace name contained a period, then the part of the dbspace name before the period was silently ignored by the server. Note that this did not apply if the dbspace name was quoted. This has been fixed so that the server now generates an error when the dbspace name contains a period.



CR:475448
CR Number:   475448
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 3579 05 Nov 2007 Fixed
Description
In rare cases, the Extraction utility dbxtract could have generated a reload script with a LOAD TABLE or INPUT statement referencing columns in an order which did not match the order of the columns in the corresponding data file. This has been fixed by adding a missing ORDER BY clause.



CR:475452
CR Number:   475452
Product Name:   SQL Anywhere
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   10.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3532 24 Jul 2007 Fixed
Description
If a remote server was defined with a USING string that contained single quotes, the Unload utility would have generated a CREATE SERVER statement that would have failed with a syntax error because the quotes were not doubled. This has been fixed.



CR:475472
CR Number:   475472
Product Name:   SQL Anywhere
Product Component:   ADO.Net Managed Provider
Status:   Closed
OS:   Microsoft Windows
Original Version:   10.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3548 17 Aug 2007 Fixed
Description
In very rare circumstance, an application could have hung in iAnywhere.Data.SQLAnywhere. This problem has been fixed.



CR:475488
CR Number:   475488
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 3581 16 Oct 2007 Fixed
Description
Inserting short or highly compressible data into a compressed column (either through INSERT or LOAD TABLE) may have created an excess number of free pages in the database. This has been fixed.



CR:475613
CR Number:   475613
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 3533 26 Jul 2007 Fixed
Description
If a database had an alternate server name, and was running on a system that was using LDAP, then the alternate server name would not have been unregistered from LDAP if the database was shut down (but the server is not). This has been fixed.



CR:475618
CR Number:   475618
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 3533 26 Jul 2007 Fixed
9.0.2 3534 26 Jul 2007 Fixed
Description
The changes made for Engineering case 468319 introduced a problem where if many concurrent connections were made to the server, and then disconnected, the server may have taken several additional seconds to shutdown after the databases were shutdown. This has been fixed.



CR:475624
CR Number:   475624
Product Name:   SQL Anywhere
Product Component:   ODBC Client Library
Status:   Closed
OS:   Generic
Original Version:   6.0.00
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3533 26 Jul 2007 Fixed
9.0.2 3534 26 Jul 2007 Fixed
Description
When using a multi-threaded ODBC application with distributed transactions, attempting to enlist a DTC transactions could have failed in some cases. This problem has now been fixed.



CR:475650
CR Number:   475650
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 3534 02 Aug 2007 Fixed
Description
Multiple connections using keyset cursors, and executing DELETE WHERE CURRENT OF or UPDATE WHERE CURRENT OF statements on the same table at the same time, could have caused the server to fail assertion 201501. This has been fixed.



CR:475752
CR Number:   475752
Product Name:   SQL Anywhere
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   10.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3533 26 Jul 2007 Fixed
Description
If a database involved in synchronization or replication was rebuilt using the Unload utility, the truncation point values stored in the database could have been set to values that would have caused transaction logs to be deleted via the delete_old_logs option, when they ware still required. This has been fixed. A database rebuilt using "dbunload -ar" will now have the resulting database truncation points set to zero. These values will be set more accurately the next time dbremote, dbmlsync, or dbltm is run. If the database is rebuilt manually, the truncation points can be zeroed by running:

dblog -il -ir -is dbname.db



CR:475760
CR Number:   475760
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)
10.0.1 3553 30 Aug 2007 Fixed
9.0.2 3548 30 Aug 2007 Fixed
Description
If multiple publications were being synchronized separately, and the MobiLink client (dbmlsync) was running in hover mode, but the SendTriggers extended option for the publications were not all the same, it was possible for dbmlsync to not have synchronized trigger actions when they should have been, or to have synchronized trigger actions when they should not have been. This problem has now been fixed, but introduces a behaviour change. When multiple publications are synchronized in hover mode, if the SendTriggers option changes from one synchronization to the next, a complete rescan of the transaction log is now executed to ensure that the proper SendTriggers option is used. This could result in synchronizations taking longer than before, with the benefit that the data in the synchronization is correct.



CR:475962
CR Number:   475962
Product Name:   MobiLink
Product Component:   Streams
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3534 30 Jul 2007 Fixed
Description
Clients connecting via the -xo option were not able to saturate the number of database workers specified by the -w option. This has been corrected so that the number of -xo clients that can concurrently connect is equal to the number of database worker threads.



CR:476067
CR Number:   476067
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   7.0.00
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3535 30 Jul 2007 Fixed
9.0.2 3536 30 Jul 2007 Fixed
Description
The CREATE INDEX statement was not respecting the setting of the Blocking option, and would always have failed if another transaction had the table locked (for shared or exclusive access). As of version 10.0, this is more likely to be an issue as the cleaner locks tables temporarily as it does its work. In particular, a reload could have failed with errors of the form "User 'another user' has the table ... locked". This has now been fixed.



CR:476077
CR Number:   476077
Product Name:   MobiLink
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   10.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3535 31 Jul 2007 Fixed
Description
The 64 bit versions of mlstop.exe and mluser.exe not included in the 10.0.1 install. This has been corrected.



CR:476080
CR Number:   476080
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 3550 21 Aug 2007 Fixed
Description
A primary server in a synchronous mirror configuration, running on a Unix system, could have stopped servicing TCPIP connection packets if number of client connections exceed the number of worker threads (ie. -gn value). Another symptom would have been that existing connections would have been disconnected with liveness timeout errors. This has been fixed.



CR:476095
CR Number:   476095
Product Name:   MobiLink
Product Component:   Synchronization Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   10.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3554 30 Aug 2007 Fixed
Description
The MobiLink server could leak memory when synchronizing and using the Listener. This includes using the Notifier alone, or with QAnywhere. This is now fixed.



CR:476112
CR Number:   476112
Product Name:   UltraLite
Product Component:   Runtime Libraries
Status:   Closed
OS:   Generic
Original Version:   10.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3536 31 Jul 2007 Fixed
Description
Erroneous results could have been returned for a query with an inner join and a WHERE clause containing a subquery. This has been corrected.



For example:

SELECT COUNT(*) FROM kb_baseclass INNER JOIN customer ON kb_baseclass=customer

WHERE customer IN (SELECT client FROM contact)



CR:476187
CR Number:   476187
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 3544 13 Aug 2007 Fixed
9.0.2 3541 13 Aug 2007 Fixed
Description
When opening a data reader, prepared statements were dropped and re-created again. This has been fix so that a command can now only open one data reader at any time.



CR:476194
CR Number:   476194
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   10.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3539 03 Aug 2007 Fixed
10.0.0 2877 03 Aug 2007 Fixed
Description
If a binary bitwise operator (i.e. AND, OR, or XOR) was performed on a (signed or unsigned) bigint or a numeric, then the operator would have incorrectly cast both arguments to 32-bit integers. This could have resulted in inappropriate errors being thrown.



For example, the following script generates an overflow error:



create table types_bitwise( e_ubigint unsigned bigint );

select e_ubigint & 12345678901234567890 from types_bitwise;



This problem could also have occurred if the unary bitwise operator NOT were performed on a numeric argument. This issue has been fixed.



CR:476195
CR Number:   476195
Product Name:   UltraLite
Product Component:   Runtime Libraries
Status:   Closed
OS:   Generic
Original Version:   10.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3539 31 Jul 2007 Fixed
Description
Erroneous results could have been returned for a query with both START AT and TOP clauses. This has been corrected.



CR:476211
CR Number:   476211
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 3540 01 Aug 2007 Fixed
Description
Queries using a UNION or UNION ALL, that exist within a stored procedure, function, trigger, or event, could have caused server instability (most likely either a crash or a failed assertion). This has been fixed. A workaround is to set the MAX_PLANS_CACHED option to zero.



CR:476347
CR Number:   476347
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 3537 02 Aug 2007 Fixed
9.0.2 3537 02 Aug 2007 Fixed
Description
If a command resulted in an exception, calling the same command again would have caused the exception "Attempted to read or write protected memory".



For example:



SACommand cmd = new SACommand("INSERT INTO t VALUES (1)", conn);

try

{

cmd.ExecuteNonQuery();

}

catch (Exception ex)

{

Console.WriteLine("Insert failed. " + ex.Message + "\n" + ex.StackTrace);

}



try

{

cmd.ExecuteNonQuery();

}

catch (Exception ex)

{

Console.WriteLine("Insert failed. " + ex.Message + "\n" + ex.StackTrace);

}



This problem has been fixed.



CR:476372
CR Number:   476372
Product Name:   UltraLite
Product Component:   Runtime Libraries
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3537 03 Aug 2007 Fixed
Description
Synchronizing more than one database at a time using encryption or compression, could have caused the UltaLite runtime to crash. This has been fixed.



CR:476516
CR Number:   476516
Product Name:   SQL Anywhere
Product Component:   OLEDB Client Library
Status:   Closed
OS:   Microsoft Windows
Original Version:   10.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3547 17 Aug 2007 Fixed
10.0.0 2879 17 Aug 2007 Fixed
9.0.2 3542 17 Aug 2007 Fixed
9.0.1 2212 17 Aug 2007 Fixed
Description
When using the SQL Anywhere OLE DB provider, preparing a statement that called a user-defined function would have resulted in the function's result value being truncated to 0 bytes. This problem has been corrected.



The following is an example:



CREATE FUNCTION foo( IN arg VARCHAR(3) )

RETURNS VARCHAR(10)

DETERMINISTIC

BEGIN

DECLARE retVal VARCHAR(10);

SET retVal = 'RETURNVALU';

RETURN retVal;

END



Dim cmd As New ADODB.Command

cmd.CommandText = "foo"

cmd.CommandType = ADODB.CommandTypeEnum.adCmdStoredProc

cmd.let_ActiveConnection(con)

cmd.Prepared = True

cmd.Parameters.Refresh()

cmd.Parameters(1).Value = "abc"

cmd.Execute()

MsgBox(cmd.Parameters(0).Value)



A work-around is to not prepare the command (ie. cmd.Prepared = False).



CR:476519
CR Number:   476519
Product Name:   SQL Anywhere
Product Component:   ISQL
Status:   Closed
OS:   Microsoft Windows
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
18 Oct 2007 Fixed
Description
The INPUT and OUTPUT statements now allow control of when the byte-order-mark (BOM) is processed. Each statement supports the new clause:

BYTE ORDER MARK { ON | OFF }

The semantics are identical to those used by the server's LOAD TABLE and UNLOAD TABLE statements. If omitted, "ON" is the assumed value. The BYTE ORDER MARK clause is relevant only when reading or writing ASCII formatted files encoded with UTF-8 or UTF-16 (and its variants). Attempts to use the BYTE ORDER MARK clause with FORMAT clauses other than ASCII, or with any other encoding, will result in an error.



CR:476533
CR Number:   476533
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3539 07 Aug 2007 Fixed
10.0.0 2877 07 Aug 2007 Fixed
9.0.2 3537 07 Aug 2007 Fixed
Description
The debugger state was not being updated correctly when debugging a connection currently at a breakpoint and then a running connection was chosen from the connections list. This has been fixed.



CR:476544
CR Number:   476544
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   10.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3539 03 Aug 2007 Fixed
Description
In rare cases, the server could have crashed executing an ALTER TABLE statement. This would have most likely occurred when removing columns from a table. This has been fixed.



CR:476693
CR Number:   476693
Product Name:   SQL Anywhere
Product Component:   ISQL
Status:   Closed
OS:   Microsoft Windows
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3551 24 Aug 2007 Fixed
9.0.2 3546 24 Aug 2007 Fixed
Description
It was not possible touse the INPUT statement to populate a GLOBAL TEMPORARY table that did not preserve rows on commit. The INPUT statement had the unintentional side-effect of committing changes. This has been fixed, INPUT no longer does a COMMIT.



CR:476708
CR Number:   476708
Product Name:   UltraLite
Product Component:   Runtime Libraries
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3550 21 Aug 2007 Fixed
Description
The problem requires the schema of the UltraLite database to have a table with a unique constraint (other than the primary key) and another table referencing that unique constraint with a foreign key. When a delete is downloaded, all rows referencing the deleted row (via a foreign key to the table) should also be deleted to maintain referential integrity. This was working properly; however, a similar scenario existed if an update was downloaded and the foreign key referencing the row did so by referencing a unique constraint instead of the primary key. This has been fixed.



CR:476819
CR Number:   476819
Product Name:   MobiLink
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3547 16 Aug 2007 Fixed
9.0.2 3542 16 Aug 2007 Fixed
Description
When User Account Control (UAC) is enabled, applications cannot have been registered with the provider for Windows Mobile Device Center (WMDC), either from dbasinst or from the provider itself. The reason for this was that applications are registered in the registry under HKEY_LOCAL_MACHINE, which requires administrator privileges when UAC is enabled. Although dbasinst has been elevated, and can set these registry entries, the provider was not. This has been corrected so that applications are now registered under HKEY_CURRENT_USER instead. However, this means that applications will now only be registered with a specific user, instead of automatically being registered with all users of a particular machine. The first time dbasinst is invoked after the patch has been applied, it will automatically move all registry entries from HKEY_LOCAL_MACHINE to HKEY_CURRENT_USER.
Workaround Description
 To work around this issue:



1. Click on the Windows Logo on the bottom left.

2. Type in the search box Local Security Policy.

3. Click on it.

4. Expand Local Policy

5. Click on Security Options

6. From the right pane, 3 option from the bottom

7. Click on "User Account: Run all administrator in Admin Approval Mode"

8. Click on Disable.

9. Make sure YOU RESTART the machine.

10. Once you are done, repeat the same steps, however, you need first to uninstall the provider.

11. Run dbasinst -u

12. Remove the device.

13. Put back the device and sync.

14. Now you are ready to repeat the same steps of registration.



CR:476938
CR Number:   476938
Product Name:   SQL Anywhere
Product Component:   ISQL
Status:   Closed
OS:   Microsoft Windows
Original Version:   10.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3542 10 Aug 2007 Fixed
Description
A query with surrounding brackets and a preceding common table expression, would given a syntax error when used in a procedure. This is fixed. The workaround is to remove the brackets.



CR:477150
CR Number:   477150
Product Name:   SQL Anywhere
Product Component:   ADO.Net Managed Provider
Status:   Closed
OS:   Microsoft Windows
Original Version:   10.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3534 14 Aug 2007 Fixed
9.0.2 3542 14 Aug 2007 Fixed
Description
Setting SAParameter.SADbType could have caused an IndexOutOfRangeException in multi-threading code. This problem has been fixed.



CR:477156
CR Number:   477156
Product Name:   MobiLink
Product Component:   QAnywhere server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3557 10 Sep 2007 Fixed
9.0.2 3551 10 Sep 2007 Fixed
Description
When a large number of clients (more than 2500) had contacted the MobiLink server, with all indicating they wished to receive push notifications, the server would have consumed a large amount of CPU evaluating transmission rules. This has been fixed.



NOTE (for 9.0.2 only): It is also important to run the MobiLink server with the command line option

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

in order to get the most out of this performance improvement. This option causes the MobiLink server to reorganize the QAnywhere message store tables, and add further indexes to these tables, to obtain optimal performance of MobiLink with QAnywhere.



CR:477181
CR Number:   477181
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   10.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3543 10 Aug 2007 Fixed
Description
The SQL Anywhere server tries to maintain column statistics so that they reflect modifications being made as a result of data change statements. The server could have incorrectly modified existing column statistics under certain circumstances when executing searched UPDATE statements. The problem was likely to only take place when the new column values were the same as existing values for a large proportion of candidate rows. This has now been corrected. A potential remedy for this incorrect behaviour is to recreate column statistics by using the CREATE STATISTICS statement. Also, the server may eventually remedy the problem itself as a result of query execution feedback.



CR:477194
CR Number:   477194
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3596 07 Nov 2007 Fixed
9.0.2 3581 31 Oct 2007 Fixed
8.0.3 5580 31 Oct 2007 Fixed
Description
Executing a REORGANIZE TABLE statement while other connections were also performing DML on the table, could have caused the database server to fail an assertion. Such assertions would have included 100701: "Unable to modify indexes for row referenced in rollback log". The REORGANIZE TABLE statement could have looped infinitely if another connection attempted to drop the table. A failed REORGANIZE TABLE, due to a deadlock or perhaps some other error, could have caused the server to crash. These problems have now been fixed.



CR:477195
CR Number:   477195
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   10.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3542 10 Aug 2007 Fixed
Description
The value of a numeric variable could have been rounded incorrectly when used in a statement other than a SELECT statement. The precise conditions under which this problem would have occurred are difficult to describe, but involve the use of the variable as part of a larger expression.



For example, the following batch illustrates the problem. It would have returned 2.0, rather than the correct 2.6:



BEGIN

DECLARE varNumeric NUMERIC;

DECLARE LOCAL TEMPORARY TABLE ltBUG (Dummy NUMERIC);

SET varNumeric = 1.3;

INSERT INTO ltBUG (Dummy) VALUES (ISNULL(varNumeric, 0) + ISNULL(varNumeric, 0));

SELECT * FROM ltBUG;

END;



This issue has been fixed.



CR:477203
CR Number:   477203
Product Name:   MobiLink
Product Component:   Utilities
Status:   Closed
OS:   Windows 2000
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3543 13 Aug 2007 Fixed
9.0.2 3541 13 Aug 2007 Fixed
Description
When using the Dbmlsync Integration Component (ActiveX) and the Message event was called, the msgID value was set to 0 for some messages that should have had unique identifiers. In particular this was reported for the message "Unable to find log offset ....", although other messages were likely affected as well. The msgID value for these messages would not have been filled in correctly with a unique value. This has now been corrected.
Workaround Description
 None.



CR:477286
CR Number:   477286
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 3547 14 Aug 2007 Fixed
Description
Garbage characters could have appeared in the request-level log on lines containing query plans. This has been fixed.
Workaround Description
 No workaround.



CR:477290
CR Number:   477290
Product Name:   MobiLink
Product Component:   ASA Client
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3544 10 Aug 2007 Fixed
Description
If logscan polling was disabled (using the -p command line option or the DisablePolling extended option) and a progress offset mismatch occurred, then the MobiLink client would have sent a new upload using the remote progress value. If the remote progress was greater than the consolidated progress, then this could have resulted in data loss, as operations on the remote could have been lost. If the remote progress was less than the consolidated progress, this could have resulted in server side errors applying the upload, as the same operation might have been uploaded more than once. This problem is now fixed. When a progress mismatch occurs a new upload will be sent from the consolidated progress unless the -r, -ra or -rb options are used.



CR:477294
CR Number:   477294
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 3547 14 Aug 2007 Fixed
3542 14 Aug 2007 Fixed
Description
There was a security issue with logging on the QAnywhere client during initialization. This has been fixed.





--------------------------------------华丽的分割线-------------------------------------------------------------------------

Sybase SQL Anywhere数据库恢复工具ReadASADB:

之前就已经研发成功了能够从Sybase SQL Anywhere的DB文件中恢复数据的工具: ReadASADB。
此工具支持ASA v5.0, v6.0, v7.0, v8.0, v9.0, v10.0, v11.0, v12.0, v16.0, v17.0等版本。
能够从损坏的SQL Anywhere数据文件(.db)和UltraLite数据文件(.udb)上提取数据的非常规恢复工具。
恢复Sybase SQL Anywhere的工具在国内处于领先水平。

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,16.x,17.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使用介绍

Sybase SQL Anywhere数据库恢复工具ReadASADB适用场景

各种误操作:

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

Sybase SQL Anywhere数据库恢复工具ReadASADB的应用场景:

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
7、*** ERROR *** Assertion failed: 201417 (7.0.4.3541) Invalid count or free space offset detected on a table page
8、Internal database error *** ERROR *** Assertion failed: 201425 (8.0.3.5594) Invalid count or free space offset detected on a free list page -- transaction rolled back.
9、Internal database error *** ERROR *** Assertion failed: 100702 (8.0.1.2600) Unable to modify indexes for a row referenced in rollback log -- transaction rolled back


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

Sybase ASE数据库恢复工具READSYBDEVICE:

一个不依赖数据库管理系统、直接从Sybase数据库设备文件上提取数据的业内领先的恢复工具!
能够从损坏的Sybase ASE设备文件(.dat)上提取数据的非常规恢复工具。

Sybase ASE数据库恢复工具READSYBDEVICE的主要功能:

  1. 被勒索病毒加密数据文件及备份文件情况下的恢复;
  2. 系统崩溃只剩下数据文件的情况下的恢复,甚至数据库文件不存在而只有损坏的备份文件情况下的恢复;
  3. 因断电、硬盘坏道等造成数据库文件损坏情况下的恢复;
  4. delete数据恢复、误update数据恢复、误删除表(drop)恢复、误truncate表恢复 等;
  5. 各种Sybase内部系统表损坏、索引错误的修复;
  6. master数据库损坏而无法正常运行情况下的恢复;
  7. Sybase数据库被标记为可疑,不可用等情况的恢复;
  8. Sybase数据库中数据文件内部出现坏块情况下的恢复;
  9. Sybase数据库无数据文件但有日志文件的情况下的恢复;
  10. Sybase数据库只有数据文件无任何日志文件的情况下的恢复;
  11. Sybase数据文件被误删除情况下的碎片提取恢复;
  12. 磁盘阵列上的Sybase数据库被误格式化情况下的数据库恢复;
  13. 数据库sysobjects等系统表损坏无法正常应用情况下的恢复;
  14. Sybase数据库还原数据库出现失败情况下的恢复;
  15. Sybase数据库只剩下损坏的备份文件情况下的恢复。

Sybase ASE数据库恢复工具READSYBDEVICE支持的版本:

Sybase ASE 11.0.x,11.5.x,11.9.x,12.0.x,12.5.x,15.0.x,15.5.x,15.7.x,16.0.x


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

SQL Server数据库恢复工具SQLRescue:

一个不依赖数据库管理系统、直接从SQL Server数据库文件上提取数据的业内领先的恢复工具!
能够从损坏的SQL Server数据库文件(.mdf)上提取数据的非常规恢复工具。

SQL Server数据库恢复工具SQLRescue的主要功能:

  1. 系统崩溃只剩下数据文件的情况下的恢复,即无日志文件或者日志文件损坏情况下的恢复;
  2. 断电导致数据库文件损坏情况下的恢复;
  3. 硬盘坏道造成数据库损坏情况下的恢复;
  4. 数据文件内部存在坏页情况下的恢复;
  5. 企业管理器误删除数据表记录,管理软件误删除数据表记录的恢复;
  6. 并闩锁错误、格式化、误删除后导致软件不能使用的情况;
  7. 无法读取并闩锁页sysindexes失败情况下的修复;
  8. 数据文件被误删除情况下的碎片提取恢复;
  9. 系统表损坏、索引错误、误删除数据库表、删除记录的数据找回;
  10. master数据库损坏而无法正常运行情况下的恢复;
  11. 数据文件无法附加情况下的数据恢复;
  12. 数据库被标记为可疑,质疑,不可用等情况的恢复;
  13. 数据库sysobjects等系统表损坏情况下的恢复;
  14. 数据被误(drop、delete、truncate)删除表数据的恢复,误update后的数据恢复等;
  15. 还原时报一致性错误,错误823等情况下的数据恢复,各种错误提示的数据库文件修复;
  16. 数据库被误格式化等情况下的数据库恢复;
  17. 日志收缩造成数据库损坏情况下的恢复;
  18. 仅剩损坏的备份文件情况下的恢复。

SQL Server数据库恢复工具SQLRescue技术特点:

只要SQL Server数据库的数据文件存在,我们就有办法帮您从数据文件中找回重要数据。
  1. 从数据文件中直接恢复数据
  2. 不能附加时直接恢复数据并生成新的数据库
  3. 系统表损坏的数据库修复
  4. 快速修复SQL 823错误、连接中断错误

SQL Server数据库恢复工具SQLRescue支持的版本:

Microsoft SQL Server 7.0, 2000, 2005, 2008, 2008R2, 2012, 2014, 2016, 2017,2019。
+-------------------------------------华丽的分割线-------------------------------------------------------------------------