远程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:279353
CR Number:   279353
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Novell NetWare
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3034 17 May 2002 Fixed
8.0.1 2600 17 May 2002 Fixed
8.0.0 2298 17 May 2002 Fixed
Description
When an SPX connection to an ASA server running on NetWare was disconnected, it was possible for the NetWare server to abend. This has been fixed.



CR:279359
CR Number:   279359
Product Name:   SQL Anywhere
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   7.0.3
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3034 16 May 2002 Fixed
8.0.1 3003 16 May 2002 Fixed
8.0.0 2298 16 May 2002 Fixed
Description
When using the Procedure Debugger, the wrong source code would be displayed if the following occurred:

1 - Connected to a database,

2 - Disconnected from the database,

3 - Connected to a different database



From then on, attempting to display the source to any stored procedure usually displayed source for a different procedure. This problem is now fixed.



CR:279372
CR Number:   279372
Product Name:   MobiLink
Product Component:   ASA Client
Status:   Closed
OS:   Generic
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3035 22 May 2002 Fixed
8.0.1 3003 22 May 2002 Fixed
8.0.0 2298 22 May 2002 Fixed
Description
When multiple MobiLink users were defined on a remote database, with overlapping publications, synchronization may not have proceed correctly. This problem could have manifested itself on a remote database where all the following were true.

- at least 2 MobiLink users were defined, say U1 and U2

- at least 2 publications are defined, say P1 and P2

- there existed some operation O, that affected both P1 and P2

- only U1 had a subscription to P1

- only U2 had a subscription to P2



Under these circumstances, if the subscription U1/P1 was synchronized, followed by the subscription U2/P2, then O may have been uploaded for U1/P1 but not U2/P2. This problem is now fixed and did not occur if the -u switch was used to specify the MobiLink user on the dbmlsync command-line.



CR:279445
CR Number:   279445
Product Name:   MobiLink
Product Component:   Streams
Status:   Closed
OS:   Generic
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3034 17 May 2002 Fixed
8.0.1 3003 17 May 2002 Fixed
8.0.0 2298 17 May 2002 Fixed
Description
When a non-HTTP client tried to connect to a MobiLink HTTP server which used cookies, the server did not check for the protocol mismatch, causing both the server and client to hang. This is now fixed.



CR:279448
CR Number:   279448
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 3038 23 May 2002 Fixed
8.0.1 2602 23 May 2002 Fixed
Description
Using LOAD TABLE on a table with a NOT NULL computed column could have corrupted the database, if the table contained check constraints and the CHECK CONSTRAINTS option for LOAD TABLE was enabled. If the column allowed NULL, the value of the computed column would be NULL regardless of the compute expression. This is now fixed.



CR:279463
CR Number:   279463
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.1 2601 21 May 2002 Fixed
8.0.0 2298 21 May 2002 Fixed
7.0.4 3336 21 May 2002 Fixed
6.0.04 3800 21 May 2002 Fixed
Description
A Unix client application may have failed to connect to a local server via shared memory.



One of two scenarios may have been seen:

1 - the engine may report a message similar to:

[unixshm] AttachToSharedMem p=18874 e=__SQLAnyCli__18874_1824660827lx id=2 n=<NULL> o=0 s=4096 d=1 errno=0 FAILED

2 - If the Unix server's name length was greater or equal to 31 characters long, the client may have reported a message similar to:

[unixshm] AttachToSharedMem p=18874 e=the_name_of_the_local_engine_xx id=2 n=<NULL> o=0 s=4096 d=1 errno=0 FAILED



In both cases, the client library would have reported back to the application that it could not connect to the server. These problems are now fixed.



CR:279483
CR Number:   279483
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.1 2601 21 May 2002 Fixed
8.0.0 2298 21 May 2002 Fixed
Description
Adding a connection level event script could have fail, when using a DB2 consolidated configured to use SyncDB2long.class and SyncDB2long.sql. The table "ml_connection_script" was being referenced as "ml_connection_scri".



CR:279517
CR Number:   279517
Product Name:   SQL Anywhere
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3445 31 May 2002 Fixed
8.0.1 3005 31 May 2002 Fixed
8.0.0 2305 31 May 2002 Fixed
7.0.4 3340 31 May 2002 Fixed
7.0.3 2139 31 May 2002 Fixed
Description
The dbunload utility would have created an incorrect reload.sql file, if a column with a user defined datatype modified the DEFAULT value or CHECK constraint.

For example:



CREATE DOMAIN speed_type INT DEFAULT 50 CHECK (@a < 100);



CREATE TABLE speed_violations (

driver char(40)

speed speed_type );



ALTER TABLE speed_violations MODIFY speed DEFAULT NULL;



ALTER TABLE speed_violations MODIFY speed CHECK NULL;



The reload.sql would not have contained the ALTER TABLE statements to change the DEFAULT and the CHECK. This has been fixed.



CR:279544
CR Number:   279544
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 3032 22 May 2002 Fixed
8.0.1 3003 22 May 2002 Fixed
8.0.0 2297 22 May 2002 Fixed
Description
After Java objects were loaded using the LOAD TABLE statement, they could have been corrupted or not viewable in Sybase Central or dbisql. This was due to the objects not being fully initialized before de-serialization was attempted. They now are.



CR:279554
CR Number:   279554
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Novell NetWare
Original Version:   7.0.3
Fixed Version Build Resolution Date Closure Code (If Appropriate)
7.0.3 2141 07 Jun 2002 Fixed
Description
If there were multiple SPX connection to an ASA server running on NetWare and one of these connections disconnected, then one or more of the other SPX connections could have hung. This has been fixed.



CR:279576
CR Number:   279576
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 3036 22 May 2002 Fixed
8.0.1 3003 22 May 2002 Fixed
8.0.0 2299 22 May 2002 Fixed
7.0.4 3337 22 May 2002 Fixed
7.0.3 2135 22 May 2002 Fixed
Description
If a query involved more than 40 proxy tables on multiple remote servers, there was a very good chance the query would have crashed the server. This problem has now been fixed.



CR:279593
CR Number:   279593
Product Name:   MobiLink
Product Component:   Synchronization Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.0
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
8.0.0 2329 31 Jul 2002 Fixed
Description
When using an upload_update event, an ODBC function sequence error may have occurred when the following conditions were true:

- the table contained blobs (binary or character)

- one or more of the blobs (but not all) were NULL

This has now been fixed.



CR:279629
CR Number:   279629
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 3035 22 May 2002 Fixed
8.0.1 3003 22 May 2002 Fixed
8.0.0 2299 22 May 2002 Fixed
7.0.4 3336 22 May 2002 Fixed
7.0.3 2135 22 May 2002 Fixed
Description
When importing data from a Lotus 1-2-3 spreadsheet, DBISQL was misinterpreting INTEGER records if the values they contained were negative. In that case, the imported value was always 32767 or 65535. This has been fixed.



