远程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:322005
CR Number:   322005
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.3 4690 12 Jun 2003 Fixed
8.0.2 4271 12 Jun 2003 Fixed
8.0.1 3119 12 Jun 2003 Fixed
7.0.4 3464 12 Jun 2003 Fixed
Description
After installing Service Pack 6 for NetWare 5.1, or Service Pack 3 for NetWare 6.0, the server would no longer detect if other servers are running with the same name. If -z was specified, messages would have appeared in the console saying "Could not enable broadcasting" and "Broadcast send failed". This was due to a bug in BSDSOCK.NLM shipped with these two service packs. The ASA server will now detect this bug and work around it, and will display a message on the ASA console to that effect. We recommend that a newer version of BSDSOCK.NLM be downloaded from Novell when it is available.



CR:322076
CR Number:   322076
Product Name:   MobiLink
Product Component:   Synchronization Server
Status:   Closed
OS:   Generic
Original Version:   7.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 4691 13 Jun 2003 Fixed
8.0.2 4272 13 Jun 2003 Fixed
Description
When connecting to the Synchronization Server with Version 9.0 client software, the server's worker thread could possibly have hung. This has been corrected, but as a work around, the worker thread can be recovered by killing the client process.



CR:322102
CR Number:   322102
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)
9.0.0 1180 19 Jun 2003 Fixed
8.0.3 4699 19 Jun 2003 Fixed
8.0.2 4275 19 Jun 2003 Fixed
Description
Each time that a server starts a database that has been initialized with 8.0.x software (or later), it allocates a number of memory buffers that are used to improve I/O performance. The size of these buffers is dependent on the page size of the database, so the larger the page size, the larger the piece of contiguous memory that is required.



If the server were to start a large number of databases that have been initialized with a large page size, the server's address space may have been exhausted or become fragmented and therefore fail to allocated one or more of these buffers. In this situation, the server would have failed with assertion 101413.



The server will now attempt to reduce its memory usage (i.e. to not allocate as many buffers) when a database is started read-only.



CR:322115
CR Number:   322115
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Generic
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.0 1092 12 Jun 2003 Fixed
Description
The Index Consultant, when used from either dbisql or Sybase Central, would have reported various errors during operation when used with a database using the 1254TRK (Turkish) collation. The most common errors were 'Table not found' or 'Column not found'. This has now been corrected.



CR:322116
CR Number:   322116
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Generic
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.0 1092 12 Jun 2003 Fixed
Description
On the Limit Index Sizes page, the number of current index pages is displayed as a percentage of current table pages. The percentage was usually appearing as 0. Occasionally, if the indexes were large, it may have appeared as 1, 2 or 3 percent. This has now been fixed to display the percentage correctly.



CR:322117
CR Number:   322117
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)
9.0.0 1092 13 Jun 2003 Fixed
Description
If a syntax error was detected in a query being analyzed by the Index Consultant, the ix_consultant_log table (which is displayed inside the Log pane of the Index Consultant) would have contained the (non-localized) message "Syntax error near ???". The engine now reports the exact syntax error in the correct language.



CR:322118
CR Number:   322118
Product Name:   SQL Anywhere
Product Component:   ISQL
Status:   Closed
OS:   Generic
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.0 1092 13 Jun 2003 Fixed
Description
When used from dbisql, the Index Consultant would not have analyzed a query of the form INSERT from SELECT. It would have reported that "A SELECT, UPDATE, or DELETE statement could not be detected." This has been fixed so that statements of the form INSERT from SELECT can be analyzed.



CR:322119
CR Number:   322119
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Generic
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.0 1092 13 Jun 2003 Fixed
Description
Regardless of whether the option 'Keep existing secondary indexes' was checked, the script generated by the Index Consultant would have contained DROP INDEX statements for unused indexes. This has been fixed so that when run with the 'Keep existing secondary indexes' option, no DROP INDEX statements appear in the script.



However, if a saved analysis is revisited at a later time from within Sybase Central, the context under which the original analysis was run is not saved; hence, the Index Consultant will still recommend dropping unused indexes at this time. The user can remove these lines before they run the script if they wish.



CR:322120
CR Number:   322120
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)
9.0.0 1107 14 Jul 2003 Fixed
Description
Host variables of either string or date datatypes, and procedure variables of date datatypes, would have been inserted as constants into the text of captured queries without their surrounding quote characters. The index consultant would then ignore these queries during analysis, logging the associated syntax errors to the ix_consultant_log table. This has been fixed.



A workaround for customers is to manually edit captured queries of these types to add the quote characters.



CR:322122
CR Number:   322122
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Generic
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.0 1087 13 Jun 2003 Fixed
Description
When using the Index Consultant, if an error occurred during analysis, a message box would have appeared stating that a problem had occurred during workload capturing. This has been replaced with a dialog stating that "An error occurred.".



CR:322123
CR Number:   322123
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Generic
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.0 1085 17 Jun 2003 Fixed
Description
The Index Consultant would have occasionally crashed with the exception error java.lang.OutOfMemory. This has been fixed.



CR:322165
CR Number:   322165
Product Name:   MobiLink
Product Component:   Synchronization Server
Status:   Closed
OS:   Generic
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.0 1092 12 Jun 2003 Fixed
8.0.3 4691 12 Jun 2003 Fixed
8.0.2 4272 12 Jun 2003 Fixed
8.0.1 3119 12 Jun 2003 Fixed
Description
When the MobiLink server was run with the command line option -sl Java, it may have hung on shut down. This would have been more likely to have happened when AWT support was invoked. This problem is now fixed.



Another problem was that the server may have failed to report the list of non-daemon threads being stopped due to a shutdown. Now the complete list is reported as an error so that user may implement their shutdown code correctly.



CR:322199
CR Number:   322199
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)
9.0.0 1092 13 Jun 2003 Fixed
8.0.3 4691 13 Jun 2003 Fixed
8.0.2 4272 13 Jun 2003 Fixed
Description
The Synchronization Server may not have responded to tcpip requests by default. This has been fixed, but a workaround is to specify tcpip explicitly using the option -x tcpip( ... )



CR:322265
CR Number:   322265
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows NT
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.0 1093 13 Jun 2003 Fixed
8.0.3 4692 13 Jun 2003 Fixed
8.0.2 4272 13 Jun 2003 Fixed
Description
TDS connections (ie jConnect) to Turkish databases (for example, using collation 1254TRK) would have failed with the error,

ASA error -200: Invalid option 'AUTOMATIC_TIMESTAMP' -- no PUBLIC setting exists



This has been fixed.



CR:322270
CR Number:   322270
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)
9.0.0 1093 17 Jun 2003 Fixed
Description
When using ROLLUP in a GROUP BY clause, the list of expressions associated with the ROLLUP must now be enclosed in parentheses:



GROUP BY [ group-by-list | ROLLUP ( group-by-list ) ]



Queries such as:

SELECT COUNT(*)

FROM department

GROUP BY ROLLUP dept_name, dept_head_id

are now rejected with "syntax error near 'rollup' on line 3" (these queries were accepted in the beta software)

The following query gives the desired answer:

SELECT COUNT(*)

FROM department

GROUP BY ROLLUP (dept_name, dept_head_id)



