远程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:452793
CR Number:   452793
Product Name:   SQL Anywhere
Product Component:   ISQL
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3339 11 Jan 2007 Fixed
10.0.0 2785 11 Jan 2007 Fixed
Description
Changing "Show multiple result sets" setting to On in the "Options" dialog could have incorrectly changed the setting which controls which result sets are printed in console mode. This has been fixed.



CR:452795
CR Number:   452795
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 3342 12 Jan 2007 Fixed
10.0.0 2786 12 Jan 2007 Fixed
Description
If an application using the iAnywhere JDBC driver on a UNIX platform attempted to fetch an NCHAR column, the iAnywhere JDBC driver may have thrown a truncation exception. The driver was incorrectly interpreting the column OCTET lenght. This problem has now been fixed.



CR:452798
CR Number:   452798
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)
11.0.0 1170 27 Mar 2008 Fixed
10.0.1 3664 27 Mar 2008 Fixed
Description
In very rare cases, a crash during recovery, or killing the server during recovery, may have resulted in assertion 201502 - "Inconsistent page modification counter value" on subsequent attempts to recover. This has now been fixed.



CR:452811
CR Number:   452811
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 3343 12 Jan 2007 Fixed
10.0.0 2787 12 Jan 2007 Fixed
Description
UltraLite could have produced incorrect results with aggregate queries with an ORDER BY clause, if ther did not exist an index on which to order the data, and there was no data supplied to be aggregated.

For example,

SELECT max( a ) FROM table ORDER BY max( a ) (table contains no rows)

This was fixed. A work-around woule be to recode the query as:

SELECT max( a ) FROM table ORDER BY 1.



CR:452878
CR Number:   452878
Product Name:   MobiLink
Product Component:   scripts
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3343 15 Jan 2007 Fixed
10.0.0 2787 15 Jan 2007 Fixed
Description
When deploying to a Microsoft SQL Server case-sensitive database, tests for existing tables and columns could have failed because the query used lower case names for the INFORMATION_SCHEMA.COLUMNS and INFORMATION_SCHEMA.TABLES columns called TABLE_NAME and COLUMN_NAME. This has been fixed by changing the tests to use upper case column names.

A workaround is to deploy to a file and change column names to upper case.



CR:452902
CR Number:   452902
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 3343 15 Jan 2007 Fixed
10.0.0 2787 15 Jan 2007 Fixed
Description
The server may have crashed when starting up in low memory conditions on Linux x86_64.

This has been fixed so that a crash will not occur, and the startup process will attempt to continue as normal.



CR:452905
CR Number:   452905
Product Name:   MobiLink
Product Component:   Java Plugin for Sybase Central
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3334 12 Jan 2007 Fixed
10.0.0 2787 12 Jan 2007 Fixed
Description
The text on the "History" tab of the Message Property sheets has been updated, as some of the text could have been misinterpreted. The description of each stage in a message's lifecycle uses consistent nomenclature, and includes the message status and transmission status explicitly.



CR:452906
CR Number:   452906
Product Name:   MobiLink
Product Component:   Java Plugin for Sybase Central
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3343 15 Jan 2007 Fixed
10.0.0 2787 15 Jan 2007 Fixed
Description
Nomenclature change: The addressing entity responsible for sending a message has changed from "Source" to "Originator". This change is visible in the following places:

1. The "Messages" tab for a server store:

a) In the "Filter" panel

b) In the header for the first column

2. On the "General" page of a "Message Properties" dialog.



CR:452908
CR Number:   452908
Product Name:   MobiLink
Product Component:   Java Plugin for Sybase Central
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3343 15 Jan 2007 Fixed
10.0.0 2787 15 Jan 2007 Fixed
Description
Clicking a column header to sort messages on the "Messages" tab of a client or server store, then opening a property sheet for one of the messages, could have displayed information for the wrong message. Clicking the "Next Message" or "Previous Message" buttons in the property sheet could also have selected the wrong message. These problems have now been fixed.



CR:452909
CR Number:   452909
Product Name:   MobiLink
Product Component:   Java Plugin for Sybase Central
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3343 15 Jan 2007 Fixed
10.0.0 2787 15 Jan 2007 Fixed
Description
The "#Outbound Msgs" column on the "Clients" tab for server message stores was always being displayed as zero. This has been fixed so that the number of messages is now displayed correctly.



CR:452911
CR Number:   452911
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 3450 14 Feb 2007 Fixed
8.0.3 5502 14 Feb 2007 Fixed
Description
A database that had gone down dirty, could have become corrupted during recovery. This would only have occurred if the database contained a very large checkpoint log (greater than 32512 pages for a database with 4Kb pages), which means that at least this many pages would have been altered in the database file since the last checkpoint. The symptoms of the corruption could be many different assertions including assertion 202101 - "Invalid bitmap links on page {page_num}". Also, validation errors could have resulted due to this corruption as well. This problem is now fixed.



It's possible that this corruption could be prevented by increasing the server checkpoint urgency. The more often checkpoints occur the less likely one is to get a database with a very large checkpoint log.



As always it is important to maintain a tested backup and recovery strategy. Having a valid backup database in this case allows one to apply the current transaction log to that backup to recover all transactions.



CR:452912
CR Number:   452912
Product Name:   UltraLite
Product Component:   UL Java Provider for Sybase Central
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3343 15 Jan 2007 Fixed
10.0.0 2787 15 Jan 2007 Fixed
Description
When using the Create Database wizard (or another wizard that creates a database), attempting to create an UltraLite database and immediately connect to it after the wizard completes would have failed with a connection error, although the wizard completes successfully. Going to the Advanced tab and removing the DBN entry will resolve the problem and the connection will succeed. This problem was introduced by the changes for Engineering case 450346. The required semi-colon before the DBN keyword was missed. This has now been fixed.



CR:452921
CR Number:   452921
Product Name:   MobiLink
Product Component:   Synchronization Server
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3343 15 Jan 2007 Fixed
10.0.0 2787 15 Jan 2007 Fixed
Description
The MobiLink server behavior may have been incorrect, or have even crashed, if a MobiLink monitor attempted to connect for the first time and the server was busy. This would have occurred if the monitor script "for_MLMonitor_only" didn't exist in the consolidated database. This problem has now been fixed.