CR:279700
CR Number:   279700
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 3036 22 May 2002 Fixed
8.0.1 3003 22 May 2002 Fixed
Description
If a database containing proxy tables was unloaded and then subsequently reloaded, the reload could have sometimes failed with an "index not unique" message. This problem has now been fixed.



CR:279708
CR Number:   279708
Product Name:   SQL Anywhere
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3036 23 May 2002 Fixed
8.0.1 3003 23 May 2002 Fixed
8.0.0 2299 23 May 2002 Fixed
Description
Upgrading an ASA version 6.0.x database to a 8.0.x database, didn't upgrade ML system tables properly. The upgrade logic that copied scripts from ul_script to ml_script didn't explicitly name columns, and the implicit ordering caused the values in the script and script_language columns to get swapped. This has now been fixed.



CR:279732
CR Number:   279732
Product Name:   MobiLink
Product Component:   ASA Client
Status:   Closed
OS:   Generic
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3036 23 May 2002 Fixed
8.0.1 3003 23 May 2002 Fixed
8.0.0 2299 23 May 2002 Fixed
Description
When synchronizing a subscription for a user (say U2), if dbmlsync encounters an update operation where the pre-image of the operation belongs to no publication subscribed to by U2, but the post-image belongs to some publication subscribed to by U2, then the update should be uploaded as an insert, since the row is expected to not exist on the consolidated database. When all the conditions below were true, dbmlsync failed to convert the update to an insert. As a result MobiLink would issue a warning and ignore the update.



- at least 2 MobiLink users were defined, say U1 and U2

- at least 2 publications are defined, say P1 and P2

- U1 is subscribed to P1. U2 is subscribed to P2. No subscription exists between U1 and P2 or between U2 and P1.

- P1 and P2 both contain a table T1, but with different WHERE clauses or one publication has a WHERE clause and the other does not

- there exists a row R in T1 that satisfies the WHERE clause for P1 but not for P2

- an update operation, O occurs on R and the post-image of the update satisfies the where clause for P2



In this case, when P2 is synchronized, the update operation O would not be converted into an insert and so will be ignored by MobiLink.



CR:279739
CR Number:   279739
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.1 3003 22 May 2002 Fixed
8.0.2 3039 22 May 2002 Fixed
7.0.4 3508 22 May 2002 Fixed
Description
Under the following conditions, the next available value for a column having a GLOBAL AUTOINCREMENT default value would not have been set correctly:

- Database recovery was performed at startup.

- The table containing the column was referenced in the transaction log during recovery.

- An INSERT into the table with no value specified for the GLOBAL AUTOINCREMENT column was attempted before shutting down the database.



CR:279744
CR Number:   279744
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 3036 23 May 2002 Fixed
8.0.1 3003 23 May 2002 Fixed
8.0.0 2299 23 May 2002 Fixed
Description
Opening the "Find Server" dialog from the "Connect" dialog, then using the Windows task bar to activate some other application and then reactivating dbisql again, would have caused the "Connect" dialog to be brought to the top, instead of the "Find Server" dialog. The problem was that the "Connect" dialog was not enabled, the "Find Server" dialog had to have been activated and closed first. This would have been difficult to do, especially if the "Connect" dialog happened to completely obscure it. This problem has been fixed.



Note, this same problem affected all of the ASA administration tools -- dbisql, Sybase Central, dbconsole, and the Procedure Debugger.



CR:279781
CR Number:   279781
Product Name:   MobiLink
Product Component:   Streams
Status:   Closed
OS:   Generic
Original Version:   7.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3036 21 May 2002 Fixed
8.0.1 3003 21 May 2002 Fixed
8.0.0 2299 21 May 2002 Fixed
7.0.4 3337 21 May 2002 Fixed
Description
It was possible for either end of a synchronization, (UltraLite, dbmlsync or a MobiLink Server worker thread), to consume 100% CPU in the TCP/IP layer. This problem could also have affected HTTP clients, since HTTP is built upon TCP/IP as well. It is now fixed.



CR:279836
CR Number:   279836
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 2595 23 May 2002 Fixed
8.0.0 2300 23 May 2002 Fixed
Description
A CREATE INDEX statement may have caused an assertion within the server, if the column list for the index contained duplicates. This problem has been corrected.



CR:279841
CR Number:   279841
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 3036 23 May 2002 Fixed
8.0.1 3003 23 May 2002 Fixed
8.0.0 2300 23 May 2002 Fixed
Description
Starting a database with the Runtime Server, (rteng8.exe), would have caused an empty log file for the database to be created. This is now fixed, but a workaround was to force the database to not have a log by running "DBLOG -n database-file".



CR:279849
CR Number:   279849
Product Name:   SQL Anywhere
Product Component:   OLEDB Client Library
Status:   Closed
OS:   Generic
Original Version:   7.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3036 23 May 2002 Fixed
8.0.1 3003 23 May 2002 Fixed
8.0.0 2300 23 May 2002 Fixed
7.0.4 3337 23 May 2002 Fixed
7.0.3 2135 23 May 2002 Fixed
Description
In an ADO application, a call to MovePrevious after a call to MoveLast could have caused an application to crash, if the rows contained large text columns. This has now been fixed.



CR:279969
CR Number:   279969
Product Name:   SQL Anywhere
Product Component:   Utilities
Status:   Closed
OS:   Microsoft Windows
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 4509 29 Oct 2002 Fixed
8.0.2 4076 29 Oct 2002 Fixed
8.0.1 3065 29 Oct 2002 Fixed
8.0.0 2351 29 Oct 2002 Fixed
7.0.4 3383 29 Oct 2002 Fixed
Description
After rebuilding a Mobilink remote database using dbunload -ar, the DBMLSync utility would have returned the error:

No off-line transaction log file found an on-line transaction log

starts at offset ...

as dbunload did not save the current transaction log and reset the start and relative log offset in the rebuilt database. This has been fixed.
Workaround Description
 You can use following steps to do this manually.



dbunload -c "...7.x DB..." -an new80.db

dbtran 7.x log

Transaction log "salesdb\sales.log" starts at offset 0000263972

Transaction log ends at offset 0000276665



dberase new80.log

dblog -c ...new



