远程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:463598
CR Number:   463598
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Generic
Original Version:   10.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3474 26 Mar 2007 Fixed
Description
The Create Database wizard would have chosen the wrong defaults for the case and accent sensitivity collation tailoring options for UCA collations if the database was being created on a Japanese machine, the server's character set was a Japanese character set, or a Japanese collation was selected for the new database's CHAR collation. This has been fixed.



CR:463608
CR Number:   463608
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 3474 26 Mar 2007 Fixed
10.0.0 2825 26 Mar 2007 Fixed
Description
When generating sortkeys for the following collations, the generated sortkeys were default UCA keys, rather than the keys appropriate to the language or region:

47 scandict

48 scannocp

58 rusdict

59 rusnocs

63 cyrdict

64 cyrnocs

65 elldict

69 hundict

71 hunnocs

70 hunnoac

72 turdict

74 turnocs

73 turnoac

1 thaidict

This has been corrected so that appropriate keys are now generated. It is highly recommended that any columns which store SORTKEY values using these collations be recomputed, as comparisons and sort order will be affected.



CR:463613
CR Number:   463613
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 3474 26 Mar 2007 Fixed
10.0.0 2824 26 Mar 2007 Fixed
9.0.2 3471 26 Mar 2007 Fixed
Description
Opening online help in Sybase Central may not have worked the first time it was asked for, although subsequent requests would have succeeded. The problem was timing and operating system dependent. It has been fixed.



CR:463614
CR Number:   463614
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)
22 May 2007 Fixed
Description
When attempting to add a row to a table that had constraints that were not checked until the transaction was committed, and the new row violated those constraints, it was not possible to cancel the insertion. The same problem affected table row modifications. This has been fixed.
Workaround Description
 Disconnecting from the database and reconnecting clears the problem.

The problem does not occur if the check on commit option for the foreign key is off.



CR:463662
CR Number:   463662
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 3473 02 Apr 2007 Fixed
10.0.0 2828 02 Apr 2007 Fixed
9.0.2 3472 02 Apr 2007 Fixed
Description
In general, the optimizer enumerates all valid plans which compute the correct result set for a given query. For each such plan, the optimizer estimates an execution cost measured in microseconds. The plan with the smallest estimated cost is then chosen as the execution plan for a query (aka the 'best plan' for a query). If the database option Optimization_goal is set to FIRST-ROW, the estimated cost for a plan enumerated by the optimizer is the estimated time to compute the first row of the result set of the query. If the optimization goal is set to ALL-ROWS, the estimated cost for a plan enumerated by the optimizer is the estimated time to compute all the rows in the result set of the query. The optimizer was not enumerating plans with complete index scans on the right hand side of a MERGE JOIN. This has now been fixed.



CR:463668
CR Number:   463668
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 3474 27 Mar 2007 Fixed
Description
A memory leak would have occurred in the MobiLink client when synchronizing BIT strings. This has been fixed.



CR:463669
CR Number:   463669
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 3474 03 Apr 2007 Fixed
10.0.0 2829 03 Apr 2007 Fixed
Description
If the database option Percent_as_comment was set to 'OFF', statements such as:

select 11 % 2

would have incorrectly reported an error, instead of the correct result of 1 being returned. This has been fixed.



CR:463733
CR Number:   463733
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 3420 20 Apr 2007 Fixed
10.0.0 2838 20 Apr 2007 Fixed
9.0.2 3484 20 Apr 2007 Fixed
Description
The server may have hung on shutdown if it was running an HTTPS server. This has been fixed.



CR:463734
CR Number:   463734
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 3404 26 Mar 2007 Fixed
9.0.2 3470 26 Mar 2007 Fixed
Description
A complex query (e.g. a join of many tables) may have taken a long time to be optimized, and would have appeared to be hung. This has been fixed.



CR:463740
CR Number:   463740
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 3474 27 Mar 2007 Fixed
10.0.0 2825 27 Mar 2007 Fixed
Description
Interactive SQL could have reported an internal error (ClassCastException) when importing UNIQUEIDENTIFIER data into UltraLite databases. This would only have happened when running the Import wizard if there was already a result set showing. This has now been fixed.



CR:463741
CR Number:   463741
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 3405 27 Mar 2007 Fixed
10.0.0 2825 27 Mar 2007 Fixed
Description
When clients using an HTTP non-persistent connection synchronized, the synchronizations could have ended with the errors: (SQLCode -10279) "Connection was dropped due to lack of network activity.", or: (SQLCode -10256) "This synchronization was canceled due to a new synchronization...". The synchronization of rows was not interrupted by these errors. The MobiLink server did not consider a synchronization closed until it sent the last few bytes. MobiLink clients did not always read these last few bytes, which lead to the errors. This has been fixed, the MobiLink server now accounts for this.



CR:463747
CR Number:   463747
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 3416 27 Mar 2007 Fixed
10.0.0 2825 27 Mar 2007 Fixed
Description
Pipelined HTTP requests may have caused the server to crash under certain circumstances. This has been fixed.



CR:463748
CR Number:   463748
Product Name:   SQL Anywhere
Product Component:   DBLIB Client Library
Status:   Closed
OS:   Generic
Original Version:   7.0.00
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3474 27 Mar 2007 Fixed
9.0.2 3472 27 Mar 2007 Fixed
Description
On Unix systems, attempting to connection without including a UserID in the connection string would have failed with the error "User ID '???' does not exist". This has been fixed to give the error "Invalid user ID or password".



CR:463763
CR Number:   463763
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 3474 27 Mar 2007 Fixed
10.0.0 2825 27 Mar 2007 Fixed
9.0.2 3472 27 Mar 2007 Fixed
Description
When using BCP IN to populate a table which had a nullable date or time column, the BCP utility would have given a 'NULLs not allowed' error if the data file inserted a NULL into the date or time column. The server was was incorrectly describing all date and time columns to the BCP utility as non-nullable, even if they were nullable. This problem has now been fixed.



CR:463776
CR Number:   463776
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 3413 27 Mar 2007 Fixed
10.0.0 2824 27 Mar 2007 Fixed
Description
A backup of the database could have been made that would have failed to start with the database assertion, 201502, "Inconsistent page modification counter value". This would not have occurred when the BACKUP DATABASE statement used the clause "WITH CHECKPOINT LOG NO COPY" or the Backup utility used the "-k nocopy" command line option, or if the database file did not grow from insert activity during the backup. This problem was more likely to occur if a backup was made while the database was growing in size, as the database would have to have had a large number of pages allocated for the checkpoint log, and have been both modifying (updating) existing database pages, as well as growing the database file during the course of the backup. If all of these conditions existed, then there was a small window of opportunity where the backup operation could have incorrectly read database pages. This has been fixed.