CR:452935
CR Number:   452935
Product Name:   MobiLink
Product Component:   Synchronization Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3374 17 Jan 2007 Fixed
10.0.0 2803 06 Feb 2007 Fixed
Description
The MobiLink Monitor would not have shown server activity generated by version 9.0 or older clients. The server was not correctly sending an event to the Monitor for older clients. This has been fixed.



CR:453009
CR Number:   453009
Product Name:   MobiLink
Product Component:   Synchronization Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3352 22 Jan 2007 Fixed
10.0.0 2792 23 Jan 2007 Fixed
Description
When specifying a host name for the -x (specified network protocal and options) commandline option, the MobiLink server would have shutdown without giving an error when the host name was not in IP address form. This option has now been extended to accept an IP name, and an error message will now be displayed when the lookup fails.
Workaround Description
 Work around to use host=127.0.0.1



CR:453011
CR Number:   453011
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3347 17 Jan 2007 Fixed
10.0.0 3843 17 Jan 2007 Fixed
Description
Executing the statements CREATE DATABASE or CREATE ENCRYPTED FILE to create an encrypted database or file, could have caused a server crash. This has now been fixed.



CR:453022
CR Number:   453022
Product Name:   UltraLite
Product Component:   UltraLite Engine
Status:   Closed
OS:   Generic
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3347 15 Jan 2007 Fixed
10.0.0 2788 15 Jan 2007 Fixed
Description
An UltraLite application could have hung when attempting to auto-start the UltraLite engine, if the engine encountered an error and was unable to start-up properly. This has been fixed.



CR:453024
CR Number:   453024
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 3347 16 Jan 2007 Fixed
10.0.0 2791 19 Jan 2007 Fixed
Description
If a cursor was opened over a query containing an IN-list predicate, that cursor might have taken an overly long time to close. This slowdown had the most impact on IN-list predicates with many (~25 or more) entries in the list. This has been fixed.



CR:453026
CR Number:   453026
Product Name:   UltraLite
Product Component:   UltraLite for M-Business Anywhere
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3348 16 Jan 2007 Fixed
9.0.2 3434 16 Jan 2007 Fixed
Description
Calling the method ResultSet.Close() before the method PreparedStatement.Close() would have resulted in a memory leak. This has been fixed.



CR:453038
CR Number:   453038
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 3348 16 Jan 2007 Fixed
10.0.0 2789 16 Jan 2007 Fixed
Description
Applications that report the physical processor count of the computer would have returned an incorrect value when run on multi-core Mac OS system (e.g., dual-core Core Duo or dual-core Xeon CPUs). This may have affected licensing. This problem has now been corrected.



CR:453126
CR Number:   453126
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 3348 16 Jan 2007 Fixed
10.0.0 2789 16 Jan 2007 Fixed
Description
If an application made a Java call, and a deadlock occurred during the call, it was very likely that the server would have hung. The problem has now been fixed, and a deadlock error is correctly returned to the application.



CR:453133
CR Number:   453133
Product Name:   MobiLink
Product Component:   Java Plugin for Sybase Central
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3348 16 Jan 2007 Fixed
Description
The table mapping editor now displays one row for each table in the remote schema; previously, it displayed one row for each table mapping, requiring the use of select File -> New Table Mappings to create a table mapping and add a row to the editor. Now creating a new table mapping (when the remote table already exists in the remote schema) is simply a matter of changing the mapping direction to something other than "Not Synchronized" and choosing a consolidated table.



New remote tables can be created (which adds a new row to the table mapping editor) by selecting File -> New Remote Tables. Remote tables can also be deleted (which removes the corresponding rows when the model is saved) by selecting the rows and then selecting Edit -> Delete, or clicking the Delete toolbar button, or pressing the Delete key. With these changes, the meanings of the table mapping editor's row header icons have changed. "New" (the yellow star) now means "Remote table is new" rather than "Table mapping is new"; "Delete" (the red X) now means "Remote table is marked for deletion", rather than "Table mapping is marked for deletion".



A new table mapping can be created by changing its Mapping Direction column from "Not Synchronized" to one of the other three values (Bi-directional, Download to remote only, or Upload to consolidated only) and choosing a consolidated table. Similarly, you delete a table mapping by changing its Mapping Direction to "Not Synchronized". In both cases, because the row in the table mapping editor has been changed, the "Edit" icon (the yellow

pencil) will appear in the row header. The "Edit" icon is also displayed when any other type of change is made to a table mapping, such as a change to the selected consolidated table or the download type.



The column mapping editor now has a Mapping Direction column between the remote and consolidated columns. This replaces the "Synchronized" check box column in previous versions. This change makes it harder to "unsynchronize" a column and easier to "delete" it; the former being far less common than the latter. The column mapping editor's row header icons have similar meanings to those in the table mapping editor, and remote columns can be deleted in the same way that remote tables are deleted. Remote columns can

only be added by adding a new remote table.



These changes have eliminated the inconsistencies between the table and column mapping editors.



CR:453137
CR Number:   453137
Product Name:   MobiLink
Product Component:   Synchronization Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3373 06 Feb 2007 Fixed
10.0.0 2802 06 Feb 2007 Fixed
Description
If a version 9.0 or older client was synchronizing with a version 10.0 MobiLink server, it could have reported a protocol error which would have caused the synchronization to fail. This would most likely have occurred when the table being synchronized contained a blob column followed by a string column. This has been fixed.



CR:453147
CR Number:   453147
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 3348 16 Jan 2007 Fixed
10.0.0 2789 16 Jan 2007 Fixed
9.0.2 3434 16 Jan 2007 Fixed
Description
In some circumstances, the MobiLink plug-in would not have beeb able to display the set of notifiers, gateways, carriers or versions in a database. This has been fixed.



CR:453149
CR Number:   453149
Product Name:   SQL Anywhere
Product Component:   ISQL
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3348 17 Jan 2007 Fixed
10.0.0 2789 17 Jan 2007 Fixed
Description
Enabling the Fast Launcher in the "Options" dialog (Tools/Options), could have caused the Interactive SQL utility to report an internal error (NullPointerException) when the dialog was closed. This has been fixed.



CR:453226
CR Number:   453226
Product Name:   MobiLink
Product Component:   Java Plugin for Sybase Central
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3348 17 Jan 2007 Fixed
10.0.0 2789 17 Jan 2007 Fixed
Description
In some circumstances a Notifier's property sheet would have displayed an incorrect value for the polling interval. The class that parses the ml_property.property_value column value when the ml_property.property_name column value was "poll_every" assumed that one or