CR:280050
CR Number:   280050
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 3464 20 Jun 2002 Fixed
8.0.1 3014 20 Jun 2002 Fixed
8.0.0 2313 20 Jun 2002 Fixed
7.0.4 3345 20 Jun 2002 Fixed
Description
If a prepared statement caused an error when executed, (e.g. Update attempted on non-updatable query), a second attempt to execute the same prepared statement could have crashed the server. This could also have happened when attempting to execute an update or delete on a non-updatable view.
Workaround Description
 None



CR:280167
CR Number:   280167
Product Name:   SQL Anywhere
Product Component:   OLEDB Client Library
Status:   Closed
OS:   Windows CE 2.11
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
7.0.4 3372 20 Sep 2002 Fixed
8.0.1 3044 20 Sep 2002 Fixed
8.0.2 3559 20 Sep 2002 Fixed
9.0.0 386 20 Sep 2002 Fixed
Description
When updating variant array data through the ASA provider, the array data could have been omitted, have been updated with incorrect values or the update could have failed. This could alsi have happened using ADO, if a Variant type was used to insert data into a field in a recordset. This problem is now fixed.



CR:280188
CR Number:   280188
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 3452 12 Jun 2002 Fixed
Description
The INPUT statement would have failed to import data, if the table name in the INPUT statement was qualified by an owner name, and it was responsible for creating the database table. For example, when DBISQL executed the following:



INPUT INTO dba.myTable FROM myData.dbf FORMAT FOXPRO



it would have incorrectly created a table called "dba.myTable" and incorrectly reported the error:



ASA Error -131: Syntax error near ')' on line



This has been fixed, but a workaround was to remove the owner name prefix from the table name.



The problem occured only with the following file formats: DBASEII, DBASEIII, EXCEL, FOXPRO, LOTUS.
Workaround Description
 Using dbisqlc will not cause this error in the tablename.



CR:280201
CR Number:   280201
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 3039 24 May 2002 Fixed
8.0.1 2601 24 May 2002 Fixed
8.0.0 2302 24 May 2002 Fixed
7.0.4 3339 24 May 2002 Fixed
7.0.3 2137 24 May 2002 Fixed
Description
If a database table with a timestamp column contained any rows at the time that the TRUNCATE_TIMESTAMP_VALUES option was set to 'ON', and the DEFAULT_TIMESTAMP_INCREMENT option was not set to 1, then updating a row in this table without simultaneously updating the timestamp value(s) in the row could cause assertion 103102 to be raised, if the row's width was increased. This has been fixed.



Note that turning on the TRUNCATE_TIMESTAMP_VALUES option or increasing the DEFAULT_TIMESTAMP_INCREMENT when there is timestamp data in the database will not guarentee that the pre-existing timestamp values will be truncated appropriately. This may lead to unexpected behaviour, particularly in replicating environments. If you need to change either of these options, it is highly recommended that you unload your data, dbinit a new database, set the options appropriately, then reload your data. These steps will ensure that all timestamp values in the new database are truncated correctly.



CR:280238
CR Number:   280238
Product Name:   UltraLite
Product Component:   Code Generator
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3447 05 Jun 2002 Fixed
8.0.1 3007 05 Jun 2002 Fixed
8.0.0 2307 05 Jun 2002 Fixed
Description
In order to use syncronized publications, (specified with -v on ulgen command line), the analyzer generates a #define statement in order to specify which publications to syncronize. These are of the form UL_PUB_(PUBNAME). However these #defines were not being written to a header file unless C++ code was being generated. For regular ESQL code the #defines were not accessable. Now the #defines are placed in generated-file-name.h, (For generating C output), or in generated-file-name.hpp, For C++, ie. using -t C++ on ulgen command line), where generated-file-name is the name of the generated C or CPP file generated. You need to include the appropriate header file in any source file that needs the UL_PUB_ #defines
Workaround Description
 As a workaround (below) involves using "-t c++".



CR:280262
CR Number:   280262
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 3040 27 May 2002 Fixed
8.0.1 3003 27 May 2002 Fixed
Description
Executing ALTER DATABASE CALIBRATE could have generateg the following spurious error:

"At least one of the dbspaces was not calibrated."



and could also have failed to calibrate some dbspaces. This problem is now fixed. The above error is still issued if one of the dbspaces being calibrated is smaller in size than the threshold value of 800 pages.



CR:280268
CR Number:   280268
Product Name:   SQL Anywhere
Product Component:   Utilities
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3445 29 May 2002 Fixed
8.0.1 3005 29 May 2002 Fixed
8.0.0 2305 29 May 2002 Fixed
Description
Comments on triggers were not being unloaded with the trigger owner by dbunload. This could cause the reload.sql to generate a 'table not found' error during the reload.
Workaround Description
 Edit the reload.sql file to add the table name.



CR:280289
CR Number:   280289
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 3040 27 May 2002 Fixed
8.0.1 3003 27 May 2002 Fixed
8.0.0 2303 27 May 2002 Fixed
Description
If a referential action trigger, (e.g. a CASCADE foreign key), was executed while procedure profiling was enabled, then the server would have crashed when an attempt was made to retrieve the profile information. This is now fixed.



CR:286089
CR Number:   286089
Product Name:   SQL Anywhere
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3443 27 May 2002 Fixed
8.0.1 3004 27 May 2002 Fixed
8.0.0 2304 27 May 2002 Fixed
Description
If a UNIQUE table constraint consisted of a large number of columns, dbunload would have created a very long line in reload.sql for the ALTER TABLE ADD UNIQUE statement, because all column names were put onto the same line. These long lines may have caused problems for text file editors. Now dbunload puts one column name per line just like for the CREATE INDEX statement.



CR:286090
CR Number:   286090
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 3440 27 May 2002 Fixed
8.0.1 3004 27 May 2002 Fixed
Description
The ALTER DATABASE CALIBRATE [SERVER] statement can be used to recalibrate the cost model for all dbspaces in the database. A dbspace is considered for calibration only if its size exceeds 800 pages. When the server found a dbspace, it stopped looking at the remaining dbspaces and returned immediately with an error. Now the server will consider all existing dbspaces and calibrate all that meet the minimum size requirement. Further, the server will no longer issue an error if it succeeds in calibrating all eligible dbspaces. An error will still be raised, if no eligibile dbspaces exist or the calibration fails for some other reason.



CR:286100
CR Number:   286100
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Generic
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3443 27 May 2002 Fixed
8.0.1 3004 27 May 2002 Fixed
8.0.0 2304 27 May 2002 Fixed
Description
If an attempt to connect to a local server failed and the logon dialog was kept open to try and connect to a remote server, it would always have failed to connect. This has been fixed.



CR:286131
CR Number:   286131
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 3444 30 May 2002 Fixed
8.0.1 3005 30 May 2002 Fixed
8.0.0 2304 30 May 2002 Fixed
Description
The database server did not correctly save the gathered statistics on BETWEEN predicates, when the predicates were on character type columns with a declared domain length greater than 7. These statistics will now be saved and used correctly



