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

 

随着Sybase被完全整合到SAP下,Sybase原来的支持网站被SAP Support Portal取代。
只有购买了SAP服务的用户才能使用账号登录SAP Support Portal进行介质下载、补丁升级、报Incident等。
考虑到Sybase数据库的初学者或者没有购买原厂服务的Sybase客户情况,现提供SAP ASE/IQ/RS/SDK/SQL Anywhere/PB等产品的BUG信息。
在SAP Support Portal网站或者google上搜索Targeted CR List for ASE,可以看到针对不同版本的CR(CR表示Change Request)简单描述信息列表。
需要注意的是:Targeted CR List for ASE列出的CR虽然绝大多数是BUG,但有一些是更改需求。
以下提供SAP ASE/IQ/RS/SDK/SQL Anywhere/PB等产品的BUG信息!

如有问题,请联系我!

QQ :289965371 联系我们获取数据库技术支持!
Email:
不仅仅包括BUG的详细描述信息,还包括首次报告BUG的平台、数据库版本以及BUG修复历史过程;有些BUG还提供了Workaround来临时解决该BUG带来问题。

 

CR:293317
CR Number:   293317
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)
7.0.4 3368 09 Sep 2002 Fixed
Description
If a subquery contained an outer reference to a subselect, then the results of the referencing subquery could have been incorrect. For example, the following query showed the problem:



SELECT ( SELECT 1 FROM sys.dummy D1 WHERE R.row_num IS NOT NULL ) AS A1

FROM dbo.rowgenerator R

WHERE ( SELECT 2 FROM sys.dummy D2 WHERE A1 IS NOT NULL ) IS NOT NULL



CR:293340
CR Number:   293340
Product Name:   MobiLink
Product Component:   ASA Client
Status:   Closed
OS:   Generic
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.0 407 09 Oct 2002 Fixed
8.0.2 4076 09 Oct 2002 Fixed
8.0.1 3056 09 Oct 2002 Fixed
8.0.0 2349 09 Oct 2002 Fixed
Description
On case sensitive databases, it was possible that the Mobilink Plugin would insert the incorrect password into the ml_user table. This has now been fixed.



CR:293384
CR Number:   293384
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 3544 09 Sep 2002 Fixed
8.0.1 3038 09 Sep 2002 Fixed
8.0.0 2342 09 Sep 2002 Fixed
Description
Concurrent inserts into an empty index, or deleting the only entry from an index, could have resulted in a corrupt index, if it was a trie-based index. Assertion 200602 was a likely symptom. This was more likely to have occurred on Unix and multiprocessor Windows-based systems. It is now fixed.



CR:293407
CR Number:   293407
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 3538 06 Sep 2002 Fixed
8.0.1 3036 06 Sep 2002 Fixed
8.0.0 2341 06 Sep 2002 Fixed
Description
A multithreaded Java Application could have crashed during Garbage Collection, if a thread waiting on a Java Monitor was notified before garbage collection began. This is now fixed.



CR:293423
CR Number:   293423
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 3550 12 Sep 2002 Fixed
8.0.1 3040 12 Sep 2002 Fixed
8.0.0 2343 12 Sep 2002 Fixed
Description
Queries that used a comparison-based index could have returned incorrect results, (typically more rows than expected).



For example:



create table table1(c1 char(6) primary key);

insert into table1 values('Austra');

select * from table1 where c1 = 'Australia';



would have returned 1 row when none should have been returned.



For the problem to have occurred, a column must have been searched for a value 'xxxyyy', where 'xxxyyy' truncated to the width of the column was 'xxx' and 'xxx' appeared in the column, (this could have affected non-string columns as well). Moreover, the index must have been fully hashed. This is now fixed.



CR:293528
CR Number:   293528
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 3544 06 Sep 2002 Fixed
8.0.1 3036 06 Sep 2002 Fixed
8.0.0 2342 06 Sep 2002 Fixed
Description
Sorting connections in the disconnect dialog and then selecting multiple connections to disconnect would have throw an exception. This has now been fixed.



CR:293539
CR Number:   293539
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 3548 13 Sep 2002 Fixed
8.0.1 3039 13 Sep 2002 Fixed
8.0.0 2343 13 Sep 2002 Fixed
Description
Dbmlsync would have treated downloaded deletes that were for rows not present on the remote database as an error. Now, they are not longer treated as an error. As a result of this change, the sp_hook_dbmlsync_download_sql_error hook will no longer be called when a not-found delete is encountered.



If verbosity is turned on, then informational messages will be generated that indicate the number of not found delete's encountered for each table and which rows they were for.



CR:293635
CR Number:   293635
Product Name:   UltraLite
Product Component:   Runtime Libraries
Status:   Closed
OS:   Microsoft Windows NT
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3569 03 Oct 2002 Fixed
8.0.1 3044 03 Oct 2002 Fixed
8.0.0 2344 03 Oct 2002 Fixed
Description
Java UltraLite applications would have reported all index pages were full, and no space was left to create new index pages, (ArrayIndexOutOfBound exception), when there were only seven pages fully occupied. Actually, Java UltraLite is designed to have a maximum of 256 index pages. This is now fixed.



CR:293782
CR Number:   293782
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)
7.0.4 3369 13 Sep 2002 Fixed
Description
A failed autocommited statement could have caused the server to assert ( 102300 - File associated with given page id is invalid or not open ), if the ANSI_CLOSE_CURSORS_ON_ROLLBACK option was set and the autocommited statement that was being executed was part of an open cursor. This has now been fixed.
Workaround Description
 Anything which verifies the existence of the user before executing the select

statement in the grant_selection_all procedure will avoid the problem.



CR:293788
CR Number:   293788
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows NT
Original Version:   7.0.3
Fixed Version Build Resolution Date Closure Code (If Appropriate)
7.0.4 3386 19 Nov 2002 Fixed
8.0.0 2352 19 Nov 2002 Fixed
8.0.1 3071 19 Nov 2002 Deferred
8.0.2 4078 19 Nov 2002 Fixed
8.0.3 4516 19 Nov 2002 Fixed
Description
Calling xp_sendmail functions simultaneously, from different connections, could have caused unexpected behaviour, up to and including a server crash. This has been fixed, but in order to take advantage of it, several system procedures need to change. Databases created, or rebuilt, after this change will have these new procedures, but for existing databases, the following script will make the necessary changes:



-- START OF SCRIPT



insert into dbo.EXCLUDEOBJECT values ( 'xp_real_stopmail' , 'P' )

go

insert into dbo.EXCLUDEOBJECT values ( 'xp_real_startmail' , 'P' )

go

insert into dbo.EXCLUDEOBJECT values ( 'xp_real_sendmail' , 'P' )

go



CREATE function dbo.xp_real_startmail(

in mail_user char(254) default null,

in mail_password char(254) default null,

in connection_id int )

returns int

external name 'xp_startmail@dbextf.dll'

go



ALTER function dbo.xp_startmail(

in mail_user char(254) default null,

in mail_password char(254) default null )

returns int

begin

declare connection_id int;