CR:322326
CR Number:   322326
Product Name:   SQL Anywhere
Product Component:   ISQL
Status:   Closed
OS:   Generic
Original Version:   7.0.4
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.0 1093 13 Jun 2003 Fixed
8.0.3 4692 13 Jun 2003 Fixed
8.0.2 4272 13 Jun 2003 Fixed
8.0.1 3119 13 Jun 2003 Fixed
7.0.4 3464 13 Jun 2003 Fixed
Description
When connected to a database which used the Turkish (1254TRK) collation, DBISQL exhibited a number of problems. These have been fixed, and are listed below:



- If the server was started with the "-z" option, and the connection was via jConnect, debugging information from DBISQL was displayed in the server window. (It shouldn't be.)

- Connecting to an authenticated 1254TRK database was not possible.

- If connecting via jConnect, DATE, TIME, and TIMESTAMP column types were all displayed as TIMESTAMP and were not in the appropriate format.

- The list of options listed by the SET command was incomplete



CR:322340
CR Number:   322340
Product Name:   UltraLite
Product Component:   MobiLink Server
Status:   Closed
OS:   Generic
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.0 1093 13 Jun 2003 Fixed
8.0.3 4692 13 Jun 2003 Fixed
8.0.2 4272 13 Jun 2003 Fixed
8.0.1 3119 13 Jun 2003 Fixed
Description
Disabling the ActiveSync provider after a synchronization would have caused ActiveSync to hang.



CR:322348
CR Number:   322348
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)
9.0.0 1090 11 Jun 2003 Fixed
8.0.3 4690 11 Jun 2003 Fixed
8.0.2 4271 11 Jun 2003 Fixed
7.0.4 3464 11 Jun 2003 Fixed
Description
A procedure containing a comparison of a variable with a subquery involving proxy tables would have resulted in the error:

OMNI cannot handle expressions involving remote tables inside stored procedures



An example of this situation is:

create procedure p()

begin

declare myvar int;

set myvar = 1;

if myvar = (select col from remote_table where pk = 45) then

message 'found'

else

message 'not found'

end if;

end



This statement will now execute correctly.



CR:322363
CR Number:   322363
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)
9.0.0 1093 17 Jun 2003 Fixed
8.0.3 4692 17 Jun 2003 Fixed
8.0.2 4273 17 Jun 2003 Fixed
Description
Lists of objects were not being sorted according to the rules for the current locale. Now they are.



The affected lists were:

- The list of tables in the "Lookup Table Name" dialog

- The list of columns in the "Select Column" dialog

- The list of procedures in the "Lookup Procedure Name" dialog.

- The list of options displayed by the SET command

- The combo box which contained the list of columns in the Import wizard

- The list of database servers in the "Find Servers" window (opened from the "Connect" dialog)

- The list of ODBC data sources in "Data Source Names" window (opened from the "Connect" dialog)



CR:322431
CR Number:   322431
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)
9.0.1 1588 11 Jul 2003 Fixed
9.0.0 1182 11 Jul 2003 Fixed
8.0.3 4719 11 Jul 2003 Fixed
8.0.2 4284 11 Jul 2003 Fixed
8.0.1 3123 11 Jul 2003 Fixed
Description
When creating a view, the server must store the CREATE VIEW statement with all the referenced tables qualified with the owners. If a table appeared multiple times in the view definition, the second and subsequent references were not being quailified.

For example, when created by USER1



create view V1 as select * from A join B,

A join C



this view was stored as



create view V1 as select * from USER1.A join USER1.B,

A join USER1.C



As a result other users could not execute the view and a database rebuild would have failed because table "A" could not be found. This has been fixed.



CR:322435
CR Number:   322435
Product Name:   SQL Anywhere
Product Component:   ISQL
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1577 09 Jul 2003 Fixed
9.0.0 1180 09 Jul 2003 Fixed
8.0.3 4708 09 Jul 2003 Fixed
8.0.2 4279 09 Jul 2003 Fixed
8.0.1 3121 09 Jul 2003 Fixed
Description
Running dbisqlc in quiet mode, (ie with -q option), could have caused it to crash when it was attempting to generate an error dialog. This has been fixed.



CR:322436
CR Number:   322436
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1575 08 Jul 2003 Fixed
9.0.0 1180 08 Jul 2003 Fixed
8.0.3 4707 08 Jul 2003 Fixed
8.0.2 4279 08 Jul 2003 Fixed
Description
The datatype of CURRENT PUBLISHER, as reported by

select exprtype('select current publisher',1)

would have been different depending on whether or not a Publisher was defined. The data type will now be varchar(128) consistently.



CR:322442
CR Number:   322442
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1596 15 Jul 2003 Fixed
9.0.0 1188 15 Jul 2003 Fixed
8.0.3 4735 15 Jul 2003 Fixed
8.0.2 4288 15 Jul 2003 Fixed
8.0.1 3124 15 Jul 2003 Fixed
7.0.4 3474 21 Jul 2003 Fixed
Description
After a system reboot, user login or Explorer restart, the system tray icon of the database engine did not appear immediately. The first checkpoint or message to the server window would have caused the system tray icon to be displayed. This has been fixed, now the system tray icon is visible immediately.



CR:322449
CR Number:   322449
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 1094 18 Jun 2003 Fixed
8.0.3 4693 18 Jun 2003 Fixed
8.0.2 4273 18 Jun 2003 Fixed
8.0.1 3119 18 Jun 2003 Fixed
Description
When dbisql was run in console mode, (ie -nogui), the option Truncation_length was being ignored. This has been fixed.



CR:322453
CR Number:   322453
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.0 1107 10 Jul 2003 Fixed
8.0.3 4712 10 Jul 2003 Fixed
8.0.2 4281 10 Jul 2003 Fixed
8.0.1 3122 10 Jul 2003 Fixed
7.0.4 3470 10 Jul 2003 Fixed
Description
When a server with the Quiet Mode command line option (-q) was started as a Windows service that was allowed to interact with the desktop, any MESSAGE statemnts executed by the server caused the server window to be enabled.



CR:322474
CR Number:   322474
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1601 22 Jul 2003 Fixed
9.0.0 1194 22 Jul 2003 Fixed
8.0.3 4731 22 Jul 2003 Fixed
8.0.2 4293 22 Jul 2003 Fixed
Description
If a loop in a procedure contained a "select ... into #tmp ..." to create a temporary table as well as "drop table #tmp" and the loop iterated many times, the server would eventually have failed with assertion 101506 - allocation size too large when reallocating memory. This has been fixed.



CR:322549
CR Number:   322549
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1587 12 Sep 2003 Fixed
9.0.0 1180 18 Sep 2003 Fixed
8.0.3 4719 18 Sep 2003 Fixed
8.0.2 4282 18 Sep 2003 Fixed
Description
A complex query involving selects on blob columns could have caused the server to generate "unknown device error". The failure occurred when particular execution plans were used by the server. This problem has now been fixed.



CR:322562
CR Number:   322562
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)
9.0.0 1095 18 Jun 2003 Fixed
Description
The server could have crashed, or assert, if the use of Address Windowing Extensions was enabled, (ie -cw). This is more likely to appear on multi-processor systems. It has now been fixed.