CR:286165
CR Number:   286165
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 3444 29 May 2002 Fixed
8.0.1 3005 29 May 2002 Fixed
8.0.0 2304 29 May 2002 Fixed
7.0.4 3340 29 May 2002 Fixed
Description
A LOAD TABLE statement, not using any of the STRIP ON, ESCAPES ON or QUOTES ON clauses, would have inserted incorrect data for the last value in the data file, if the last row of the data file did not end in a newline character. This is now fixed.



CR:286167
CR Number:   286167
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.2 3458 12 Jun 2002 Fixed
8.0.1 3011 12 Jun 2002 Fixed
8.0.0 2311 12 Jun 2002 Fixed
7.0.4 3343 12 Jun 2002 Fixed
7.0.3 2143 12 Jun 2002 Fixed
Description
To correctly create views based on other views, the dbunload utility allows for specifying an iteration count, (-j option), for view creation statements. When using -j the reload script checks to ensure that all views have been created. If a views has not been created the error message "Table 'viewname' not found" is displayed. When using dbunload -j with -ar, -ac or -an, the error message was:

"Illegal cursor operation attempt"

which was not helpful. This has been fixed, dbunload will now display the error message

"Table 'viewname' not found" in these cases as well.



CR:286173
CR Number:   286173
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 4076 08 Oct 2002 Fixed
8.0.1 3054 08 Oct 2002 Fixed
7.0.4 3377 08 Oct 2002 Fixed
8.0.3 4029 11 Oct 2002 Fixed
Description
When viewing table data through the Visual Studio .Net Server Explorer, character data had an extra byte (usually a square box) appended to it. This has been fixed.



CR:286180
CR Number:   286180
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   AIX
Original Version:   7.0.00
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3444 31 May 2002 Fixed
8.0.1 2602 31 May 2002 Fixed
8.0.0 2304 31 May 2002 Fixed
7.0.4 3340 31 May 2002 Fixed
7.0.3 2138 31 May 2002 Fixed
Description
When run on AIX 5, the server could have taken an unusually long time to start. This has been resolved.



CR:286263
CR Number:   286263
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 3456 11 Jun 2002 Fixed
8.0.1 3009 11 Jun 2002 Fixed
Description
When optimizing queries with a high join degree, the enumeration process will now take into account the number of outer-joins a preserved side table belongs to, when ranking the candidates during enumeration. Also, high join degree queries will nolonger use the operators Sort Merge Outerjoin and Block Nested Outerjoin.



CR:286264
CR Number:   286264
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 3009 11 Jun 2002 Fixed
Description
When fetching data using the DT_DECIMAL data type, unneccessary work was done on the server which affected performance. This extra work is no longer done.



CR:286265
CR Number:   286265
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 3456 11 Jun 2002 Fixed
8.0.1 3009 11 Jun 2002 Fixed
Description
The optimizer's enumeration process will now cost first pipelined join methods, (e.g., Nested Loops), if the inner table has a unique index that can be explored or the inner table has more than 50% of the pages in the cache.



CR:286271
CR Number:   286271
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 3009 11 Jun 2002 Fixed
Description
The server was spending slightly more CPU time than necessary, when executing nested-loop joins. The difference would have been most apparent for joins when all data was cached and the right hand side of the join returned 0 or 1 row for each outer row. The extra work the server did has been removed.



CR:286276
CR Number:   286276
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 3464 20 Jun 2002 Fixed
8.0.1 3014 20 Jun 2002 Fixed
8.0.0 2313 20 Jun 2002 Fixed
7.0.4 3345 20 Jun 2002 Fixed
Description
Both the MobiLink Server and the MobiLink ASA Client may have reported the error "Protocol error" or the MobiLink Server alone may have reported the error "A network read failed. Unable to read data from the remote client", during ynchronization. The client would then have stopped and not have been able to synchronize any more. Both of these problems have been fixed.



CR:286287
CR Number:   286287
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 3445 31 May 2002 Fixed
8.0.1 3005 31 May 2002 Fixed
8.0.0 2305 31 May 2002 Fixed
Description
The database server collects information on selectivities of predicates during query execution. Under some situations, selectivities of predicated on string data were not saved and were lost on database shutdown. These selectivities are now correctly saved.



CR:286311
CR Number:   286311
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)
8.0.2 3444 31 May 2002 Fixed
8.0.1 3005 31 May 2002 Fixed
8.0.0 2305 31 May 2002 Fixed
Description
If an Ultralite database was reset after performing at least one successful synchronization and a communications error occurred on the first sync attempt after being reset, then MobiLink would have failed with a 'sequence number too small' error. Ultralite would have been unable to sync until Mobilink was manually adjusted with a new sequence number. Alternatively, if Ultralite sync'd exactly once before it was reset,

then modified rows in the Ultralite client would never have been uploaded. In this

case synchronization would have continued and no error was reported. These problems are now fixed.



An Ultralite database may be reset by deleting the persistent store, or by

changing the sync user name.



CR:286402
CR Number:   286402
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 3465 25 Jun 2002 Fixed
8.0.1 3014 25 Jun 2002 Fixed
8.0.0 2314 25 Jun 2002 Fixed
Description
The server could have crashed on the first Java request made after the server started. This problem would only have occurred for databases initialized with JDK1.3.1 or higher. It is now fixed.



CR:286624
CR Number:   286624
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)
8.0.2 3447 05 Jun 2002 Fixed
8.0.1 3006 05 Jun 2002 Fixed
8.0.0 2306 05 Jun 2002 Fixed
Description
If a non-communication error occured during a download, MobiLink may have reported that it was unable to finish writing the download stream, instead of reporting the client error it should have received. This has been fixed.



CR:286636
CR Number:   286636
Product Name:   SQL Anywhere
Product Component:   OLEDB Client Library
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.0
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
8.0.0 2329 31 Jul 2002 Fixed
7.0.4 3356 31 Jul 2002 Fixed
Description
If a select statement caused a warning to be generated, (eg. "Null value eliminated in aggregate function"), ASAProv would sometimes have returned an error, causing applications to stop processing the result set. As a result ADO applications could report errors such as "Invalid operation - EOF or BOF has been reached". Now warnings, with the exception of a problem that occurs when dealing with a truncation warning, are no longer treated as an error.



CR:286637
CR Number:   286637
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 3447 05 Jun 2002 Fixed
8.0.1 3007 05 Jun 2002 Fixed
8.0.0 2307 05 Jun 2002 Fixed
Description
Executing a LOAD TABLE statement against a table with an invalid CHECK constraint, could have caused the server to crash. This has been fixed