CR:463781
CR Number:   463781
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 3415 27 Mar 2007 Fixed
10.0.0 2825 27 Mar 2007 Fixed
Description
The Java utilities (and potentially any Java application) on Mac OS X could not connect to ODBC data sources that were created with the ODBC Administrator utility (found in /Applications/Utilities/) that ships with Mac OS X 10.4. Specifically, applications fail with SQLCode -620 and SQLState IM003: "Could not connect to the database. Unable to load driver". The ODBC Administrator utility produces odbc.ini files that have white space around the equals sign, which confused the parser. The parser has now been fixed.



CR:463882
CR Number:   463882
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Linux
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3474 29 Mar 2007 Fixed
10.0.0 2827 29 Mar 2007 Fixed
9.0.2 3475 29 Mar 2007 Fixed
Description
If an application, connected via the iAnywhere JDBC Driver, fetched a timestamp value using the ResultSet.getTimestamp() method, then the fractional portion of the returned timestamp would have been incorrectly truncated to millisecond precision. This problem has now been fixed and the fractional portion of the timestamp is now the expected nanosecond precision.



CR:463887
CR Number:   463887
Product Name:   SQL Anywhere
Product Component:   Utilities
Status:   Closed
OS:   Microsoft Windows
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
11.0.0 1505 26 Sep 2008 Fixed
10.0.1 3771 26 Sep 2008 Fixed
11.0.1 1964 13 Nov 2008 Fixed
Description
Deployment Wizard installs containing ADO.Net components would have failed without a good error message when trying to register the .Net components on a system with no .Net framework installed. This has been fixed so that the install now checks for the framework if it is required, and issues a warning.



CR:463910
CR Number:   463910
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.0 2826 27 Mar 2007 Fixed
Description
The MobiLink server could have incorrectly displayed the message "Ping complete" when a MobiLink Monitor session disconnected. This is now fixed.



CR:463912
CR Number:   463912
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 3474 28 Mar 2007 Fixed
10.0.0 2826 28 Mar 2007 Fixed
Description
A query with an ordered GroupBy operator immediately above an Exchange operator in the plan could have returned incorrect results. This has been fixed.



CR:463915
CR Number:   463915
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 3474 03 Apr 2007 Fixed
10.0.0 2830 03 Apr 2007 Fixed
Description
Sybase Central did not distinguish between CHAR or VARCHAR columns with byte-length or character-length semantics, nor did it allow for the creation of CHAR or VARCHAR columns with character-length semantics. Both of these problems have been fixed. Now, CHAR and VARCHAR columns with character-length semantics are displayed as "char(nn char)" and "varchar(nn char)" respectively.



In addition, when editing a column in the table editor or Column property sheet, or creating a domain or function in the corresponding wizards, it was possible to specify a size value that would exceed the database maximum (32767/maximum_character_length for CHAR and VARCHAR; 8191 for NCHAR and NVARCHAR). This problem has also been fixed.



CR:464155
CR Number:   464155
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Generic
Original Version:   5.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3474 29 Mar 2007 Fixed
10.0.0 2826 29 Mar 2007 Fixed
9.0.2 3474 29 Mar 2007 Fixed
Description
Attempting to use the Create Procedure wizard to create a Transact-SQL procedure, would have caused Sybase Central to crash. This has been fixed.



CR:464158
CR Number:   464158
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 3473 28 Mar 2007 Fixed
Description
A new statement, ALTER DATABASE SCHEMA FROM FILE, now allows for alteration an UltraLite database schema. This statement replaces the 9.0.2 schema upgrade feature that was implemented with the UpgradeSchemaFromFile() / ApplyFile() methods from this previous release.



Because Ultralite error callback is active during the upgrade process, the application is notified of errors during the conversion process. For example, SQLE_CONVERSION_ERROR reports all values that could not be converted in its parameters. Errors do not mean the process failed. The final SQL code after the statement returns is a 130 warning in this case. These warnings describe operations of the conversion process and do not stop the upgrade process.



Note: There is no mechanism to support the renaming of tables, columns or publications. Also, renaming a table is processed as a DROP TABLE and CREATE TABLE operation.



Caution: Resetting the device during the upgrade process leaves the database unusable.



To upgrade the schema with this new statement:



1. Define a new schema by creating a SQL script of DDL statements. The character set of the SQL script file must match the character set of the database you want to upgrade.



The UltraLite utilities ulinit or ulunload can be used to extract the DDL statements required for this script. Use these utilities to ensure that the DDL statements required are syntactically correct.



- For ulunload, use the 杗 and 杝 [file] options.

- For ulinit, use the 杔 [file] option.



See the UltraLite Database Management and Reference documentation for details.



2. Review the script and ensure that:



- That non-DDL statements have not been included. Including non-DDL statements does not have the expected effect.

- Words in the SQL statement are separated by spaces.

- Only one SQL statement can appear in each line.

- Comments are prepended with '--' and only occur at the start of a line.



3. Backup the existing database.



4. Run the new statement using the following syntax:



ALTER DATABASE SCHEMA FROM FILE <filename>



For example:



ALTER DATABASE SCHEMA FROM FILE 'MySchema.sql'



5. The existing database is upgraded with the new schema using the following process:



- Both the new and existing database schemas are compared to see what differs.

- The schema of the existing database is then altered accordingly.

- Rows that do not fit the new schema are dropped. When this occurs, a SQLE_ROW_DROPPED_DURING_SCHEMA_UPGRADE (130) warning is raised.



For example, if a uniqueness constraint was added to a table, and there are multiple rows with the same values, all but one row will be dropped.



Alternately, if an attempt to change a column domain causes a conversion error, then that row will be dropped. That is, say a VARCHAR column is converted to an INT column, if the value for a row is 揂BCD, then that row is dropped.



Lastly, if the new schema has new foreign keys where the foreign row doesn't have a matching primary row, these rows are also dropped.



If dropping rows is not the desired behavior of the schema upgrade, detect the warning and restore from backup.



CR:464201
CR Number:   464201
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 3474 02 Apr 2007 Fixed
10.0.0 2829 02 Apr 2007 Fixed
9.0.2 3476 02 Apr 2007 Fixed
Description
The runtime server does not support execution of procedures; however, it still attempted to execute a login procedure if one was defined using the PUBLIC.login_procedure option. That attempt would always have failed and caused a message to be displayed in the server console window for each connection:

Login procedure 'sp_login_environment' caused SQLSTATE '0AW04'

Triggers and procedures not supported in runtime server

This has been corrected so that the runtime server will no longer attempt to invoke the login procedure.



A workaround would be to execute:

set PUBLIC.login_procedure=''



