远程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:288823
CR Number:   288823
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.1 3028 19 Jul 2002 Fixed
Description
If a stored procedure, which returned a result set, was run 12 or more times in a connection, it could have returned an empty result set. The problem would appear if prefetching was enabled. This is now fixed.
Workaround Description
 None.



CR:288826
CR Number:   288826
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Generic
Original Version:   4.1.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3590 22 Oct 2002 Fixed
Description
When using the Unload Database wizard to unload and reload a database that contained Java classes, JAR files or tables with Java columns, on a server that didn't contain Java support, the unload would have succeeded, but the reload would have failed. The Unload Database wizard now allows for excluding from the reload file any references to these Java objects, so that the reload SQL can be used on a server without Java support.



CR:288840
CR Number:   288840
Product Name:   SQL Anywhere
Product Component:   DBLIB Client Library
Status:   Closed
OS:   Generic
Original Version:   6.0.00
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3478 11 Jul 2002 Fixed
8.0.1 3018 11 Jul 2002 Fixed
Description
When an Embedded SQL application closed a cursor, some memory associated with the cursor was not freed until the first of the following events:

- the prepared statement used to open the cursor was dropped

- the cursor was reopened

- the connection was disconnected



Now this memory is freed immediately on the cursor close.



CR:289017
CR Number:   289017
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)
8.0.2 3478 10 Jul 2002 Fixed
8.0.1 3020 10 Jul 2002 Fixed
Description
Any query search condition x=y would return FALSE, if the declared type of x was java.lang.Object. If the declared type of x was another java class, the comparison would be performed using the isEqual() method of the class.



For example, the following would incorrectly return 0:



create variable v1 java.lang.Object;

create varaible v2 java.math.BigDecimal;

set v1 = new java.math.BigDecimal(12);

set v2 = new java.math.BigDecimal(12);

select count(*) as cnt from sys.dummy where v1=v2



However, the following query would correctly return 1:

select count(*) as cnt from sys.dummy where v2=v1



This error could have caused database recovery to fail if a column declared as java.lang.Object appeared in a table without a primary key. This is now fixed.



CR:289032
CR Number:   289032
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)
8.0.2 3478 11 Jul 2002 Fixed
8.0.1 3020 11 Jul 2002 Fixed
8.0.0 2319 11 Jul 2002 Fixed
Description
When a plan file was loaded with DBISQL, if the original SQL contained any of the following characters:



- Less-than sign (<)

- Greater-than sign (>)

- Ampersand (&)

- Apostrophe (')

- Quotation mark (")



the SQL Statement field would have contained the XML escape sequence corresponding to these characters, rather than the characters themselves. Here are the escape sequences:



- Less-than sign (<)

- Greater-than sign (>)

- Ampersand (&)

- Apostrophe (')

- Quotation mark (")



Now the SQL Statement field contains what it did when the plan for the statement was created (i.e. the actual characters appear rather than their escape sequences.)



CR:289051
CR Number:   289051
Product Name:   SQL Anywhere
Product Component:   ISQL
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3486 10 Jul 2002 Fixed
8.0.1 3024 10 Jul 2002 Fixed
8.0.0 2322 10 Jul 2002 Fixed
7.0.4 3351 10 Jul 2002 Fixed
Description
Files created by the OUTPUT statement in FIXED format, were always terminated by "\n", even if the convention for the host operating system was "\r\n" (e.g. on Windows). This has been fixed.



CR:289130
CR Number:   289130
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   7.0.4
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3479 11 Jul 2002 Fixed
8.0.1 3020 11 Jul 2002 Fixed
8.0.0 2320 11 Jul 2002 Fixed
7.0.4 3349 11 Jul 2002 Fixed
Description
If a DISCONNECT event handler was defined, a disconnect which caused an auto-shutdown of the database may not have caused the event handler to be executed. This problem would have happened on single-processor servers, but was unlikely to happen on multi-processor servers, unless the database server was started with the "-gt 1" command-line option to limit the number of OS threads used. The DISCONNECT event handler will now execute correctly.



CR:289183
CR Number:   289183
Product Name:   UltraLite
Product Component:   Runtime Libraries
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3501 30 Jul 2002 Fixed
8.0.1 3031 30 Jul 2002 Fixed
Description
When a Java UltraLite encountered a MobiLink user authentication error, if the application was shutdown and rerun it would have reported a communication exception instead of invalid userid and password, as it did the first time. Now the application will correctly report the invalid userid or password error on subsequent runs.



CR:289188
CR Number:   289188
Product Name:   UltraLite
Product Component:   Runtime Libraries
Status:   Closed
OS:   Generic
Original Version:   7.0.3
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3480 10 Jul 2002 Fixed
8.0.1 3021 10 Jul 2002 Fixed
8.0.0 2320 10 Jul 2002 Fixed
7.0.4 3350 10 Jul 2002 Fixed
7.0.3 2146 10 Jul 2002 Fixed
Description
When running UltraLite Java and trying to synchronize, if an out-of-memory error occurred, especially after uploading data, UltraLite would have lost information about the uploaded data and tried to upload the same data over and over again, causing non-unique index errors on the MobiLink server. In some cases, the .udb file was corrupted and the database file had to be rebuilt. Now if a memory error occurs, a fatal error is set and the synchronization stops.



CR:289219
CR Number:   289219
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)
8.0.2 3481 05 Jul 2002 Fixed
8.0.1 3021 05 Jul 2002 Fixed
8.0.0 2321 05 Jul 2002 Fixed
Description
DBISQL would have reported an internal error if a stored procedure was called and it's result was saved to an Excel file using the OUTPUT statement.

Eg:

CALL sa_eng_properties;

OUTPUT TO props.xls FORMAT EXCEL



This is now fixed.



CR:289259
CR Number:   289259
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3530 29 Aug 2002 Fixed
8.0.1 3034 29 Aug 2002 Fixed
8.0.0 2340 29 Aug 2002 Fixed
Description
When editing a row in Sybase Central on a table's "Data" page (or in DBISQL in the "Results" panel), if none of the column values were changed and then ENTER was pressed, a message would occur warning that the row could not be updated. The message was really trying to say that no rows were updated because no rows had changed. Now, Sybase Central skips updating the database if it detects that the new column values are the same as the old ones. This is more efficient, and has the side-effect of eliminating the warning message.



CR:289286
CR Number:   289286
Product Name:   SQL Anywhere
Product Component:   OLEDB Client Library
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3486 11 Jul 2002 Fixed
8.0.1 3024 11 Jul 2002 Fixed
8.0.0 2322 11 Jul 2002 Fixed
7.0.4 3351 11 Jul 2002 Fixed
Description
If a client application fetched string data with a length larger than 199 bytes through the ASA Provider, and conversion of the data was required (eg. from ascii to unicode), the data returned to the application would have been truncated. Visual Studio .Net data access components (including DataTable and DataAdapter classes) would be subject to this problem. It is now fixed.



CR:289294
CR Number:   289294
Product Name:   UltraLite
Product Component:   Runtime Libraries
Status:   Closed
OS:   Generic
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.0 3550 18 Sep 2002 Fixed
Description
The results of the last synchronization can now be retrieved using a new function in the UltraLite runtime:



C API: ul_bool ULGetSynchResult( p_ul_synch_result );

C++ API: bool ULConnection::GetSynchResult( p_ul_synch_result );



A new struct has also been created to store these results:



typedef struct {

an_sql_code sql_code; // synchronization sql code

ul_stream_error stream_error; // communication stream error info

ul_bool upload_ok; // TRUE if upload worked

ul_bool ignored_rows; // TRUE if uploaded rows were ignored

ul_auth_status auth_status; // authentication status

ul_s_long auth_value; // actual value by mobilink

// to determine auth_status

SQLDATETIME timestamp; // timestamp of the last synch

ul_synch_status status; // status info used by observer function

} ul_synch_result, * p_ul_synch_result;



An application must allocate a ul_synch_result object before passing it to ULGetSynchResult, which will fill it with the result of the last synchronization. These results are stored persistently in the database.



CR:289309
CR Number:   289309
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)
8.0.2 3484 11 Jul 2002 Fixed
8.0.1 3022 11 Jul 2002 Fixed
8.0.0 2322 11 Jul 2002 Fixed
Description
DBISQL was seen to hang on startup intermittently on Windows 98 machines. The hang usually happened when the splash screen was opened. The problem was related to the Java Runtime Environment's use of DirectDraw on Windows. This fix disables the JRE's use of DirectDraw on Windows 95/98/Me.



CR:289351
CR Number:   289351
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.0 2341 04 Sep 2002 Fixed
8.0.1 3036 04 Sep 2002 Fixed
8.0.2 3537 04 Sep 2002 Fixed
Description
When inserting numeric values into a database using ODBC or OLEDB could have resulted in a corrupt numeric value being stored in the database. This has been fixed.



CR:289423
CR Number:   289423
Product Name:   MobiLink
Product Component:   Synchronization Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 4579 11 Feb 2003 Fixed
8.0.2 4213 11 Feb 2003 Fixed
8.0.1 3100 11 Feb 2003 Fixed
Description
If the begin_connection synchronization script caused an error, and the handle_error event returned a value of 4000, indicating that the Mobilink Server should be shutdown, it would not have been shut down. This has been fixed and the MobiLink server should shutdown as expected.



CR:289515
CR Number:   289515
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   7.0.3
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3531 29 Aug 2002 Fixed
8.0.1 3034 29 Aug 2002 Fixed
8.0.0 2340 29 Aug 2002 Fixed
7.0.4 3364 29 Aug 2002 Fixed
Description
When making a connection via jConnect, if the remote password login parameter was set to a large value, (for example when using the technique of adding database filename to the remote password and the database file path was large) then there was a very good chance that the connection would have failed with a message like "invalid user_id". This problem has been fixed.
Workaround Description
 There are two workarounds:



1)Shorten the path

2)Use DBISQLC