CR:286696
CR Number:   286696
Product Name:   SQL Anywhere
Product Component:   DBLIB Client Library
Status:   Closed
OS:   Generic
Original Version:   7.0.3
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3449 06 Jun 2002 Fixed
8.0.1 3007 06 Jun 2002 Fixed
8.0.0 2307 06 Jun 2002 Fixed
7.0.4 3341 06 Jun 2002 Fixed
7.0.3 2140 06 Jun 2002 Fixed
Description
When a client application using TCP/IP or SPX disconnected from the server, an error "[Sybase][ODBC Driver]Disconnect error: Transaction rolled back" could have occurred, (error number 01002). By default, the timeout for a disconnects was 5 seconds. On a busy server, it could take longer than 5 seconds to hear back from the server and this would result in the message described above. There was no provision for a user specified timeout, so a new connection parameter has been added to specify the disconnect timeout value, (the default is still 5 seconds).The new option, "TIMEOUT=n" or "TO=n", is specified in the TCP/IP or SPX communications option string.



Example:

rc = SQLDisconnect( hdbc );

if ( (rc == SQL_ERROR) || (rc == SQL_SUCCESS_WITH_INFO) ) {

/* get the error message */



CR:286760
CR Number:   286760
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Novell NetWare
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.0 2307 06 Jun 2002 Fixed
Description
The ASA 8.0.0 server for NetWare, from builds 2271 to 2306, could have generated 'Namespace exhausted' or 'out of prepared statements' errors, when using Java in the Server. This has been fixed.



CR:286783
CR Number:   286783
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 3480 10 Jul 2002 Fixed
8.0.1 3023 11 Jul 2002 Fixed
Description
Doing a Replace All could have caused a hang or crash for some search/replace compinations like replace * with ** or ' with ''. This is now fixed.



CR:286808
CR Number:   286808
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Generic
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3450 06 Jun 2002 Fixed
8.0.1 3008 06 Jun 2002 Fixed
8.0.0 2307 06 Jun 2002 Fixed
Description
When profiling a procedure that contained a carriage return and line feed character at the end of each line, a box would appear in the source code of the profiling details panel. This has been fixed.



CR:286891
CR Number:   286891
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 3451 11 Jun 2002 Fixed
8.0.1 3008 11 Jun 2002 Fixed
Description
If a CASE expression contained only constant WHEN values and included an ELSE value, NULL would have been returned instead of the ELSE value, if the lookup value was NULL. In the following example, the value of "rslt" when "c1" is NULL should be 'other', but was returned as NULL before this fix.



create table case_null( pk int primary key, c1 int, expected char(10) );

insert into case_null values (1,1,'one');

insert into case_null values (2,2,'two');

insert into case_null values (3,3,'other');

insert into case_null values (4,null,'other');

commit;



select

c1,

case c1

when 1 then 'one'

when 2 then 'two'

else 'other'

end as rslt,

expected

from case_null;



CR:286909
CR Number:   286909
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 3451 11 Jun 2002 Fixed
8.0.1 3008 11 Jun 2002 Fixed
8.0.0 2308 11 Jun 2002 Fixed
Description
The statement string returned by sa_get_request_times() would have included a trailing double-quote and newline character. These have now been removed.



CR:286981
CR Number:   286981
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 3452 06 Jun 2002 Fixed
8.0.1 3009 06 Jun 2002 Fixed
Description
After adding a row to a result set which does not contain the primary key, the user is now warned that the default or computed values may not be shown and that the query should be rerun in order to display the row correctly. Previously, this message was displayed only when updating a row, now it is displayed when adding a row. This applies only to modifying table data directly in the Results pane in DBISQL, and also to the "Data" details panel for tables in the ASA plug-in for Sybase Central.



CR:287012
CR Number:   287012
Product Name:   SQL Anywhere
Product Component:   OLEDB Client Library
Status:   Closed
OS:   Generic
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3452 11 Jun 2002 Fixed
8.0.1 3009 11 Jun 2002 Fixed
8.0.0 2308 11 Jun 2002 Fixed
7.0.4 3342 11 Jun 2002 Fixed
Description
Fetching more than 2 records in a result set would have truncated any text or blob values at 200 bytes. This is now fixed.



CR:287034
CR Number:   287034
Product Name:   SQL Anywhere
Product Component:   OLEDB Client Library
Status:   Closed
OS:   Generic
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3452 11 Jun 2002 Fixed
8.0.1 3009 11 Jun 2002 Fixed
8.0.0 2308 11 Jun 2002 Fixed
7.0.4 3342 11 Jun 2002 Fixed
Description
Updating a forward only cursor via ADO could have resulted in an error stating "An invalid fFetchType value was specified". This is now fixed.



CR:287078
CR Number:   287078
Product Name:   SQL Anywhere
Product Component:   Utilities
Status:   Closed
OS:   Microsoft Windows NT
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3456 13 Jun 2002 Fixed
8.0.1 3010 13 Jun 2002 Fixed
8.0.0 2310 13 Jun 2002 Fixed
Description
Upgrading a database would have failed, if the database had the option PERCENT_AS_COMMENT = OFF. The message was:

"Error in file sybprc50.sql at line 2473 with sqlcode -131

SQL error (-131) -- Syntax error near '' on line 62

This has been fixed



CR:287103
CR Number:   287103
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 3453 12 Jun 2002 Fixed
8.0.1 3009 12 Jun 2002 Fixed
7.0.4 3342 12 Jun 2002 Fixed
7.0.3 2141 12 Jun 2002 Fixed
7.0.2 1595 12 Jun 2002 Fixed
Description
If a server was extremely busy, connection attempts over links other than shared memory may fail with the error "Database cannot be started -- ???". This has been fixed.



CR:287206
CR Number:   287206
Product Name:   SQL Anywhere
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3459 14 Jun 2002 Fixed
8.0.1 3012 14 Jun 2002 Fixed
8.0.0 2311 14 Jun 2002 Fixed
7.0.4 3344 14 Jun 2002 Fixed
Description
when a custom collation was not in the script custom.sql, running dbinit -z or dbunload -ac/-an, only printed the message "Database creation failed" . Now the error message

is "Database creation failed Collation "name" not found".



CR:287271
CR Number:   287271
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 3459 18 Jun 2002 Fixed
8.0.1 3012 18 Jun 2002 Fixed
8.0.0 2311 18 Jun 2002 Fixed
Description
The VALIDATE TABLE statement could have complained of missing index entries, when in fact all entries did exist exist or might not have complained when entries did not exist. As well, keyset cursors might have misbehaved when repositioning and spurious 100801 assertions were possible. For these problems to have occurred the index associated with the failing operation must have been trie-based, the associated row must have appeared in the first entry of the leaf page, and it must have been possible, (ignoring uniqueness constraints), to insert an entry with the same value on the previous leaf page. These errors should have been relatively rare, (the most common being the spurious VALIDATE TABLE failures.)
Workaround Description
 None



CR:287296
CR Number:   287296
Product Name:   SQL Anywhere
Product Component:   OLEDB Client Library
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3472 26 Jun 2002 Fixed
8.0.1 3017 26 Jun 2002 Fixed
8.0.0 2317 26 Jun 2002 Fixed
7.0.4 3347 26 Jun 2002 Fixed
Description
Character data fetched in a .Net WebService application could have had the last character of the data truncated. An off-by-one error was fixed.



CR:287307
CR Number:   287307
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 3457 13 Jun 2002 Fixed
8.0.1 3011 13 Jun 2002 Fixed
8.0.0 2310 13 Jun 2002 Fixed
Description
Temporary strings longer than the database page size could have become corrupted. For this to have occurred, the page size of the affected database must have been smaller than the server page size, (this problem could not have occurred if the database page size was the same as the server page size). One manifestation of this problem was spurious syntax errors for long statements or queries. This has now been fixed.



CR:287347
CR Number:   287347
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)
8.0.2 3459 14 Jun 2002 Fixed
8.0.1 3012 14 Jun 2002 Fixed
8.0.0 2311 14 Jun 2002 Fixed
Description
The server could have crashed when inserting values into a B-Tree index. This could only have occurred when inserting into an index built with the fast index creation code and only when inserting a small value, (one that would force a leftmost internal B-Tree page to split). This is now fixed.