more "H", "M", or "S" suffixes would always be present in the value, but it is not always true. This has been corrected.



CR:453238
CR Number:   453238
Product Name:   SQL Anywhere
Product Component:   Utilities
Status:   Closed
OS:   Linux
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3264 23 Jan 2007 Fixed
10.0.0 2475 23 Jan 2007 Fixed
Description
When attempting to install the High-Availability add-on, using the Linux x86_64 GA installer, the installer would print the following messages:



Checking for available disk space ...

/bin/df: `\n.': No such file or directory

/bin/df: `\n.': No such file or directory

You do not have enough disk space in ''. Needed=0K Available=0K.



This would happen with "old" High-Availability keys. The newer High-Availability keys do not have this problem.



If you encounter this problem, you can either:

1. obtain a new High-Availability key that will fix the issue.

2. download the Developer edition from

http://www.ianywhere.com/forms/downloads/sql_anywhere/sqlany_10_developer_download.html

and provide the key(s) you already have during the install.



CR:453249
CR Number:   453249
Product Name:   MobiLink
Product Component:   Synchronization Server
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3350 18 Jan 2007 Fixed
10.0.0 2791 18 Jan 2007 Fixed
Description
The MobiLink server was not correctly displaying the extended usage for Java and .Net scripting. This has been fixed.



CR:453270
CR Number:   453270
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 3360 29 Jan 2007 Fixed
10.0.0 2796 29 Jan 2007 Fixed
9.0.2 3440 29 Jan 2007 Fixed
Description
If a JDBC application connected using jConnect, and had the string_rtruncation option set to ON, calls to the procedure DatabaseMetaData.getTables() to get a list of tables would likely have resulted in an empty result set, even though it should not have been. This problem would only have occurred if one or more of the tables in the result set had a comment that was longer than 128 characters in length. This problem has now been fixed.



CR:453274
CR Number:   453274
Product Name:   UltraLite
Product Component:   UltraLite Engine
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3356 23 Jan 2007 Fixed
10.0.0 2794 23 Jan 2007 Fixed
Description
It was possible for UltraLite to incorrectly return Referential Integrity violations. This could have happened when the primary row had been updated and it was the first row in an index. This has now been fixed.



CR:453399
CR Number:   453399
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 3435 18 Jan 2007 Fixed
Description
The encrypt() or decrypt() function could have returned NULL if the algorithm specified was AES_FIPS. This has been fixed.



CR:453408
CR Number:   453408
Product Name:   MobiLink
Product Component:   Synchronization Server
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3347 19 Jan 2007 Fixed
10.0.0 2788 19 Jan 2007 Fixed
Description
The MobiLink server may have aborted a synchronization request with the error "Unique PK violation on ml_user or ml_database table", when multiple MobiLink servers were running against the same consolidated database simultaneously. This problem has now been fixed.



CR:453412
CR Number:   453412
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3470 16 Feb 2007 Fixed
10.0.0 2806 16 Feb 2007 Fixed
Description
An AFTER UPDATE OF column-list trigger may have fired even if no column in the trigger's

column-list had been changed. This would have only have occurred if some other column specified in the UPDATE's SET list changed its value.



For example:

create trigger T1_UA after update of C1 on T1

for each row

begin

message 'after update trigger on column C1 fired';

end;

insert into T1 ( C1, C2 ) values ( 'abc', 'xyz' );



The following UPDATE changes C2, but C1 does not change, so trigger T1_UA should not fire



update T1 set C1= 'abc', C2 = 'XYZ';



This has been fixed so that triggers no longer fire under these conditions.
Workaround Description
 Removing the timestamp column or changing it to some other datatype stops the trigger from firing.



CR:453429
CR Number:   453429
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 3463 09 Mar 2007 Fixed
Description
Database validation could have, in very rare cases, incorrectly reported the error "Table (table_name) has an incorrect page count (x) in SYSTABLE when (y) was expected. This has now been fixed.
Workaround Description
 Delete and re-create the tables works but a few days later you will find other staging tables with the problem.



CR:453438
CR Number:   453438
Product Name:   UltraLite
Product Component:   UltraLite.NET
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3352 22 Jan 2007 Fixed
10.0.0 2792 22 Jan 2007 Fixed
9.0.2 3437 22 Jan 2007 Fixed
Description
If UltraLite encountered a permanent error (ie SQLE_DEVICE_IO_FAILED), due to the removal of an SD card, a subsequent attempts to close a connection would have caused a crash with a native error. This has been fixed.



CR:453440
CR Number:   453440
Product Name:   SQL Anywhere
Product Component:   ADO.Net Managed Provider
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3350 19 Jan 2007 Fixed
10.0.0 2791 19 Jan 2007 Fixed
Description
SOAP requests with encodings other than the database charset would have incurred errors within translated stringss. This has been fixed.



CR:453442
CR Number:   453442
Product Name:   UltraLite
Product Component:   UltraLite Engine
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3352 22 Jan 2007 Fixed
10.0.0 2792 22 Jan 2007 Fixed
Description
UltraLite could have produced incorrect results for queries in which there was an inner join with an ON condition, and the right-hand side of the operation was a complex subquery. In these cases, the ON condition was incorrectly not being applied. This has been corrected.



CR:453556
CR Number:   453556
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 3351 19 Jan 2007 Fixed
10.0.0 2792 19 Jan 2007 Fixed
Description
The sa_oledb_tableconstraints() system procedure may exist in older databases, but it is no longer used by the SQL Anywhere OLE DB provider. This procedure has been replaced by sa_oledb_table_constraints(). Newer versions of the oleschem.sql script dropped the sa_oledb_tableconstraints() procedure if it exists. The oleschem.sql script has now been changed to no longer drop the sa_oledb_tableconstraints() procedure.



CR:453580
CR Number:   453580
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 3352 19 Jan 2007 Fixed
10.0.0 2800 02 Feb 2007 Fixed
Description
It was possible, although rare, for the server to have produced an invalid checkpoint. If recovery was attempted with such a checkpoint, either during recovery from a crash, or restarting from a backup, the recovery would have failed. This problem was more likely to occur on multi-processor systems. This has now been corrected.