CR:289531
CR Number:   289531
Product Name:   SQL Anywhere
Product Component:   ISQL
Status:   Closed
OS:   Generic
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3486 10 Jul 2002 Fixed
Description
The TABLE TYPE dropdown in the Query Editor, (ie TOOLS->EDIT QUERY), would have listed each table type multiple times, depending on how many disconnects and reconnects had occurred since dbisql was started. This is now fixed.



CR:289554
CR Number:   289554
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.1 3026 19 Jul 2002 Fixed
8.0.2 3491 19 Jul 2002 Fixed
8.0.0 2348 04 Oct 2002 Fixed
Description
For simple queries of the form:

SELECT <col-list>

FROM <single table>

WHERE <column> = <constant> [AND ...]

if the constant did not have the same domain as the column, then the engine could have returned an error (could not convert <constant> to ...), returned rows that did not match the search condition, or it could have failed to return rows that would normally be returned.



For example, the following query:

select *

from department

where dept_id=100.1

would have returned the row with dept_id=100. Before the fix, the constant was always converted to the domain of the column, and the comparison was performed in the domain of the column. If the constant could not be converted to the domain of the column (for example, comparing a smallint column to 60000), then a conversion error was generated. If a numeric constant was compared to a string column, the number was converted to a string and compared lexically; the correct behaviour should convert the string column to a numeric type for comparison to the number.



This incorrect behaviour only occurred if the query was simple enough to bypass optimization (see the QueryBypassed property). Queries containing features such as joins, grouping, and complex search conditions would not be affected by this issue.



In cases where the constant can not be converted to the column domain without loss of precision, both the column and constant are now converted to a common comparison domain, and the comparison is now performed in the comparison domain. In this case, an index can not be used to satisfy the search condition.



CR:289566
CR Number:   289566
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)
8.0.2 3486 12 Jul 2002 Fixed
8.0.1 3024 12 Jul 2002 Fixed
8.0.0 2322 12 Jul 2002 Fixed
Description
When attempting to set the ISQL_LOG option permanently, the value was not actually changed in the database. Logging was turned on/off, but the setting was lost once the connection was closed. Now the option is saved properly.



CR:289843
CR Number:   289843
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)
8.0.2 3491 19 Jul 2002 Fixed
Description
When the option optimization_logging was set 'on', the server should have output a row to the SYSOPTREWRITE table for each query rewrite optimization applied to each statement for that connection. This was not occurring. It has now been fixed.



CR:289889
CR Number:   289889
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3517 15 Aug 2002 Fixed
8.0.1 3032 15 Aug 2002 Fixed
8.0.0 2334 15 Aug 2002 Fixed
Description
Synchronization options defined for a Publication, MobiLink user or Synchronization Subscription would not have appeared on the Extended Options page of an object's property sheet, if the option names were defined in mixed or upper case, (ie,

"ScriptsVersion" or "SENDCOLUMNNAMES".) This problem has been corrected.



Note that since any settings made on the property have always used lowercase option names, this problem would only appear if an option was set by some means other than the property sheet; for example, using the "CREATE SYNCHRONIZATION SUBSCRIPTION" statement.



CR:289947
CR Number:   289947
Product Name:   SQL Anywhere
Product Component:   DBLIB Client Library
Status:   Closed
OS:   Microsoft Windows NT
Original Version:   6.0.04
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3516 12 Aug 2002 Fixed
8.0.1 3032 12 Aug 2002 Fixed
8.0.0 2334 12 Aug 2002 Fixed
7.0.4 3359 12 Aug 2002 Fixed
7.0.3 2149 12 Aug 2002 Fixed
Description
If the file asasrv.ini, (.asasrv.ini on Unix platforms), was large, connection attempts could be slow or even fail. This has been fixed.
Workaround Description
 Trim the file ~/.asasrv.ini, or delete it.