select connection_property( 'Number' ) into connection_id from dummy;

return( xp_real_startmail( mail_user, mail_password, connection_id ) )

end

go

CREATE function dbo.xp_real_stopmail( in connection_id int )

returns int

external name 'xp_stopmail@dbextf.dll'

go

ALTER function dbo.xp_stopmail()

returns int

begin

declare connection_id int;

select connection_property( 'Number' ) into connection_id from dummy;

return( xp_real_stopmail( connection_id ) )

end

go

CREATE function dbo.xp_real_sendmail(

in recipient char(254),

in subject char(254) default null,

in cc_recipient char(254) default null,

in bcc_recipient char(254) default null,

in query char(254) default null,

in "message" char(254) default null,

in attachname char(254) default null,

in attach_result int default 0,

in echo_error int default 1,

in include_file char(254) default null,

in no_column_header int default 0,

in no_output int default 0,

in width int default 80,

in separator char(1) default '\t',

in dbuser char(254) default 'guest',

in dbname char(254) default 'master',

in type char(254) default null,

in include_query int default 0,

in connection_id int )

returns int

external name 'xp_sendmail@dbextf'

go

ALTER function dbo.xp_sendmail(

in recipient char(254),

in subject char(254) default null,

in cc_recipient char(254) default null,

in bcc_recipient char(254) default null,

in query char(254) default null,

in "message" char(254) default null,

in attachname char(254) default null,

in attach_result int default 0,

in echo_error int default 1,

in include_file char(254) default null,

in no_column_header int default 0,

in no_output int default 0,

in width int default 80,

in separator char(1) default '\t',

in dbuser char(254) default 'guest',

in dbname char(254) default 'master',

in type char(254) default null,

in include_query int default 0 )

returns int

begin

declare connection_id int;

select connection_property( 'Number' ) into connection_id from dummy;

return( xp_real_sendmail( recipient, subject, cc_recipient, bcc_recipient, query, "message", attachname,

attach_result, echo_error, include_file, no_column_header,

no_output, width, separator, dbuser, dbname, type,

include_query, connection_id ) );

end



-- END OF SCRIPT



CR:293862
CR Number:   293862
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 3545 10 Sep 2002 Fixed
Description
If a statement in a stored procedure received an execution error, such as division by zero, a conversion error, or a deadlock error, then subsequent executions of the statement could have given the error:

-853 "Cursor not in a valid state"

This is now fixed, but a work-around would be to set the database option Max_plans_cached to 0.



CR:293867
CR Number:   293867
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 3548 12 Sep 2002 Fixed
8.0.1 3038 12 Sep 2002 Fixed
Description
If it is possible to satisfy the ORDER BY clause of a query by means of an index scan in either direction, the server attempts to do so in order to avoid the sort. When the index scan was being done in a backward direction, the server would have failed to avoid the unnecessary sort. As an example, consider the following query:



select * from systable where table_id > 30 order by table_id desc



The server would have executed this query by performing a backward primary key index scan of systable as desired, but then also would have sorted the result set on table_id. The sort operation was not needed because the result set was already in the proper order due to the index. Now the server will no longer execute this unnecessary sort, resulting in improved performance.



CR:293904
CR Number:   293904
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows
Original Version:   7.0.4
Fixed Version Build Resolution Date Closure Code (If Appropriate)
6.0.04 3801 30 Sep 2002 Fixed
Description
The first fetch of a query using an index scan could have taken significantly longer in 6.0.04 builds 3774 and later. This is now fixed.



CR:293998
CR Number:   293998
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Novell NetWare
Original Version:   7.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3548 13 Sep 2002 Fixed
8.0.1 3038 13 Sep 2002 Fixed
8.0.0 2343 13 Sep 2002 Fixed
7.0.4 3369 13 Sep 2002 Fixed
Description
If an archive backup to a tape drive was attempted on a NetWare server and libsybbr.nlm was NOT loaded, the backup would have failed with error -692, "Could not execute backup/restore DLL (syb_open) entry point." This has been fixed. As a workaround, load libsybbr.nlm on the server before attempting the backup.



CR:294020
CR Number:   294020
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.0 2343 13 Sep 2002 Fixed
8.0.1 3042 13 Sep 2002 Fixed
8.0.2 3554 13 Sep 2002 Fixed
Description
DBxtract and DBunload would hang if the reload database was on a different server and an internal unload or an internal reload was requested. Now, when the unload database and reload database reside on different servers, a message is returned which indicates that the unload and reload must be external.
Workaround Description
 if the remote db isn't running on a server at the time of the extraction, specifying dbf=path/to/remote.db instead of using eng=remote will cause the remote to load up on the engine running the cons db and the extraction will succeed



CR:294107
CR Number:   294107
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3553 18 Sep 2002 Fixed
Description
Trying to unset a PUBLIC option, while there were still user settings for that option, would have caused the error:

"Invalid option '%1' -- no PUBLIC setting exists"



This was incorrect and confusing. Now the following error occurs:

"Cannot unset PUBLIC option '%1' since user settings exist"



CR:294124
CR Number:   294124
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 3588 04 Oct 2002 Fixed
8.0.1 3058 04 Oct 2002 Fixed
8.0.0 2349 04 Oct 2002 Fixed
Description
Queries with complex WHERE conditions containing at least one OR predicate may have returned incorrect results. Which queries were affected is difficult to assess, as the likelihood of the problem was low and depended on the ordering of the conditions in the original expression. As a workaround, reorganizing the predicates in the query's WHERE clause may prevent the problem from occurring. As an example, the following query



SELECT test.errorfield, test.keyfield

FROM test

WHERE

test.errorfield = '001DUQVPYNM'

AND ( test.field1 <> 'd'

AND test.field1 <> 'D'

AND test.field1 <> 'd'

AND test.field1 <> 'D'

AND (( test.field6 = '1') OR ( test.field6 = ' '))

AND (('2002-07-12' <= test.field5 OR test.field5 = '1800-01-01' )

AND('2002-07-12' >= test.field4 OR test.field4 = '1800-01-01' ))

AND test.field2 = '001'

AND test.field3 = '01')



would be incorrectly simplified to



SELECT test.errorfield, test.keyfield

FROM test

WHERE

(( test.field6 = '1') OR ( test.field6 = ' '))

AND (('2002-07-12' <= test.field5 OR test.field5 = '1800-01-01' )

AND('2002-07-12' >= test.field4 OR test.field4 = '1800-01-01' ))



This has been corrected.



CR:294145
CR Number:   294145
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Novell NetWare
Original Version:   6.0.00
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3549 17 Sep 2002 Fixed
8.0.1 3039 17 Sep 2002 Fixed
8.0.0 2343 17 Sep 2002 Fixed
7.0.4 3369 17 Sep 2002 Fixed
Description
Specifying a long filename when using LOAD TABLE on a NetWare server may have resulted in error -602 "Cannot access file". This has been fixed.



CR:294162
CR Number:   294162
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)
7.0.4 3369 12 Sep 2002 Fixed
Description
If a query referenced the ROWID() function with a parameter being the name of a declared temporary table created in the select, the server would have crashed. Now, the server gives the error:

-142 "Correlation name '%1' not found"



For example, the following query demonstrates the behaviour:



select rowid(#temp)

into #temp

from sys.dummy



CR:294165
CR Number:   294165
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 3550 06 Dec 2002 Fixed
Description
An INSERT ... ON EXISTING UPDATE statement could have failed , but only when updating a row, with error -189 "Unable to find in index 'T' for table 'T'". The fault would only have occurred if the INSERT affected (inserts/updates) more than one row, and the update (that fails) was on the second or subsequent row affected. The fault would not have occurred if there were computed columns on the table being inserted into. Currently, this iwa most likely to show up as a dbmlsync problem. It has now been fixed.



CR:294193
CR Number:   294193
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 2343 11 Sep 2002 Fixed
8.0.1 3040 11 Sep 2002 Fixed
8.0.2 3550 11 Sep 2002 Fixed
Description
Calling the system procedure xp_sendmail could have crashed the server when using SMTP. This is now fixed.



CR:294215
CR Number:   294215
Product Name:   MobiLink
Product Component:   ASA Client
Status:   Closed
OS:   Generic
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3550 18 Sep 2002 Fixed
8.0.1 3040 18 Sep 2002 Fixed
Description
When an sp_hook_dbmlsync_upload_end procedure was defined, dbmlsync would sometimes have faileed with the following error message:



Error: getFillDictEntrySQL() An input entry has not been set



when a log offset mismatch occurred between the remote and consolidated databases or if an error occurred during the upload phase of synchronization. This was an internal error message and should never be seen by users. The success or failure of synchronization was not affected by this message. This problem is now fixed and the message should no longer appear.



CR:294229
CR Number:   294229
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 3553 12 Sep 2002 Fixed
8.0.1 3040 12 Sep 2002 Fixed
7.0.4 3437 31 Mar 2003 Fixed
Description
If a LOAD TABLE statement resulted in an error (e.g. a conversion error), a subsequent call to a stored procedure which referenced the table could have caused the server to crash. The procedure must have been called at least once prior to executing the LOAD TABLE statement. This problem is now fixed.
Workaround Description
 no workaround



CR:294234
CR Number:   294234
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 3550 18 Sep 2002 Fixed
8.0.1 3040 18 Sep 2002 Fixed
8.0.0 2343 18 Sep 2002 Fixed
Description
The server could have overstated the actual file fragment count for a file via the 'DBFileFragments' property, the 'LogFileFragments' property or in the server's message window when it opened a file. Typically, the fragmentation could have been incorrect after a disk defragmenter was run because relocated fragments were not always coalesced into one fragment even if they are physically adjacent on the disk. The fragmentation count should now be reported correctly.



CR:294269
CR Number:   294269
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.3 4638 17 Apr 2003 Fixed
8.0.2 4242 17 Apr 2003 Fixed
8.0.1 3111 17 Apr 2003 Fixed
Description
If the PCTFREE value for a global temporary table was changed via the ALTER TABLE statement, the changed value did not persist and was lost at the end of the connection. This has been fixed and the changes will now persist.



CR:294409
CR Number:   294409
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 3560 26 Sep 2002 Fixed
8.0.1 3044 26 Sep 2002 Fixed
Description
If the option PUBLIC.Auditing was set to ON, an operation which caused a referential action trigger to be fired (e.g. a cascading DELETE) would have crashed the server. This has been fixed.



CR:294536
CR Number:   294536
Product Name:   UltraLite
Product Component:   Runtime Libraries
Status:   Closed
OS:   Generic
Original Version:   6.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3554 18 Sep 2002 Fixed
8.0.1 3042 18 Sep 2002 Fixed
8.0.0 2343 18 Sep 2002 Fixed
Description
The following two errors that could have occurred when copying wide character strings from the database, have been fixed:



1. Indicator variables used in a fetch on a non-nullable column type were ignored. For all other domain types, UltraLite would always set the indicator variable properly, even if the column was declared as not null.



2. If the destination buffer for a wide character strings was too small and the value needed to be truncated, the resulting string would not be null-terminated. Now the UltraLite runtime will remove one more character to make room for the null character at the end.



CR:294537
CR Number:   294537
Product Name:   SQL Remote for SQL Anywhere
Product Component:   File Messaging for Adaptive Server Anywhere
Status:   Closed
OS:   Novell NetWare
Original Version:   7.0.00
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3553 18 Sep 2002 Fixed
Description
If a file address was specified as a UNC address (eg. \\server\volume\subdir), messages received by dbremote running on NetWare would have been processed correctly, but no messages would have been sent (an error would have been displayed). This has been fixed.



Note that UNC addresses are only valid on NetWare if the server matches the name of the server on which dbremote is running.



CR:294547
CR Number:   294547
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 3557 18 Sep 2002 Fixed
8.0.1 3943 18 Sep 2002 Fixed
Description
If a view or derived table contained a subselect in the select list, the column was not used elsewhere, and the view or derived table was used inside of an ANY, ALL, or IN predicate, then the server could have failed with the following assertion:



"Internal database error *** ERROR *** Assertion failed in f:\src\db\engine\language\parser\copytree.c at line 616 (Parser assertion: Subqueries not copied during copy_with_annotation)



The following queries are examples that caused the problem:

CREATE TABLE X( ( table_name varchar(50), publication_name varchar(50));

SELECT table_name

FROM X

WHERE table_name NOT IN (SELECT foreign_tname FROM SYSFOREIGNKEYS)

(Note: SYSFOREIGNKEYS contains a subselect for column 'columns', which is not used)



SELECT table_name

FROM X R1

WHERE table_name NOT IN

( SELECT col1

FROM ( SELECT table_name col1,

( SELECT table_name

FROM X R2 ) col2

FROM X R3

) DT

)



The error would not have appeared if the select list item for the ANY/ALL predicate was a not-null column, nor would it have occurred if the subselect column was used in the ANY/ALL subquery. This has now been fixed.



CR:294575
CR Number:   294575
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 3558 19 Sep 2002 Fixed
8.0.1 3043 19 Sep 2002 Fixed
Description
If the short plan (returned by the EXPLANATION function) for an UPDATE or DELETE statement was long (approximately one database page or larger), then the server could have crashed when executing the statement. Further, queries could crash the server if the short plan was long and the option Query_plan_on_open was 'On'. This has now been fixed.



This problem was most likely to occur when a view was used which contained a number of subqueries.
Workaround Description
 Do not delete row through a view.



CR:294677
CR Number:   294677
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 3559 23 Sep 2002 Fixed
8.0.1 3044 23 Sep 2002 Fixed
8.0.0 2344 23 Sep 2002 Fixed
7.0.4 3373 23 Sep 2002 Fixed
Description
This fix corrects a number of problems related to the handling of single-line comments by DBISQL:



1 - single-line comments which did not end in a carriage return, line feed, or carriage return/line feed pair would have been corrupted before being sent to the database server.



For example, running:

dbisql -q -d1 "message 'X' -- testing"

would have printed

message 'X' -----------

instead of

message 'X' -- Testing



2 - if the "d1" command line option was specified, and the file started with a comment, that comment was displayed twice on the console. Now the comment is displayed only once.



3 - comments appearing within CREATE PROCEDURE or CREATE FUNCTION statements were being sent to the database server followed by an additional blank line. This extra blank line has now been removed.



CR:294728
CR Number:   294728
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 3574 18 Sep 2002 Fixed
8.0.1 3053 04 Oct 2002 Fixed
7.0.4 3376 04 Oct 2002 Fixed
Description
Variable length output parameters returned from stored procedures were not always accessible to .Net applications, (ie C#, Visual Basic and Visual C Ver. 7), using ADO. This has been fixed.



CR:294800
CR Number:   294800
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 3558 19 Sep 2002 Fixed
7.0.4 3372 19 Sep 2002 Fixed
7.0.2 1603 19 Sep 2002 Fixed
Description
If a request was cancelled and the application was terminated before the cancel completed, it was possible in rare cases for the connection to remain until the server was shut down. The connection which remained would keep any existing locks, use an engine "thread" (-gn parameter), and could not be dropped by DROP CONNECTION. For this problem to have occurred, the request which was cancelled must have returned more data than the communication buffer size. This problem is now fixed.



CR:294808
CR Number:   294808
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 3558 19 Sep 2002 Fixed
8.0.1 3043 20 Sep 2002 Fixed
Description
As of 8.0.1, the MobiLink server uses savepoints with bulk operations, so that if an error occurs, the operation can be rolled back to a savepoint and then go into single-row mode to determine the row that caused the error. Unfortunately, when the ODBC driver is unknown, it is possible to attempt to execute invalid SQL. Now, when theODBC driver is unknown, savepoints are not used.



CR:294817
CR Number:   294817
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows NT
Original Version:   12.5
Fixed Version Build Resolution Date Closure Code (If Appropriate)
7.0.4 3372 20 Sep 2002 Fixed
Description
If the server was started with -z command line option, it would have displayed "liveness packet received" for each liveness packet it received from a client. This could have resulted in a large server output log. These messages have been removed.



CR:294844
CR Number:   294844
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 3558 19 Sep 2002 Fixed
8.0.1 3043 19 Sep 2002 Fixed
8.0.0 2344 26 Nov 2002 Fixed
Description
If an upload fails it will be retried, if the current row array size is larger than one (-s parameter). Before retrying, the uploaded data is rolled back. If the upload failed again, the rollback may not have been attempted unless an error handler script or begin/end upload script was available. The rollback should now always be done.



CR:294929
CR Number:   294929
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.3 4545 10 Dec 2002 Fixed
Description
If a fatal error occurred (eg. disk full) during an auto-reload (dbunload -ac/ar/an) the server could have hung when trying to shutdown. This is now fixed.



CR:294940
CR Number:   294940
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 3559 23 Sep 2002 Fixed
Description
Predicates are ordered by category and by selectivity. In an AND predicate, predicates that are estimated to accept fewer rows should be ordered earlier to reject rows as quickly as possible. A bug caused the ordering of the first two predicates to be wrong, with the predicate that accepted more rows evaluated before one that accepted fewer rows. This has now been corrected.



CR:295041
CR Number:   295041
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 3560 24 Sep 2002 Fixed
8.0.1 3044 24 Sep 2002 Fixed
Description
The number of arguments to an expression is limited by the database page size, with the limit being approximately:

( <page-size> - 128 ) / 8

If an expression was built with more arguments than this limit, the assertion:

101515 "Memory allocation size too large"

would fail.



A large number of arguments can be supplied to some built-in functions such as coalesce, ifnull, and so on, or to user functions. Further, when building an IF or CASE expression, the engine builds an expression that has as arguments all of the expressions used in predicates in the IF or CASE condition. If any expression was built with many arguments, the above assertion would fail.



After the fix, we give a syntax error:

-156 "Invalid expression near '%1'"

for an expression with too many arguments. Further, constant expressions are no longer included in the special argument to IF and CASE expressions.



CR:295097
CR Number:   295097
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 3560 23 Sep 2002 Fixed
8.0.1 3044 23 Sep 2002 Fixed
8.0.0 2344 23 Sep 2002 Fixed
Description
If an error occured during an upload, all operations included in the failed upload were lost, (they were not resent during the next upload), when all the following conditions were true:

1) Dbmlsync was run so that it completed more than one synchronization of the same publication before it shut down. This could have happened when scheduling options were used or if the restart parameter in the sp_hook_dbmlsync_end hook was used to restart a synchronization.

2) An error occured during the upload phase of synchronization, after which another synchronization attempt was made.

3) Log scan polling was enabled. This is the default, logscan polling can be disabled using the -p command line option or the DisablePolling extended option.