CR:453594
CR Number:   453594
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 3355 23 Jan 2007 Fixed
10.0.0 2793 23 Jan 2007 Fixed
Description
The server may have crashed when attempting to select from a call to a procedure. This behaviour could have occurred if the query was part of a subselect in a complex expression. The precise conditions for the failure are difficult to describe, though the error was more likely to have occurred when the procedure call was nested inside another procedure or function.



For example, the following function meets the above criteria (though may not necessarily cause an engine crash in all cases). Here, p1() is a user-defined procedure.

CREATE FUNCTION f1()

RETURNS LONG VARCHAR

BEGIN

RETURN 'str1' || (SELECT * FROM p1()) || 'str2';

END



This issue has been fixed.



CR:453666
CR Number:   453666
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 3365 24 Jan 2007 Fixed
10.0.0 2798 24 Jan 2007 Fixed
Description
Some predicate optimizations (merging range bounds, forming IN lists from OR predicates, etc) were done only when comparing a field to a constant literal. These optimizations should also have operated on any value that is known at open time, including variables. Failing to do these optimizations could have prevented the possible use of an index. This has been fixed.



For example, the query:

select * from department

where dept_id = var1 OR dept_id = var2 OR dept_id = var3

can be transformed as follows:

select * from department

where dept_id IN ( var1, var2, var3 )

provided that var1,var2, and var3 are variables.



Additionally, predicate optimizations to simplify OR predicates may not have been taken. This could have impacted the choice to use an index scan during query execution. This also has been fixed.



CR:453691
CR Number:   453691
Product Name:   MobiLink
Product Component:   Java Plugin for Sybase Central
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3355 23 Jan 2007 Fixed
10.0.0 2793 23 Jan 2007 Fixed
Description
The following server store property values were not being displayed or saved correctly:

Rules evaluation period

Schedule date format

Schedule time format

Management request address

Server administration password

Logging level

Compression level



Rather than showing their proper value, they always showed their default value. Even after changing a property, its new value would appear in the server's property dialog, but the new value would not be used by the MobiLink server. The plugin was setting the in-memory property set rather than the one in the persistent store. This has been fixed.



CR:453696
CR Number:   453696
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 3349 22 Jan 2007 Fixed
10.0.0 2792 22 Jan 2007 Fixed
9.0.2 3437 22 Jan 2007 Fixed
Description
The changes made for Engineering case 372680 could have caused the server to crash when executing a procedure with an outer-reference in a query block. This has now been fixed.



For example, if the following query was in a procedure, the server may have crashed executing the procedure:



select sum( R.z + ( select sum(DT.x + DT.y)

from (select T.x, R.y <<<<<-----R.x is an outerrefere

from T ) as DT(x, y) ))

from R



CR:453704
CR Number:   453704
Product Name:   MobiLink
Product Component:   QAnywhere server
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3355 23 Jan 2007 Fixed
10.0.0 2793 23 Jan 2007 Fixed
Description
The QAnywhere Notifier could have sent redundant push notifications to a QAnywhere client when only a single message was waiting in the server store for that client. The QAnywhere Notifier could have been put into an infinite loop by sending push notifications to a QAnywhere client, when no push notification is required. The redundant push notification problem could have been seen when sending a web service request from a mobile web services client, for example in the currency convertor sample. The infinite loop of push notifications could also have been seen when sending a web service request from a mobile web services client, when the web service is unavailable. This has now been fixed.



CR:453705
CR Number:   453705
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 3355 23 Jan 2007 Fixed
10.0.0 2793 23 Jan 2007 Fixed
9.0.2 3354 23 Jan 2007 Fixed
Description
The server may have crashed after executing an xp_cmdshell() system procedure. This problem has been fixed.



CR:453710
CR Number:   453710
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3374 07 Feb 2007 Fixed
10.0.0 2802 07 Feb 2007 Fixed
Description
If an index contained more than one instance of a particular "long" entry (a hashed value contained more than 249 bytes), removing one of these entries could potentially have corrupted the index. This has been fixed.
Workaround Description
 None.



CR:453720
CR Number:   453720
Product Name:   MobiLink
Product Component:   Java Plugin for Sybase Central
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3355 23 Jan 2007 Fixed
10.0.0 2793 23 Jan 2007 Fixed
Description
Attempting to view the contents of very large messages (e.g. greater than 1 MB) could have caused an internal error. This has been fixed by limiting the number of characters or bytes displayed to 8192.



CR:453728
CR Number:   453728
Product Name:   MobiLink
Product Component:   Java Plugin for Sybase Central
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3355 23 Jan 2007 Fixed
10.0.0 2793 23 Jan 2007 Fixed
Description
Clicking the "Export" button on the "Agent Log Viewer" dialog would have created a blank-delimited file whose first column was garbled, typically text of the form "com.sybase.qanywhere.plugin.LogFile$Record@xxxxxxx". This has been fixed. Now, the first value on each line is the name of the process that created the message (qaagent/dblsn/dbmlsync). The second value on each line indicates the message type: "I"/"W"/"E" for information, warning, or error, respectively.



CR:453743
CR Number:   453743
Product Name:   SQL Anywhere
Product Component:   ADO.Net Managed Provider
Status:   Closed
OS:   Generic
Original Version:   10.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3356 23 Jan 2007 Fixed
Description
If a running instance of Visual Studio was found, the utility SetupVSPackage.exe would have displayed a dialog box with a 'Continue' button and 'Cancel' button, but clicking 'Cancel' would have done nothing. This has been fixed.



CR:453744
CR Number:   453744
Product Name:   UltraLite
Product Component:   SQL Preprocessor
Status:   Closed
OS:   Generic
Original Version:   10.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3356 23 Jan 2007 Fixed
10.0.0 2793 23 Jan 2007 Fixed
Description
UltraLite could have produced incorrect results with queries in which a cast of NULL was used in the select list. The NULL constant was not being set up correctly. This was fixed.



CR:453834
CR Number:   453834
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Microsoft Windows
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3365 31 Jan 2007 Fixed
10.0.0 2799 31 Jan 2007 Fixed
9.0.2 3442 31 Jan 2007 Fixed
Description
Sybase Central was not respecting the language setting created by the Language Select utility dblang. This has been corrected.



CR:453835
CR Number:   453835
Product Name:   MobiLink
Product Component:   Synchronization Server
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3356 24 Jan 2007 Fixed
10.0.0 2794 24 Jan 2007 Fixed
Description
If a push notification error occurred while the MobiLink server was still undergoing startup, the MobiLink server would have treated it as a critical error, thus preventing the server from starting. A race condition in the code that handles MobiLink server startup and the code that handles push notifications, has been corrected.