CR:289973
CR Number:   289973
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3499 23 Jul 2002 Fixed
8.0.1 3030 23 Jul 2002 Fixed
8.0.0 2327 23 Jul 2002 Fixed
Description
Creating a unique index on existing data that contained nulls, could have resulted in a corrupt index. For this to have occurred, the index being built must have contained duplicate entries (containing nulls), have been large with respect to cache size and the table must have been relatively unordered. This problem has been fixed.



CR:289982
CR Number:   289982
Product Name:   UltraLite
Product Component:   Code Generator
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1632 17 Jan 2003 Fixed
8.0.3 4779 16 Sep 2003 Fixed
Description
The UltraLite Generator will now output the SQL as a comment, to the C++ classes it generates.



CR:289983
CR Number:   289983
Product Name:   SQL Anywhere
Product Component:   OLEDB Client Library
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3499 24 Jul 2002 Fixed
8.0.1 3030 24 Jul 2002 Fixed
8.0.0 2327 24 Jul 2002 Fixed
7.0.4 3355 24 Jul 2002 Fixed
Description
When calling a stored procedure through ASAProv, if an output parameter was created in the application with a length of one byte, no data would have been returned for that parameter. While this is now fixed, a workaround would be to create the parameter with a length of 2 bytes or more, then a one byte output parameter will be returned correctly.



CR:289992
CR Number:   289992
Product Name:   MobiLink
Product Component:   Monitor
Status:   Closed
OS:   Generic
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3492 19 Jul 2002 Fixed
Description
For long MobiLink Monitor sessions, synchronizations in the Overview could have overlapped and synchronizations that met higher-precedence watches could be obscured by synchronizations that met lower-precedence watches. Now synchronizations that meet higher-precedence watches are not obscured.



CR:290019
CR Number:   290019
Product Name:   MobiLink
Product Component:   Monitor
Status:   Closed
OS:   Generic
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3488 19 Jul 2002 Fixed
Description
Prior to this fix, the user name and/or script version would not be displayed for synchronizations that failed during authentication.



CR:290040
CR Number:   290040
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   4.1.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3517 12 Aug 2002 Fixed
8.0.1 3032 12 Aug 2002 Fixed
8.0.0 2334 12 Aug 2002 Fixed
Description
If a column was modified by opening the Column property sheet from within the Table Editor, the change would be lost if no other changes were made in the Table Editor. This has been fixed.



In addition, the Apply button is no longer displayed when a Column property sheet is opened from inside the Table Editor, since any changes made from a Column property sheet are actually applied when the Table Editor's Save menu item or toolbar button is clicked.



CR:290114
CR Number:   290114
Product Name:   SQL Remote for SQL Anywhere
Product Component:   Database Tools Interface
Status:   Closed
OS:   Microsoft Windows NT
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3494 25 Jul 2002 Fixed
8.0.1 3028 25 Jul 2002 Fixed
8.0.0 2325 25 Jul 2002 Fixed
Description
SQL Remote may have complained about missing transaction logs, due to a problem tracking the log offset. This problem has been fixed.



CR:290133
CR Number:   290133
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)
8.0.1 3027 19 Jul 2002 Fixed
8.0.2 3494 19 Jul 2002 Fixed
Description
LOAD TABLE gathers and generates statistics on columns when certain conditions are met. These statistics are subsquently fine tuned when queries are executed. However, updating the data can leave the statistics in a stale state until further queries are executed. If an application uses LOAD TABLE to load some columns with data that is all or mostly nulls and uses a subsequent update statement to populate these columns with non-null values, then the statistics for these columns could have been very wrong, resulting in bad performance for the first query run against this data. LOAD TABLE has been modified such that it will no longer generate statistics for those columns that are loaded with data that contains NULL values for more than 90% of the rows being loaded.



CR:290138
CR Number:   290138
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)
8.0.2 3994 25 Jul 2002 Fixed
8.0.1 3028 25 Jul 2002 Fixed
8.0.0 2325 25 Jul 2002 Fixed
Description
When running in console mode, DBISQL would not have displayed BINARY values correctly, they would have appeared as a string similar to "[B" followed by up to 8 hexadecimal digits. Now, they appear as "0x" followed by a string of hex digit pairs. This problem was restricted to results printed on the console. It did not affect the windowed mode of the program, nor was the OUTPUT statement affected.



CR:290143
CR Number:   290143
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)
8.0.1 3027 19 Jul 2002 Fixed
8.0.2 3494 19 Jul 2002 Fixed
Description
LOAD TABLE gathers and generates column statistics on both base and temporary tables. The statistics for base and global temporary tables are saved in the catalog for future use. However, it is not desirable to save column statistics on global temporary tables because the data in theses tables does not persist. LOAD TABLE has been changed so that it no longer saves statistics on global temporary tables.



CR:290169
CR Number:   290169
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   7.0.4
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3500 24 Jul 2002 Fixed
8.0.1 3030 24 Jul 2002 Fixed
8.0.0 2328 24 Jul 2002 Fixed
7.0.4 3337 24 Jul 2002 Fixed
7.0.3 2135 24 Jul 2002 Fixed
6.0.04 3801 24 Jul 2002 Fixed
Description
The fix for issue 265354 introduced a problem where a valid statement such as that shown below would receive "Syntax error near "="":

select @var=x

from T

where exists(...)

This is now fixed.



CR:290174
CR Number:   290174
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Solaris
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
3500 31 Jul 2002 Fixed
8.0.1 3030 31 Jul 2002 Fixed
Description
A stack overflow could have occurred when the server was processing a sort during query processing, leading to a segmentation violation on Unix platforms. This problem is now fixed.



CR:290255
CR Number:   290255
Product Name:   SQL Anywhere
Product Component:   DBLIB Client Library
Status:   Closed
OS:   Generic
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.1 3028 19 Jul 2002 Fixed
8.0.2 3495 19 Jul 2002 Fixed
Description
Attempting to build an application with Microsoft Visual Studio using /Zi for debug information against dblib could have failed when linking. The error from Visual Studio 6 was:

dblibtm.lib(sqlcadat.obj) : fatal error LNK1202: "<path>\vc60.pdb" is missing debugging information for referencing module.

The library dblibtm.lib has been fixed so that the link error no longer occurs.



CR:290390
CR Number:   290390
Product Name:   MobiLink
Product Component:   ASA Client
Status:   Closed
OS:   Generic
Original Version:   7.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3521 26 Aug 2002 Fixed
8.0.1 3034 26 Aug 2002 Fixed
8.0.0 2336 26 Aug 2002 Fixed
Description
When a synchronization occured, if there were operations at the end of the log that did not affect the upload then the section of log that contained those operations was rescanned at the next synchronization. As a result the next synchronization took more time than it needed to. This behavior has been corrected