CR:464299
CR Number:   464299
Product Name:   SQL Anywhere
Product Component:   Other
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3420 16 May 2007 Fixed
Description
Installing the Runtime version of SQL Anywhere, using the "Add" option during SQL Anywhere Install Maintenance, would have uninstalled some previously installed components. This has been fixed.



CR:464303
CR Number:   464303
Product Name:   MobiLink
Product Component:   ASA Client
Status:   Closed
OS:   Generic
Original Version:   10.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3474 29 Mar 2007 Fixed
Description
When determining where to begin scanning the transaction log, dbmlsync will now ignore subscriptions if they do not contain any of the tables that are currently being synchronized. Previously when building an upload, dbmlsync scanned the log from the lowest progress value of any subscription involving the MobiLink user who is synchronizing.



To take advantage of this optimization, you should now define your publications as disjoint (not sharing any tables) whenever possible. This will result in a major performance improvement when one subscription is being synchronized more frequently than another.



For example, suppose publications P1 and P2 share no tables. P2 is synchronized daily and P1 is synchronized hourly. Each time P1 is synchronized, its progress is advanced by 1000. The following table shows the segment of log scanned for each synchronization based on the old and new behavior:



log scanned log scanned

Action P1's progress P2's progress (old behavior) (new behavior)



sync P1 1000 1000 1000-2000 1000-2000

sync P1 1000 2000 1000-3000 2000-3000

sync P1 1000 3000 1000-4000 3000-4000

sync P1 1000 4000 1000-5000 4000-5000



You should be able to define your publications as disjoint except where two publications contain the same table but with different WHERE clauses. Defining disjoint publications should never limit functionality because the dbmlsync -n option can accept a comma separated list of publications which causes the union of the publications to be synchronized.



For example, suppose table T1 is to be synchronized throughout the day, and tables T1 and T2 are to be synchronized at the end of the day. Previously, you might have defined your publications as follows:



- P1 contains T1

- P2 contain T1 and T2.

- Synchronize during the day with the dbmlsync option -n P1

- Synchronize at the end of the day with the dbmlsync option -n P2



In order to take advantage of the new optimization, two publications should be defined: P1 contains T1, and P2 contains T2. During the day dbmlsync will synchronize using the -n P1 option. At the end of the day dblmsync will synchronize using -n P1,P2. This does the same thing, but is much more efficient with the new log scanning behavior.



CR:464307
CR Number:   464307
Product Name:   MobiLink
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3338 07 May 2007 Fixed
10.0.0 2784 07 May 2007 Fixed
Description
The QAnywhere Agent may have displayed the errors on startup:

... Failed to start QAnywhere Agent (register with DBLsn)

... Error registering with DBLSN code: -1

This was due to the MobiLink Listener crashing, and has been fixed.



CR:464321
CR Number:   464321
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 3474 29 Mar 2007 Fixed
10.0.0 2827 29 Mar 2007 Fixed
Description
It was possible for the server to terminate the connection when an attempt was made by the application to cancel a request. This has been fixed so that the request is correctly cancelled and the connection is not terminated.



CR:464341
CR Number:   464341
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 3474 29 Mar 2007 Fixed
10.0.0 2827 29 Mar 2007 Fixed
Description
Cancelling a statement containing a long-running function call would have appeared to succeed (i.e. the "Execute" menu item and toolbar button were enabled), but the statement might have been left running if the function was executed as a result of fetching rows from the statement's result set. This has been fixed.



CR:464348
CR Number:   464348
Product Name:   MobiLink
Product Component:   Java Plugin for Sybase Central
Status:   Closed
OS:   Generic
Original Version:   10.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3474 30 Mar 2007 Fixed
Description
The following predefined variables, ias_Originator and ias_StatusTime, were missing from the list of predefined variables listed in the Rule dialog used when composing deletion or transmission rules. This has been fixed.



CR:464442
CR Number:   464442
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 3478 11 Apr 2007 Fixed
10.0.0 2833 11 Apr 2007 Fixed
9.0.2 3480 11 Apr 2007 Fixed
Description
The iAnywhere JDBC Driver could have leaked memory, and exhausted memory heaps, if an application causes many SQLWarnings to be generated. This problem has now been fixed.



CR:464446
CR Number:   464446
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 3478 12 Apr 2007 Fixed
10.0.0 2833 12 Apr 2007 Fixed
Description
Connecting to a version 10 server with a version 9 or older client, could have caused the server to ignore the Language connection parameter, or in rare cases, caused the server to crash. The language used by the connection would then have been the server's default language. This has been fixed.



CR:464473
CR Number:   464473
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 3474 30 Mar 2007 Fixed
10.0.0 2827 30 Mar 2007 Fixed
Description
When executing the statement ALTER TABLE ADD FOREIGN KEY there was not check that the new foreign key rows all had matching primary rows. A check has been added so that the statement will now fail if a primary row is missing.



CR:464474
CR Number:   464474
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 3502 02 Apr 2007 Fixed
10.0.0 2861 02 Apr 2007 Fixed
Description
On Mac OS X systems only, items in the menu bar for Sybase Central were enabled even when a modal dialog was open. If one of these menu items was clicked while the dialog was open, the program could have crashed. This has been fixed.



Note, this problem affected the Interactive SQL utility, DBConsole, and the MobiLink Monitor as well, which have also been fixed.



CR:464477
CR Number:   464477
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 3596 02 Apr 2007 Fixed
9.0.2 3475 07 Nov 2007 Fixed
Description
After the execution of an ALTER TABLE [ADD | DROP | MODIFY ] COLUMN statement, the server would have failed to reload trigger and stored procedure definitions. This reload should have caused a recompile of the trigger or procedure definitions, which would have altered the semantics of their statements if they depended upon the ALTERed column. As an example, if a query in a trigger definition used the syntax "SELECT *" and referenced the modified table, an incorrect number (or type) of columns would have been returned in the query's result. This oversight has been corrected.



CR:464488
CR Number:   464488
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 3474 02 Apr 2007 Fixed
Description
The MobiLink server now buffers pending writes more efficiently during HTTP synchronizations. This change allows the server to use significantly less memory, which may make for less swapping to disk.



CR:464640
CR Number:   464640
Product Name:   MobiLink
Product Component:   iAS Branded ODBC Drivers
Status:   Closed
OS:   Generic
Original Version:   10.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3474 02 Apr 2007 Fixed
Description
The IAnywhere Oracle ODBC driver could have crashed if the following ODBC API functions were called in this order:

SQLAllocHandle( ..., SQL_HANDLE_STMT, ...) (returns SQL_SUCCESS)

SQLExecDirect( ..., "select ...", ... ) (returns SQL_SUCCESS)