4) The -n command line option had only been used once on the command line.

5) There was no publication not specified with the -n switch that included part of a table that was also included in a publication specified with the -n switch.

This problem has been corrected.



CR:295129
CR Number:   295129
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 3559 24 Sep 2002 Fixed
8.0.1 3044 24 Sep 2002 Fixed
Description
The follow problems have been fixed:



1 - Column statistics (i.e., histogram) could have contained inaccurate selectivities after a frequency value was added in the middle of an existing range,

2 - Column statistics generated by LOAD TABLE could have contained inaccurate selectivity estimates in some situations,

3 - The server will now do a much better job of estimating join selectivities where the join attributes include columns that contain nearly unique data values, but are not declared as UNIQUE

4 - The server will now generate better selectivity estimates for columns that have no histograms, e.g., because the number of rows in the table is too small.



CR:295135
CR Number:   295135
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 3560 25 Sep 2002 Fixed
8.0.1 3044 25 Sep 2002 Fixed
8.0.0 2344 25 Sep 2002 Fixed
Description
When a scheduling option was specified, dbmlsync would have crashed, if it encountered an error while loading synchronization information from the remote database. It now treats these errors as fatal and terminates immediately when one is encountered.



CR:295144
CR Number:   295144
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 3560 23 Sep 2002 Fixed
8.0.1 3044 23 Sep 2002 Fixed
8.0.0 2344 23 Sep 2002 Fixed
7.0.4 2344 23 Sep 2002 Fixed
7.0.3 2149 23 Sep 2002 Fixed
Description
The dbmlsync start dialog on CE was not able to handle command line switches with quotes. Common symptoms were failing to connect to a running database or an error reporting an invalid option value when quotes are involved in the Command switches field. The problem is now fixed.



CR:295218
CR Number:   295218
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 3573 03 Oct 2002 Fixed
8.0.1 3053 03 Oct 2002 Fixed
8.0.0 2347 03 Oct 2002 Fixed
7.0.4 3376 03 Oct 2002 Fixed
Description
Executing a SQL statement which contained double-width punctuation symbols could have caused DBISQL to report a "Lexical error". A common occurrence would have been when running the resulting RELOAD.SQL script after unloading a database with a multi-byte character set. The problem would have shown up if the database contained column names which contained double-width punctuation characters, (such as parentheses). This is now fixed so that such scripts can now be run without error.