CR:290430
CR Number:   290430
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   7.0.4
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3499 23 Jul 2002 Fixed
8.0.1 3030 23 Jul 2002 Fixed
8.0.0 2327 23 Jul 2002 Fixed
7.0.4 3355 23 Jul 2002 Fixed
Description
If the datediff() function was used to compute the difference in seconds between two timestamps, the result would be incorrect if all of the following conditions were true:

- the first timestamp was later than the second timestamp

- the microsecond components of the two timestamps were not equal

- the value of seconds plus microseconds for the first timestamp was greater than that for the second timestamp



For example:

select datediff(second,'2002/06/23 12:00:00.100','2002/06/23 12:00:00.000')

would return -1 instead of 0. The correct value of 0 is now returned.



CR:290436
CR Number:   290436
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)
8.0.2 3499 23 Jul 2002 Fixed
8.0.1 3030 23 Jul 2002 Fixed
8.0.0 2337 23 Jul 2002 Fixed
Description
Phantom and anti-phantom locks were being incorrectly obtained on enties in the primary key index, when inserting or deleting Foreign Keys containing NULLs. These lock are no longer obtained.



CR:290450
CR Number:   290450
Product Name:   SQL Anywhere
Product Component:   DBLIB Client Library
Status:   Closed
OS:   Generic
Original Version:   6.0.00
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3499 24 Jul 2002 Fixed
Description
If a stored procedure was defined as returning N columns but actually returns M columns,(where M < N), the client could have crashed if more tham M columns were bound. This has been fixed.



CR:290469
CR Number:   290469
Product Name:   SQL Anywhere
Product Component:   OLEDB Client Library
Status:   Closed
OS:   Generic
Original Version:   7.0.4
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3499 25 Jul 2002 Fixed
8.0.1 3030 25 Jul 2002 Fixed
8.0.0 2327 25 Jul 2002 Fixed
7.0.4 3355 25 Jul 2002 Fixed
Description
If a client application fetched string data with a length larger than 199 bytes through ASAProv, and conversion of the data was required, (eg. from ascii to unicode), the data returned to the application could have been missing the last byte. Visual Studio .Net data access components, (including DataTable and DataAdapter classes), would have been subject to this problem. The correct data is now returned.



CR:290554
CR Number:   290554
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)
8.0.2 3500 26 Jul 2002 Fixed
Description
If a database was unloaded while the server was running with a language other than English or French, the day names in the event definitions in the reload.sql script would not have been understandable by a server running with a different language, (that was also neither English nor French). This was fixed by changing sa_event_schedules to use full-length English day names regardless of locale.

Similarly, schedules defined using short-form English day names would not have been understood by a server running with a language other than English. Full-length English day names are recognized regardless of the language used by the server.



CR:290558
CR Number:   290558
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)
8.0.0 2323 25 Jul 2002 Fixed
Description
The DataDirect ODBC drivers, have been updated, which will improve driver stablilty.



NOTE: The iAnywhere branded DataDirect driver for ASE rely on a stored procedure called sp_tables. This stored procedure was not in the GA version of ASE 12.5. Brining ASE up to a SWR of 10242 will reintroduce the sp_tables stored procedure.



CR:290595
CR Number:   290595
Product Name:   MobiLink
Product Component:   ASA Client
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3449 26 Aug 2002 Fixed
8.0.1 3034 26 Aug 2002 Fixed
Description
In the past, dbmlsync could not have coalesced some combinations of operations that could have been obtained when trigger actions were not being uploaded. These unsupported combinations might have been encountered if, between 2 synchronizations, the following series of actions were applied to some row R that was in a table mentioned in the publication being synchronized. (Note R did not have to satisfy the where clause for the publication.)



1. Some operation (insert,update or delete) was applied to R outside of a trigger.

2. An operation was applied to R from inside a trigger.

3. Another operation was applied to R outside of a trigger.



When dbmlsync encountered one of these unsupported combinations it would abandon synchronization and display a message box with the title "Assertion Failure" and text similar to "file dbtools\.\mergeupd.c at line # ????".



These cases are now correctly handled by dbmlsync and this message should no longer appear.
Workaround Description
 None.



CR:290629
CR Number:   290629
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)
8.0.2 3500 30 Jul 2002 Fixed
Description
For queries where the optimizer had an accurate count of the number of rows (e.g., no search conditions and a single base table), the optimizer could have returned the wrong estimate of the number of rows in SQLCOUNT after an open, if TOP n or FIRST was specified in the query. Now the lesser of table size or the row limit is returned, rather than always the table size. If a positive number is returned in SQLCOUNT, it should be an accurate count of the rows that will be returned; if it is negative, it is the best guess of the optimizer. As a consequence, applications such as dbisqlc which use the SQLCOUNT as an accurate row count if it is positive could behave incorrectly with such queries.



For example:

select top 1 * from employee order by emp_fname

would have appeared to return no rows in dbisqlc.



CR:290662
CR Number:   290662
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)
8.0.2 3500 26 Jul 2002 Fixed
8.0.1 3031 26 Jul 2002 Fixed
8.0.0 2328 26 Jul 2002 Fixed
Description
The result of the truncnum() function, (also called "truncate"()), could have been an invalid numeric value, if the value of the second parameter, which is the position at which to truncate, was greater than the scale of the first argument and the number of digits before the decimal was non-zero. For example,

select truncnum(1.23,3)

This is now fixed, but a workaround is to cast the first argument to have a higher precision. For example:

select truncnum(cast(1.23 as numeric(5,2)),3)



CR:290743
CR Number:   290743
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows NT
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3502 31 Jul 2002 Fixed
8.0.1 3031 31 Jul 2002 Fixed
Description
If a query contained an IF or CASE expression that used a LIKE predicate where the pattern was not a constant (for example, it referred to a table column or a function of table columns), then the predicate could incorrectly return UNKNOWN. For this to occur, the IF or CASE expression must have been evaluated in multiple contexts within the evaluation plan (possibly due to predicate inference) or there must have been a keyset driven cursor (possibly implicit due to an INSERT or UPDATE).



For example, the following query returned an incorrect answer before this fix:

select if dept_name like dept_name then 1 endif

from department

order by dept_name

for update

(the for update clause is used to force a keyset driven plan).



This problem is now fixed.



CR:290788
CR Number:   290788
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Linux
Original Version:   7.0.4
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3535 04 Sep 2002 Fixed
8.0.1 3034 04 Sep 2002 Fixed
8.0.0 2341 04 Sep 2002 Fixed
7.0.4 3365 04 Sep 2002 Fixed
Description
If a JDBC request was cancelled, then there was a chance the JDBC application would have failed with an unexpected exception. This problem was most likely to occur when closing a JDBC cursor. The problem has now been resolved.