SQLExecDirect( ..., "insert...", ...) (returns SQL_ERROR)

SQLFreeStmt( ..., SQL_UNBIND) with the same statement handle.

The number of columns of the result set was not reset to zero when the same statement handle was reused. This problem has now been fixed.



CR:464669
CR Number:   464669
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 3474 03 Apr 2007 Fixed
10.0.0 2829 03 Apr 2007 Fixed
Description
In a database mirroring environment, an operational server may have crashed when first establishing a connection to another partner or the arbiter. This has been fixed.



CR:464681
CR Number:   464681
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 3474 03 Apr 2007 Fixed
10.0.0 2829 03 Apr 2007 Fixed
Description
Servers running on Unix systems, and experiencing a high volume of HTTP connections, may have hung. This has been fixed.



CR:464828
CR Number:   464828
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 3404 09 Apr 2007 Fixed
10.0.0 2818 09 Apr 2007 Fixed
Description
Calling the system procedure xp_sendmail with a non-ASCII character (i.e., character greater than 0x7f) in the Subject, would have caused a server crash. This has been fixed.



CR:464834
CR Number:   464834
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 3474 03 Apr 2007 Fixed
10.0.0 2830 03 Apr 2007 Fixed
Description
The "Start Agent" menu item associated with a .QAA file was missing a keyboard mnemonic. This has been correct so that it now has one.



CR:464837
CR Number:   464837
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 3474 03 Apr 2007 Fixed
10.0.0 2830 03 Apr 2007 Fixed
Description
A synchronization would have failed if it used publications, and the runtime did not know if the MobiLink server had received the upload of the previous synchronization. This has been fixed.



CR:464838
CR Number:   464838
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 3475 03 Apr 2007 Fixed
10.0.0 2830 03 Apr 2007 Fixed
Description
It was possible for the Interactive SQL utility to crash (NullPointerException) if the window was closed while editing table data. This has been fixed.



CR:464849
CR Number:   464849
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 3474 03 Apr 2007 Fixed
10.0.0 2830 03 Apr 2007 Fixed
Description
When a column for an INSERT statement was bound in a Java application as follows:

stmt.setTimestamp( pnum, new java.sql.Timestamp(System.currentTimeMillis()) );

executing the INSERT statement would have failed with a SQLE_CONVERSION_ERROR. The microseconds were not scaled into nanoseconds, and vice versa. This has been fixed.



CR:464881
CR Number:   464881
Product Name:   SQL Anywhere
Product Component:   DBLIB Client Library
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3474 04 Apr 2007 Fixed
10.0.0 2830 04 Apr 2007 Fixed
Description
If an application initialized, finalized, and then re-initialized a client library, making a connection could possibly have caused the application to crash. How the client library is initializing and finalizing varies from API to API. For DBLib, this is done with db_init and db_fini. For ODBC with a Driver Manager, this is done when connecting when there are no existing connections from the application, and when disconnecting, when the connection being disconnected was the only connection from the application. This has now been fixed so that the application will not crash when making a connection.



CR:464885
CR Number:   464885
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 3475 04 Apr 2007 Fixed
10.0.0 2830 04 Apr 2007 Fixed
Description
When the MobiLink server was configured to support synchronization requests from version 9 clients using the -xo option, the following error could have occurred at shutdown: "[-10117] Stream Error: Unable to open a 'tcpip' network connection. An error occurred during shutdown.". This has been fixed so that the error no longer occurs.



CR:464889
CR Number:   464889
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 3475 04 Apr 2007 Fixed
10.0.0 2830 04 Apr 2007 Fixed
Description
If the -sl option (set Java options) was used more than once on the MobiLink server command line, an error such as "unrecognized argument" could have occurred. This has now been corrected.



For example "mlsrv10 -sl java ( opt1 ) -sl java (opt2 ) ..." now correctly parses as "mlsrv10 -sl java( opt1 opt2 ) ..."



CR:465003
CR Number:   465003
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 3482 18 Apr 2007 Fixed
10.0.0 2836 18 Apr 2007 Fixed
9.0.2 3483 18 Apr 2007 Fixed
Description
If multiple connections using Remote Data Access attempted to read from the same set of tables in a Microsoft SQL Server database, then the connections would have been serialized. This was due to the fact that Remote Data Access always used pessimistic locking when connecting to Microsoft SQL Server. This has now been fixed so that connections to Microsoft SQL Server are no longer serialized.



CR:465040
CR Number:   465040
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 3490 10 May 2007 Fixed
10.0.0 2848 10 May 2007 Fixed
9.0.2 3494 10 May 2007 Fixed
Description
When the server was converting the WHERE, ON or HAVING clauses to Conjunctive Normal Form, and discovered at least one simplified or implied condition, then it was possible that the resulting query was not equivalent to the original query and therefore did not return the same result set.



For example, the following should return 1 row, but did not return any rows:



create table T1 ( d int, e int, f char(5) ,g char(5) );

insert into T1 values ( 5, 2, '4E', 'N' );

select * from T1

where ( d is not null or d is NULL )

and ( e = 2 or e is NULL )

and ( g <> 'Y' or g is null )

and e = 2



This has been fixed.



CR:465042
CR Number:   465042
Product Name:   MobiLink
Product Component:   Java Plugin for Sybase Central
Status:   Closed
OS:   Generic
Original Version:   10.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3475 05 Apr 2007 Fixed
Description
The way destination aliases are handled by the QAnywhere server changed in version 10.0.1 in a way that the plug-in didn't handle correctly. The list history entries for multi-addressed messages were including all of the messages sent to the alias members. This has now been fixed so that only those history entries whose addresses match the destination address shown in the Messages panel are shown.



CR:465151
CR Number:   465151
Product Name:   UltraLite
Product Component:   Runtime Libraries
Status:   Closed
OS:   Generic
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3475 05 Apr 2007 Fixed
Description
The UltraLite runtime would have accepted the empty string as a valid script version. This has been fixed. The empty string is now rejected, just like if it had been set to NULL.



CR:465161
CR Number:   465161
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 3475 09 Apr 2007 Fixed
10.0.0 2831 09 Apr 2007 Fixed
9.0.2 3478 09 Apr 2007 Fixed
Description
While rare, the server could have crashed on shutdown. This would only have been seen if more than one external function had been called, and the calls were either cancelled before the functions completed, or the database tasks servicing the request had received a thread deadlock error before the functions completed. This has been fixed.



CR:465168
CR Number:   465168
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 3418 09 Apr 2007 Fixed
Description
Pipelined HTTP requests may have prematurely exceeded the MaxRequestSize protocol option limit, resulting in a 413 - 'Request Entity Too Large' HTTP status. This has been fixed. Now, by default, the MaxRequestSize limit is 102,400 bytes per request.