CR:453846
CR Number:   453846
Product Name:   SQL Anywhere
Product Component:   Other
Status:   Closed
OS:   HP-UX
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3363 29 Jan 2007 Fixed
10.0.0 2797 29 Jan 2007 Fixed
9.0.2 3441 29 Jan 2007 Fixed
Description
Prior to HP-UX 11i v2 September 2004 Update, hostname length on HP-UX machines was limited to 64 bytes. Starting with that version, system administrators could enable support for 255-byte hostnames by setting a kernel parameter. However, on SQL Anywhere servers on HP-UX machines with long hostname support enabled, the MachineName property would only have returned at most 64 bytes of the hostname. The same was true of the HOST key in the AppInfo string for clients on such machines. This has now been fixed, and both MachineName and AppInfo are now capable of containing 255-byte hostnames.



CR:453858
CR Number:   453858
Product Name:   UltraLite
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3356 24 Jan 2007 Fixed
10.0.0 2794 24 Jan 2007 Fixed
Description
When connected to an UltraLite database, the Interactive SQL utility would not have displayed system table names, even when configured to do so. This problem has now been corrected.



CR:454000
CR Number:   454000
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 3357 24 Jan 2007 Fixed
10.0.0 2795 24 Jan 2007 Fixed
Description
Secure synchronizations may have failed unexpectedly, and apparently at random, at the very end of the synchronization/connection. Secure connections from all clients would have been affected, including:

- dbmlsync (including QAnywhere agent synchronizations)

- UltraLite clients

- the MobiLink Monitor

- dblsn

- mlfiletransfer



The failure required that the last thing MobiLink server did on a connection, just before it was closed, was a read. In synchronization terms, this means that synchronizations with download ACKs were potentially affected, but synchronizations _without_ download ACKs were not. Persistent connections should not be affected by this problem. This has been fixed.



CR:454017
CR Number:   454017
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 3363 30 Jan 2007 Fixed
Description
When specifying a Download Subset method of "Custom" in the synchronization model, the SQL generated for the download_cursor event would have had an erroneous comma in the FROM clause if no join tables were specified. This has been fixed.



CR:454021
CR Number:   454021
Product Name:   MobiLink
Product Component:   Java Plugin for Sybase Central
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3357 25 Jan 2007 Fixed
10.0.0 2795 25 Jan 2007 Fixed
Description
In the Agent Log Viewer dialog, it was impossible to use the time in the "Starting at" or "Ending at" fields to restrict the times of the displayed messages. This has been fixed.



CR:454027
CR Number:   454027
Product Name:   MobiLink
Product Component:   Java Plugin for Sybase Central
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3366 24 Jan 2007 Fixed
10.0.0 2800 24 Jan 2007 Fixed
Description
The "Schedule Editor" did not display existing schedules correctly if the schedule was for certain days of the week, or certain days of the month. This has been fixed.



CR:454133
CR Number:   454133
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 3360 29 Jan 2007 Fixed
10.0.0 2796 29 Jan 2007 Fixed
Description
If a statement contained the literal constants N'<str1>' and '<str2>', where <str1> and <str2> were any identical strings, then the wrong answer could have been returned for the statement, with the two literals being incorrectly treated as identical.



For example, the query:

select N'A', 'A'

should return a nchar(1) for column 1 and a char(1) for column 2. Instead, the same domain was incorrectly being selected for both columns:

select * from sa_describe_query( 'select ''A'', N''A'' ' )



This has been fixed.



CR:454140
CR Number:   454140
Product Name:   SQL Anywhere
Product Component:   Other
Status:   Closed
OS:   Generic
Original Version:   5.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3403 16 May 2007 Fixed
Description
Selecting Sybase Central, the Interactive SQL utility or the MobiLink Monitor from the Start Menu, may have failed to start the respective application. This has been fixed.



CR:454182
CR Number:   454182
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 3360 29 Jan 2007 Fixed
10.0.0 3360 29 Jan 2007 Fixed
Description
Creating a database with a user-specified DBA user as "DBA" (ie using CREATE DATABASE with the DBA USER clause, or dbinit with the -dba command line option) would not have put that user into the PUBLIC group. This would have lead to problems such as jConnect failing to find metadata on such databases. This has been fixed.
Workaround Description
 don't use the -dba switch. Instead GRANT CONNECT TO DBA IDENTIFIED BY newpassword after the jCatalog.sql script has been run



CR:454193
CR Number:   454193
Product Name:   UltraLite
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3359 30 Jan 2007 Fixed
10.0.0 2796 30 Jan 2007 Fixed
Description
When importing data with DBISQL IMPORT, rows with certain NULL columns would have failed to load, with the error



The data on line n could not be imported.

[UltraLite database] Expression has unsupported data type.

SQLCODE=-624, ODBC 3 State="HY003"



UltraLite was attempting to bind two types that were not supported, SQL_FLOAT and SQL_GUID, but only when those columns were NULL. When those columns were not NULL, the rows would have been loaded as usual. Fixed by adding support for these types.



CR:454249
CR Number:   454249
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 3363 29 Jan 2007 Fixed
10.0.0 2797 29 Jan 2007 Fixed
Description
When comparing a column with a CHAR domain (CHAR, VARCHAR, or LONG VARCHAR) to an NCHAR value, the incorrect semantics could have been given. The behaviour depended in part on whether the query was simple enough to bypass optimization and whether an index was selected to satisfy the comparison.

For example, the following query:

SELECT * FROM department D WHERE D.dept_name = N'R & D'

could have incorrectly been executed as:

SELECT * FROM department D WHERE D.dept_name = CAST( N'R & D' AS CHAR) AND CAST( D.dept_name AS NCHAR)= N'R & D'



This has been fixed. Such comparisons are now treated consistently, regardless of whether a sequential scan or an index is used, and regardless of whether the query bypassed optimization or not.

The above query is now correctly executed as:

SELECT * FROM department D WHERE D.dept_name = CAST( N'R & D' AS CHAR)



Note that NCHAR values may appear if there is a host variable that is bound at the client as SQL_C_WCHAR.