CR:290846
CR Number:   290846
Product Name:   SQL Anywhere
Product Component:   ISQL
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3536 02 Aug 2002 Fixed
8.0.1 3035 02 Aug 2002 Fixed
8.0.0 2341 02 Aug 2002 Fixed
Description
A query involving a trie-based index could have returned incorrect results or spurious RI constraint violations could have occurred or have been missed, (possibly resulting in a corrupt database). For any of these to have occurred, an index probe performed during the operation in question must have searched for a particular value and have visited the slot after the last entry on a leaf page. This problem is now fixed.



CR:290909
CR Number:   290909
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3517 14 Aug 2002 Fixed
8.0.1 3032 14 Aug 2002 Fixed
Description
An ANY or ALL predicate in the WHERE clause of a publication may have been evaluated incorrectly during an INSERT. This has been fixed.
Workaround Description
 None



CR:290957
CR Number:   290957
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3507 02 Aug 2002 Fixed
8.0.1 3031 02 Aug 2002 Fixed
8.0.0 2331 02 Aug 2002 Fixed
7.0.4 3357 02 Aug 2002 Fixed
Description
If the Return_date_time_as_string option was 'ON' (as it is for DBISQL), creating a procedure which returned a date/time column in its result set and which did not declare the result set explicitly, would have caused the result set column to be recorded as CHAR rather than DATE in the catalog. For example:

create table dateTable(

id int not null primary key,

dateCol date );

create PROCEDURE dba.Test()

BEGIN

select id, dateCol from dateTable;

END;

In the above example, the second result set column for the procedure would have been defined as CHAR rather than DATE. This has now been corrected.



CR:291067
CR Number:   291067
Product Name:   SQL Anywhere
Product Component:   ISQL
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3521 15 Aug 2002 Fixed
8.0.1 3033 15 Aug 2002 Fixed
8.0.0 2335 15 Aug 2002 Fixed
Description
If only whitespace was selected in the "SQL Statements" field when the Query Editor was opened, dbisql would have reported an internal error. This has now been fixed.



CR:291070
CR Number:   291070
Product Name:   SQL Anywhere
Product Component:   OLEDB Client Library
Status:   Closed
OS:   Generic
Original Version:   7.0.4
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3507 02 Aug 2002 Fixed
8.0.1 3031 02 Aug 2002 Fixed
8.0.0 2331 02 Aug 2002 Fixed
7.0.4 3357 02 Aug 2002 Fixed
Description
When accessing the database via ASAProv, if a user opened a cursor, fetched some rows and then tried to get a row count on the cursor, the provider would have returned either 1 or 0, instead of the actual row count. Now, the actual rowcount is returned or -1 if it is unable to determine the actual rowcount, (in compliance with the OLEDB spec.)



CR:291086
CR Number:   291086
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.0 566 20 Jun 2003 Fixed
8.0.3 4613 20 Jun 2003 Fixed
8.0.2 4292 20 Jun 2003 Fixed
Description
Error checking and execution of queries with a GROUP BY clause could have failed in many cases, resulting in failure to give an error, wrong results, or server crashes.



A problem could have appeared any time an alias was defined in one context and used in another (where possible contexts are inside and outside an aggregate function, in the select list, in the WHERE clause, in the HAVING clause, and in the ORDER BY clause).



For example, the query



select max(e), emp_id e from employee



did not return an error, although it should have because emp_id appears in the select list but not the GROUP BY clause. Errors are also not returned in most cases involving views or derived tables. For example, the query



select tname, List(distinct cname)

from sys.syscolumns

where tname = 'systable'



should have returned an error because tname does not appear in the GROUP BY clause.



Problems could also have occurred when an expression was formed from GROUP BY elements without exactly matching one, or when subselects were aliased and used in the WHERE clause of a grouped query. In general, any grouped query using aliases, views or derived tables was suspect. These problems are now resolved



CR:291229
CR Number:   291229
Product Name:   MobiLink
Product Component:   ASA Client
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3570 03 Oct 2002 Fixed
8.0.1 3052 03 Oct 2002 Fixed
8.0.0 2346 03 Oct 2002 Fixed
Description
Clicking the shutdown button on dbmlsync, while the upload was being sent or while the download was being applied, would have caused the dbmlsync window to disappear immediately, but the process would not have terminated for some time. During this time dbmlsync would continue to appear in the task list, disk activity might be observed and dbmlsync would have maintained its database connections. If another instance of dbmlsync was started during this time, an error message like "unable to register 'sybase.asa.dbmlsync' " would have been generated. This has been corrected.



CR:291232
CR Number:   291232
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   6.0.04
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3509 02 Aug 2002 Fixed
8.0.1 3032 02 Aug 2002 Fixed
8.0.0 2331 02 Aug 2002 Fixed
7.0.4 3358 02 Aug 2002 Fixed
7.0.3 2149 02 Aug 2002 Fixed
7.0.2 1603 02 Aug 2002 Fixed
6.0.04 3801 02 Aug 2002 Fixed
Description
This fix corrects a problem where the server would quietly terminate.



CR:291233
CR Number:   291233
Product Name:   SQL Anywhere
Product Component:   OLEDB Client Library
Status:   Closed
OS:   Generic
Original Version:   7.0.00
Fixed Version Build Resolution Date Closure Code (If Appropriate)
7.0.4 3359 06 Aug 2002 Fixed
8.0.0 2333 06 Aug 2002 Fixed
8.0.1 3032 06 Aug 2002 Fixed
8.0.2 3514 06 Aug 2002 Fixed
9.0.0 341 06 Aug 2002 Fixed
Description
Using the same OLEDB command object to execute a command more than 1024 times, would have caused an out of memory error. This has been fixed.



CR:291280
CR Number:   291280
Product Name:   SQL Anywhere
Product Component:   Utilities
Status:   Closed
OS:   Microsoft Windows
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3522 28 Aug 2002 Fixed
8.0.1 3034 28 Aug 2002 Fixed
8.0.0 2337 28 Aug 2002 Fixed
Description
If the command line utilities (like dbbackup, dbinit etc) were started with invalid switches, they would have returned exit code 0 (EXIT_OKAY). This has been fixed. Now when started with invalid switches, they will return 255 (EXIT_USAGE, invalid parameters on command line)..



CR:291318
CR Number:   291318
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows NT
Original Version:   7.0.4
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3520 12 Aug 2002 Fixed
8.0.1 3033 12 Aug 2002 Fixed
8.0.0 2301 12 Aug 2002 Fixed
7.0.4 3361 12 Aug 2002 Fixed
7.0.3 2149 12 Aug 2002 Fixed
Description
Selecting data from a long varchar column in a proxy table, via ODBC, would have caused the last byte of every 255 byte chunk to go missing. This has now been fixed.