CR:465178
CR Number:   465178
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 3483 20 Apr 2007 Fixed
10.0.0 2838 20 Apr 2007 Fixed
Description
As of version 10.0.0, Remote Data Access no longer worked with an ODBC driver that did not support UNICODE. This has now been resolved, and Remote Data Access is now possible with non-UNICODE ODBC drivers. It should be noted though that data coming from non-UNICODE ODBC drivers will not undergo any character set translation.



CR:465368
CR Number:   465368
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 3475 10 Apr 2007 Fixed
Description
If the Timeout synchronization parameter was set to a value that was too low, and a TLS or HTTPS synchronization was being done over a slow channel, the runtime may have attempted to send a liveness packet before the TLS handshake had been completed, causing the synchronization to fail in a number of different ways. The MobiLink server may have reported a handshake or protocol error, or the client could have crashed. This has been fixed



CR:465371
CR Number:   465371
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 3475 09 Apr 2007 Fixed
Description
If a procedure, trigger, batch or event contained a string which was continued across multiple lines, and there was a syntax error in the procedure at some point after the string, the wrong line number would have been reported in the error message. This has been fixed.



CR:465383
CR Number:   465383
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 3419 10 Apr 2007 Fixed
Description
A web services procedure attempting to make a secure connection to a remote web service may have failed with the error "Unable to connect to the remote host specified by '<URL>'". This has been fixed.



CR:465385
CR Number:   465385
Product Name:   SQL Anywhere
Product Component:   ISQL
Status:   Closed
OS:   Generic
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10 Apr 2007 Fixed
Description
Copying cells from results tables always copied the data as comma-delimited form, with character data quoted with quotation marks, without respecting the Interactive SQL options: isql_field_separator, isql_quote, and isql_escape_character. This has been corrected.



Note, this fix now makes it easier to paste data from dbisql into Excel: Set the default field delimiter to a tab ("\t" -- a backslash followed by the lower-case letter T), then copy the data from the table in the usual way.



CR:465388
CR Number:   465388
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 3477 10 Apr 2007 Fixed
Description
Inserting a row that contained a zero-length binary value for a long binary column would have caused the UltraLite engine to crash. This has been fixed.



CR:465405
CR Number:   465405
Product Name:   SQL Anywhere
Product Component:   ISQL
Status:   Closed
OS:   Generic
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3477 10 Apr 2007 Fixed
10.0.0 2832 10 Apr 2007 Fixed
9.0.2 3479 10 Apr 2007 Fixed
Description
The Edit/Select All menu item would only have operated on the contents of the "SQL Statements" field. The intended behavior is that this operation select the contents of the active pane. This has been fixed so that if a result table has focus, the Edit/Select All menu item selects all of the rows it contains.



CR:465530
CR Number:   465530
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 3478 11 Apr 2007 Fixed
10.0.0 2833 11 Apr 2007 Fixed
9.0.2 3480 11 Apr 2007 Fixed
Description
If the filename of a transaction log, including its full path, was exactly 70 bytes, and the Backup utility was used to do a backup, the server would have failed to truncate the log when the -x option (delete and restart the transaction log) was specified. This has been fixed.

A workaround would be to use the BACKUP DATABASE statement with the TRANSACTION LOG TRUNCATE clause to truncate the log.



CR:465693
CR Number:   465693
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 3478 13 Apr 2007 Fixed
10.0.0 2833 13 Apr 2007 Fixed
Description
If the ExecuteQuery method detected an error, a non-null ResultSet could still have been returned. This was corrected.



CR:465695
CR Number:   465695
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 3478 13 Apr 2007 Fixed
10.0.0 2834 13 Apr 2007 Fixed
Description
After connecting using embedded SQL, some user options may not have been respected until the first SET OPTION was performed. Public options may have been used instead of any user options (i.e. options set with "SET OPTION user.option = value" may not have been respected.)



After executing a SETUSER WITH PERMISSIONS userid statement, some of the current options for userid may not be respected. Similarly, the next SETUSER command which should have set the options back, may have caused the original options to not be respected.



Both of these problems have now been fixed.



CR:465708
CR Number:   465708
Product Name:   MobiLink
Product Component:   QAnywhere client
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3478 11 Apr 2007 Fixed
10.0.0 2833 11 Apr 2007 Fixed
Description
After it has started all necessary processes, the QAnywhere Agent now prints a line like this to the console window and log file:



I. 2007-04-11 11:21:54. There are 23 processes running



This is useful in diagnosing problems on Windows CE devices with Windows Mobile 5, and previous OSes, because there is a fixed limit of 32 processes that can be running at once. After that, the OS will start shutting down applications in a not completely deterministic way.



CR:465712
CR Number:   465712
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 3475 12 Apr 2007 Fixed
9.0.2 3462 27 Sep 2007 Fixed
Description
When running the consolidated database on a server that uses snapshot isolation (Oracle 10g for example), it was possible that MobiLink would have redelivered messages to QAnywhere clients that were previously received and acknowledged. This problem would have occurred when there was a long-running transaction on the consolidated database, which caused the last_download_timestamp to stay fixed at the time that the transaction began. It has now been fixed.



CR:465733
CR Number:   465733
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Generic
Original Version:   10.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3478 12 Apr 2007 Fixed
Description
Attempting to create a a tracing database would have caused Sybase Central to crash. This has been fixed.



CR:465814
CR Number:   465814
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 3478 13 Apr 2007 Fixed
10.0.0 2834 13 Apr 2007 Fixed
9.0.2 3481 13 Apr 2007 Fixed
8.0.3 5527 13 Apr 2007 Fixed
Description
Performing a LOAD TABLE into a temporary table that already contained rows could have crashed, if the table had no primary key. This has been fixed.



CR:465848
CR Number:   465848
Product Name:   SQL Anywhere
Product Component:   DBLIB Client Library
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3419 13 Apr 2007 Fixed
10.0.0 2834 13 Apr 2007 Fixed
Description
On MacOS systems, trying to connect to a server running on the same machine as the client over the IPv6 loopback address would have failed. This has been fixed.



CR:465947
CR Number:   465947
Product Name:   MobiLink
Product Component:   Streams
Status:   Closed
OS:   Generic
Original Version:   10.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3479 13 Apr 2007 Fixed
Description
MobiLink clients that use TLS or HTTPS would have crashed if they were not able to load the appropriate TLS stream dlls (mlcrsa10.dll, mlcecc10.dll, mlcrsafips10.dll and sbgse2.dll). This has been fixed. They will now report the error "Failed to load library x" (STREAM_ERROR_LOAD_LIBRARY_FAILURE).