CR:322569
CR Number:   322569
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.0 1096 16 Jun 2003 Fixed
Description
A query with a derived table, such as the following:

select * from (select c from employee) dt(c)

that referenced one of its own columns would have caused a crash. A crash would also have occurred if a procedure call was inlined as a derived table that referenced one of its own columns. For example:

CREATE PROCEDURE p()

RESULT ( c1 int )

BEGIN

SELECT c1 FROM customer

END;



SELECT * FROM p();



This problem has been fixed.



CR:322580
CR Number:   322580
Product Name:   SQL Anywhere
Product Component:   ADO.Net Managed Provider
Status:   Closed
OS:   Generic
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.0 1095 18 Jun 2003 Fixed
8.0.3 4694 18 Jun 2003 Fixed
8.0.2 4273 18 Jun 2003 Fixed
Description
With this change, the AsaCommand.Cancel method is now supported. An application can now execute some command in one thread and cancel the command in another thread.



CR:322583
CR Number:   322583
Product Name:   SQL Remote for SQL Anywhere
Product Component:   Ftp Messaging for Adaptive Server Anywhere
Status:   Closed
OS:   Generic
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1591 16 Jul 2003 Fixed
9.0.0 1182 16 Jul 2003 Fixed
8.0.3 4721 16 Jul 2003 Fixed
8.0.2 4285 16 Jul 2003 Fixed
Description
Dbremote would have reported an error if the FTP server returned the error code '450' in response to the NLST command on an empty directory. Dbremote now treats this as an empty directory.



CR:322598
CR Number:   322598
Product Name:   MobiLink
Product Component:   ASA Client
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   7.0.4
Fixed Version Build Resolution Date Closure Code (If Appropriate)
7.0.4 14 Sep 2004 Presently Not Targeted For Any Future Release Of This Product
Description
The upload_cursor for table returns for an INSERT:

Restricted data type attribute violation: Cannot convert ? to a numeric(1,0)

(ODBC State = 07006, Native error code = -157)

Error: Unable to insert into table "obztable" using upload_cursor



The data showed in the mobilink verbose output look corrupted. For the failing the failing columns it shows "*** cannot display ***"



CR:322602
CR Number:   322602
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)
9.0.0 18 Jun 2003 Fixed
8.0.3 4694 18 Jun 2003 Fixed
8.0.2 4273 18 Jun 2003 Fixed
Description
On all Unix platforms except Solaris and Linux, a semaphore is created to test if semaphore sets are allowed on the current platform. Only on AIX, this semaphore was not being deleted. This is now fixed..



CR:322619
CR Number:   322619
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)
9.0.0 1095 19 Jun 2003 Fixed
8.0.3 4694 19 Jun 2003 Fixed
8.0.2 4273 19 Jun 2003 Fixed
8.0.1 3119 19 Jun 2003 Fixed
Description
Connection parameters requiring character set conversion could have been followed by garbage characters. Depending on the parameters affected (for example userid or password), this could have caused the connection to fail. This has been fixed.



CR:322620
CR Number:   322620
Product Name:   MobiLink
Product Component:   Streams
Status:   Closed
OS:   Generic
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.0 1095 19 Jun 2003 Fixed
8.0.3 4694 19 Jun 2003 Fixed
8.0.2 4273 19 Jun 2003 Fixed
8.0.1 3119 19 Jun 2003 Fixed
Description
In a successful synchronization through ECC, RSA, or HTTPS, the stream error STREAM_ERROR_WOULD_BLOCK would have been reported, even though the sqlcode was SQLE_NOERROR. The secure streams no longer report this error.



CR:322632
CR Number:   322632
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)
9.0.0 1101 16 Jun 2003 Fixed
Description
A crash could have occurred if a table was scanned sequentially, fetching more than eight string columns with no comparison predicates and at least one 'IS NULL' predicate referencing a column after the string columns.



For example, the following would have caused the problem:



create table T(

pk int primary key,

c1 char(20) not null default 'charfield',

c2 char(20) not null default 'charfield',

c3 char(20) not null default 'charfield',

c4 char(20) not null default 'charfield',

c5 char(20) not null default 'charfield',

c6 char(20) not null default 'charfield',

c7 char(20) not null default 'charfield',

c8 char(20) not null default 'charfield',

c9 char(20) not null default 'charfield',

c10 char(20) not null default 'charfield',

c11 char(20) not null default 'charfield',

c12 char(20) not null default 'charfield',

c13 char(20) not null default 'charfield',

c14 char(20) not null default 'charfield',

c15 char(20) not null default 'charfield',

c16 char(20) not null default 'charfield',

i1 int null,

)



select * from test_row_buffer where i1 is null



This possible crash has been fixed.



CR:322634
CR Number:   322634
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1595 18 Jul 2003 Fixed
9.0.0 1187 18 Jul 2003 Fixed
8.0.3 4724 18 Jul 2003 Fixed
8.0.2 4287 18 Jul 2003 Fixed
8.0.1 3124 18 Jul 2003 Fixed
Description
Fetching the last row of a query using an ESQL widefetch or ODBC fetch with a rowset size greater than 1, could have been slow. Fetching the last row in this case could have taken as long as fetching all previous rows. Fetching rows one at a time could fetch the last row more quickly than when using a widefetch.



This has been fixed so that the last fetch of a widefetch is now as quick as the last row of a single row fetch.



Note if the cursor type is ESQL SENSITIVE or ODBC DYNAMIC, and isolation level 1 is used, the widefetch of the last row may still be slower than a single row fetch, due to the cursor stability requirement.



CR:322641
CR Number:   322641
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Generic
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.0 1093 16 Jun 2003 Fixed
Description
Workloads of more than a few hundred unique queries would take an excessively long time to complete. The Java client processing time would increase from about 5-10% of the total runtime for a workload of 100-200 queries, to over 80% of the runtime for more than a few thousand queries. The client would display the messages 'Folding indexes', 'Subsuming indexes' and 'Writing report' during the extra processing time. This has been fixed so that the client consumes a small percentage of the total runtime, and the total runtime is substantially decreased. For the test case of 2600 queries, the folding and subsumption phases went from several hours to less than five minutes.



CR:322644
CR Number:   322644
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)
9.0.0 1095 16 Jun 2003 Fixed
Description
In some circumstances, reading tinyint or smallint values from a table could have given the wrong results on big-endian platforms. This has been corrected.



CR:322770
CR Number:   322770
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)
7.0.4 3467 23 Jun 2003 Fixed
Description
Some single-byte to single-byte translations would have done an incorrect substitution of the character 0x1A. For example, if a client using the cp1252 character set connected to a server using the ISO_1 collation and character set, extended chars common to ISO_1 and cp1252 would have been mapped to 0x1A. This problem is now fixed.



CR:322772
CR Number:   322772
Product Name:   SQL Anywhere
Product Component:   ISQL
Status:   Closed
OS:   Microsoft Windows
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1583 07 Jul 2003 Fixed
Description
When dbisql read the data files generated by dbunload with an external reload (ie -ix or -xx), the resulting table's may have contained invalid data, if the original table's contained non-ASCII (typically multi-byte) values. This has now been fixed.
Workaround Description
 None.