CR:295225
CR Number:   295225
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 3564 23 Sep 2002 Fixed
8.0.1 3047 23 Sep 2002 Fixed
7.0.4 3374 23 Sep 2002 Fixed
Description
When fetching strings or blobs larger than 200 bytes through the ASA provider, the last byte would have been truncated if no data conversion took place. This has been fixed.



CR:295384
CR Number:   295384
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.3 4580 04 Feb 2003 Fixed
8.0.2 4214 04 Feb 2003 Fixed
8.0.1 3100 04 Feb 2003 Fixed
8.0.0 2360 04 Feb 2003 Fixed
7.0.4 3417 04 Feb 2003 Fixed
Description
Indexes and foreign keys explicitly created by a user can now be renamed with an ALTER INDEX statement:



ALTER INDEX indexname rename-spec

ALTER [INDEX] FOREIGN KEY rolename rename-spec



rename-spec:

ON [ owner.]tablename RENAME [ AS | TO ] newname



CR:295468
CR Number:   295468
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 3567 24 Sep 2002 Fixed
8.0.1 3048 24 Sep 2002 Fixed
Description
Calling sa_disk_free_space when connected to an ASA server running on NetWare may have returned incorrect values. This has been fixed.



CR:295482
CR Number:   295482
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)
9.0.0 393 24 Sep 2002 Fixed
Description
When a SELECT statement which was preceded by a comment was executed, the row count would not have appeared in the status bar. Now it does.



CR:295492
CR Number:   295492
Product Name:   MobiLink
Product Component:   ASA Client
Status:   Closed
OS:   Generic
Original Version:   7.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3567 25 Sep 2002 Fixed
8.0.1 3048 25 Sep 2002 Fixed
8.0.0 2345 25 Sep 2002 Fixed
Description
When dbmlsync's scheduling option was used to schedule a subscription for synchronization, if the subscription was dropped, dbmlsync would crash at the next scheduled synchronization time for that subscription. Now if the subscription is dropped, dbmlsync will issue an error message and make no further attempts to sychronize the dropped subscription.



CR:295500
CR Number:   295500
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 3567 26 Sep 2002 Fixed
8.0.1 3048 26 Sep 2002 Fixed
7.0.4 3374 26 Sep 2002 Fixed
Description
If xp_cmdshell was called when the server was running on a Windows .NET Operating System (eg Windows .NET Server), the server could have crashed. This has been fixed.



CR:295673
CR Number:   295673
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)
9.0.0 394 26 Sep 2002 Fixed
8.0.2 3568 26 Sep 2002 Fixed
8.0.1 3049 26 Sep 2002 Fixed
8.0.0 2346 26 Sep 2002 Fixed
7.0.4 3374 26 Sep 2002 Fixed
Description
Code in the reload.sql file to check if the maximum user_id in SYS.SYSTABLE in

the new database matched the maximum user_id in the old database (and executed a

RAISERROR 17001 if they were different) has been removed.



CR:295700
CR Number:   295700
Product Name:   UltraLite
Product Component:   Analyser Java Classes
Status:   Closed
OS:   Generic
Original Version:   7.0.00
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3568 26 Sep 2002 Fixed
7.0.4 3374 26 Sep 2002 Fixed
Description
The code generated by the UltraLite analyzer was wrong for CASE expressions where the arguments could have been null. This has been fixed.



CR:295788
CR Number:   295788
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 3569 01 Oct 2002 Fixed
8.0.1 3049 01 Oct 2002 Fixed
8.0.0 2346 01 Oct 2002 Fixed
Description
A NullPointerException could have occurred if two statements were executed, one immediately following the other. The problem did not occur every time, being sensitive to the scheduling of tasks within DBISQL itself. This has now been fixed.



CR:295804
CR Number:   295804
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 3569 30 Sep 2002 Fixed
8.0.1 3050 30 Sep 2002 Fixed
Description
In some cases the parser could have used an incorrect value of 15 for default precision for numerics, ignoring the actual setting for the option. As a result, large literal values could have lost precision beyond the 15 digits. As an example, the value 9223372036854775000 would have been parsed as 9223372036854770000. This problem has been fixed. Please note that this problem will not effect large values that are input as string because these values are not converted by the parser into the equivalent numeric values. So, a literal value of '9223372036854775000' would not be effected by the problem.



CR:295808
CR Number:   295808
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 3569 30 Sep 2002 Fixed
8.0.1 3050 30 Sep 2002 Fixed
8.0.0 2346 30 Sep 2002 Fixed
Description
Index scans at isolation levels 1 & 2 could have returned rows that did not meet the search criteria, if there were also concurrent updates. This is now fixed.



CR:295840
CR Number:   295840
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 3569 01 Oct 2002 Fixed
8.0.1 3050 01 Oct 2002 Fixed
8.0.0 2346 01 Oct 2002 Fixed
Description
If the jdemo.sql script,(found in samples\asa\java), was cancelled before it completed, a failure in the Java VM could have caused the server to crash. This has been fixed.



CR:295841
CR Number:   295841
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.1 3049 03 Oct 2002 Fixed
Description
The server was not able to handle more than 1024 TCP/IP client connections. This has now been fixed and the server should be able to handle as many connections as allowed by:

1) the maximum number of open file descriptors allowed by the OS, and

2) the available memory on the machine



As a side affect, threaded client libraries no longer uses SIGIO for event notification. Non-threaded UNIX clients still depend on SIGIO for TCP/IP I/O event notification.



If the number of connections is expected to exceed 1024, then it's

recommended to increase the liveness period from the default value of 120.



CR:295975
CR Number:   295975
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 3570 03 Oct 2002 Fixed
8.0.1 3051 03 Oct 2002 Fixed
Description
Giving an invalid vilename when trying to specify a non-default database name on the Palm VFS filesystem would have resulted in a memory error in the runtime, instead of the expected 'file not found' message. This behaviour has been corrected.



CR:295979
CR Number:   295979
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   4.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
7.0.4 3375 03 Oct 2002 Fixed
Description
If a checkpoint occurred during an undo operation, the database could have been left in an unrecoverable state until the next checkpoint occurs. An undo operation is performed in the following situations:

- a rollback of a subtransaction

- a rollback to a savepoint

- a failed DML statement

- a cancelled statement (the undo actually occurs just before the next statement on that connection is executed).



A rollback of a full transaction was not affected by this problem. Checkpoints are now prevented during undo operations.



CR:296078
CR Number:   296078
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 3573 03 Oct 2002 Fixed
Description
If the autosave option was enabled, opening the Monitor would have overwritten the previous autosave file, so autosaved information could not have been viewed after the Monitor was stopped. Also, exceptions could have occurred writing or reading the autosave file, and autosave would have only worked for the first connection to a MobiLink server. These problems have been fixed. Now if autosaving is enabled, it starts when the Monitor connects to a Mobilink server and stops when it disconnects. Thus previous autosave results will be preserved until connecting to a MobiLink server.