CR:291409
CR Number:   291409
Product Name:   SQL Anywhere
Product Component:   ISQL
Status:   Closed
OS:   Microsoft Windows NT
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3544 10 Sep 2002 Fixed
8.0.1 3038 10 Sep 2002 Fixed
8.0.0 2342 10 Sep 2002 Fixed
7.0.4 3368 10 Sep 2002 Fixed
Description
The dbisql option, Command_delimiter, could not be set to be a backslash ("\"). When it was, dbisql would have reported a "Lexical error". This has been corrected and now a backslash can be used as a command delimiter without any error.



CR:291542
CR Number:   291542
Product Name:   SQL Anywhere
Product Component:   ODBC Client Library
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3520 15 Aug 2002 Fixed
8.0.1 3033 15 Aug 2002 Fixed
Description
MTS support was inadvertently disabled in the 8.0 ASA ODBC driver. MTS support is now restored.
Workaround Description
 If you create new dsns with the version 7 driver, and run odbc.exe with the version 7 dsns it will work as expected.



CR:291641
CR Number:   291641
Product Name:   SQL Remote for SQL Anywhere
Product Component:   SQL Remote for Adaptive Server Anywhere
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.1 3034 14 Aug 2002 Fixed
8.0.2 3521 14 Aug 2002 Fixed
Description
The dbremote switch "-os" has been changed so that it works as it did in older versions of the software. The output log file was not always being truncated and renamed at the specified size.



CR:291648
CR Number:   291648
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)
8.0.2 3414 13 Aug 2002 Fixed
8.0.1 3032 13 Aug 2002 Fixed
8.0.0 2333 13 Aug 2002 Fixed
Description
Executing Java code within the server, could have caused it to hang, if an exception was thrown. The server could not have been shut down when this occurred. This problem is now fixed.



CR:291803
CR Number:   291803
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3520 14 Aug 2002 Fixed
8.0.1 3032 14 Aug 2002 Fixed
8.0.0 2335 14 Aug 2002 Fixed
7.0.4 3361 14 Aug 2002 Fixed
Description
If the confirm_received column of SYSREMOTEUSER contained NULL, the dbunload utility would have generated an incorrect sa_setremoteuser procedure call in reload.sql. The wrong call to sa_setremoteuser contained unprintable characters, no value for confirm_recieved or the confirm_received value of the previous sa_setremoteuser call. This has been fixed.



CR:291904
CR Number:   291904
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)
8.0.2 3450 26 Aug 2002 Fixed
Description
It is now possible for one of the indexes on a table to be declared as a clustered index, which causes the table rows to be stored in an "approximate" key order corresponding to the index. In particular, LOAD TABLE will now insert rows into the table in the order of the index key and INSERT will attempt to put new rows in the same table page as the one containing adjacent rows as par key order. It should be noted that clustering provided by this new feature is approximate, i.e., while the server makes an attempt to preserve key order, total clustering is not guaranteed. Also, the optimizer will now assume that the table rows are stored in key order and cost index scans accordingly. Over time, as more rows are inserted and clustering degrades, order can be restored via the use of REORGANIZE table which will now rearrange rows according to the clustering index (if one is not declared, the order used will be P Key as before.



CR:291909
CR Number:   291909
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)
8.0.2 3521 14 Aug 2002 Fixed
8.0.1 3033 14 Aug 2002 Fixed
8.0.0 2335 14 Aug 2002 Fixed
Description
Trie-based index corruption was possible if a multi-byte string being indexed ended with a partial character (i.e. a lead byte followed by less than the requisite number of follow bytes). This is now fixed.



CR:291978
CR Number:   291978
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)
8.0.2 3521 26 Aug 2002 Fixed
8.0.1 3034 26 Aug 2002 Fixed
8.0.0 2336 26 Aug 2002 Fixed
7.0.4 3361 26 Aug 2002 Fixed
7.0.3 2149 26 Aug 2002 Fixed
7.0.2 1603 26 Aug 2002 Fixed
Description
Repeatedly dropping another connection could have caused the server to fail, usually with a streams protocol error. For this to have happened, a number of drop connection requests (greater than four) must have been issued before the first one took effect. Further, the connection being dropped must have been working on a request, possibly blocked and the time taken to cancel the request must have been greater than the time to receive the drop requests. This is now fixed.



CR:291982
CR Number:   291982
Product Name:   MobiLink
Product Component:   Java Plugin for Sybase Central
Status:   Closed
OS:   Generic
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3498 26 Aug 2002 Fixed
Description
When a new SQL or Java connection or table script was created, the first line of the script would have contained a -- or // comment with the script version and event name. This is no longer the case. The comment is no longer added to the script since these comments are problematic for some ODBC drivers.



CR:292006
CR Number:   292006
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3549 13 Sep 2002 Fixed
8.0.1 3039 13 Sep 2002 Fixed
Description
Creating, dropping or altering a publication could have caused errors such as "invalid expression near '???'", when a stored procedure was called which uses one of the tables involved in the publication. This has been fixed, but a workaround is to stop and restart the database after modifying the publication.
Workaround Description
 Use Interactive SQL Java version.



CR:292049
CR Number:   292049
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3498 28 Aug 2002 Fixed
Description
Running the following query in dbisql, while connected to "UltraLite 8.0 Sample":



call ul_add_statement( 'custapi', 'Bogus', 'SELECT cust_id, cust_name, bogus_col_name FROM ULCustomer WHERE cust_name LIKE ?' )



would have resulted in the error: invalid expression near 'select ulplan(@statement)', which was not very informative. The message now indicates that the column bogus_col_name does not exist.



CR:292161
CR Number:   292161
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)
8.0.2 3523 28 Aug 2002 Fixed
8.0.1 3034 28 Aug 2002 Fixed
Description
Calling VALIDATE TABLE with a view name, or using dbvalid and explicitly listing a view name, would have caused the server to crash. This is now fixed.



CR:292425
CR Number:   292425
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)
8.0.1 3034 29 Aug 2002 Fixed
8.0.0 2339 29 Aug 2002 Fixed
Description
Disconnecting from a database while the graphical plan viewer was open, would have caused dbisql to report an internal error the next time a key was pressed. This has now been fixed.



The sequence of actions to reproduce the problem were:



1. Display the graphical plan for any query

2. Click on the text field which makes up the right half of the graphical plan viewer.

3. Press the F12 key to disconnect from the database.

4. Press F11 to connect to the database. DBISQL would report an internal error.



CR:292514
CR Number:   292514
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)
8.0.2 3529 29 Aug 2002 Fixed
8.0.1 3034 29 Aug 2002 Fixed
Description
If the value of @@error or @@rowcount was assigned to a variable using a SELECT statement involving more than one variable assignment, the values assigned for @@error or @@rowcount would have been incorrect. For example, the procedure below would display 1 as the value for @@rowcount when it should have been 0:



create procedure sybprob001() as

begin

declare @error_var int,

@rowcount_var int,

@table_name varchar(256)



select @table_name = table_name

from sys.systable

where table_name like '%blah%'



select @error_var = @@ERROR, @rowcount_var = @@ROWCOUNT

message 'error_var should be 0, is ',@error_var

message 'rowcount_var should be 0, is ',@rowcount_var

end;



call sybprob001();