CR:322776
CR Number:   322776
Product Name:   SQL Anywhere
Product Component:   ADO.Net Managed Provider
Status:   Closed
OS:   Microsoft Windows
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.0 1109 10 Jul 2003 Fixed
8.0.3 4720 10 Jul 2003 Fixed
8.0.2 4285 10 Jul 2003 Fixed
Description
The error "System.ArgumentException: Cannot change DataType of a column once it has data" would have been thrown if a DataSet was reused by resetting the DataTables of the DataSet and refilling. This problem has been fixed.
Workaround Description
 None.



CR:322779
CR Number:   322779
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)
9.0.0 1098 17 Jun 2003 Fixed
8.0.3 4697 18 Jun 2003 Fixed
Description
If an item in the GROUP BY clause was a reference to an alias in the select list, and was surrounded by parentheses, an infinite loop would have occurred.

For example:



select 1 a group by (a)



This is now fixed.



CR:322864
CR Number:   322864
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Generic
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.0 1099 18 Jun 2003 Fixed
Description
Sybase Central could have reported an internal error if the focus was moved while a context menu was open. This has now been fixed.



CR:322867
CR Number:   322867
Product Name:   SQL Anywhere
Product Component:   JDBC Client Library
Status:   Closed
OS:   Microsoft Windows
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1641 20 Aug 2003 Fixed
9.0.0 1217 20 Aug 2003 Fixed
8.0.3 4787 20 Aug 2003 Fixed
8.0.2 4317 20 Aug 2003 Fixed
Description
When executing a batch that returned multiple result sets with differing schema and connected via the iAnywhere JDBC Driver, fetching the second or subsequent result set could have resulted in conversion or truncation errors. For example, the following batch would have failed to return the second result set correctly.



drop table test;

create table test( c long varchar );

insert into test values ('test');

BEGIN

select 123;

SELECT c from test;

END



This problem has now been fixed.



A second problem with multiple result sets was also fixed. If the previous result set was closed, then the call to determine if there were additional result sets would have failed, making it seem like there were no more result sets for the statement. This problem has also been fixed.



CR:322888
CR Number:   322888
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 3466 18 Jun 2003 Fixed
8.0.1 3120 18 Jun 2003 Fixed
8.0.2 4275 18 Jun 2003 Fixed
8.0.3 4698 18 Jun 2003 Fixed
9.0.0 1180 18 Jun 2003 Fixed
Description
The dbbackup utility (dbbackup -x) could have hung (even if there were no outstanding transactions), until any connection did a commit, rollback or disconnect. In order for this to occur, the backup had to take (or be blocked) for longer than half of the checkpoint time. This has been fixed.



CR:322897
CR Number:   322897
Product Name:   SQL Remote for SQL Anywhere
Product Component:   Database Tools Interface
Status:   Closed
OS:   Generic
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.1 3120 18 Jun 2003 Fixed
8.0.2 4275 18 Jun 2003 Fixed
8.0.3 4698 18 Jun 2003 Fixed
9.0.0 1099 18 Jun 2003 Fixed
Description
If the starting log offset X (the minimum value of the log_sent column in the sysremoteuser table for dbremote and the minimum value of the progress column in the syssync table for dbmlsync) in the current replication/synchronization was greater than the redo_begin of the on-line transaction log, any log operations with log offsets less than X in transactions that started in the offline transaction logs and committed at the offsets greater than X could have been skipped by dbremote and/or dbmlsync. This problem has been fixed.



CR:322910
CR Number:   322910
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 3120 18 Jun 2003 Fixed
8.0.2 4275 18 Jun 2003 Fixed
8.0.3 4698 18 Jun 2003 Fixed
9.0.0 1099 18 Jun 2003 Fixed
Description
If the MDSR encryption option was not installed, then running dbinit, (or using 'CREATE DATABASE') and specifying MDSR encryption would have resulted in the error "Database creation failed: ". The message now reads "Database creation failed: MDSR is not available".



CR:322912
CR Number:   322912
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 3120 18 Jun 2003 Fixed
8.0.2 4275 18 Jun 2003 Fixed
8.0.3 4699 18 Jun 2003 Fixed
9.0.0 1100 18 Jun 2003 Fixed
Description
If the server was started without a -n command line option to name it, but the filename or alias of the first database listed was longer than 40 characters, the server would have used that full filename or alias as the server name, rather than truncating it to 40 characters. If dblocate or the Find Servers feature of dbisql or Sybase Central was used and found this server, the server could have crashed. This has been fixed.



CR:323019
CR Number:   323019
Product Name:   SQL Anywhere
Product Component:   OLEDB Client Library
Status:   Closed
OS:   Microsoft Windows
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1588 10 Jul 2003 Fixed
9.0.0 1181 10 Jul 2003 Fixed
8.0.3 4719 10 Jul 2003 Fixed
8.0.2 4284 10 Jul 2003 Fixed
8.0.1 3123 10 Jul 2003 Fixed
7.0.4 3472 10 Jul 2003 Fixed
Description
When running a query with a prepared command, the ASA Provider created an internal rowset which was never freed, causing a memory leak. This was fixed by deleting the internal rowset when the owning command object is released.
Workaround Description
 ADDITIONAL NOTE : Customer may have found workaround



-- make the Command yourself and use it to

fill the Recordset like this:





MyConnection = New ADODB.Connection

MyConection.Open "Provider=ASAPROV;DSN=MyDSN"

MyCommand = New ADODB.Comma



CR:323062
CR Number:   323062
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1575 07 Jul 2003 Fixed
9.0.0 1180 07 Jul 2003 Fixed
8.0.3 4706 07 Jul 2003 Fixed
8.0.2 4278 07 Jul 2003 Fixed
8.0.1 3121 07 Jul 2003 Fixed
Description
If a database was autostarted by a connection request, the engine should have returned an "Unable to start database" error if there were already 255 databases started. The engine however did not return any error, even though the connection was not established and the database was not started. This problem has now been fixed.



CR:323070
CR Number:   323070
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)
9.0.0 1100 18 Jun 2003 Fixed
8.0.3 4699 18 Jun 2003 Fixed
8.0.2 4275 18 Jun 2003 Fixed
8.0.1 3120 20 Jun 2003 Fixed
7.0.4 3466 20 Jun 2003 Fixed
Description
If a user made a Remote Procedure Call that involved numeric parameters, then the call may have failed (if connected to ASE or any other Data Direct ODBC datasource) or the parameters would not have been passed correctly. The precision and scale would also not have been passed correctly to the ODBC driver. This problem has now been fixed.



CR:323109
CR Number:   323109
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 3466 19 Jun 2003 Fixed
Description
If the debugger in Sybase Central was used to debug some database object, the server would have crashed when Sybase Central disconnected. This has been fixed.



CR:323132
CR Number:   323132
Product Name:   SQL Anywhere
Product Component:   ISQL
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1619 12 Aug 2003 Fixed
9.0.0 1203 12 Aug 2003 Fixed
8.0.3 4748 12 Aug 2003 Fixed
8.0.2 4300 12 Aug 2003 Fixed
8.0.1 3127 12 Aug 2003 Fixed
Description
If dbisqlc cannot finds it's component dlls in the current directory or by searching the path, it will access the registry to find the ASA installation directory. It was accessing the registry with KEY_ALL_ACCESS permission, which may have caused access errors. Now KEY_QUERY_VALUE is used.