CR:296087
CR Number:   296087
Product Name:   SQL Anywhere
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3584 16 Oct 2002 Fixed
8.0.1 3057 16 Oct 2002 Fixed
Description
The dbtran utility could have translated offline transaction logs that did not belong to the running database and generated a single SQL file that included all the transactions from these non-related transaction logs as well as the related transaction log files, if all these transaction logs shared the same directory. Now it checks that the redo_end of the last offline log strictly matches the redo_begin of the next online log.



CR:296095
CR Number:   296095
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.3 4505 21 Oct 2002 Fixed
8.0.2 4076 21 Oct 2002 Fixed
8.0.1 3060 21 Oct 2002 Fixed
8.0.0 2350 21 Oct 2002 Fixed
Description
When changing the SQL Remote Send Frequency for the consolidated user on a remote database through the SQL Remote tab of the Database Properties dialog, it was possible to break replication. Possible symptoms included data not being sent from the remote, or the consolidated database continuously reporting that there was a missing message. This has now been fixed.



CR:296129
CR Number:   296129
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)
9.0.0 402 03 Oct 2002 Fixed
7.0.4 3377 07 Oct 2002 Fixed
Description
A remote query containing a CAST or CONVERT over a User Defined Function would incorrectly pass the funtion to the remote server, instead of processing it locally. For example:



select cast( rolf(c1) as float) into #temp from t1;



The function rolf, that returns a double, would have been processed in full passthrough mode, instead of no passthrough. This problem has now been fixed.



CR:296243
CR Number:   296243
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Novell NetWare
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3576 10 Oct 2002 Fixed
8.0.1 3054 10 Oct 2002 Fixed
7.0.4 3415 07 Feb 2003 Fixed
Description
When the server was running on NetWare, and clients had connected and disconnected many times in a short period (a few minutes), the NetWare server could have abended with a "CPU Hog" message. This was more likely if the server was very busy and one or more connections were sending or receiving large amounts of data. This has been fixed.



CR:296282
CR Number:   296282
Product Name:   SQL Anywhere
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   6.0.00
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3574 04 Oct 2002 Fixed
8.0.1 3053 04 Oct 2002 Fixed
7.0.4 3376 04 Oct 2002 Fixed
Description
When run on Unix platforms, "dbunload -an" would have created a database whose log file had a name like "foo.db.log". This has been corrected.



CR:296288
CR Number:   296288
Product Name:   SQL Anywhere
Product Component:   ODBC Client Library
Status:   Closed
OS:   Generic
Original Version:   12.4.3
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1715 08 Dec 2003 Fixed
Description
Columns described as CHAR(10) and VARCHAR(10) would both have been described as VARCHAR(10) by the ODBC driver. This behaviour matched the historical behaviour of the server, which also did not distinguish between the two types. Recent versions of the server are now able to distinguish these types, but this behaviour was not available to ODBC applications. A new database option has been added, ODBC_distinguish_char_and_varchar, which can have the value 'On' or 'Off'. The option value is read by the ODBC driver when a connection is opened, and is used to determine what value to return when describing CHAR columns. When the option has the value 'On', CHAR columns are described as CHAR. When the option has the value 'Off', CHAR columns are described as VARCHAR. The default value of the option is 'Off'.



CR:296293
CR Number:   296293
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.3 4510 31 Oct 2002 Fixed
8.0.2 4076 31 Oct 2002 Fixed
8.0.1 3065 31 Oct 2002 Fixed
Description
Under some rare conditions, queries with an ORDER BY clause, partially satisfied by an index, may have returned an unsorted result set. The conditions under which this may have happened were:

- The query contains an ORDER BY clause of the form col1, col2, ...., expr1, expr2

- There exists an index IDX matching (col1, col2, ... ) (i.e., only a prefix of the ORDER BY clause is matched by an index)

- There exists a WHERE equality predicate on at least one of the IDX columns

- The best plan chooses the index IDX as an access method



Example:

SELECT T.Y, R.Z

FROM T, R

WHERE T.X = 1 AND R.Z = T.Z

ORDER BY T.Y, R.Z

where the table T has an index IDX on (T.X, T.Y )



This is now fixed.



CR:296325
CR Number:   296325
Product Name:   MobiLink
Product Component:   ASA Client
Status:   Closed
OS:   Microsoft Windows NT
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 4567 16 Jan 2003 Fixed
8.0.2 4087 16 Jan 2003 Fixed
Description
When dbmlsync is sleeping, if its top-level window receives a window message, registered using the name "dbas_synchronize", will wakeup and perform a synchronization. If dbmlsync is already performing a synchronization, the message will be ignored. This feature has been available on CE platforms since version 8.0.0, now it is available for all win32 platforms.



CR:296333
CR Number:   296333
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 3575 04 Oct 2002 Fixed
8.0.1 3054 04 Oct 2002 Fixed
Description
The server bypasses the optimizer and uses a cheaper mechanism to execute "simple" queries. When this bypass mechanism was used on INSERT, DELETE or UPDATE statements, the server would not have honoured a CANCEL request on these statements. These statements are now cancellable.



CR:296369
CR Number:   296369
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 3575 07 Oct 2002 Fixed
Description
The "-d" server command-line option was documented as disabling asynchronous I/O; however, it has never served that purpose in 6.x and above. On Netware platforms "-d" forces the use of POSIX I/O (which also disables async I/O). On Windows platforms, "-d" has been completely ignored ever since 7.0.0. In 6.x on Windows 3.1, "-d" forced the use of "fast" I/O to bypass some performance problems with DOS's handling of large files on a FAT filesystem. In all other cases, "-d" was ignored in 6.x too.



The usage text for "-d" on Netware has been changed to "use POSIX I/O". The usage text for "-d" on Windows has been removed, but the option is still allowed on the command line and will continue to be ignored.



CR:296404
CR Number:   296404
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 3597 24 Oct 2002 Fixed
Description
It was not possible, using the Event Schedule property sheet, to create a schedule without a start date. In addition, opening the property sheet on a schedule which did not have a start date, would have caused Sybase Central to crash. Now you can create and edit schedules without start dates.



CR:296415
CR Number:   296415
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.3 4565 13 Jan 2003 Fixed
8.0.2 4119 13 Jan 2003 Fixed
8.0.1 3093 13 Jan 2003 Fixed
7.0.4 3408 13 Jan 2003 Fixed
Description
Using client side cursors to fetch datetime values through the ASA oledb provider (ASAProv), would have failed or returned #ERROR instead of the actual value. This is now fixed, but a work around would be to use server side cursors.



CR:296580
CR Number:   296580
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 3577 08 Oct 2002 Fixed
Description
The Table pane of the MobiLink Monitor was not updating the display of a row until a new row was added or some other user action caused the row to be redrawn. This has been fixed. Rows are now updated at the same time that the Chart pane is updated, such as when new data is received from the MobiLink server.



CR:296607
CR Number:   296607
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 3578 08 Oct 2002 Fixed
Description
Each time the MobiLink Monitor was closed and reopened, the height of the Table pane would shrink by one pixel. This has been fixed.