This fix further clarifies the rules of type inference when building expressions that have both CHAR and NCHAR columns. After this change, some expressions with a mix of CHAR and NCHAR types may return a different result type or a different answer than before. For each expression, SA tracks a flag coercible_collation that indicates whether the value can be coerced to CHAR when used in an expression containing a CHAR column. All constants, variables, and host variables are marked as coercible. All column references are marked as not coercible. A complex expression is coercible if all of its arguments are coercible. When combining arguments, the following rules are considered in order:



If there is any not-coercible NCHAR value, all CHAR values are converted to NCHAR

Else, if there is any not-coercible CHAR value, all NCHAR values are converted to CHAR

Else, if there is a mix of coercible CHAR and coercible NCHAR values, all CHAR values are converted to NCHAR



When NCHAR semantics are explicitly desired and a mix of CHAR/NCHAR types is present, use a cast on any CHAR column references in the operation. For example, the following comparison is done in the NCHAR domain:

SELECT * FROM department D where CAST( D.dept_name AS NCHAR) = N'R & D'



Since this change affects the results of queries, it may cause a query to return a different result than a server without the fix. If a materialized view was created with a server that does not contain the fix, stale results may be returned. If a materialized view contains NCHAR and CHAR values, the view columns may have different domains with a server containing this fix, and this may lead to a failure to match the materialized view (see QTS-454364). In this case, the materialized view must be recompiled with 'ALTER VIEW [ owner.]materialized-view-name RECOMPILE' and then refreshed with 'REFRESH MATERIALIZED VIEW [ owner.]materialized-view-name...before it can again be automatically matched (see also the section "Refreshing materialized views" in the SQL Anywhere Server - SQL Usage book for information about how to refresh materialized views).



CR:454313
CR Number:   454313
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 3360 29 Jan 2007 Fixed
10.0.0 2796 29 Jan 2007 Fixed
Description
It was possible, although very unlikely, for a mirror server to have crashed when attempting to connect to another mirror server. This has been fixed.



CR:454319
CR Number:   454319
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 3374 07 Feb 2007 Fixed
10.0.0 2802 07 Feb 2007 Fixed
9.0.2 3446 07 Feb 2007 Fixed
9.0.1 19 Dec 2007 Fixed
Description
If the case of a variable in a procedure was used inconsistently (e.g. declared in lower case but used in upper case), the server could have reported a "column not found" error, or even have crashed, when the procedure was called. This has been fixed.



CR:454339
CR Number:   454339
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 3360 29 Jan 2007 Fixed
10.0.0 2796 29 Jan 2007 Fixed
Description
The Initialization utility would have failed with "SQL Error (-131) -- Syntax error near 'dba user'" when providing a DBA password without a DBA username with the -dba command line option. This has been fixed.



CR:454360
CR Number:   454360
Product Name:   UltraLite
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3360 29 Jan 2007 Fixed
Description
The UltraLite Database Initialization utility was incorrectly handling tables without primary keys. If there was no primary key, but at least one unique constraint, ulinit would have attempted to use the first unique constraint as the primary key. However, the DDL generated for that table was incorrect, and produced a syntax error. If there was no primary key and no unique constraint, ulinit did not catch this case, and again produced DDL with a syntax error. These problems have now been corrected.



CR:454364
CR Number:   454364
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 3360 29 Jan 2007 Fixed
10.0.0 2796 29 Jan 2007 Fixed
Description
A materialized view created with a server prior to this fix, and having constant NCHAR and CHAR columns, may no longer qualify to be used by the optimizer for cost-based optimization. Changes have been made to how the optimizer handles materialized views related to issues described in Engineering cases 454249 and 454133. The view must be recompiled and then refreshed so that the optimizer can use it again.



CR:454423
CR Number:   454423
Product Name:   MobiLink
Product Component:   Java Plugin for Sybase Central
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3374 07 Feb 2007 Fixed
10.0.0 2811 26 Feb 2007 Fixed
Description
When deploying a MobiLink synchronization model for a SQL Anywhere remote, selecting an advanced option for the Remote Synchronization client would have caused the script to be generated with an extra comma, causing a syntax error. This has been fixed.



CR:454449
CR Number:   454449
Product Name:   SQL Anywhere
Product Component:   JDBC Client Library
Status:   Closed
OS:   Generic
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3363 29 Jan 2007 Fixed
10.0.0 2797 29 Jan 2007 Fixed
9.0.2 3441 29 Jan 2007 Fixed
Description
When an application uses the iAnywhere JDBC driver, the URL that the application passes to the driver begins with the header "jdbc:odbc:". Unfortunately, this URL header conflicts with the URL header that the Sun JDBC-ODBC bridge accepts. This problem is most noticible if the application uses JDK 1.6. To avoid this conflict, the iAnywhere JDBC driver now accepts the header "jdbc:ianywhere:" in addition to "jdbc:odbc:". Application developers are encouraged to use the new "jdbc:ianywhere:" header instead of the old "jdbc:odbc:" header when building the URL that will be passed in to the iAnywhere JDBC driver.



CR:454477
CR Number:   454477
Product Name:   MobiLink
Product Component:   Java Plugin for Sybase Central
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3363 30 Jan 2007 Fixed
10.0.0 2797 30 Jan 2007 Fixed
Description
The "Condition Editor" dialog contains a drop-down button for inserting the names of QAnywhere status codes. The list contained the name "IAS_TRANSMIT", which should have read "IAS_TRANSMITTING". This has been fixed.



CR:454480
CR Number:   454480
Product Name:   SQL Anywhere
Product Component:   ADO.Net Managed Provider
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3367 02 Feb 2007 Fixed
10.0.0 2800 02 Feb 2007 Fixed
9.0.2 3443 02 Feb 2007 Fixed
Description
Calls to the method DataTable.Merge() would have failed after performing an update, when using a data adapter with the property AcceptChangesDuringUpdate set to false. This problem has been fixed.



CR:454481
CR Number:   454481
Product Name:   SQL Anywhere
Product Component:   OLEDB Client Library
Status:   Closed
OS:   Microsoft Windows
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3364 30 Jan 2007 Fixed
10.0.0 2798 30 Jan 2007 Fixed
9.0.2 3442 30 Jan 2007 Fixed
9.0.1 2198 30 Jan 2007 Fixed
8.0.3 5496 30 Jan 2007 Fixed
Description
The SQL Anywhere OLE DB provider was returning E_FAIL from IOpenRowset::OpenRowset for database errors. Since E_FAIL was returned, the client would have reported the message "Unspecified error". On a "table not found" error for example, it should have returned DB_E_NOTABLE , "The specified table does not exist in the data store". This problem has been fixed.