CR:465964
CR Number:   465964
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3479 13 Apr 2007 Fixed
10.0.0 2834 13 Apr 2007 Fixed
Description
If a web service had a SQL statement associated with it, the web service property sheet was used to change the web service's type to 'DISH', then the SQL statement would have been deleted without warning. Now a warning message appears when 'DISH' is selected in the "Service type:" drop down list, with an opportunity to select Cancel without deleting the SQL statement.



CR:466044
CR Number:   466044
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 3486 30 Apr 2007 Fixed
9.0.2 3488 30 Apr 2007 Fixed
Description
If the server was started with the -qw ("do not display database server screen") or -qi ("do not display database server tray icon or screen") command line options, certain messages, such as checkpoint messages, would not have been written to the output log or to the internal message list (which can be queried with the property functions). Services on Windows Vista, as well as services on XP which did not allow interaction with the desktop, may have behaved as if -qi was specified. This has been fixed so that all messages now always go to the server output log and internal message list.



On Windows, the -qw switch now completely suppresses the creation of the server window. As before, a systray icon is created but that icon is now created immediately upon startup. Previously, a minimized server window was created momentarily before the systray icon was created. In 9.0.2, the menu for the systray icon allowed the user to open the server window via the "Restore" menu item but "Restore" has now been disabled (which is consistent with 10.x & the fact that -qw is supposed to prevent the creation of a server window).



On UNIX, the -qw switch suppresses all messages from going to the console after the 'press q to quit' message has been displayed.



CR:466058
CR Number:   466058
Product Name:   MobiLink
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3483 25 Apr 2007 Fixed
Description
A new option has been added to the CE Deployement Installer, which allows for excluding the default QAnywhere database in the .CAB file.



CR:466070
CR Number:   466070
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 3481 18 Apr 2007 Fixed
10.0.0 2836 18 Apr 2007 Fixed
9.0.2 3483 18 Apr 2007 Fixed
Description
Connection attempts to the utility_db would have failed, throwing an exception that setting options was not allowed in the utility_db. As the SET OPTION statement is not valid in the utility_db, the AsaConection method now checks if the database is the utility_db before issuing a SET TEMPORARY OPTION statement.



CR:466074
CR Number:   466074
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 3515 29 Jun 2007 Fixed
Description
Certain x.509 server certificates would have been erroneously rejected by the client during the TLS handshake, causing the connection to fail. Certificates generated by 10.0 gencert were particularly likely to be rejected. This problem has been resolved by upgrading to newer versions of the Certicom TLS libraries.



CR:466091
CR Number:   466091
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 3482 18 Apr 2007 Fixed
10.0.0 2836 18 Apr 2007 Fixed
Description
The Unload utility (dbunload) may have crashed when attempting to rebuild a database prior to version 10, if a version 10 server that disallowed connections to the utility_db was already running. Thia has been fixed.



Note, in general it is good practice to insure that no version 10 server is running when rebuilding databases prior to version 10.
Workaround Description
 Make sure to start the network engine with a database attached given appropriate permissions.



CR:466169
CR Number:   466169
Product Name:   MobiLink
Product Component:   QAnywhere client
Status:   Closed
OS:   Windows CE 2.11
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3492 09 May 2007 Fixed
Description
The method QAManagerBase.GetQueueDepth() could have returned a queue depth of 0 when there were untransmitted outgoing messages in the message store. This was due to a race condition between the GetQueueDepth method and the message transmission process in the QAnywhere Agent. This has been fixed by changing the behaviour of GetQueueDepth so that uncommitted outgoing messages are included in the queue depth count.



CR:466188
CR Number:   466188
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 3482 19 Apr 2007 Fixed
10.0.0 2836 19 Apr 2007 Fixed
Description
When unloading a database created using a version prior to 10, using the version 10.x Unload utility , the unload may have failed with the error "SQL error: Not enough memory to start". This would only have occurred if one of the dbunload command line options -ac, -ar or -an was used, either the unload engine or the reload engine (or both) had to be autostarted and was the 32 bit server, and the machine had sufficient RAM such that when dbunload requested a cache size of 40% of available memory, this was greater than the maximum allowable non-AWE cache size on the given platform. This would have meant a memory size of about 8 GB on Unix and 32-bit Windows platforms, and 10 GB on 64-bit Windows. This has been fixed.



A workaround is to specify the undocumented dbunload options -so and -sn, to set the options for the unload and reload servers respectively, as follows:



dbunload -so " -ch 40p" -sn " -c 40p" ...



Note the space before the -c switches, these are required. Mnemonic: -so sets the additional switches for the "Old" server, -sn sets the additional switches for the "New" server.



CR:466202
CR Number:   466202
Product Name:   UltraLite
Product Component:   UltraLite Engine
Status:   Closed
OS:   Generic
Original Version:   10.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3481 18 Apr 2007 Fixed
Description
The maximum number of active SQLCA variables (i.e. SQLCAs that have been initialized and used to call into the runtime, but not finalized) supported by the UltaLite engine has been increased from 31 to 63.



For .NET applications, the SQLCA limit also represents the database connection limit, since a new sqlca is used for each connection. Also, an internal SQLCA is used by each .NET application, so the effective connection limit for .NET apps is 63 minus the number of running .NET clients.



Note that the runtime's connection limit is 64.



CR:466203
CR Number:   466203
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 3483 23 Apr 2007 Fixed
10.0.0 2838 23 Apr 2007 Fixed
9.0.2 3484 23 Apr 2007 Fixed
Description
If a trigger encountered an error due to a statement referencing a table that was exclusively locked by another connection, a subsequent execution of the trigger could report "Invalid statement". This has been fixed.



CR:466209
CR Number:   466209
Product Name:   MobiLink
Product Component:   QAnywhere client
Status:   Closed
OS:   Windows CE 2.11
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3483 18 Apr 2007 Fixed
Description
The QAnywhere Agent (qaagent) now has an option to control where the listener tracking store is created. The option is -z <path> and corresponds to the dblsn -z option documented in Engineering case 460718.



CR:466265
CR Number:   466265
Product Name:   SQL Anywhere
Product Component:   Utilities
Status:   Closed
OS:   Microsoft Windows
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3483 20 Apr 2007 Fixed
10.0.0 2838 20 Apr 2007 Fixed
Description
When unloading a database, either with the Unload utility or the UNLOAD statement, DDL statements to create a non-primary key index on a global temporary table would not have been written to the reload.sql file. This has been fixed and proper DDL to re-create the index is now written to the reload file.



CR:466293
CR Number:   466293
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 3482 18 Apr 2007 Fixed
10.0.0 2836 18 Apr 2007 Fixed
Description
A server with active HTTP connections could have hung indefinitely during shutdown. At the point of the hang, the server had completed stopping all databases. This has been fixed so that the server shutdown will not hang, although in rare cases it could still take up to about 20 seconds after the databases have been stopped to complete the shutdown process.