CR:323179
CR Number:   323179
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)
9.0.0 1099 20 Jun 2003 Fixed
8.0.3 4700 20 Jun 2003 Fixed
8.0.2 4276 20 Jun 2003 Fixed
8.0.1 3120 20 Jun 2003 Fixed
Description
A SELECT statement containing a CASE expression would have failed on big endian platforms whenever the WHEN clause specified a constant expression within the range -32768 to 32767 inclusive. This is now fixed.



CR:323180
CR Number:   323180
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Solaris
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1659 14 Oct 2003 Fixed
9.0.0 1118 16 Oct 2003 Fixed
8.0.3 4805 16 Oct 2003 Fixed
8.0.2 4328 16 Oct 2003 Fixed
7.0.4 3498 16 Oct 2003 Fixed
Description
A query with a large number of UNIONs or one that referenced a large number of distinct tables could have crashed the server. These types of queries will now return -890 "Statement size or complexity exceeds server limits".



CR:323194
CR Number:   323194
Product Name:   SQL Anywhere
Product Component:   ADO.Net Managed Provider
Status:   Closed
OS:   Microsoft Windows
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.0 1104 07 Jul 2003 Fixed
8.0.3 4705 07 Jul 2003 Fixed
8.0.2 4278 07 Jul 2003 Fixed
Description
Normally an application using the ADO.NET provider will create an AsaCommand object (representing the query to be executed), obtain an AsaReader (representing the cursor for that statement), fetch the rows, call AsaReader.Close() and then delete the AsaCommand object. If the AsaCommand object was deleted before calling AsaReader.Close(), it was possible that the provider would have attempted to send an invalid statement handle to the server when trying to drop the statement. If done repeatedly, this could have resulted in the resource governor for prepared statements being exceeded, as well as wasted resources on the server. The statement is now dropped correctly.



CR:323200
CR Number:   323200
Product Name:   UltraLite
Product Component:   Runtime Libraries
Status:   Closed
OS:   Generic
Original Version:   7.0.00
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.1 3120 23 Jun 2003 Fixed
8.0.2 4276 23 Jun 2003 Fixed
8.0.3 4700 23 Jun 2003 Fixed
9.0.0 1180 23 Jun 2003 Fixed
Description
If two cursors were pointing to the same row and they both did a positioned delete, the second delete would have undone the first, and the row would have remained unchanged. If the second cursor did an update instead, the original deleted row would have come back and the new version of the row would have been added to the table as an entirely new row.



Now, if the second cursor does a delete or update on a row that another cursor has just deleted, the operation will fail and SQLE_NOTFOUND will be returned.



CR:323203
CR Number:   323203
Product Name:   UltraLite
Product Component:   Runtime Libraries
Status:   Closed
OS:   Generic
Original Version:   7.0.00
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.1 3120 23 Jun 2003 Fixed
8.0.2 4276 23 Jun 2003 Fixed
8.0.3 4700 23 Jun 2003 Fixed
9.0.0 1180 23 Jun 2003 Fixed
Description
Executing a DELETE WHERE CURRENT OF cursor statement could have caused a future FETCH RELATIVE 0 to actually move the cursor ahead one row. This has been fixed.



CR:323206
CR Number:   323206
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)
7.0.4 3467 23 Jun 2003 Fixed
8.0.1 3120 23 Jun 2003 Fixed
8.0.2 4276 23 Jun 2003 Fixed
8.0.3 4700 23 Jun 2003 Fixed
9.0.0 1101 23 Jun 2003 Fixed
Description
When an off-line transaction log directory was not specified, log scanning tools on CE would have failed to find the off-line logs if they were in the root directory. This problem has been fixed.



CR:323271
CR Number:   323271
Product Name:   UltraLite
Product Component:   Runtime Libraries
Status:   Closed
OS:   Generic
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.0 1180 23 Jun 2003 Fixed
Description
With Ultralite Dynamic SQL, rows could have been omitted when an index containing null values was being used. This is now fixed.



CR:323275
CR Number:   323275
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 4282 03 Jul 2003 Fixed
9.0.0 1180 03 Jul 2003 Fixed
8.0.1 3132 03 Jul 2003 Fixed
Description
When connected to a database with the Japanese collation 932JPN, executing a CREATE PROCEDURE, FUNCTION or TRIGGER statement, which had Japanese characters with the second byte as \x7d, would have caused a syntax error (ASA error -131). This problem has been fixed.
Workaround Description
 None.



CR:323291
CR Number:   323291
Product Name:   SQL Anywhere
Product Component:   ODBC Client Library
Status:   Closed
OS:   Generic
Original Version:   6.0.00
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.0 1101 25 Jun 2003 Fixed
8.0.3 4700 25 Jun 2003 Fixed
8.0.2 4276 25 Jun 2003 Fixed
8.0.1 3120 25 Jun 2003 Fixed
7.0.4 3467 25 Jun 2003 Fixed
Description
If a cursor had both bound columns and used getdata statements, and the first column was not bound but accessed using a getdata, then the fetch may have returned no error or warning when it should have returned SQL_NOTFOUND or SQL_NO_DATA. This problem was more likely when the DisableMultiRowFetch parameter was used. Attempting to do a getdata when past the end of the result set would have failed with a "No current row of cursor" error.

Also, if a cursor had both bound columns and used getdata statements, and the DisableMultiRowFetch connection parameter is used, poor performance could have occurred.

Both of these problems have been fixed.



CR:323298
CR Number:   323298
Product Name:   SQL Anywhere
Product Component:   OLEDB Client Library
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1628 22 Aug 2003 Fixed
9.0.0 1207 22 Aug 2003 Fixed
8.0.3 4758 22 Aug 2003 Fixed
8.0.2 4304 22 Aug 2003 Fixed
8.0.1 3128 22 Aug 2003 Fixed
7.0.4 3484 22 Aug 2003 Fixed
Description
THe ASA Provider held locks and kept cursors open after they were closed, if it was called from OLEDB.NET provider. The internal ODBC cursor is now closed when the OLEDB rowset is closed.
Workaround Description
 No workaround except (possibly) executing the

SQL for BEGIN TRAN/COMMIT WORK via explit

calls via ExecuteNonQuery().



CR:323407
CR Number:   323407
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)
9.0.1 1573 27 Jun 2003 Fixed
9.0.0 1180 27 Jun 2003 Fixed
Description
The server's cache page replacement scheme could have behaved poorly. It was unlikely that this issue would have caused any noticable problems, but it could have manifest itself as a general engine slowdown, or could possibly have caused an unexpected out of memory situation.



CR:323519
CR Number:   323519
Product Name:   SQL Anywhere
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1573 27 Jun 2003 Fixed
9.0.0 1180 27 Jun 2003 Fixed
8.0.3 4704 27 Jun 2003 Fixed
8.0.2 4277 27 Jun 2003 Fixed
Description
If the definition of a procedure, trigger, view or event exceeded 512 characters and the definition contained a right brace ("}"), the preserved-format source would have been truncated without warning or error by the dbunload utility. The complete definition will now be output.