This problem is now fixed. If only a single variable assignment was made, the value would have been correct.



CR:292520
CR Number:   292520
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)
8.0.2 3529 29 Aug 2002 Fixed
8.0.1 3034 29 Aug 2002 Fixed
8.0.0 2340 29 Aug 2002 Fixed
Description
Calling sa_table_fragmentation() or sa_index_density() wcould have crashed the server if a remote table was defined in the database. This is fixed, but a workaround is to specify a table name to be analysed when calling either procedure, rather than omitting all parameters and having the procedure analyse all tables.



CR:292525
CR Number:   292525
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3534 29 Aug 2002 Fixed
8.0.1 3034 29 Aug 2002 Fixed
8.0.0 2341 29 Aug 2002 Fixed
Description
Assertion 201119 was possible when deleting from a keyset driven cursor. The following conditions were necessary:

1. Primary key was a trie-based index

2. Keyset driven cursor was used (possibly because of a DELETE with a self-referencing table)

3. Rows were deleted from the base table after the keyset table was populated

At this point, the server could have attempted to delete rows that are not in the base table.



CR:292540
CR Number:   292540
Product Name:   MobiLink
Product Component:   ASA Client
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   7.0.3
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3530 29 Aug 2002 Fixed
8.0.1 3034 29 Aug 2002 Fixed
8.0.0 2340 29 Aug 2002 Fixed
7.0.4 3364 29 Aug 2002 Fixed
Description
The MobiLink ASA Client, (and SQL Remote for ASA), may have complained that "Log operation at offset X has bad data at offset X + x" for versions less than 8.0.0 or "No log operation at offset X in the current transaction log" for versions greater than or equal to 8.0.0". The problem was that DBMLSync or DBRemote had already updated their systable with a wrong log offset in the previous run. This could have happened if

1) the last log operation in the latest offline transaction log was a "Commit"; and

2) in the online transaction log, there was no actual data to be uploaded or replicated.

This problem is now fixed.



CR:292564
CR Number:   292564
Product Name:   SQL Anywhere
Product Component:   ISQL
Status:   Closed
OS:   Generic
Original Version:   7.0.00
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3530 04 Sep 2002 Fixed
Description
The mnemonics on the "Start Logging" and "Stop Logging" menu items in the "SQL" menu have been changed (and now work). Previously, the mnemonics for the two items and their parent menu were all "S" -- a case that was not handled. Pressing "ALT+S, S" simply closed the menu without activating the menu item. Now, the mnemonics work as you might expect.



CR:292619
CR Number:   292619
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)
8.0.2 3530 29 Aug 2002 Fixed
8.0.1 3034 29 Aug 2002 Fixed
8.0.0 2340 29 Aug 2002 Fixed
Description
Using the SIMILAR() function on databases with a multibyte character set could have returned incorrect results or caused the server to crash. This is now fixed.



CR:292621
CR Number:   292621
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)
8.0.2 3530 29 Aug 2002 Fixed
8.0.1 3034 29 Aug 2002 Fixed
8.0.0 2340 29 Aug 2002 Fixed
Description
The server's temp directory can be controlled on CE platforms by setting the HKEY_CURRENT_USER\Software\Sybase\Adaptive Server Anywhere\8.0\TempFolder value in the registry. The engine will attempt to create the specified directory if it does not exist but the parent of the specified directory must already exist. If the directory specified by TempFolder does not exist and cannot be made, \Temp will be tried. If \Temp does not exist and cannot be made, the server will use the current directory.



CR:292648
CR Number:   292648
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1624 13 Sep 2002 Fixed
9.0.0 1205 13 Sep 2002 Fixed
8.0.3 4753 15 Aug 2003 Fixed
8.0.2 4302 15 Aug 2003 Fixed
8.0.1 3128 15 Aug 2003 Fixed
Description
If a procedure assigned a variable with the result of a subselect and then returned a result set later on, the result set was sometimes not picked up by the client. For example, consider the following procedure:



create procedure DBA.test()

result(xlicencas integer)

begin

declare xLicencas integer;

declare xConnection integer;

set xConnection=(select NEXT_CONNECTION(null,null));

set xLicencas=34;

select xLicencas

end



The "set xConnection=(select NEXT_CONNECTION(null,null));" line would have caused the result set of "select xLicencas" to be dropped by the client. This problem has now been fixed.



CR:292656
CR Number:   292656
Product Name:   SQL Anywhere
Product Component:   OLEDB Client Library
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   7.0.4
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3550 13 Sep 2002 Fixed
8.0.1 3040 13 Sep 2002 Fixed
7.0.4 3369 13 Sep 2002 Fixed
Description
When updating numeric fields in an ADO recordset through ASAProv, several problems could have occurred. The value could have failed to be updated at all, it could have been updated with the decimal point in the wrong place, or it could have been updated to a value completely different from the one specified in the update. These problems have been fixed.



CR:292673
CR Number:   292673
Product Name:   SQL Remote for SQL Anywhere
Product Component:   Vim Messaging for Adaptive Server Anywhere
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3553 13 Sep 2002 Fixed
8.0.1 3041 13 Sep 2002 Fixed
Description
When using VIM message replication with DBRemote the error message: "VIMSetMessageItem error code 1" could have occurred. This error would have stopped replication. It was more likely to have been seen when using ccMail. This problem has been fixed.



CR:292791
CR Number:   292791
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)
8.0.2 3531 04 Sep 2002 Fixed
Description
Closing a DBISQL window while a query was still executing, would not have stopped the query. It would have continued running even though the window was closed. Now, the program asks if you really want to close the window, and if "Yes", the query is aborted before the window is closed.



CR:292795
CR Number:   292795
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Generic
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3531 29 Aug 2002 Fixed
8.0.1 3034 29 Aug 2002 Fixed
Description
Using the Sybase Central feature, Log Server Messages, with Log messages to a window selected, could have caused Sybase Central to hang. This has now been fixed.