CR:466319
CR Number:   466319
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 2840 24 Apr 2007 Fixed
10.0.0 3484 24 Apr 2007 Fixed
Description
An IF expression, with one branch of type XML and one of type VARCHAR, would have returned type VARCHAR and therefore special characters would be quoted in a SQLX function. This has been corrected so that the IF expression now returns type XML in this case. In the following example, the e1 element is quoted before the fix, but not after:



select xmlelement( name e, IF 1=1 THEN cast( '<e1/>' as xml ) ELSE '' ENDIF )



A workaround to avoid the quoting without the fix is to make all branches of the IF the same type:



select xmlelement( name e, IF 1=1 THEN cast( '<e1/>' as xml ) ELSE cast( '' as xml ) ENDIF )



CR:466442
CR Number:   466442
Product Name:   SQL Anywhere
Product Component:   DBLIB Client Library
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3415 20 Apr 2007 Fixed
10.0.0 2837 20 Apr 2007 Fixed
9.0.2 3484 20 Apr 2007 Fixed
Description
The changes for Engineering case 449577 introduced a problem with the Developer and Evaluation Editions. When run on Unix systems, the server could not be autostarted, and therefore utilities that auto-start servers, such as dbinit or dbunload, would have failed. On Linux systems, the server would have started to the point where the GUI splash screen / license prompt was brought up. This has been fixed.



CR:466446
CR Number:   466446
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 3482 19 Apr 2007 Fixed
9.0.2 3484 19 Apr 2007 Fixed
Description
Two command line options have been added to the MobiLink listener (dnlsn) for controlling ip tracking behavior.



1. The -gi option controls the ip tracker polling interval. The default is 10 seconds.

example: dblsn.exe -gi 30



2. The -ga option is for asynchronous ip tracking. The -gi option is ignored when -ga is used.

example: dblsn.exe -ga



CR:466456
CR Number:   466456
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 3482 20 Apr 2007 Fixed
10.0.0 2838 20 Apr 2007 Fixed
Description
If an application had an open cursor, and another transaction deleted a row that affected that cursor, it was possible for the cursor to have been positioned on the wrong row. This has been fixed.



CR:466474
CR Number:   466474
Product Name:   MobiLink
Product Component:   Synchronization Server
Status:   Closed
OS:   Generic
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 3484 23 Apr 2007 Fixed
Description
When synchronization tables on an ASE database server were created with the 'datarows' locking scheme, the MobiLink server could have silently skipped rows that were inserted by other connections without a commit. The ASE server doesn't block any other connections that are trying to query the rows from a table that were created with 'datarows' locking scheme, even when there are uncommitted inserts for this table. The MobiLink server now work around this behaviour properly to ensure that no rows are skipped.



By default, the MobiLink server now queries the minimum transaction starting time from master..systransactions and then sends this timestamp to the client as the last download timestamp. In the next synchronization for this client, the MobiLink server will use this timestamp as the last download time for download. In order to get the starting time, the user ID the MobiLink server uses to connect to an ASE server must have select permission and the master..systransactions table. If the user does not have proper permissions, the MobiLink server will present a

warning message and get the download time from the ASE function getdate(), reverting to the old behaviour where rows could be missed in the download. With this change, it's now possible that the MobiLink server may send duplicate data to clients, if there are any open transactions that modified any tables in the synchronization database or any databases on the ASE

database server when MobiLink server is doing a download. Although the clients are able to handle duplicate data, this behavior may reduce MobiLink server performance.



The MobiLink server now includes two new command line switches so you can the behaviour of the MobiLink server with respect to tables with the 'datarows' locking scheme. The -dr switch can be used to tell MobiLink that none of the synchronizing tables use the 'datarows' locking scheme. The -dt switch can be used to force MobiLink to detect transactions only within the current database when determining the last download time that will be sent to the remote database. The -dt switch should be used if all the synchronizing tables are located in a single database, as this could reduce duplicate data sent by the MobiLink server to the clients.



CR:466491
CR Number:   466491
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 3484 24 Apr 2007 Fixed
10.0.0 2839 24 Apr 2007 Fixed
9.0.2 3485 24 Apr 2007 Fixed
9.0.1 2210 24 Apr 2007 Fixed
8.0.3 5531 24 Apr 2007 Fixed
Description
The server could have failed with various assertion failure errors when rebuilding a database with an invalid foreign key definition. For example, if the foreign key trigger action had the column being set to NULL, based on some event and the column definition did not allow NULLs, then this could have occurred. A database could have gotten into this state if at the time the foreign key was created the definition was valid but the column definition changed at a later date. The proper error is now returned indicating the reason the key is now invalid.



CR:466513
CR Number:   466513
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 3482 20 Apr 2007 Fixed
10.0.0 2838 20 Apr 2007 Fixed
9.0.2 3484 20 Apr 2007 Fixed
Description
Executing an SQL statement with input parameters could have caused a memory leak. This problem has been fixed.



CR:466559
CR Number:   466559
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 3478 20 Apr 2007 Fixed
10.0.0 2834 20 Apr 2007 Fixed
Description
If a LOAD TABLE statement attempted to load a NUMERIC value that was too large for the target column, an invalid value would have been loaded. Now a conversion error is reported.



CR:466560
CR Number:   466560
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)
9.0.2 3480 20 Apr 2007 Fixed
Description
Using 2.0 ADO .Net provider could have caused the exception TypeLoadException. The 2.0 provider was built as an x86 specific assembly, but the assembly binding policy file was not updated. This has now been fix by adding processorArchitecture="x86" to the assembly binding policy file.



CR:466566
CR Number:   466566
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Novell NetWare
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3485 25 Apr 2007 Fixed
10.0.0 2840 25 Apr 2007 Fixed
Description
If a cursor was opened on a statement containing a comparison predicate of the form "T.x = val", where val was NULL, and, further, the statement was opened with the Rowcounts option ON, or scrolling forward and backward was performed, then the server could have given the wrong answer (rows that did not match the predicate), or in some cases a crash was possible. In order for the problem to appear, the value had to have specific characteristics (for example, variable within a stored procedure, or an unquantified function). This problem has been fixed.



CR:466683
CR Number:   466683
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 3502 05 Jun 2007 Fixed
10.0.0 2861 05 Jun 2007 Fixed
Description
The runtime could have crashed at the end of an HTTPS synchronization. This has been fixed.