CR:287352
CR Number:   287352
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)
7.0.4 3343 14 Jun 2002 Fixed
Description
Predicates that compared a date column to an integer constant, (or variable), were not treated as sargable by the optimizer, hence the optimizer would not have considered the use of an index for such predicates. For example, in the query



Select * from sales_order where order_date = 19931010



the comparison predicate would not be treated as sargable, so if an index existed on column order_date, it would not be utilized. This problem has been corrected.



CR:287447
CR Number:   287447
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   7.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3465 25 Jun 2002 Fixed
8.0.1 3014 25 Jun 2002 Fixed
8.0.0 2314 25 Jun 2002 Fixed
7.0.4 3344 25 Jun 2002 Fixed
7.0.2 1597 25 Jun 2002 Fixed
Description
The server could have sent back a column description with an invalid MBCS character, or filled the server's temp file, (and eventually assert), when all of these following conditions existed:



- the database was using a multibyte collation

- the select list contained an expression using multi-byte characters which was greater than 255 bytes long, and was not aliased

- the client application issueed a describe cursor request



This has been fixed, but a work-around is to provide an alias to the long expression.
Workaround Description
 Use an alias in the GROUP BY.



SELECT 惑前内靛,

case when 拌距扁埃内靛 = '00' then '1岿固父'

when 拌距扁埃内靛 >= '01' and 拌距扁埃内靛 <= '02' then '1岿捞惑'

when 拌距扁埃内靛 >= '03' and 拌距扁埃内靛 <= '05' then '



CR:287488
CR Number:   287488
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   7.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3458 14 Jun 2002 Fixed
8.0.1 3011 14 Jun 2002 Fixed
8.0.0 2311 14 Jun 2002 Fixed
7.0.4 3343 14 Jun 2002 Fixed
7.0.3 2143 14 Jun 2002 Fixed
7.0.2 1596 14 Jun 2002 Fixed
Description
A race condition existed, when loading user group definitions, that could have caused the server to crash. Group definitions are only loaded once for each user, the first time it is referenced at startup or after a DDL statement changes user or group definitions, so the likelihood of the problem occurring was very small, and would not have occurred on single-CPU Win32 platforms. This problem is now fixed.



CR:287725
CR Number:   287725
Product Name:   UltraLite
Product Component:   Runtime Libraries
Status:   Closed
OS:   Generic
Original Version:   7.0.4
Fixed Version Build Resolution Date Closure Code (If Appropriate)
7.0.4 3344 17 Jun 2002 Fixed
8.0.0 2312 17 Jun 2002 Fixed
8.0.1 3012 17 Jun 2002 Fixed
8.0.2 3460 17 Jun 2002 Fixed
Description
Supplying a string value to insert into a binary column, where the string required truncation to fit, could have caused incorrect values to be inserted into the row.



CR:287854
CR Number:   287854
Product Name:   SQL Anywhere
Product Component:   OLEDB Client Library
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 4510 31 Oct 2002 Fixed
8.0.2 4076 31 Oct 2002 Fixed
8.0.1 3065 31 Oct 2002 Fixed
7.0.4 3383 31 Oct 2002 Fixed
Description
Using ADO and fetching backward through a cursor (using MovePrevious) until hitting the start of the result set (BOF) and then fetching forward (using MoveNext) would have incorrectly set EOF on the first MoveNext after hitting BOF. This is now fixed.
Workaround Description
 None.



CR:287923
CR Number:   287923
Product Name:   SQL Anywhere
Product Component:   DBLIB Client Library
Status:   Closed
OS:   AIX
Original Version:   7.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
7.0.4 3398 12 Dec 2002 Fixed
Description
A threaded client application could hang calling db_fini, if using embedded SQL or SQLFreeEnv, if using ODBC. This is now fixed



CR:287939
CR Number:   287939
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 3464 21 Jun 2002 Fixed
8.0.1 3014 21 Jun 2002 Fixed
8.0.0 2313 21 Jun 2002 Fixed
7.0.4 3345 21 Jun 2002 Fixed
Description
Using the INPUT command with INPUT_FORMATs of dBaseIII or FoxPro, would have failed if the files had extra padding bytes in their headers. These files can now be read.



CR:287989
CR Number:   287989
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 3466 21 Jun 2002 Fixed
8.0.1 3015 21 Jun 2002 Fixed
Description
If a keyset-driven (ESQL SCROLL) cursor was opened over a query that referred to an aggregate function in the select list, the aggregate function could have been computed over NULL instead of the correct argument. For this situation to have occurred, the argument to the aggregate function must have been a complex expression (such as x+y or CAST( x as DOUBLE)), and the argument must have been referred to in the query in a location below a materializing operator feeding the grouping operator, and the columns referred to in the complex expression were not used elsewhere above the materialzing operator. In addition to cursors, some UPDATE statements could have had the same problem. For example, a keyset-driven cursor over the following query would have returned NULL for the 'mx' attribute:



select *

from R R1

join

( select R2.y, max(R2.x-1)

from R R2 join R R3 on R2.y=R3.y

where R2.x-1>0

group by R2.y ) DT(gb,mx)

on R1.y = DT.gb

where R1.x < 5



CR:288044
CR Number:   288044
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 3465 26 Jun 2002 Fixed
Description
The "Connect" menu item was always enabled, even when already connected. Clicking 'Connect' while already connected caused the current connection to be closed, and the "Connect" dialog to be opened. Similarly, the "Disconnect" item was enabled, even when not connected, although clicking "Disconnect" while not connected did nothing. Now both menu items are only enabled when appropriate.



CR:288046
CR Number:   288046
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)
7.0.4 3346 21 Jun 2002 Fixed
7.0.3 2144 21 Jun 2002 Fixed
7.0.2 1598 21 Jun 2002 Fixed
Description
A SQL statement like the following:



SELECT e.emp_id into #temp

FROM dba.employee e

WHERE e.emp_id IN

( SELECT o.sales_rep

FROM dba.sales_order o

WHERE o.sales_rep = 299

);

is rewritten as:



SELECT DISTINCT e.emp_id into #temp

FROM dba.employee e, dba.sales_order o

WHERE o.sales_rep = 299 and e.emp_id = dba.sales_order



but the generated DISTINCT was being ignored. This could have caused more rows to be inserted into #temp than there should have been. The DISTINCT is no longer ignored



CR:288068
CR Number:   288068
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 3466 25 Jun 2002 Fixed
8.0.1 3014 25 Jun 2002 Fixed
Description
Disjunctive clauses that contained two or more predicates that referenced the same expression as one operand, and an identical constant as the other operand, were incorrectly processed during rewrite optimization and may have yielded incorrect results. For example,



Select *

From Product

Where id < 601 or id = 601



would have resulted in the second predicate being dropped from the query altogether; hence the product row with id 601 would not have appeared in the result set. This is now fixed.



CR:288136
CR Number:   288136
Product Name:   UltraLite
Product Component:   Runtime Libraries
Status:   Closed
OS:   Generic
Original Version:   7.0.4
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3466 25 Jun 2002 Fixed
7.0.4 3345 25 Jun 2002 Fixed
Description
Calling ULData::PalmExit() would have closed the UltraLite store, but would not have remembered that it was closed. If the database was deleted after this time, a call to ULData::PalmLaunch would still have believed that the database was still open and would not have recreated it. Multiple consecutive calls to either PalmLaunch or PalmExit did not check to see if the database was open or closed. Now, both PalmLaunch and PalmExit check the status of the database and correctly set the flag to remember if it's open or closed.



CR:288217
CR Number:   288217
Product Name:   UltraLite
Product Component:   Sample Application
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3470 25 Jun 2002 Fixed
8.0.1 3016 25 Jun 2002 Fixed
8.0.0 2316 25 Jun 2002 Fixed
Description
The custom build step for custdb.sqc for the Pocket PC 2002 emulator, incorrectly used the DSN "UltraLite 9.0 Sample", it has been correctled to "UltraLite 8.0 Sample".



Also, the default x86em UltraLite runtime has been changed from emulator to emulator30. The x86em target of CustDB should compile and link without requiring any changes with Pocket PC, but when linking for Windows CE 2.11, the link settings must be manually changed to link against the UltraLite runtime in the emulator directory instead of emulator30.
Workaround Description
 I was compiling the following project setting:

Pocket PC 2002 Win32 (x86) Debug Pocket PC 2002 Emulation





If I changed that to:

Pocket PC Win32 (x86) Debug Pocket PC Emulation





I get 23 errors.



CR:288225
CR Number:   288225
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 95
Original Version:   6.0.04
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3467 21 Jun 2002 Fixed
8.0.1 3015 21 Jun 2002 Fixed
8.0.0 2315 21 Jun 2002 Fixed
Description
When using TCP/IP with DoBroadcast=NONE, (aka UseUDP=NO), 6.0.x clients would have failed to connect to 8.0.x servers. This has been fixed



CR:288265
CR Number:   288265
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 3472 27 Jun 2002 Fixed
8.0.1 3017 27 Jun 2002 Fixed
Description
If a query contained a predicate of the form:

( x BETWEEN y AND z, 10.0)

where 10.0 was user estimate of the selectivity of the BETWEEN predicate, the server would ignore the supplied estimate and revert to the built-in default. Further, if a query contained a predicate of the form:

(x >= 10, 5.0) AND x <= 11

the user estimate of 5.0 would again be ignored by the server. This has been fixed.



CR:288267
CR Number:   288267
Product Name:   SQL Anywhere
Product Component:   DBLIB Client Library
Status:   Closed
OS:   Generic
Original Version:   7.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3467 25 Jun 2002 Fixed
8.0.1 3015 25 Jun 2002 Fixed
8.0.0 2316 25 Jun 2002 Fixed
Description
If a client application made multiple connections, and the first connection did not use debug logfile, but subsequent connection(s) did, some debug logfile messages (including TCP/IP specific messages) would be missing. On Unix, some debug logfile messages (including TCP/IP specific messages) would be missing for all connections.



These problems have been fixed.



CR:288325
CR Number:   288325
Product Name:   SQL Anywhere
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3470 26 Jun 2002 Fixed
8.0.1 3016 26 Jun 2002 Fixed
8.0.0 2316 26 Jun 2002 Fixed
7.0.4 3347 26 Jun 2002 Fixed
Description
Running the dbunload utility with either of the -an or -ar options could have generated a syntax error. This would have occurred very rarely, only if "go" appeared as the last two characters in its 32K buffer. This is now fixed.



CR:288342
CR Number:   288342
Product Name:   MobiLink
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3497 23 Jul 2002 Fixed
8.0.1 3029 23 Jul 2002 Fixed
8.0.0 2327 23 Jul 2002 Fixed
Description
When the command line options, -o or -ot, were specified on dbmluser, it would have created an empty file. This is now fixed.
Workaround Description
 works via sybase central but not with command line. However, if you click on add mobilink user from mobilink syncronization client, mobilink users and follow the wizard the user is created.



CR:288362
CR Number:   288362
Product Name:   SQL Anywhere
Product Component:   Utilities
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   7.0.4
Fixed Version Build Resolution Date Closure Code (If Appropriate)
7.0.4 3353 19 Jul 2002 Fixed
Description
Overwriting an existing NT service may fail with the error messages:
The specified service has been marked for deletion
Error creating service "servicename".
This has been fixed.