CR:323576
CR Number:   323576
Product Name:   UltraLite
Product Component:   Code Generator
Status:   Closed
OS:   Generic
Original Version:   7.0.00
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1630 12 Sep 2003 Fixed
Description
The analyzer would fail to generate C++ accessor methods for queries that used the CAST function in the select list.

For example:



SELECT id, CAST(id AS CHAR(10)) AS charId FROM T



This should generate a GetId() method and a GetCharId() method. However, the latter was not being generated. This is now fixed.



Also note that the SQL type reported for a CAST expression will be the SQL type of the column, not the CAST type. (In the example above, if id was of type integer, the type for the 揷harId column will be reported as SQL_S_LONG ).



CR:323652
CR Number:   323652
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)
9.0.1 1603 24 Jul 2003 Fixed
9.0.0 1195 24 Jul 2003 Fixed
8.0.3 4732 24 Jul 2003 Fixed
8.0.2 4293 24 Jul 2003 Fixed
Description
If an update affected the primary key columns for a table, more than one row was modified, and an AFTER row-level trigger was defined on the table, the update could have caused the server to crash. Whether or not a crash would have occurred depended on additional factors, such as the number of rows in the table, the access plan used to perform the updates, and the actions within the trigger. This has been fixed.



CR:323655
CR Number:   323655
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)
9.0.1 1574 27 Jun 2003 Fixed
9.0.0 1180 27 Jun 2003 Fixed
8.0.3 4705 27 Jun 2003 Fixed
8.0.2 4278 27 Jun 2003 Fixed
Description
If a table was renamed to a name longer than 128 characters, the table would have become inaccessible. Attempting to rename a table to a name longer than 128 characters will now generate an "identifier 'xxx...' too long" error.



CR:323662
CR Number:   323662
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Generic
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1609 27 Jun 2003 Fixed
9.0.0 1180 05 Aug 2003 Fixed
Description
Three separate problems were causing the Index Consultant to report table not found errors.

After the first phase of analysis (the task bar had already reached 100% at least once), the Index Consultant could have displayed an error dialog reporting that 'Table %1 not found' if the user currently running the Index Consultant did not own the table. Subsequent phases of the analysis would not have contained any indexes over the table on which the error was reported. This has been fixed.

As well, when a user was examining the results of a completed analysis, displaying the 'With Virtual Indexes' plan, would have caused the error 'Table %1 not found', if the user did not own the table on which the virtual index was created. The plans could not be viewed if the user did not own all tables over which the query ranges AND the tables in the original query were not fully qualified (can happen for statements captured inside procedures). This has been fixed.

A third issue was that the script generated by the Index Consultant did not have fully qualified table names. This has been fixed. The work around is to add the creator to the table names in the script edit window.



None of these problems would have appeared when the user running the Index Consultant was also the creator of all the tables on which indexes had been recommended.



CR:323683
CR Number:   323683
Product Name:   SQL Anywhere
Product Component:   ADO.Net Managed Provider
Status:   Closed
OS:   Generic
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.0 1104 26 Jun 2003 Fixed
8.0.3 4705 27 Jun 2003 Fixed
8.0.2 4278 27 Jun 2003 Fixed
Description
On Windows CE devices, the exception, TypeLoadException, would have been thrown if dbdata8/9.dll was not found in the directory containing iAnywhere.Data.AsaClient.dll. This is now fixed.



CR:323706
CR Number:   323706
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)
9.0.1 1574 07 Jul 2003 Fixed
9.0.0 1180 07 Jul 2003 Fixed
8.0.3 4705 07 Jul 2003 Fixed
8.0.2 4278 07 Jul 2003 Fixed
8.0.1 3121 07 Jul 2003 Fixed
Description
Specifying 'PCTFREE 0' on the CREATE TABLE statement had no effect and the PCTFREE specification was left as the default value. With this change CREATE TABLE will work as intended.



Note that specifying 'PCTFREE 0' on the ALTER TABLE statement works correctly and can be used after CREATE TABLE to achieve the desired specification.



CR:323739
CR Number:   323739
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Generic
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1574 08 Jul 2003 Fixed
9.0.0 1180 08 Jul 2003 Fixed
Description
Opening the property sheet for a user with a password, unchecking the "Allowed to Connect" check box, and then clicking Apply or OK, under some circumstances, would not have executed any SQL statement. Thus, the password would not have been removed from the user. Now, the password is correctly removed.



CR:323830
CR Number:   323830
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Generic
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1575 08 Jul 2003 Fixed
9.0.0 1180 08 Jul 2003 Fixed
Description
When selecting an external login with a remote password and copying it to the clipboard, the SQL script in the clipboard would have contained an IDENTIFIED BY '<remote-password>' clause, where the remote password string was invalid. Now, the SQL script contains an IDENTIFIED BY ENCRYPTED '<remote-password>' clause, where the remote password string is of the form '\xhh\xhh...', where h is a hexadecimal digit.



CR:323844
CR Number:   323844
Product Name:   MobiLink
Product Component:   Synchronization Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1587 10 Jul 2003 Fixed
9.0.0 1180 10 Jul 2003 Fixed
8.0.3 4718 10 Jul 2003 Fixed
8.0.2 4283 10 Jul 2003 Fixed
8.0.1 3123 10 Jul 2003 Fixed
Description
Synchronizations would have failed reporting an error like the following:



SQL statement failed: (-194) No primary key value for foreign key '<role name>' in table '<fk table name>'



if the remote database was blank padded and the download stream contained one or more rows that violated foreign key constraints on tables in the publication being synchronized. Now dbmlsync will go through its normal RI cleanup procedures in this case. These procedures generally result in the rows that violate the foreign key constraints being deleted.



CR:323846
CR Number:   323846
Product Name:   MobiLink
Product Component:   Synchronization Server
Status:   Closed
OS:   Generic
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1575 08 Jul 2003 Fixed
9.0.0 1180 08 Jul 2003 Fixed
Description
The locale for the Notifier, JDBC Bridge and Java virtual machine were all based on the host machines default language. The ASLANG variable and language registry setting did not override the machine setting. These settings now work as they should.



CR:323893
CR Number:   323893
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Windows CE 2.11
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1598 23 Jul 2003 Fixed
9.0.0 1190 23 Jul 2003 Fixed
8.0.3 4727 23 Jul 2003 Fixed
8.0.2 4290 23 Jul 2003 Fixed
8.0.1 3123 23 Jul 2003 Fixed
Description
If a SELECT statement inside a procedure was of the type "SELECT * from derived_table", the server may have crashed when trying to reuse the cursor for the statement. This has been fixed.



Example:

create procedure GetTest1( ) as

begin

select c0 from ( select testA0 as c0 from TEST_A

union

select testA0 as c0 from TEST_A ) as ALLTEST( c0 )

end





call GetTest1() ;



CR:323925
CR Number:   323925
Product Name:   SQL Anywhere
Product Component:   ODBC Client Library
Status:   Closed
OS:   Generic
Original Version:   6.0.00
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1576 09 Jul 2003 Fixed
9.0.0 1180 09 Jul 2003 Fixed
8.0.3 4707 09 Jul 2003 Fixed
Description
Calling SQLGetInfo( ..., SQL_DATABASE_NAME, ... ) could have caused the application to crash if the database name being retrieved was more than 127 bytes long. This has been fixed.