CR:296669
CR Number:   296669
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.1 3054 07 Oct 2002 Fixed
8.0.2 4076 07 Oct 2002 Fixed
Description
When calling xp_sendmail using SMTP, the first word of the body of an email message could have been removed by some SMTP servers. The fix was to add a carriage return/linefeed at the beginning of each body. Now this gets stripped out instead of the text.



CR:296692
CR Number:   296692
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 3581 09 Oct 2002 Fixed
Description
On File Save, there was no warning if an existing file was about to be overwritten . This has been fixed, a prompt has been added when a file is to be overwritten.



CR:296711
CR Number:   296711
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 3567 07 Oct 2002 Fixed
7.0.4 3374 07 Oct 2002 Fixed
Description
The locate() function takes an optional third parameter which specifies the starting offset for the search. As of this change, if the starting offset is negative, locate() will return the last matching string offset rather than the first. A negative offset indicates how much of the end of the string is to be excluded from the search. The number of bytes excluded is calculated as (-1 * offset) - 1.



CR:296731
CR Number:   296731
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.1 3075 08 Oct 2002 Fixed
8.0.2 4081 19 Nov 2002 Fixed
8.0.3 4523 19 Nov 2002 Fixed
Description
When fetching data as Unicode strings, SQLGetData could have returned the wrong value for the string length, when the database character set was UTF8. This would only have occurred when the buffer being fetched into was larger than the UTF8 string length, but smaller than the string length once it was converted to Unicode. This has been corrected.



CR:296935
CR Number:   296935
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.3 4504 23 Oct 2002 Fixed
8.0.2 4076 23 Oct 2002 Fixed
8.0.1 3059 23 Oct 2002 Fixed
7.0.4 3380 23 Oct 2002 Fixed
Description
Passing a subquery expression as a procedure argument could have crashed the server. The subquery must have been part of another expression for the crash to have occurred; simple subquery arguments result in a syntax error.

For example:

call myproc(coalesce(null,(select 1)))

A syntax error will now be generated for all subqueries used as any part of a procedure argument. To pass a subquery to a procedure, assign the subquery result to a variable and pass the variable to the procedure.



CR:296969
CR Number:   296969
Product Name:   MobiLink
Product Component:   Synchronization Server
Status:   Closed
OS:   Generic
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3582 16 Oct 2002 Fixed
Description
If the MobiLink server setup and/or upgrade scripts were applied in the "chained on" mode, the database server would complain "Stored procedure 'procedure_name' may be run only in chained transaction mode.", when the MobiLink server stored procedures were executed in a "chained off" mode and vise versa. This problem is fixed. Now these procedures can be executed in both the "chained on" and "chained off" modes, regardless of how there were applied.



CR:296999
CR Number:   296999
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   7.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 3066 31 Oct 2002 Fixed
Description
When running with a database file that was created with Version 7.0 or before, and had not been upgraded to 8.0, then the query optimizer could have used selectivity estimates that were too low (as low as 0%) leading to inefficient execution plans. In cases where the plan was particularly poor, this could have appeared as an infinite loop. This is now fixed.



CR:297000
CR Number:   297000
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 3582 15 Oct 2002 Deferred
8.0.1 3056 15 Oct 2002 Fixed
8.0.0 2349 15 Oct 2002 Fixed
7.0.4 3378 15 Oct 2002 Fixed
Description
DBMLSync would not have reported an error, even if the requested starting log offset was beyond the end of the active transaction log (this can happen if the remote database is restored from a backup. Then it could have stopped working once the transaction log of this remote database has grown beyond this requested starting log offset. This is now fixed.



CR:297062
CR Number:   297062
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 3599 28 Oct 2002 Fixed
8.0.1 3065 28 Oct 2002 Fixed
Description
If a prepared statement that involved proxy tables and host variables was executed, it would have very likely caused the server to crash. In the case where the server did not crash, the result set returned would very likely have been incorrect. This is now fixed.



CR:297091
CR Number:   297091
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)
28 Nov 2002 Presently Not Targeted For Any Future Release Of This Product
Description
Ct. wants to stop the database automatically when heavy problems like corruptions make the whole server unusable. He needs this to prevent other databases running on the same serverengine to become unusable because one database has problems. He now sees that if one database has problems the whole server becomes inaccesible/unusable and/or freezes.



CR:297168
CR Number:   297168
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 3583 10 Oct 2002 Fixed
8.0.1 3057 10 Oct 2002 Fixed
8.0.0 2349 10 Oct 2002 Fixed
Description
When running the Unload or Extract Database wizards, if the option to reload into a new database was checked, a new database name was specified and then the option was unchecked, the reload would occur anyway, ignoring the fact the option was unchecked. This has been fixed.



CR:297330
CR Number:   297330
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 3584 16 Oct 2002 Fixed
Description
The Session Properties dialog had fields incorrectly labelled "First synchronization start" and "Last synchronization end." If an MLM file was read or a connect was made to a MobiLink server, these values might not be the same as the start or end of any synchronization. They have been changed to "Monitor session start" and "Monitor session end" to correctly label the values.



CR:297415
CR Number:   297415
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   8.0.3
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3592 17 Oct 2002 Fixed
8.0.1 3060 21 Oct 2002 Fixed
Description
The server collects statistics during normal query execution and uses the gathered statistics to "self-tune" the column histograms. The new option 'Update_statistics' can be set to 'OFF' which disables this gathering of statistics during query execution. By default, the option is turned 'ON'. The option does not affect changes to statistics as a result of updates to data (ie LOAD/INSERT/UPDATE/DELETE). Under normal circumstances it should not be necessary to turn this option off.



CR:297472
CR Number:   297472
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 3590 18 Oct 2002 Fixed
8.0.1 3060 18 Oct 2002 Fixed
Description
After a DELETE statement was executed on a column contained in an index, the statistics for that column may have been heavily skewed for values in the affected range.



For example, after running the following SQL code:



create table foo ( c1 int primary key );

insert into foo values (1);

insert into foo values (3);

create statistics foo;

delete from foo where c1 < 2;



the foo.c1 histogram ( displayed by "call sa_get_histogram( 'c1', 'foo' )" ) would have incorrectly reported the selectivity of values between 1 and 3 to be 0.7. This issue has now been fixed.



CR:297566
CR Number:   297566
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.3 4511 01 Nov 2002 Fixed
8.0.2 4076 01 Nov 2002 Fixed
8.0.1 3067 01 Nov 2002 Fixed
Description
A hash join with complex join conditions of the form:

f( g( R.x ) ) = T.x

could have caused the server to crash or give wrong results, if the value g( R.x ) was used above the join.



For example, the following query caused the problem:

select right( left( R1.z, 10 ), 1 ), 1

from R R1, R R2

where left( left( R1.z, 10 ), 6 ) = R2.z

and (R1.x+1 > 0, 0 )

for read only



This is now fixed.