CR:288424
CR Number:   288424
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 3485 11 Jul 2002 Fixed
8.0.1 3023 11 Jul 2002 Fixed
8.0.0 2322 11 Jul 2002 Fixed
7.0.4 3351 11 Jul 2002 Fixed
Description
When fetching string data using the System.Data.OLEDB components, various errors could have occurred. These included "Object reference not set to an instance of an object", data exceptions, infinte recursion errors and application faults. The problem has been fixed.



CR:288427
CR Number:   288427
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 3471 26 Jun 2002 Fixed
8.0.1 3017 26 Jun 2002 Fixed
Description
A query that had an ORDER BY clause and had a table with an index whose columns were all equated to constants, could have returned rows in an order that did not match the ORDER BY clause. This is now fixed.



CR:288451
CR Number:   288451
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 3472 27 Jun 2002 Fixed
8.0.1 3017 27 Jun 2002 Fixed
8.0.0 2317 27 Jun 2002 Fixed
Description
When running an encrypted database on Windows CE and using the server option -ep, (Prompt for encryption key), the server did not prompt for the key. This has been fixed.



CR:288455
CR Number:   288455
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 3471 26 Jun 2002 Fixed
8.0.1 3017 26 Jun 2002 Fixed
8.0.0 2316 26 Jun 2002 Fixed
7.0.4 3347 26 Jun 2002 Fixed
Description
When the procedure debugger is at a breakpoint, View/Other/Query allows a query to be executed and the result set displayed. If the query was longer than 255 bytes, it would have caused the server to crash. This problem has been corrected.



CR:288465
CR Number:   288465
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 3471 27 Jun 2002 Fixed
8.0.1 3017 27 Jun 2002 Fixed
Description
Attempts to use a Java class that had been replaced by a newer instance could have given incorrect results, caused an endless loop, or a crash. This is now fixed.



CR:288515
CR Number:   288515
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 3478 27 Jun 2002 Fixed
8.0.1 3020 27 Jun 2002 Fixed
8.0.0 2319 27 Jun 2002 Fixed
Description
If an unsigned integer or smallint value was used as the argument to the abs() function and the value was greater than the maximum value for the corresponding signed type, the result would be incorrect. For example, the expression:

abs(cast(65535 as unsigned smallint))

returned 1 instead of 65535. The correct value (65535 in this example) is now returned.



CR:288531
CR Number:   288531
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 3456 26 Jun 2002 Fixed
Description
The following problems related to direct editing of table data have been fixed:



Updating a row could have failed, (the row was silently rolled back), if either



a) The table had no primary key and at least one TIME or TIMESTAMP column, or

b) There was a primary key, and one or more of the key columns was a TIME or TIMESTAMP



Deleting under these circumstances is not supported. The user is now notified that the update has failed in these cases.



Updating a row would have failed, (the row was silently rolled back), if the result set contained a TIME or TIMESTAMP column, even if that column was not in the primary key. The row is now correctly updated.



Deleting a row could have failed, (the row was silently rolled back), if either



a) The table had no primary key and at least one TIME or TIMESTAMP column, or

b) There was a primary key, and one or more of the key columns was a TIME or TIMESTAMP



Deleting under these circumstances is not supported. In these cases, the row had been removed from the result table in the "Results" pane even though it had not actually been removed from the database. The row is now left in the "Results" table and the user is notified that the row was not deleted.
Workaround Description
 Use an UPDATE statement



CR:288570
CR Number:   288570
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 3472 26 Jun 2002 Fixed
8.0.1 3023 26 Jun 2002 Fixed
Description
If a query with an order by clause is executed with an optimization goal of 'first-row', and there exists an index that can be used for satisfying the order by clause, then a likely optimal plan is one that uses that index and a pipelined execution strategy. However, the server could instead have chosen a plan that did not use the index and materialized the entire result set before returning the first row. The problem is more likely to be seen when the estimated cost of the query is relatively small. The server will now pick an optimal plan in this case.



CR:288626
CR Number:   288626
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Microsoft Windows
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3592 11 Oct 2002 Fixed
Description
When clicking on the "Browse" button to browse for a file or directory, if the corresponding file or directory name text field was empty, then the chooser would initially open at the current user's home directory. Now, the last directory visited via a chooser in the current session of Sybase Central will be displayed.



Note that if the corresponding file or directory name text field is not empty, then the chooser will attempt to open at the directory contained in the text field.



CR:288633
CR Number:   288633
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 3473 28 Jun 2002 Fixed
8.0.1 3018 28 Jun 2002 Fixed
8.0.0 2317 28 Jun 2002 Fixed
7.0.4 3348 28 Jun 2002 Fixed
Description
If a stored procedure exception handler called another procedure to deal with the error, and the called procedure executed a RESIGNAL, the RESIGNAL would have been ignored. This is now fixed.



CR:288639
CR Number:   288639
Product Name:   SQL Anywhere
Product Component:   ODBC Client Library
Status:   Closed
OS:   Generic
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3487 23 Jul 2002 Fixed
8.0.1 3026 23 Jul 2002 Fixed
8.0.0 2322 23 Jul 2002 Fixed
Description
A new option has been added to the ODBC datasource configuration dialog, labelled "Suppress fetch warnings". Checking this option will suppress warning messages from the database server from being returned to the application. Prior to version 8.0.0, the only warnings that were returned when fetching were truncation warnings and row-updated warnings. As of version 8.0.0, a wider range of warnings are possible. The new checkbox was introduced since some applications are not equipped to handle warnings

returned on a fetch.



CR:288657
CR Number:   288657
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 3484 11 Jul 2002 Fixed
8.0.1 3022 11 Jul 2002 Fixed
7.0.4 3518 22 Apr 2004 Fixed
Description
When run on Windows platforms, the server could have hung during start up, if multiple servers were starting at the same time, with the same name. The server will no longer hang, only one engine with the same name will start successfully.



CR:288664
CR Number:   288664
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)
7.0.4 3350 12 Jul 2002 Fixed
Description
If a trigger used alias to reference the old and new row values and if one of the two alias names was not defined, for example:



create trigger trig1 before update on T1

// referencing old as oldname -- missing definition

referencing new as newname

for each row

begin

if oldname.col1 > newname.col1 then

message 'Test'

end if;

end



then no error was detected during execution of the trigger. The above IF condition was always false. This has been fixed. Now the error "Correlation name 'oldname' not found" is returned as expected.



CR:288782
CR Number:   288782
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.2 3507 02 Aug 2002 Fixed
8.0.1 3031 02 Aug 2002 Fixed
Description
Prior to this fix, neither the download_cursor nor the download_delete_cursor could be implemented as a call to a stored procedure on some supported consolidated databases. Now this should work with all supported consolidated databases.





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