CR:454485
CR Number:   454485
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 3363 30 Jan 2007 Fixed
10.0.0 2797 30 Jan 2007 Fixed
Description
In the Console utility dbconsole, some database properties were not displaying any values. These database properties with no values where listed in error. This problem has been fixed.



CR:454612
CR Number:   454612
Product Name:   SQL Anywhere
Product Component:   Utilities
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
11.0.1 1867 24 May 2007 Fixed
11.0.0 1412 14 Nov 2008 Fixed
Description
When a database containing tables with autoincrement columns was rebuilt, the default and historical behavior was for the server to calculate the next available value for each of these columns based on the current contents of the tables. In most cases, this iwa sufficient; however, if rows had been deleted from the "end" of the range of values, this would have resulted in values being re-used, which in some cases was not desirable. To force the current value of SYSTABCOL.max_identity to be preserved across a database rebuild, the Unload utility's (dbunload) "-l" option can be used. This will cause calls to sa_reset_identity() to be added to the generated reload.sql script for each table containing an autoincrement value.
Workaround Description
 1) Checkpoint to make sure all values are written to disk.

2) Find the table_id for your table with the autoincremented value.

3) Select max_identity from the syscolumn table where the table_id matches the table with the autoincremented column and save it.

4) Unload the database

5) In the reload.sql we need to add the stored procedure sa_reset_identity (table_name, owner,new_identity_value) to the max_identity from the syscolumn table that was saved prior to reloading the database.



CR:454614
CR Number:   454614
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 3364 31 Jan 2007 Fixed
10.0.0 2798 31 Jan 2007 Fixed
Description
A database could have become corrupted during a failed LOAD TABLE or ALTER TABLE. This could have occurred if the database contained more than one dbspace and the table being loaded or altered had indexes in a different dbspace from where the table was located. This has been fixed.



CR:454619
CR Number:   454619
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 3364 31 Jan 2007 Fixed
10.0.0 2798 31 Jan 2007 Fixed
Description
If the server was under a heavy I/O load when running on a Linux kernel prior to 2.6.12, the machine may have hung and required a reboot. A bug exists in Linux kernel versions prior to 2.6.12 that may cause machine hangs when using asynchronous I/O. The server will now automatically disable asynchronous I/O when running on affected kernels. A work around for those who do not wish to upgrade the kernel, or apply this fix, is to use the -ua server option to manually disable the use of asynchronous I/O.



CR:454624
CR Number:   454624
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.0 3364 31 Jan 2007 Fixed
Description
After double-clicking a search result in the Search dialog, (View > Search Pane), the corresponding item would not have been scrolled into view in the right pane. This has been fixed.



CR:454640
CR Number:   454640
Product Name:   MobiLink
Product Component:   Synchronization Server
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3365 31 Jan 2007 Fixed
10.0.0 2799 31 Jan 2007 Fixed
Description
When synchronizing with logic written in Java scripts, or with QAnywhere or with the Notifier, the Java VM may have become unstable after 60 minutes. This has been fixed.



CR:454739
CR Number:   454739
Product Name:   SQL Anywhere
Product Component:   ODBC Client Library
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3367 05 Feb 2007 Fixed
10.0.0 2800 05 Feb 2007 Fixed
Description
The ODBC driver on Unix systems, Windows system when not using the Driver Manager, and Windows CE systems, may have sent or received incorrect non-ASCII characters if the database character set was different from the application's operating system character set. This has been fixed.



CR:454742
CR Number:   454742
Product Name:   MobiLink
Product Component:   Synchronization Server
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3374 06 Feb 2007 Fixed
10.0.0 2803 06 Feb 2007 Fixed
Description
When a MobiLink server is handling synchronization requests from both version 9.0 and 10.0 clients concurrently, the same synchronization number may have been shared by both 9.0 and 10.0 synchronizations. The MobiLink server now assigns version 9.0 and older clients synchronization numbers in the range of 9000000 to 9999999. Version 10 clients will not be assigned numbers in this range.



CR:454745
CR Number:   454745
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   8.0.3
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3858 01 Feb 2007 Fixed
9.0.2 3442 01 Feb 2007 Fixed
Description
In some cases, an INSERT, UPDATE, or DELETE statement would have used a work table that was not needed. This would have caused performance to be slower than it could otherwise have been. This has been fixed.



CR:454756
CR Number:   454756
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Linux
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3380 14 Feb 2007 Fixed
10.0.0 2805 14 Feb 2007 Fixed
Description
When a database mirroring server was attempting to start, it could incorrectly have attempted to take ownership of the database. This may have resulted in the error message "The alternate server name provided is not unique" being displayed. This has been fixed.



CR:454785
CR Number:   454785
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   6.0.00
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3442 01 Feb 2007 Fixed
Description
Attempting to create a proxy table to a remote table that had an underscore in the table name, may have failed when using certain ODBC drivers. For this problem to have occurred, the ODBC driver in question must have returned the empty string as the "SQL_SEARCH_PATTERN_ESCAPE" string. At the moment, the ASE ODBC driver seems to be the only one that is affected by this problem. This has now been fixed.



CR:454791
CR Number:   454791
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3365 01 Feb 2007 Fixed
10.0.0 2799 01 Feb 2007 Fixed
Description
Running the Application Profiling wizard could have failed with a 'duplicate primary key' error on the ISYSUSER table, when creating the tracing database. This has been fixed.



CR:454793
CR Number:   454793
Product Name:   MobiLink
Product Component:   Java Plugin for Sybase Central
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3365 01 Feb 2007 Fixed
10.0.0 2799 01 Feb 2007 Fixed
Description
Opening an Agent configuration file (.qaa) with the QAnywhere plug-in would have shown the failover delay and failover retry count always as zero, even if they had non-zero values specified in the configuration file. This has been fixed.



CR:454851
CR Number:   454851
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 3366 01 Feb 2007 Fixed
10.0.0 2800 01 Feb 2007 Fixed
Description
Using a PUT to insert rows into a cursor could have failed to fire insert triggers on the affected table. Also, it was possible for a PUT to have caused a server crash if triggers were present on the table. These problems have now been fixed.