CR:292812
CR Number:   292812
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)
8.0.2 3531 29 Aug 2002 Fixed
8.0.1 3034 29 Aug 2002 Fixed
8.0.0 2340 29 Aug 2002 Fixed
Description
When connected to the utility database, using strings longer than approximately one page in size could have caused the server to crash. The problem would have occurred if the length of the query text was long or of a long string was generated (eg, "select repeat( 'x', 10000 )). Strings in the utility database are now silently limited to approximately one page in length.



CR:292992
CR Number:   292992
Product Name:   MobiLink
Product Component:   scripts
Status:   Closed
OS:   Generic
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3529 26 Aug 2002 Fixed
8.0.1 3033 26 Aug 2002 Fixed
8.0.0 2339 26 Aug 2002 Fixed
Description
To set up an Adaptive Server Enterprise database version 12.5 or later as the consolidated database in a MobiLink installation, you must use the syncase125.sql setup script. This file, along with setup scripts for other supported databases, is included in the MobiLink\setup subdirectory of your SQL Anywhere 8 directory.



CR:293018
CR Number:   293018
Product Name:   SQL Anywhere
Product Component:   Utilities
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 4504 18 Oct 2002 Fixed
8.0.2 4075 18 Oct 2002 Fixed
Description
When the reload.sql script, generated by the dbunload utility, was run to rebuild a database, it may have returned a permission denied error when attempting to grant table or columns permissions. This would have happened if the user who originally granted the permission no longer had the appropriate permission at unload time. This problem has been fixed. All grants for table and column permission now use the new additional FROM {grantor} syntax and run under the DBA user specified for the unload.



CR:293080
CR Number:   293080
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Generic
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3535 29 Aug 2002 Fixed
8.0.1 3034 29 Aug 2002 Fixed
Description
Logging SQL statements to a window could have caused Sybase Central to hang. This has now been fixed.



CR:293086
CR Number:   293086
Product Name:   UltraLite
Product Component:   Sample Application
Status:   Closed
OS:   Generic
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3534 29 Aug 2002 Fixed
8.0.1 3034 29 Aug 2002 Fixed
Description
Building the PRC-Tools 2.0 version of the custdb sample generated the message "Unable to find mobilink.bmp." This would have also resulted in the synchronization status dialog being blank when running custdb.prc. The bitmap that was missing has now been added.



CR:293087
CR Number:   293087
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows NT
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3537 06 Sep 2002 Fixed
8.0.1 3036 06 Sep 2002 Fixed
Description
For queries that return a large number of rows (for example, more than 10^32), even in an intermediate result, the optimizer could have incorrectly returned the error:

-727 "The optimizer was unable to construct a valid access plan"

These types of queries can appear when no join conditions are specified between tables. For example, the following query would have given the error as the result of the FROM clause is 10^40 rows:

select * from TBig0 T0, TBig1 T1, TBig2 T2, ...., TBig20 T20 where 1=2

if table TBig<n> had 100 rows or more.



These types of queries are generated by some applications to collect schema information before posing a query with an actual WHERE clause



CR:293120
CR Number:   293120
Product Name:   MobiLink
Product Component:   Synchronization Server
Status:   Closed
OS:   Generic
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3535 29 Aug 2002 Fixed
8.0.1 3035 29 Aug 2002 Fixed
Description
When fetching scripts from an Oracle consolidated database, some Oracle drivers had problems fetching Unicode, the script would have appeared to be "?????????????????". This is now fixed.



CR:293122
CR Number:   293122
Product Name:   SQL Remote for SQL Anywhere
Product Component:   SQL Remote for Adaptive Server Anywhere
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   7.0.3
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3535 29 Aug 2002 Fixed
8.0.1 3035 29 Aug 2002 Fixed
8.0.0 2341 29 Aug 2002 Fixed
7.0.4 3365 29 Aug 2002 Fixed
7.0.3 2149 29 Aug 2002 Fixed
Description
In rare cases a consolidated dbremote could have sent messages that would cause errors the remote database involving undeclared and redeclared variables. The remote could also have missed data operations. This would have been most likely to happen when the consolidated was sending large messages to many remotes with a small or unset memory value (the -m command line flag). This problem is now fixed.
Workaround Description
 Up the number of -m (this is currently just using the default)



Suggestion was 25mg



CR:293160
CR Number:   293160
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3573 22 Oct 2002 Fixed
Description
If the CREATE SYNCHRONIZATION SUBSCRIPTION or CREATE SYNCHRONIZATION USER statement was used to set the 'use_cookies' MobiLink connection setting on a publication, MobiLink user or synchronization subscription object, and then Sybase Central was used to edit the object, then the 'use_cookies' setting would have been removed. In fact, the setting

was never displayed on the Connections page of the object's property sheet. Now, 'use_cookies' and any other advanced connection settings are displayed in an 'Advanced parameters' text field on the Connection page of the object's property sheet, and this value is retained when changes to the object are saved.



CR:293163
CR Number:   293163
Product Name:   SQL Anywhere
Product Component:   ODBC Client Library
Status:   Closed
OS:   Generic
Original Version:   7.0.00
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3548 10 Sep 2002 Fixed
8.0.1 3038 10 Sep 2002 Fixed
7.0.4 3369 13 Sep 2002 Fixed
Description
It was possible that SQLDescribeColW or SQLColAttributeW would have attempted to write past the end of the user's buffer, depending on the connection's CHARSET and the database's Collation Sequence. This could have caused the ODBC driver to crash or return incorrect results. This problem has been fixed.



CR:293186
CR Number:   293186
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   6.0.04
Fixed Version Build Resolution Date Closure Code (If Appropriate)
7.0.4 3366 04 Sep 2002 Fixed
8.0.0 2341 04 Sep 2002 Fixed
8.0.1 3036 04 Sep 2002 Deferred
8.0.2 3537 04 Sep 2002 Fixed
Description
Assertion 201119 could have been generated when using a write file with a compressed database file. This has been fixed.



CR:293189
CR Number:   293189
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)
8.0.2 3536 20 Sep 2002 Fixed
8.0.1 3035 20 Sep 2002 Fixed
Description
The user name passed into a user script could be truncated if the first user name for the same worker thread was smaller and a DataDirect ODBC driver was used. The work around was to use the command line options "-ps 0".



CR:293212
CR Number:   293212
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows NT
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3521 28 Aug 2002 Fixed
8.0.1 3004 28 Aug 2002 Fixed
Description
ASA 8.0.0 introduced support for caching of execution plans in stored procedures. This caching avoids optimizing statements every time they are executed. In 8.0.0, this caching was not enabled for queries that returned result sets from procedures. This new feature enables that support.



CR:293215
CR Number:   293215
Product Name:   SQL Anywhere
Product Component:   DBLIB Client Library
Status:   Closed
OS:   Solaris
Original Version:   7.0.4
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3537 06 Sep 2002 Fixed
8.0.1 3036 06 Sep 2002 Fixed
8.0.0 2341 06 Sep 2002 Fixed
7.0.4 3366 06 Sep 2002 Fixed
Description
If the asasrv.ini (.asasrv.ini on Unix) file was large, connection attempts could have been slow or have even failed. This has now been fixed. The asasrv.ini file will now only cache the most recent 100 entries.



CR:293302
CR Number:   293302
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)
8.0.2 3537 04 Sep 2002 Fixed
8.0.1 3036 04 Sep 2002 Fixed
Description
Create table was taking a significant amount of time to complete when creating a table with large number of columns. The time taken would have increased exponentially with the number of columns in the table. This problem has been fixed.



CR:293306
CR Number:   293306
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)
8.0.3 4544 09 Dec 2002 Fixed
8.0.2 4091 09 Dec 2002 Fixed
Description
The server will no longer attempt to update statistics during recovery and when executing "simple" DELETE and UPDATE statements. Simple statements are those that are not optimized and are executed directly by the server.





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