CR:466685
CR Number:   466685
Product Name:   MobiLink
Product Component:   Synchronization Server
Status:   Closed
OS:   Generic
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3482 23 Apr 2007 Fixed
Description
When synchronization tables on an ASE database server were created with the 'datarows' locking scheme, the MobiLink server could have silently skipped rows that were inserted by other connections without a commit. The ASE server doesn't block any other connections that are trying to query the rows from a table that were created with 'datarows' locking scheme, even when there are uncommitted inserts for this table. The MobiLink server now works around this behaviour properly to ensure that no rows are skipped.



By default, the MobiLink server now queries the minimum transaction starting time from master..systransactions and then sends this timestamp to the client as the last download timestamp. In the next synchronization for this client, the MobiLink server will use this timestamp as the last download time for download. In order to get the starting time, the user ID the MobiLink server uses to connect to an ASE server must have select permission and the master..systransactions table. If the user does not have proper permissions, the MobiLink server will present a warning message and get the download time from the ASE function getdate(), reverting to the old behaviour where rows could be missed in the download. With this change, it's now possible that the MobiLink server may send duplicate data to clients, if there are any open transactions that modified any tables in the synchronization database or any databases on the ASE database server when MobiLink server is doing a download. Although the clients are able to handle duplicate data, this behavior may reduce MobiLink server performance.



The MobiLink server now includes a new command line switch so you can the behaviour of the MobiLink server with respect to tables with the 'datarows' locking scheme. The -dr switch can be used to tell MobiLink that none of the synchronizing tables use the 'datarows' locking scheme. The -dt switch on the MobiLink server has also been enhanced to include Adaptive Server Enterprise in addition to Microsoft SQL Server. The -dt switch can be used to force MobiLink to detect transactions only within the current database when determining the last download time that will be sent to the remote database. The -dt switch should be used if all the synchronizing tables are located in a single database, as this could reduce duplicate data sent by the MobiLink server to the clients.



CR:466696
CR Number:   466696
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 3484 23 Apr 2007 Fixed
10.0.0 2839 23 Apr 2007 Fixed
Description
When a MobiLink server was started with the Java VM loaded, an error related to network issues could have caused the server to crash when shutting down. This has been fixed.



CR:466700
CR Number:   466700
Product Name:   SQL Anywhere
Product Component:   JDBC Client Library
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
10.0.1 3484 24 Apr 2007 Fixed
10.0.0 2839 24 Apr 2007 Fixed
9.0.2 3485 24 Apr 2007 Fixed
Description
When using the IBM DB2 ODBC driver with the iAnywhere JDBC driver to try to fetch rows from a result set, the iAnywhere JDBC driver would have have crashed if the result set had a CLOB column. This has now been fixed.



CR:466735
CR Number:   466735
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)
29 Jun 2007 Presently Not Targeted For Any Future Release Of This Product
10.0.1 3516 29 Jun 2007 Fixed
Description
If an application connected to the server using jConnect 6.x, and attempted to query a nullable long nvarchar column, then is was very likely the server would have hung. The TDS datatype map was incorrectly resolving nullable long nvarchar columns to itself, rather than resolving to nullable long binary as per the TDS specification. This has now been fixed.



CR:466790
CR Number:   466790
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 3558 10 Sep 2007 Fixed
9.0.2 3554 10 Sep 2007 Fixed
Description
If a query contained at least two predicates "T.col = (subselect1)" and "R.col = (subselect2)" and both predicates could be used as fence posts for index scans on the tables T and R respectively, then the optimizer would have under estimated the cardinality of the joins which may have resulted, for complex queries, in unoptimal plans. This has been fixed.



CR:466812
CR Number:   466812
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 3483 24 Apr 2007 Fixed
10.0.0 2840 24 Apr 2007 Fixed
Description
HTTP synchronizations through third party web servers, or proxies that use cookies, could have failed with stream error STREAM_ERROR_HTTP_HEADER_PARSE_ERROR. Also, if the server used the "Set-Cookie2" header, the client would never have sent the cookie back up to the server. These problems have now been fixed.



CR:466829
CR Number:   466829
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 3484 24 Apr 2007 Fixed
10.0.0 2840 24 Apr 2007 Fixed
Description
If the server was in the process of starting up or shutting down when the machine was put into the hibernate state, the server may then have crashed when the machine came out of hibernation. This has been fixed.





--------------------------------------华丽的分割线-------------------------------------------------------------------------
之前就已经研发成功了能够从Sybase SQL Anywhere的DB文件中恢复数据的工具:ReadASADB。
此工具支持ASA v5.0,v6.0,v7.0,v8.0,v9.0,v10.0,v11.0,v12.0等版本。
恢复Sybase SQL Anywhere的工具在国内应该算首创。

ReadASADB功能
能够从损坏的SQL Anywhere数据文件(.db)和UltraLite数据文件(.udb)上提取数据的非常规恢复工具

  1. 适用于所有的SQL Anywhere版本    包括:5.x,6.x,7.x,8.x,9.x,10.x,11.x,12.x
  2. 适用于所有的UltraLite版本
  3. 能够恢复出来表结构和数据
  4. 能够恢复自定义数据类型
  5. 能够恢复存储过程等对象的语法
  6. 能够导出到目标数据库
  7. 能够导出到SQL文件并生成导入脚本
  8. 支持多种字符集  包括:cp850、cp936、gb18030、utf8等
  9. 能够恢复未加密或者简单加密类型的数据
  10. 简单易用
  11. 限制:不支持AES加密的数据文件
请参考:研发成功了从Sybase SQL Anywhere的DB文件上恢复数据的工具
            SQL Anywhere数据库非常规恢复工具ReadASADB使用介绍

ReadASADB适用场景

各种误操作:

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

本工具的应用场景:

1.因为物理磁盘故障、操作系统、系统软件方面或者掉电等等原因导致的Sybase SQL Anywhere数据库无法打开的情况;
2.误操作,包括truncate table,drop table,不正确的where条件导致的误删除等;
Sybase SQL Anywhere无法打开时,比较常见的错误是:Assertion failed。
如:
1、Internal database error *** ERROR *** Assertion failed:201819 (8.0.1.2600) Checkpoint log: invalid bitmap page -- transaction rolled back
2、Internal database error *** ERROR *** Assertion failed:201819 (8.0.1.2600) Page number on page does not match page requested -- transaction rolled back
3、Internal database error *** ERROR *** Assertion failed:200502 (9.0.2.2451) Checksum failure on page 23 -- transaction rolled back
4、File is shorter than expected
5、Internal database error *** ERROR *** Assertion failed: 201116 Invalid free list index page found while processing checkpoint log -- transaction rolled back
6、*** ERROR *** Assertion failed: 51901 Page for requested record not a table page or record not present on page等等。
+-------------------------------------华丽的分割线-------------------------------------------------------------------------