CR:323954
CR Number:   323954
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1576 07 Jul 2003 Fixed
9.0.0 1180 07 Jul 2003 Fixed
8.0.3 4707 07 Jul 2003 Fixed
8.0.2 4279 07 Jul 2003 Fixed
Description
Attempting to start a database in read-only mode would have crashed the runtime engine if the database had an associated transaction log. The runtime engine will now start successfully. A workaround is to disable the transaction log using "dblog -n ...".
Workaround Description
 Do not use the -r with the compressed database.



CR:323955
CR Number:   323955
Product Name:   UltraLite
Product Component:   Runtime Libraries
Status:   Closed
OS:   Generic
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1576 09 Jul 2003 Fixed
9.0.0 1180 09 Jul 2003 Fixed
Description
If a query that required the use of a temp table was executed during synchronization, it could have failed and returned an empty result set. This has been fixed.



CR:323966
CR Number:   323966
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Generic
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1576 09 Jul 2003 Fixed
9.0.0 1180 09 Jul 2003 Fixed
Description
If a user with a password was selected and copied to the clipboard, the SQL script in the clipboard would not have contained the user's password. Now, the SQL script contains an IDENTIFIED BY ENCRYPTED '<password>' clause, where the password string is of the form

'\xhh\xhh...', where h is a hexadecimal digit.



CR:323973
CR Number:   323973
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   6.0.00
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.0 1105 09 Jul 2003 Fixed
8.0.3 4708 09 Jul 2003 Fixed
8.0.2 4279 09 Jul 2003 Fixed
7.0.4 3469 09 Jul 2003 Fixed
Description
A server crash at an inopportune moment could have resulted in a corrupt database. This was more likely to have occurred with 9.x servers, and with 8.x servers running 8.x databases. It was unlikely to have occurred with 8.x and earlier servers when running against 7.x or earlier databases. This has been fixed.



CR:323981
CR Number:   323981
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.1 3121 26 Jun 2003 Fixed
8.0.2 4279 26 Jun 2003 Fixed
8.0.3 4707 26 Jun 2003 Fixed
9.0.0 1180 26 Jun 2003 Fixed
Description
Unloading a database with the -ar or -an command line options on dbunload could have resulted in a new database being created containing mangled data and object names. For this to have occurred, the operating system character set must be different from the database character set on the machine where the unload was being performed. These dbunload options are used to simply make a new database with all of the same options as the original database. As a result, the fix is to no longer do character set translation when these switches are used.



CR:323982
CR Number:   323982
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Generic
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1576 09 Jul 2003 Fixed
9.0.0 1180 09 Jul 2003 Fixed
Description
When a user was selected and copied to the clipboard, the SQL script in the clipboard would have contained a GRANT MEMBERSHIP IN GROUP <group-list> TO <user-name> statement, where the group list included the "PUBLIC" group. Any attempt to execute the SQL script would have resulted in a "User '<user-name>' already has membership in group 'PUBLIC'" error, since the GRANT CONNECT statement in the SQL script automatically adds the user to the PUBLIC group. Now, the group list in the GRANT MEMBERSHIP IN GROUP statement always excludes the PUBLIC group.



CR:324035
CR Number:   324035
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 3468 26 Jun 2003 Fixed
Description
A CREATE VIEW statement executed inside a stored procedure could have failed after the first execution. The statement will now execute correctly. A workaround is to create the view using EXECUTE IMMEDIATE.



CR:324201
CR Number:   324201
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Generic
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1576 09 Jul 2003 Fixed
9.0.0 1105 09 Jul 2003 Fixed
Description
Using ALT-F-S or CTRL-S to save in the Code Editor window was causing the focus to be lost. This has now been fixed.



CR:324227
CR Number:   324227
Product Name:   SQL Anywhere
Product Component:   OLEDB Client Library
Status:   Closed
OS:   Windows CE 2.11
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.1 3126 01 Aug 2003 Fixed
Description
An uninitialized buffer caused fetching more than 100 bytes from a varchar column in a database with a UTF8 collation, to return garbage characters. This problem is now fixed.



CR:324235
CR Number:   324235
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)
9.0.0 1106 09 Jul 2003 Fixed
8.0.3 4708 09 Jul 2003 Fixed
8.0.2 4279 09 Jul 2003 Fixed
8.0.1 3121 09 Jul 2003 Fixed
7.0.4 3469 09 Jul 2003 Fixed
Description
If a database which had no user DBA (i.e. a REVOKE CONNECT FROM DBA had been done) was unloaded and reloaded using dbunload with the -ar or -an command line option, or the Sybase Central Unload wizard with a new database file specified, then the new database would have had a user DBA and the user that had been used to do the unload would have had the password SQL. This is now fixed.



CR:324240
CR Number:   324240
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)
9.0.0 1106 09 Jul 2003 Fixed
Description
A checkpoint might not have flushed all pages to disk. If the server shut down or crashed after such a checkpoint, the database would have been left corrupted. This is likely only possible if more than one database is running on the server. It has now been fixed.



CR:324248
CR Number:   324248
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Generic
Original Version:   7.0.00
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1577 09 Jul 2003 Fixed
9.0.0 1180 09 Jul 2003 Fixed
8.0.3 4708 09 Jul 2003 Fixed
8.0.2 4279 09 Jul 2003 Fixed
8.0.1 3121 09 Jul 2003 Fixed
Description
In the User Options dialog, the Set Temporary Now button was enabled whenever an option was selected in the list, regardless of whether the option could actually be changed via a SET TEMPORARY OPTION statement. Now, the button is only enabled when displaying options for the PUBLIC group or the current user.



CR:324330
CR Number:   324330
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows NT
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
14 Jul 2003 Duplicate
Description
ASA 8.0.2.4272: A simple query crashes the server with an error: "The instruction at '0x005a40ab' referenced memory at '0x0000003c'. The memory could not be 'written'"



Repro:



run BUG4272.sql

-> gpf





Select causing gpf:



SELECT

ps.jahrnummer,

ps.perinummer

FROM

op, fvp,

fvs,

ps

WHERE ps.Perinummer=fvs.perinummer

and ps.Jahrnummer=fvs.Jahrnummer

and fvp.FiBuV_Id=op.FiBuV_Id

and fvp.FiBuV_PosZaehler=op.FiBuV_PosZaehler

AND fvs.FiBuV_Id=op.FiBuV_Id



and



(

( ps.JahrNummer = 2000

and ps.PeriNummer >= 1

or ps.JahrNummer > 2000 and ps.JahrNummer < 2002

or ps.JahrNummer = 2002 and ps.PeriNummer <= 12

)



or

(

ps.Jahrnummer >= 2000 and ps.JahrNummer <= 2002)

)



CR:324334
CR Number:   324334
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows NT
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1616 06 Aug 2003 Fixed
9.0.0 1201 06 Aug 2003 Fixed
8.0.3 4745 06 Aug 2003 Fixed
8.0.2 4299 06 Aug 2003 Fixed
Description
Queries that contained a nested block join with a Work Table operator above, could have caused the server to crash if the nested block join returned a string column. For example, this type of plan can be selected if a hash join is used below a nested block join. This is now fixed.