CR:297603
CR Number:   297603
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 3589 17 Oct 2002 Fixed
8.0.1 3059 17 Oct 2002 Fixed
8.0.0 2350 17 Oct 2002 Fixed
Description
When using an Address Windowing Extensions (AWE) cache, the server could have crashed or reported assertion failures such as 101412, 201100, 201102, and 201114 (all of which are "page number on page do not match page requested"). Other assertion failures were possible and, in rare circumstance, database corruption could have occurred. The problem was not likely to have occurred on single-CPU machines. This has been fixed.



CR:297686
CR Number:   297686
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 21 Oct 2002 Fixed
8.0.1 3059 21 Oct 2002 Fixed
Description
Adding a statistic to the chart via the file menu and then re-opening the file menu would have yielded the same addition menu item instead of a removal menu item. This has now been fixed.



CR:297699
CR Number:   297699
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 3590 25 Oct 2002 Fixed
Description
When opening a Monitor file, where the session length was much longer than the longest synchronization (e.g. a one year session with a longest sync of 4 seconds), the Monitor could could have crashed the Java VM. This has been fixed.



CR:297705
CR Number:   297705
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 3590 23 Oct 2002 Fixed
8.0.1 3059 23 Oct 2002 Fixed
8.0.0 2350 23 Oct 2002 Fixed
Description
If the "Edit Source Path" menu item was clicked, then the "Help" button on the resulting dialog was clicked, the help window opened but could not have been closed. It was being incorrectly parented to the main Debugger window, rather than to the modal dialog from which the help window was opened. This has been fixed.



CR:297714
CR Number:   297714
Product Name:   SQL Remote for SQL Anywhere
Product Component:   File Messaging for Adaptive Server Anywhere
Status:   Closed
OS:   Generic
Original Version:   7.0.4
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 4654 05 May 2003 Fixed
8.0.2 4250 05 May 2003 Fixed
Description
When dbremote (or ssremote) encounters an error when trying to delete a file using the FILE based message link, the delay between the failure and the next attempt to delete the file can now be set using the "unlink_delay" message control parameter for the FILE based message link.

For example :

SET REMOTE file OPTION "public"."unlink_delay" = '10';

Dbremote will pause 10 seconds before attempting to delete the message again. The number of attempts made to delete the file (five) has not changed.



CR:297813
CR Number:   297813
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1671 28 Oct 2003 Fixed
Description
The Unload Database wizard now allows specifying a subset of tables to be unloaded. The wizard lists either all tables that are currently displayed in the database's Tables folder, or only those tables belonging to a particular user. From this list a subset of tables can be selected for unloading. Note that users that are currently filtered

out (via the database's "Filter Objects by Owner..." menu item) are not displayed, nor are their tables.



The wizard can now be used to unload and reload into an existing database as well. Sybase Central must be connected to both databases to use this feature. A connection to another database can be made from within the wizard, in the event that the wizard was started before establishing a second connection.



In addition, several changes have been made to streamline the unload process. The wizard now only asks for a reload file if needed (as opposed to unloading and reloading into a new or existing database), and only asks for a unload directory if table data is also being unloaded. The wizard only asks whether to use an internal or external unload and reload if it is unloading into a reload file. If reloading into a new database, internal unload and reload are used. If reloading into an existing database, internal unload and reload are used if both databases are running on the same server and have the same character sets; otherwise, external unload and reload are used.



Finally, the Extract Database wizard has also been extended to support the above features, with the exception of extracting a subset of tables, since normally all tables referenced in publications belonging to a particular remote user will be extracted.



CR:297828
CR Number:   297828
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 4520 18 Nov 2002 Fixed
8.0.2 4080 18 Nov 2002 Fixed
8.0.1 3060 18 Nov 2002 Fixed
Description
A point of contention existed which could have reduced concurrency on SMP machines, when using outer joins that supplied NULL rows. This situation could be recoqnized by observing CPU use on a mult-processor system at about 1 CPU, while the number of active requests was high, and many of the active requests were using outer joins that supply NULL rows. The point of contention has now been removed.



CR:297833
CR Number:   297833
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.3 4534 29 Nov 2002 Fixed
8.0.2 4086 29 Nov 2002 Fixed
8.0.1 3080 29 Nov 2002 Fixed
Description
If a computed column referenced another column in the table, then the computed column could havw been updated incorrectly to NULL or based on an old value of the referenced column if the update or insert statement had a subquery with an outer reference to a column of the table being updated.



For example, the following update would have caused the issue:



create table compute_test (

id char(10),

name char(40),

compute_name char(40) compute(name)

);



insert into compute_test(id,name)

select 'dba', 'test2'

from compute_test T

where 0 = ( select count(*) from sys.dummy where T.id=current publisher );



In addition to having the subquery appear explicitly in the update or insert statement, the problem could also have occurred if a publication referenced a column of the table.



This has now been fixed.



CR:297863
CR Number:   297863
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 3067 01 Nov 2002 Fixed
8.0.2 4076 01 Nov 2002 Fixed
8.0.3 4511 01 Nov 2002 Fixed
9.0.0 430 01 Nov 2002 Fixed
8.0.0 2351 01 Nov 2002 Fixed
7.0.4 3384 01 Nov 2002 Fixed
Description
It was possible to define multiple consolidated users on the same remote database with a SQL command similar to :

GRANT CONSOLIDATED TO u1,u2 TYPE FILE ADDRESS 'u1','u2';

This command now returns an error.



CR:297878
CR Number:   297878
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)
8.0.2 3591 23 Oct 2002 Fixed
8.0.1 3060 23 Oct 2002 Fixed
Description
The function signatures of getLastDownloadTimeXXX and countUploadRows in the UltraLite JDBC class JdbcDatabase, are incorrectly documented. The functions documented are the internal implementations used by Java UltraLite runtime. They are awkward for end user to call in the application program. The correct function signatures should be those defined in class JdbcConnection.



In some Java UL applications like CustDB, the program obtains a JDBC connection to the local database through JDBC URL and database driver. No instance of JdbcDatabase will be created inside the scope of application program (it is automatically created in the scope of runtime code). In situation like this, many methods defined in JdbcDatabase cannot be called. Methods most likely to be called include user authentication methods grant(), revoke(), and synchronization status methods getLastDownloadTimeLong(), getLastDownloadTimeDate(), countUploadRows. These methods should be defined in the JdbcConnection class as well.



getLastDownloadTimeCalendar() should be dropped because Calendar is an abstract class in Java. The correct way for users to access a timestamp is through the Date class.



CR:297917
CR Number:   297917
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 3592 21 Oct 2002 Fixed
Description
After pausing the MobiLink Monitor, the Overview and Chart should not be updated. However the Overview would have been updated if it was caused to be redrawn (eg. by covering and uncovering part of the Overview). Also when it was unpaused, the box in the overview would be momentarily drawn in the wrong position. Now the Overview correctly pauses, and the Chart and Overview are updated to the most recent data as soon as the Monitor is unpaused.





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

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

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

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

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

各种误操作:

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

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

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


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

Sybase ASE数据库恢复工具READSYBDEVICE:

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

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

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

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

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


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

SQL Server数据库恢复工具SQLRescue:

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

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

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

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

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

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

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