CR:454858
CR Number:   454858
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 3470 12 Mar 2007 Fixed
10.0.0 2818 12 Mar 2007 Fixed
9.0.2 3463 12 Mar 2007 Fixed
8.0.3 5512 12 Mar 2007 Fixed
Description
The server could have crashed when performing a LOAD TABLE into a temporary table. Certain requirements are now properly enforced when loading into temporary tables. A commit is now performed prior to the load, and after a successful load, for any table except a LOCAL TEMPORARY TABLE with ON COMMIT DELETE ROWS. A partial LOAD TABLE into a temporary table due to a failure will result in the entire contents of the table being removed, including rows in the temporary table which were present prior to the load. Previously, a partial load would have resulted in the rows loaded to that point being left in the table, while others were missing. Since rows are removed from a temporary table on error, it is now also required that there be no foreign rows already referencing rows in the table being loaded. As a result, loading into a temporary table already containing rows with foreign key references from another table will result in an error. In version 10.0, the use of LOAD TABLE into a global temporary table, that was created with the SHARE BY ALL clause, will cause an exclusive lock on the table. This will prevent concurrent loads into the table.



CR:454860
CR Number:   454860
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 3357 01 Feb 2007 Fixed
10.0.0 2800 01 Feb 2007 Fixed
Description
It was possible, although extremely rare, for an internal rebuild using the Unload utility (dbunload -ar or -an) of a pre-10.0 database to hang the server while unloading/reloading the first table. This problem would only have been seen on SMP systems, or systems with hyper-threaded processors. A workaround is to restart dbunload. This has been fixed.



CR:454862
CR Number:   454862
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 3366 02 Feb 2007 Fixed
10.0.0 2800 02 Feb 2007 Fixed
9.0.2 3443 02 Feb 2007 Fixed
Description
After receiving a TEMP_SPACE_LIMIT error, and then making more space available to the temporary file partition by increasing the partition size or deleting unnecessary files, an application may still have received a TEMP_SPACE_LIMIT error. This could have happened even when enough space was added so that all connections were below their quota, as the calculation of available temporary space was being made when the temp file was extended. If the temp file was not grown after more space becomes available, then the server would not have applied newly available space to a connection's temp file quota. This has been fixed. Now, after a small interval of time following a TEMP_SPACE_LIMIT error, the engine will re-compute available temp space and temp file quotas. The interval is currently set to 60 seconds. This recalculation is made following every occurance of a TEMP_SPACE_LIMIT error.



CR:454868
CR Number:   454868
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)
10.0.1 3367 02 Feb 2007 Fixed
9.0.2 3443 05 Feb 2007 Fixed
Description
On Windows CE, if a second server is started when one is already running, the first server's console window is displayed, and the second server terminates immediately. This is the correct behaviour, unless the command line coptions -qw or -qi were used, in which case the server's console window should never be displayed. This has been fixed so that the first server's console window is not displayed if the second server's command line includes one of the following options: -qw (do not display database server screen), -qi (do not display database server tray icon or screen) or -qs (suppress startup error dialogs).
Workaround Description
 None.



CR:454871
CR Number:   454871
Product Name:   UltraLite
Product Component:   UltraLite.NET
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3366 01 Feb 2007 Fixed
10.0.0 2800 01 Feb 2007 Fixed
9.0.2 3443 01 Feb 2007 Fixed
Description
The method ULConnection.Synchronize(ULSyncProgressListener) could have thrown an exception that application code could not catch, typically a unrecoverable error like SQLE_DEVICE_ERROR. Worker threads were not trapping errors from connection.Close(), as this exception was thrown from a worker thread, the application could not catch it. This has been fixed.



CR:454877
CR Number:   454877
Product Name:   MobiLink
Product Component:   Java Plugin for Sybase Central
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3366 02 Feb 2007 Fixed
10.0.0 2800 02 Feb 2007 Fixed
Description
The QAnyhere plug-in could have crashed when attempting to edit a poorly-formed rule (.QAR) file. This has been fixed.



CR:454878
CR Number:   454878
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 3366 02 Feb 2007 Fixed
10.0.0 2800 02 Feb 2007 Fixed
Description
The server could have crashed while optimizing a statement. In order for the problem to have occurred, there must have been a search condition comparing a column to a value of a different domain. This has been fixed.



CR:454889
CR Number:   454889
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 3366 02 Feb 2007 Fixed
10.0.0 2800 02 Feb 2007 Fixed
Description
It was possible, although rare, for the server to produce invalid checkpoints. If recovery was attempted with such a checkpoint (either during recovery from a crash, or restarting from a backup), the recovery would have failed. This has now been fixed.



CR:454890
CR Number:   454890
Product Name:   SQL Anywhere
Product Component:   JDBC Client Library
Status:   Closed
OS:   Generic
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3366 01 Feb 2007 Fixed
10.0.0 2800 01 Feb 2007 Fixed
9.0.2 3443 01 Feb 2007 Fixed
Description
If an application using the iAnywhere JDBC driver attempted to cancel a long running statement, it was possible that it could have crashed. This has now been fixed.



CR:454895
CR Number:   454895
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 3357 23 Apr 2007 Fixed
10.0.0 2795 23 Apr 2007 Fixed
Description
Sequentially scanning tables containing string columns was slow. Whether or not strings that had been read could be cached was not being determined correctly. This has been fixed.



CR:454903
CR Number:   454903
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)
10.0.1 3367 05 Feb 2007 Fixed
Description
On Windows CE, if a second server is started when one was already running, the first server's console window is displayed, and the second server is terminated immediately. This is the correct behaviour, unless -qw or -qi was used, in which case the server's console window should never be displayed. This has been fixed so that the first server's console window is not displayed if the second server's command line includes the following command line options: -qw ('do not display databse server screen'), -qi ('do not display database server try icon') or -qs ('suppress startup error dialogs').



CR:454923
CR Number:   454923
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 3367 05 Feb 2007 Fixed
10.0.0 2800 05 Feb 2007 Fixed
Description
Executing a query using the stored procedure debugger (Debug > Query Database) could have caused the database server to crash. This has been fixed.



CR:454990
CR Number:   454990
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 3367 05 Feb 2007 Fixed
10.0.0 2800 05 Feb 2007 Fixed
Description
The server could have hung, when running on a heavily loaded system. This was more likely to have occurred when running on multi-processor systems. This has been corrected.





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