CR:324348
CR Number:   324348
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   6.0.00
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1580 09 Jul 2003 Fixed
9.0.0 1180 09 Jul 2003 Fixed
8.0.3 4711 09 Jul 2003 Fixed
8.0.2 4280 09 Jul 2003 Fixed
8.0.1 3122 09 Jul 2003 Fixed
7.0.4 3470 09 Jul 2003 Fixed
Description
If a stored procedure contained remote queries, and the server encountered an error while building a cursor on those remote queries, then the server would have leaked memory. This has now been fixed.



CR:324400
CR Number:   324400
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)
9.0.1 1582 15 Jul 2003 Fixed
9.0.0 1180 15 Jul 2003 Fixed
8.0.3 4721 15 Jul 2003 Fixed
8.0.2 4286 15 Jul 2003 Fixed
Description
The server could have crashed when optimizing a query that contained the same table with two correlation names in the FROM clause with the primary keys of the two correlations equated and a full outer join also present. This problem has been fixed.



For example, the following query showed the problem.

SELECT 1

FROM ((tab1 T7 , tab1 T9)

FULL OUTER JOIN tab2 T10 ON T9.col3 = T10.col2)

LEFT JOIN tab2 T11 ON T10.col2 = T11.col3

WHERE T7.col1 = T9.col1



CR:324489
CR Number:   324489
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)
9.0.0 1107 10 Jul 2003 Fixed
8.0.3 4712 10 Jul 2003 Fixed
8.0.2 4281 10 Jul 2003 Fixed
Description
With recent changes made to improve semantic checking for GROUP BY queries, and to ensure consistent results for very complex queries, it was possible though unlikely that rewrite optimizations that were performed on such queries may have lead to a server crash. This problem has been corrected.

For example, the following query



SELECT T4.col3 a1,T1.col2 a2,avg(DISTINCT T3.col2) a3,max(T4.col2) a4,

min(T2.col3) a5,count(T4.col2) a6,list(T2.col2) a7,

sum(T4.col3) a8,sum(T2.col1) a9,sum(T3.col3) a10,max(T4.col3) a11,

count(T2.col3) a12

FROM tab5 T1

JOIN tab4 T2 ON T1.col1 = T2.col2

RIGHT OUTER JOIN tab5 T3 ON T2.col3 = T3.col3

JOIN view5 T4 ON T3.col2 = T4.col3

WHERE ( T4.col1 + T3.col1 >= ALL

( SELECT T3.col3 - T1.col3 - T2.col2 - T3.col3 + T1.col2

+ T3.col3 + T2.col2 + 0 FROM tab5 T1

JOIN view4 T2 ON T1.col3 = T2.col3

JOIN tab3 T3 ON T2.col1 = T3.col2 WHERE T3.col2 <= 398 ))

OR (T1.col2 + 0 >= ALL

( SELECT T2.col3 - T1.col2 * 0 FROM tab3 T1

JOIN view5 T2 ON T1.col2 = T2.col3 WHERE ( T2.col3 - T1.col3

+ 1 = ANY

( SELECT T1.col2 * 0 FROM tab5 T1

JOIN tab1 T2 ON T1.col1 = T2.col3 ))

OR (T2.col3 <= 350 ) ) )

GROUP BY T4.col3, T1.col2

HAVING T4.col3 >= T4.col3

INTERSECT

SELECT T2.col2 + T1.col2 * 0 a1, T3.col2 + T1.col2 + 0 a2, T2.col2 * 0

a3, T1.col3 - T3.col1 a4, T1.col3 * T2.col3 a5, T1.col3 + T2.col3 -

T3.col3 - T1.col3 + 1 a6, T3.col1 + T1.col1 + T2.col1 * T3.col3 a7,

T2.col2 + T3.col1 a8, T1.col2 + 1 a9, T3.col2 + T1.col2 + 1 a10,

T2.col3 + 1 a11, T1.col3 - T2.col1 - T3.col3 + T2.col1 + T3.col2

+ T1.col3 + T2.col3 * 0 a12

FROM view3 T1

JOIN tab1 T2 ON T1.col2 = T2.col2

JOIN view3 T3 ON T2.col3 = T3.col2

WHERE T1.col2 <> 240



could have crashed the server; the rewrite optimization is the transformation of the HAVING predicate T4.col3 >= T4.col3 into T4.col3 IS NOT NULL.



CR:324622
CR Number:   324622
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)
9.0.1 1582 09 Jul 2003 Fixed
9.0.0 1180 09 Jul 2003 Fixed
8.0.3 4713 09 Jul 2003 Fixed
8.0.2 4281 09 Jul 2003 Fixed
Description
Queries with outer joins, where there were predicates involving IN() or ALL() conditions, may have been incorrectly rewritten as inner joins, producing incomplete or incorrect results. This may have happened to IN() conditions if there were multiple terms, at least one of which was not null-rejecting and may have happened to ALL() conditions if the subquery returned no rows (in this case, the predicate was automatically true).

Two examples:



SELECT T2.col3 a2

FROM qts324622 T2

RIGHT OUTER JOIN qts324622 T3 ON T2.col3 = T3.col3

WHERE T2.col2 = ALL

( SELECT col4 from qts324622 where col1 > col2 and col2 > col1 )



SELECT *

FROM qts324622 T1

LEFT OUTER JOIN qts324622 T2 ON T1.col1 = T2.col2

WHERE T1.col1 IN ( T1.col1, T2.col1 )



In both cases, the outer joins were rewritten as regular joins, causing some rows to be missed.



The IN() problem has been fixed in versions 8.0.2 and up, while the ALL() problem has been fixed in versions 9.0.0 and up.



CR:324627
CR Number:   324627
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)
9.0.0 1108 10 Jul 2003 Fixed
8.0.3 4715 10 Jul 2003 Fixed
8.0.2 4282 10 Jul 2003 Fixed
8.0.1 3122 10 Jul 2003 Fixed
Description
When a server with the -qi command line option (quiet - no window and no icon)) was started as a Windows servicep, any MESSAGE statemnts executed by the server caused the System Tray icon to be displayed. This has been fixed.



CR:324675
CR Number:   324675
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)
9.0.0 1108 09 Jul 2003 Fixed
8.0.3 4713 09 Jul 2003 Fixed
8.0.2 4281 09 Jul 2003 Fixed
Description
The first call to an external stored procedure on a multiprocessor Windows NT, 2000, XP or 2003 machine could have caused the server to crash. Subsequent calls were safe. This has now been fixed.



CR:324683
CR Number:   324683
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1587 10 Jul 2003 Fixed
9.0.0 1180 10 Jul 2003 Fixed
8.0.3 4718 10 Jul 2003 Fixed
8.0.2 4283 10 Jul 2003 Fixed
Description
If the Unicode translation library was missung (dbunic9.dll for 9.x, libunic.dll otherwise) then calling the COMPARE() or SORTKEY() functions would have caused the server to crash. Now the functions fail with an Invalid Parameter error, without crashing the server.



CR:324766
CR Number:   324766
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 09 Jul 2003 Fixed
Description
Predicates of the form "expr LIKE '%'" are now transformed into "expr IS NOT NULL", if and only if 'expr' may be NULL. If 'expr' cannot be NULL, the predicate is replaced with 'TRUE'.





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