远程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:336531
CR Number:   336531
Product Name:   SQL Remote for SQL Anywhere
Product Component:   Ftp Messaging for Adaptive Server Anywhere
Status:   Closed
OS:   Linux
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1684 04 Nov 2003 Fixed
9.0.0 1235 04 Nov 2003 Fixed
8.0.3 4830 04 Nov 2003 Fixed
8.0.2 4340 04 Nov 2003 Fixed
Description
When attempting to replicate using the FTP message link, if the FTP server was ProFTP, dbremote would have failed with a socket timeout error. A work around has been implemented for a difference in behaviour in the way a ProFTP server responds to an NLST command when the directory is empty.
Workaround Description
 To run SQL Remote with new DLL provided by ASA engineering to ASA 8.02, and run it in default option(it means, to execute the all tasks).



We send the SQL REmote log to asa engineering analyze it.



CR:336563
CR Number:   336563
Product Name:   SQL Anywhere
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   7.0.00
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1670 27 Oct 2003 Fixed
9.0.0 1230 27 Oct 2003 Fixed
8.0.3 3417 27 Oct 2003 Fixed
8.0.2 4333 27 Oct 2003 Fixed
7.0.4 3501 27 Oct 2003 Fixed
Description
If the parameters DBF, DBN, DBS or ENG were set in the SQLCONNECT environment variable, dbspawn could have failed unexpectedly to start the server. These parameters were added to the command line of the spawned server. For example, if SQLCONNECT was set to DBF=asademo.db and "dbspawn dbeng8 asademo.db" was run, an error would occur.



This has been fixed so that the SQLCONNECT environment variable no longer affects dbspawn.



CR:336566
CR Number:   336566
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 1670 22 Oct 2003 Fixed
9.0.0 1229 22 Oct 2003 Fixed
Description
The value returned by the function property('CommandLine') is a string containing the command line parameters used to start the database server. Previously this could have included the encryption key for a database specified with the -ek parameter. Now this value will be replaced with a constant string of asterisks in the result. In some situations, a workaround is to start the server with the -ep switch instead, which will cause the server to prompt for the key. If the database can be auto-started, the key could be provided in the DBKEY connection parameter. The START DATABASE statement could also be used to start the database and provide the key.



CR:336573
CR Number:   336573
Product Name:   SQL Anywhere
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   7.0.00
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1670 28 Oct 2003 Fixed
9.0.0 1229 28 Oct 2003 Fixed
8.0.3 4816 28 Oct 2003 Fixed
8.0.2 4333 28 Oct 2003 Fixed
7.0.4 3501 28 Oct 2003 Fixed
Description
The dbunload utility was checking the validity of dbmlsync extended option names and option values, while the server was not. This made it problematic when unloading a database that contained invalid options names or option values. The fix was to relax the unload process to not check for valid option name and values.



CR:336655
CR Number:   336655
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 1670 28 Oct 2003 Fixed
9.0.0 1229 28 Oct 2003 Fixed
Description
A syntax error in a statement containing a WITH or WITH RECURSIVE clause could have caused the server to crash. This problem has been fixed.
Workaround Description
 Correct the syntax error.



select plan('WITH RECURSIVE trip (route, destination, previous, distance, segments) AS (

SELECT CAST(origin || '', '' || destination AS VARCHAR(256)),

destination, origin, distance, 1

FROM travel WHERE origin



CR:336660
CR Number:   336660
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 1686 06 Nov 2003 Fixed
9.0.0 1236 06 Nov 2003 Fixed
8.0.3 4832 06 Nov 2003 Fixed
8.0.2 4341 06 Nov 2003 Fixed
8.0.1 3238 06 Nov 2003 Fixed
Description
When using the ODBC driver, statements with unmatched apostrophes or quotation marks, even in a comment, would have failed with the error "Syntax error or access violation".

For example:



create procedure test_proc()

begin

-- Binky's simple test procedure

select * from customer;

end



This has been fixed. A workaround for this problem is to turn off scanning statements:



SQLSetStmtAttr( stmt, SQL_NOSCAN, SQL_NOSCAN_ON );



CR:336681
CR Number:   336681
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 1671 30 Oct 2003 Fixed
9.0.0 1230 30 Oct 2003 Fixed
8.0.3 4817 30 Oct 2003 Fixed
8.0.2 4334 30 Oct 2003 Fixed
Description
The datatype conversion code for expressions was causing the cast of NULL as a long varchar to be a type equivalent to varchar(1). For example, if the following query was used to create a temporary table:

SELECT cast(null as long varchar) as c1 INTO #temp

then attempting to insert a string longer than 1 byte would have caused the string to be truncated. This has been fixed.



CR:336728
CR Number:   336728
Product Name:   UltraLite
Product Component:   Runtime Libraries
Status:   Closed
OS:   Generic
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1671 29 Oct 2003 Fixed
9.0.0 1230 29 Oct 2003 Fixed
Description
A call to the table->Delete() function would have cleared the FIND mode and moved the cursor to the row after the row just deleted. Code written to implement the equivalent of the SQL DELETE statement would not have worked as expected. For example, the following code implements the statement DELETE FROM X WHERE c1 = 2:



table = conn->OpenTableWithIndex( "X", "c1_index" );

table->FindBegin();

table->Set( "c1", 2 );

if( table->Find() ){

table->Delete();

while( table->FindNext() ) {

table->Delete();

}

}



The incorrect behaviour of the table->Delete() function would have caused the table->Find() call to have failed. This problem has been fixed by changing the behaviour of the table->Delete() function so that the cursor remains pointing at the deleted row until the next fetch. So the above code now behaves as expected.



CR:336843
CR Number:   336843
Product Name:   MobiLink
Product Component:   Synchronization Server
Status:   Closed
OS:   Microsoft Windows NT
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1697 18 Nov 2003 Fixed
8.0.3 4842 18 Nov 2003 Fixed
Description
If a Publication was created with a WHERE clause for a table, rows would have been incorrectly replicated if the where-condition was UNKNOWN. For example, WHERE emp_id = 1, would have caused rows to replicate where emp_id was 1 and where emp_id was NULL. This has been fixed. Now only rows that evaluate to TRUE are replicated.



A workaround is to change the WHERE condition to explicitly rule out the unwanted rows. In the example above, it would involve changing the WHERE condition to be as follows:



WHERE emp_id = 1 AND emp_id IS NOT NULL



CR:336853
CR Number:   336853
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 1671 29 Oct 2003 Fixed
9.0.0 1230 29 Oct 2003 Fixed
8.0.3 4817 29 Oct 2003 Fixed
8.0.2 4333 29 Oct 2003 Fixed
Description
When the server's Java VM caught a "class not found" exception and put up an error message box, the class name was not included. Also when the VM caught an "UnsatisfiedLinkError", the name of the class and the missing native method were not included. This has been fixed, the exception's message text is now displayed.



CR:336855
CR Number:   336855
Product Name:   MobiLink
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1671 28 Oct 2003 Fixed
9.0.0 1230 28 Oct 2003 Fixed
Description
When there was no configuration database, or the configuration database had no records, the Listener running on Palm devices, would have crashed on selecting the Edit Handler menu option. This is now fixed.



CR:336883
CR Number:   336883
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 1677 31 Oct 2003 Fixed
9.0.0 1232 31 Oct 2003 Fixed
Description
The Developer Edition server would have failed to start on a tablet PC. This has been fixed.
Workaround Description
 Start the database in Sybase Central first.



CR:336902
CR Number:   336902
Product Name:   SQL Anywhere
Product Component:   DBLIB Client Library
Status:   Closed
OS:   Generic
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1672 03 Nov 2003 Fixed
9.0.0 1121 03 Nov 2003 Fixed
8.0.3 5145 13 Aug 2004 Fixed
8.0.2 4459 13 Aug 2004 Fixed
Description
In rare instances, NetWare or Unix client applications, using ecc_tls or rsa_tls encryption, would have had connection attempts fail. The debug log would have shown a message that the Certicom handshake had failed. This has been fixed.



CR:336903
CR Number:   336903
Product Name:   MobiLink
Product Component:   Synchronization Server
Status:   Closed
OS:   Generic
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1672 31 Oct 2003 Fixed
9.0.0 1230 31 Oct 2003 Fixed
Description
The synchronization server may have crashed if more streams were specified than worker threads. The workaround is to explicitly specify more threads with the -w command line option. Now an error is reported.



CR:336924
CR Number:   336924
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 1673 28 Oct 2003 Fixed
9.0.0 1231 28 Oct 2003 Fixed
Description
For some invalid HTTP requests, the built-in HTTP server could have returned the status

code "200 OK" rather than "400 bad request". This has been corrected.



CR:337025
CR Number:   337025
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)
9.0.1 1677 10 Nov 2003 Fixed
9.0.0 1232 10 Nov 2003 Fixed
Description
The Adaptive Server Anywhere server allows updates to be carried out through joins. When this happens, it is possible for the same row to be modified several times as part of the same UPDATE statement. The value in any given column in a row at the end of the update, is determined by the last modification to the column. As part of executing the UPDATE statement, column statistics for the columns being updated are modified to reflect the new values. The process being used for statistics maintenance was not properly taking into account the possibility of the same row being updated multiple times. This problem has now been resolved by implementing a new algorithm that attempts to maintain statistics in the presence of updates through joins.



CR:337085
CR Number:   337085
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Windows CE 2.11
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1678 29 Oct 2003 Fixed
9.0.0 1233 29 Oct 2003 Fixed
8.0.3 4823 29 Oct 2003 Fixed
8.0.2 4336 29 Oct 2003 Fixed
Description
On a PocketPC 2003 device, if the database server was using a database file located on a Secure Digital (SD) card and the card was ejected while the server was running, an assertion failure would have been reported. The problem was fixed by attempting to close and reopen the database file, rather than just retrying the I/O operation. If a different card, with another database by the same name, is inserted, the server will display a message dialog instructing the user to insert the original card. Otherwise, the old I/O error message dialog is displayed.
Workaround Description
 None.



CR:337216
CR Number:   337216
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 1678 30 Oct 2003 Fixed
9.0.0 1233 30 Oct 2003 Fixed
Description
Queries containing grouped subqueries may have returned incorrect results if the grouped subquery return only one row and all aggregate functions evaluated to NULL, (or 0 if the aggregate function was COUNT). Also, the subqueries had to have been decorrelated and transformed into derived tables during optimization and the aggregate functions were used in expressions that handle NULL arguments (such as COALESCE).



For example:

select

R.row_num,

( select coalesce( sum( D.dummy_col ), 999 )

from sys.dummy D

where D.dummy_col = R.row_num

) as subselect

from rowgenerator R

where R.row_num < subselect



This has been fixed. Subquery optimization is now not applied in cases where the aggregates are used in expressions handling NULL arguments.
Workaround Description
 Use FUNCTION in where clause



CR:337263
CR Number:   337263
Product Name:   MobiLink
Product Component:   ASA Client
Status:   Closed
OS:   Generic
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1679 31 Oct 2003 Fixed
9.0.0 1233 31 Oct 2003 Fixed
8.0.3 4825 31 Oct 2003 Fixed
8.0.2 4337 31 Oct 2003 Fixed
Description
If a publication was defined with a subset of columns and a WHERE clause, and the columns in the WHERE clause were not in the subset of columns, then updates to the columns referenced in the WHERE clause, that would cause the row to enter or leave the publication, would not have been synchronized. This has now been fixed and an INSERT or DELETE is now synchronized if the row enters or leaves the publication.



CR:337266
CR Number:   337266
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 1676 05 Nov 2003 Fixed
9.0.0 1232 05 Nov 2003 Fixed
8.0.3 4822 05 Nov 2003 Fixed
8.0.2 4335 05 Nov 2003 Fixed
Description
Scheduled events may have executed at the wrong time after a Daylight Savings Time change. For example, if an event was defined to fire daily at 12:05am, it would fire at 11:05pm on the evening of the change from DST to regular time and would fire at 1:05am on the evening after the change from regular time to DST. This has been fixed.



CR:337275
CR Number:   337275
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 1676 04 Nov 2003 Fixed
9.0.0 1232 04 Nov 2003 Fixed
Description
When the database option, RETURN_DATE_TIME_AS_STRING was set to ON, and a procedure with a date, time or timestamp result column was called, the returned result column was not always returned as a string. THis is now fixed.



CR:337287
CR Number:   337287
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 1678 31 Oct 2003 Fixed
9.0.0 1233 31 Oct 2003 Fixed
Description
A FULL OUTER JOIN query with an ON clause containing a local predicate referencing the left table of the join, may have returned an incorrect result set.



For example:

SELECT *

FROM R FULL OUTER JOIN T

ON R.X = T.X and R.Y = 10



This has been fixed.



CR:337407
CR Number:   337407
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 1677 29 Oct 2003 Fixed
9.0.0 1232 29 Oct 2003 Fixed
Description
The server properties 'LicenseType' and 'LicenseCount' would have returned incorrect values if the server was using CPU-based licensing. This has been fixed.



CR:337411
CR Number:   337411
Product Name:   MobiLink
Product Component:   ASA Client
Status:   Closed
OS:   Windows CE 2.11
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1728 23 Dec 2003 Fixed
9.0.0 1254 23 Dec 2003 Fixed
8.0.3 4873 23 Dec 2003 Fixed
8.0.2 4359 23 Dec 2003 Fixed
Description
Synchronizations may have failed without an error, when all of the following conditions were true:

- The -n or -u options were specified on the dbmlsync commandline.

- The remote database was running on CE.

- Either the database collation or the operating system code page was not CP1252. Not all operating system code pages or database collations were affected by this problem, but most multibyte character sets and some single byte character sets were affected.



When the synchronization failed, the dbmlysnc log would have look like the following:



I. 12/18 16:05:34. Connecting to remote database

I. 12/18 16:05:34. Loading synchronization information

I. 12/18 16:06:00. Disconnecting from remote database



In most cases, this problem occurred when the function csconvert() was unable to convert strings between the operating system charset and the database charset.



Now, when the csconvert function fails dbmlsync will try several other methods to convert strings between the operating system and database charsets. If all these methods fail, a warning message will be issued and dbmlsync will attempt to continue with the synchronization based on the assumption that the publication name and user name specified on the commandline are specified in the database charset. In some cases this will be true, otherwise the synchronization will fail later, when dbmlsync is unable to find the MobiLink user, publication or subscription in the database.



This problem cannot be entirely resolved, but the above changes should reduce its frequency. If synchronizations do fails with the new warning, there are some work arounds that can be tried:

- Choose publication and user names so that they consist only of 7-bit ASCII characters (ASCII values 0-127)

- Have the database and operating system use the same charset. The synchronization is unlikely to fail, although the warning may be issued.

- In some cases the problem can be resolved by using UTF8 as the collation for the remote database.



CR:337445
CR Number:   337445
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 1633 30 Oct 2003 Fixed
9.0.0 1232 30 Oct 2003 Fixed
8.0.3 4780 30 Oct 2003 Fixed
Description
Each line in the request-level log file (created with the -zo server command line option), ended in a CR-CR-LF sequence, rather than the standard CR-LF. This could have caused problems with some text editors. This has been fixed by removing the extra CR.



CR:337570
CR Number:   337570
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 1677 29 Oct 2003 Fixed
9.0.0 1232 29 Oct 2003 Fixed
8.0.3 4823 29 Oct 2003 Fixed
8.0.2 4336 29 Oct 2003 Fixed
8.0.1 3137 29 Oct 2003 Fixed
Description
If the database server was started with the command line option -ti set to a value of 32768 or greater, any TCPIP connections to the server would have failed. The application would have received error -308, Connection was terminated and the server console, would have had the message: Disconnecting Client - No activity for -32768 minutes



This has been corrected. The maximum permissable value for -ti is 32767 (which is approximately 22 3/4 days). If any larger value is specified, an error message is displayed (Error in command near "ti") along with the usage message.



CR:337583
CR Number:   337583
Product Name:   SQL Anywhere
Product Component:   Utilities
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1680 31 Oct 2003 Fixed
9.0.0 1234 31 Oct 2003 Fixed
8.0.3 4826 31 Oct 2003 Fixed
8.0.2 4337 31 Oct 2003 Fixed
Description
Running dbunload, and specifying an external unload, (ie with command line options -xi or -xx), would have caused a value of 0x to be written to the data file for empty not null binary columns. This has been fixed by writing two quotes, like for char columns.



CR:337597
CR Number:   337597
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.1 1678 29 Oct 2003 Fixed
9.0.0 1233 29 Oct 2003 Fixed
Description
On Windows, dbisql.exe can be made the default editor for .SQL files. This association would have been ignored if Explorer was explicitly told to use a given program to edit .SQL files. (This is done by right-clicking on a .SQL file in an Explorer window, clicking the "Open With/Choose Program" menu item, selecting a program other than ISQL, then clicking the "Always use the selected program" check box.) Explorer's per-user file association was not being set, now it is.



CR:337623
CR Number:   337623
Product Name:   SQL Anywhere
Product Component:   JDBC Client Library
Status:   Closed
OS:   Generic
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1678 30 Oct 2003 Fixed
9.0.0 1233 30 Oct 2003 Fixed
Description
If dbisql, connected via the iAnywhere JDBC driver, executed a query that returned multiple result sets, then attempting to edit one of the results could have caused dbisql to crash. This problem has now been fixed.



CR:337624
CR Number:   337624
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 1678 30 Oct 2003 Fixed
9.0.0 1233 30 Oct 2003 Fixed
8.0.3 4824 30 Oct 2003 Fixed
8.0.2 4336 30 Oct 2003 Fixed
Description
The AppInfo string, returned by calling connection_property('AppInfo'), would have incorrectly returned ODBC for the OLEDB and ADO.NET providers. They have been fixed to correctly return OLEDB and ADO.NET respectively.



CR:337626
CR Number:   337626
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 1678 30 Oct 2003 Fixed
9.0.0 1233 30 Oct 2003 Fixed
Description
The Proxy Table and Migrate Database wizards would have listed all tables for the selected remote server, including system tables, system views, non-system tables, non-system views and global temporary tables. Now, these wizards will only list non-system tables, since proxy tables can be created only for non-system tables, and the migration

process will only migrate non-system tables.



An additional fix was made to the Migrate Database wizard, so that the drop-down list of users on the Tables page, now contains only users which have at least one non-system table.



CR:337627
CR Number:   337627
Product Name:   SQL Anywhere
Product Component:   OLEDB Client Library
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1684 31 Oct 2003 Fixed
9.0.0 1235 31 Oct 2003 Fixed
8.0.3 4830 31 Oct 2003 Fixed
8.0.2 4340 31 Oct 2003 Fixed
8.0.1 3138 31 Oct 2003 Fixed
Description
When using the OLEDB driver to fetch data from char columns with 200 or more characters, the last character would have beentruncated. This has been fixed.



CR:337632
CR Number:   337632
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.1 1678 30 Oct 2003 Fixed
9.0.0 1233 30 Oct 2003 Fixed
8.0.3 4824 30 Oct 2003 Fixed
8.0.2 4336 30 Oct 2003 Fixed
Description
The "Copy" action on the context menu for results tables did not treat Unicode "private use" characters properly; they were converted to a Unicode escape sequence of the form "\uXXXX" where XXXX was a 4 digit hex number. Now private use characters are copied as-is.



CR:337661
CR Number:   337661
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 1678 31 Oct 2003 Fixed
9.0.0 1233 31 Oct 2003 Fixed
Description
After editing a procedure, trigger, view or event in a new window, by selecting the item in the left or right pane and then selecting File -> Edit in New Window, the item could only have been saved once from the new window. That is, by clicking the Save toolbar button or selecting the File -> Save menu item, would only have saved the item the first time. Now, the item is saved each time the toolbar button is clicked or the menu item is selected.



CR:337732
CR Number:   337732
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 1678 30 Oct 2003 Fixed
9.0.0 1233 30 Oct 2003 Fixed
Description
When the -z ("Display debugging information") command line option is used, the server will now displays a message on the server console when an HTTP connection connects to, or disconnects from, with the format:



Connection ID <num>: "<user>" connected to database "<db name>" over <protocol>



where protocol can be "HTTP" or "HTTPS". Another message is also displayed containing the character set conversion status, which will be one of the two formats:



Connection ID <num>: Server character translation is enabled, but not required

using client character set "<client charset>"



or



Connection ID <num>: Server character translation will occur

database character set is "<db charset>"

using client character set "<client charset>"



CR:337753
CR Number:   337753
Product Name:   SQL Anywhere
Product Component:   ODBC Client Library
Status:   Closed
OS:   Generic
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1679 31 Oct 2003 Fixed
9.0.0 1233 31 Oct 2003 Fixed
Description
Pressing the help key (F1) on any page of the ODBC configuration dialog would not have worked, although help was still available by pressing the Help button. Pressing the Help button on the Certicom encryption options dialog, would have caused a crash. These issues have been fixed.



CR:337764
CR Number:   337764
Product Name:   SQL Anywhere
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   7.0.00
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1670 31 Oct 2003 Fixed
9.0.0 1233 31 Oct 2003 Fixed
8.0.3 4825 31 Oct 2003 Fixed
8.0.2 4337 31 Oct 2003 Fixed
7.0.4 3502 31 Oct 2003 Fixed
Description
When running dbunload, if the client's charset on the unloading connection did not match the code page of the machine, the unload may have generated invalid SQL for the dbmlsync extended options. THis hasnow been fixed.



CR:337778
CR Number:   337778
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Generic
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1679 31 Oct 2003 Fixed
9.0.0 1233 31 Oct 2003 Fixed
8.0.3 4825 31 Oct 2003 Fixed
8.0.2 4337 31 Oct 2003 Fixed
Description
When editing table data, if the Edit button was clicked, and a new row was then selected without making a change, the buttons would still have displayed that the dialog was in edit mode, even though the edit had been cancelled. THe mode is now reset properly in this situation.



CR:337807
CR Number:   337807
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 1235 04 Nov 2003 Fixed
8.0.3 4830 04 Nov 2003 Fixed
8.0.2 4340 04 Nov 2003 Fixed
Description
Calling a stored procedure that returned an implicit result set, or contained an EXECUTE IMMEDIATE statement, could have resulted in the error "Cursor has not been declared", if one of the statements in the procedure caused a "not found" warning to be issued. Generation of the error was also dependent on how the procedure was called. For example, the error would have occurred if the procedure was called from DBISQL, but not if it was called from DBISQLC. This has been fixed.



CR:337913
CR Number:   337913
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.1 1680 03 Nov 2003 Fixed
9.0.0 1234 03 Nov 2003 Fixed
8.0.3 4826 03 Nov 2003 Fixed
8.0.2 4337 03 Nov 2003 Fixed
Description
When attempting to export data to an HTML file, any character which could not be displayed in the operating system's code page, would been written as a question mark. This has now been fixed.



CR:337916
CR Number:   337916
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 1680 31 Oct 2003 Fixed
9.0.0 1234 31 Oct 2003 Fixed
Description
In some cases, rows could have been returned from a grouped query in an order that was not consistent with the ORDER BY clause. For the incorrect ordering, either ROLLUP was specified, and an ordered rollup group by was selected as the execution method; or the query contained two or more DISTINCT aggregates. Further, the ORDER BY clause must have matched the GROUP BY clause.



This ordering problem has been corrected.



CR:337943
CR Number:   337943
Product Name:   SQL Anywhere
Product Component:   ODBC Client Library
Status:   Closed
OS:   Generic
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1685 07 Nov 2003 Fixed
9.0.0 1236 07 Nov 2003 Fixed
8.0.3 4831 07 Nov 2003 Fixed
8.0.2 4340 07 Nov 2003 Fixed
8.0.1 3138 07 Nov 2003 Fixed
Description
In ODBC 2.x, the standard syntax of the escape sequence was:

--(*vendor(vendor-name), product(product-name) extension *)--

In addition to this syntax, there was a shorthand syntax of the form:

{extension}

For example:

select --(*vendor(iAnywhere), product(SQL Anywhere) d 1999-11-04 *)-- from dummy;

or

select {d 1999-11-04} from dummy;

The standard syntax, now deprecated in ODBC 3.x, was to allow for keyboards that do not support the curly braces characters, (such as the IBM 029 keypunch).



The extension syntax was supported, but the standard syntax was not supported correctly. This has been fixed.



CR:338071
CR Number:   338071
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1686 07 Nov 2003 Fixed
9.0.0 1236 07 Nov 2003 Fixed
8.0.3 4832 07 Nov 2003 Fixed
8.0.2 4341 07 Nov 2003 Fixed
Description
The implementation of java.io.File.listFiles() on Windows, would always have returned an array of length 1, no matter how many entries are in the file system directory. This has been corrected.
Workaround Description
 A possible workaround may be available using the Java 1.1 list() member

but that is untested and may be missing some functionality.



CR:338081
CR Number:   338081
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 1690 10 Dec 2003 Fixed
9.0.0 1236 10 Dec 2003 Fixed
8.0.3 4831 10 Dec 2003 Fixed
8.0.2 4339 10 Dec 2003 Fixed
Description
Changes have been made to the cost model that the optimizer uses, in order to improve query performance for some situations. In particular, improvements have been made for queries the involve wide tables, where most of the data is in server cache and the number of rows returned is relatively small.



CR:338095
CR Number:   338095
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 4369 20 Jan 2004 Fixed
8.0.3 4894 20 Jan 2004 Fixed
9.0.0 1266 20 Jan 2004 Fixed
9.0.1 1817 20 Jan 2004 Fixed
9.0.2 2209 20 Jan 2004 Fixed
Description
If a consolidated database had Proxy Tables or Remote Procedure Calls defined to a remote server, and an error occured when executing a script that referenced the Proxy Table or Remote Procedure Call, then the MobiLink Server could have gone into an infinite loop re-trying the same script indefinitely. Now the handle_error procedure is called after these errors occur.



CR:338104
CR Number:   338104
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1684 06 Nov 2003 Fixed
9.0.0 1235 06 Nov 2003 Fixed
Description
When the TYPE clause of MobiLink Synchronization statements was entered as 'tcpip', (in lower case), and the database collation was 1254TRK (Turkish), MobiLink synchronizations would have failed. This has been fixed.



CR:338114
CR Number:   338114
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 1684 05 Nov 2003 Fixed
9.0.0 1235 05 Nov 2003 Fixed
8.0.3 4830 05 Nov 2003 Fixed
8.0.2 4340 05 Nov 2003 Fixed
7.0.4 3510 19 Jan 2004 Fixed
Description
Attempting to create a proxy table to a SQL Server remote server, would have failed with a "cannot obtain column information" error, if the database on the remote server had a space in it's name. This problem has now been fixed, but to make use of existing remote servers, the capability list must be rebuilt. The easiest method of rebuilding the capability list is to change the remote server class, then change it back. The following two statements will rebuild the capability list for this situation:



ALTER SERVER "name of mss remote server" CLASS 'ODBC';

ALTER SERVER "name of mss remote server" CLASS 'MSSODBC';
Workaround Description
 Ensure that your database does not have a space in it. Unfortunately, this is a production database and can not be changed at this point.



CR:338122
CR Number:   338122
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 1683 04 Nov 2003 Fixed
9.0.0 1235 04 Nov 2003 Fixed
Description
Threaded client applications on Unix, may have crashed when connected to a server started with the LDAP=YES communication parameter. Even if no crashes occurred, client applications that connected and disconnected numerous times may have been slow. This has been fixed.



CR:338251
CR Number:   338251
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.1 1684 05 Nov 2003 Fixed
9.0.0 1235 05 Nov 2003 Fixed
8.0.3 4830 05 Nov 2003 Fixed
8.0.2 4340 05 Nov 2003 Fixed
Description
Autoincrement columns were being added to the list of values for INSERT statements generated by AsaCommandBuilder. AsaCommandBuilder now ignores autoincrement columns when generating INSERT statements.



CR:338292
CR Number:   338292
Product Name:   SQL Anywhere
Product Component:   JDBC Client Library
Status:   Closed
OS:   Generic
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1684 05 Nov 2003 Fixed
9.0.0 1235 05 Nov 2003 Fixed
8.0.3 4830 05 Nov 2003 Fixed
8.0.2 4340 05 Nov 2003 Fixed
Description
If a Java application connected via the iAnywhere JDBC Driver and positioned a cursor beyond the end of a result set, then a previous() call would have failed, rather than return the last row in the result set. This has now been fixed.



CR:338298
CR Number:   338298
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 1684 05 Nov 2003 Fixed
9.0.0 1235 05 Nov 2003 Fixed
Description
The unparsed version of a FOR XML query, or a SQLX function with a named argument, could have been in an unexpected form. An example of the unparsed version can be seen by using the rewrite() function, or by creating a view and examining the definition in the sysviews table.



For example, the unparsing of:

select emp_id from employee for xml raw

would have been:

select forxml(1,'emp_id',employee_1.emp_id) from employee as employee_1

and the unparsing of:

select xmlforest( 1 as x )

would have been:

select xmlforest( 'x', 1 )



This has been fixed.



CR:338300
CR Number:   338300
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 1684 06 Nov 2003 Fixed
9.0.0 1235 06 Nov 2003 Fixed
Description
If there were more concurrent requests than the number of concurrent server requests allowed (as specified by -gn), and all of the requests took longer than five seconds to execute, and web services were running (i.e. -xs was used), any requests received during

the delay may have been dropped, causing clients to hang. The server would also have hung on shutdown. This has now been fixed.



CR:338304
CR Number:   338304
Product Name:   SQL Anywhere
Product Component:   JDBC Client Library
Status:   Closed
OS:   Generic
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1699 06 Nov 2003 Fixed
9.0.0 1242 06 Nov 2003 Fixed
8.0.3 4844 06 Nov 2003 Fixed
8.0.2 4346 06 Nov 2003 Fixed
Description
If an application connected via the iAnywhere JDBC Driver and attempted to create a statement, or a prepared statement, of type INSENSITIVE, the JDBC driver would have actually openned a sensitive cursor instead. This problem has now been fixed.



CR:338343
CR Number:   338343
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 1684 06 Nov 2003 Fixed
9.0.0 1235 06 Nov 2003 Fixed
Description
When using a wizard or duplicate dialog to create or duplicate a table, view, procedure or publication, the new object's owner could be specified as a user whose objects were currently filtered out (via the Filter Objects by Owner dialog). When the wizard or

duplicate dialog completed, and the object was created, a "Not on row" error dialog would have appeared, or an item that should be filtered out would have appeared in the details list. Now, only objects belonging to users who are not filtered out can be created.



CR:338398
CR Number:   338398
Product Name:   SQL Remote for SQL Anywhere
Product Component:   Vim Messaging for Adaptive Server Anywhere
Status:   Closed
OS:   Microsoft Windows
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2232 25 Feb 2004 Fixed
9.0.1 1826 25 Feb 2004 Fixed
9.0.0 1279 25 Feb 2004 Fixed
8.0.3 4932 25 Feb 2004 Fixed
Description
When using the VIM message type, the dbremote icon would not always disappear from the system tray after dbremote completed. This has now been fixed.



CR:338425
CR Number:   338425
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.1 1684 05 Nov 2003 Fixed
9.0.0 1235 05 Nov 2003 Fixed
8.0.3 4830 05 Nov 2003 Fixed
8.0.2 4340 05 Nov 2003 Fixed
7.0.4 3503 05 Nov 2003 Fixed
Description
When determining an optimal cache size, the size chosen never exceeded the sum of the sizes of all open database and temporary files. Now, it will not exceed the sum of the sizes of all open database and temporary files, plus the size of the main heap.



CR:338454
CR Number:   338454
Product Name:   UltraLite
Product Component:   Code Generator
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1685 07 Nov 2003 Fixed
Description
The UltraLite analyzer generates example MobiLink scripts. It was still generating examples for the upload_cursor script, even though this script had been deprecated. It no longer does this.



CR:338455
CR Number:   338455
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 1685 14 Nov 2003 Fixed
9.0.0 1236 14 Nov 2003 Fixed
Description
The character set conversion done by HTTP services within the server was incorrect. The HTTP headers, and the data returned from the database were converted, but the HTML and XML headers were not. This has been fixed, now the headers are no longer converted, and the entire entity body of the response is converted.



Note that in most cases, HTTP clients would not notice a difference.



CR:338456
CR Number:   338456
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 3503 05 Nov 2003 Fixed
Description
If an initial cache size is set (with "-c"), but no minimum cache size was set (with "-cl"), then the minimum cache size will now be set equal to the initial cache size.



CR:338480
CR Number:   338480
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 1649 07 Nov 2003 Fixed
9.0.0 1236 07 Nov 2003 Fixed
Description
If an application using the UltraLite engine called Synchronize(), and the synchronization failed, the call would have returned false, but no sqlcode would have been set. This has been fixed.



CR:338662
CR Number:   338662
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 1642 07 Nov 2003 Fixed
9.0.0 1217 07 Nov 2003 Fixed
Description
If a database was created with the CREATE DATABASE statement and the "PASSWORD CASE" clause was not present, passwords would have been case insensitive; however, password case sensitivity should have defaulted to being the same as the sensitivity of the database. This has been corrected.

Note that Sybase Central as shipped with 9.0.0 uses the CREATE DATABASE statement without a PASSWORD CASE clause. Password case sensitivity for databases created with dbinit, without explicitly setting password sensitivity with the -cp option, correctly defaults to the same sensitivity as the database itself.



CR:338704
CR Number:   338704
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.2 4341 07 Nov 2003 Fixed
8.0.3 4833 07 Nov 2003 Fixed
9.0.0 1237 07 Nov 2003 Fixed
9.0.1 1687 07 Nov 2003 Fixed
Description
If the Compression option in the database was set to "-1", it was possible for dbremote to discard a valid message and report the error "Incoming message was created by a different version of the software". This has now been fixed.
Workaround Description
 Set the compression option in your database to a value other than -1. Note that this will mean that none of your v55 remotes will be able to receive messages generated by this database.



CR:338726
CR Number:   338726
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 1687 07 Nov 2003 Fixed
9.0.0 1237 07 Nov 2003 Fixed
Description
The usage text for the database creation utility dbinit, listed 'mdsr' as a valid option for the -ea command line option, but using it would have given the error message 'MDSR is not available.' Since MDSR encryption is not available, and the only other valid argument for this switch is 'aes', the -ea switch has been removed from the usage text. It is still accepted by dbinit, but is ignored. If the options -ek or -ep are specified, the AES algorithm is used.



CR:338733
CR Number:   338733
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 1687 07 Nov 2003 Fixed
9.0.0 1237 07 Nov 2003 Fixed
Description
Calling a procedure in the FROM clause of a query, where the procedure was owned by a different user; and the procedure body was a single select statement and nothing else; and the select in the procedure body used tables that were not visible to, or that were resolved differently for, the currently connected, would have failed. This has been fixed.



Note: there was no way this could have been exploited as a security hole.



CR:338843
CR Number:   338843
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 1687 10 Nov 2003 Fixed
9.0.0 1237 10 Nov 2003 Fixed
Description
Using a unary minus operator in the select list of a derived table, on the null supplying side of an outer join, would have crashed the server. The following query demonstrates the problem:



select * from employee left outer join (select -1) dt(x) on 1=1



A workaround is to remove the unary operator:



select * from employee left outer join (select 0-1) dt(x) on 1=1



This has been fixed.



CR:338853
CR Number:   338853
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 1687 10 Nov 2003 Fixed
9.0.0 1237 10 Nov 2003 Fixed
Description
It was not possible to choose express validation in the Validate Database wizard, if the selected database was case-sensitive. Now, express validation can be chosen for all databases which support express validation, (ie databases created with version 8.0.0 and later).



CR:338866
CR Number:   338866
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)
9.0.1 1687 10 Nov 2003 Fixed
9.0.0 1237 10 Nov 2003 Fixed
Description
In the Create Database and Create Custom Collation wizards, the list of available collations was not sorted. They are now sorted in ascending order by collation name.



CR:338905
CR Number:   338905
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 1687 12 Nov 2003 Fixed
9.0.0 1237 12 Nov 2003 Fixed
Description
In the Create Database and Create Custom Collation wizards, the list of available collations included all collations, even those that were deprecated. Now, only those which have not been deprecated are listed.



Note that in the Create Database wizard, a deprecated collation can still be choosen, by specifying the collation label.



CR:338914
CR Number:   338914
Product Name:   MobiLink
Product Component:   ASA Client
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1732 24 Dec 2003 Fixed
9.0.0 1256 24 Dec 2003 Fixed
8.0.3 4877 24 Dec 2003 Fixed
8.0.2 4360 24 Dec 2003 Fixed
Description
It was possible for a progress offset mismatch between an MobiLink client

running dbmlsync and the MobiLink Server to fail to resolve itself if all of the

following were true:



- Two publications existed on the remote database.

- One publication was in synch.

- The second publication had a progress value on the consolidated that was

LESS than the progress value on the remote.

- Only the second publication was being synchronized.

- The -ra option was specified on the dbmlsync command line.



although this has now been fixed, a workaround is to synchronize both publications together.



CR:338965
CR Number:   338965
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 1712 20 Nov 2003 Fixed
9.0.0 1252 08 Dec 2003 Fixed
8.0.2 4342 08 Dec 2003 Fixed
Description
If an UPDATE statement contained an ORDER BY clause that utilized ordinal values, the statement would be accepted by the server even if the ANSI_UPDATE_CONSTRAINTS connection option was set to STRICT. This has been corrected; such statements will now receive a syntax error (SQLSTATE 42W37, SQLCODE -814). If the ANSI_UPDATE_CONSTRAINTS connection option is set to OFF or CURSORS, the error will not be generated.



CR:339030
CR Number:   339030
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 1690 11 Nov 2003 Fixed
9.0.0 1238 11 Nov 2003 Fixed
8.0.3 4836 11 Nov 2003 Fixed
8.0.2 4342 11 Nov 2003 Fixed
8.0.1 3139 11 Nov 2003 Fixed
Description
If an ESCAPE character was specified for a LIKE operator, and the pattern was invalid, a message with random characters would have been displayed. This was due to the string being passed to the message routine not being null terminated. . Note, for the pattern to be invalid, the specified escape character must not have preceded a percent sign, an underscore, a left square bracket, or another escape character in the pattern. This is now fixed.



CR:339037
CR Number:   339037
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.1 1691 05 Dec 2003 Fixed
9.0.0 1238 05 Dec 2003 Fixed
8.0.3 4837 05 Dec 2003 Fixed
8.0.2 4343 05 Dec 2003 Fixed
Description
The calls DeleteCommand and UpdateCommand, automatically generated by AsaCommandBuilder, did not handle optimistic locking correctly. This has been fixed.



CR:339043
CR Number:   339043
Product Name:   MobiLink
Product Component:   Java Plugin for Sybase Central
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1690 12 Nov 2003 Fixed
Description
The popup menu for an existing table or connection script, limited the scripting language to either Java or SQL. Now, .NET has been added. As well, the names are now shown consistently as "SQL", "Java" and ".NET" within the Details view, and in the new script wizard.



CR:339141
CR Number:   339141
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   4.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
17 Nov 2003 Fixed
Description
The columns of any SELECT statement, other than the top level select of a query, were always treated as nullable. For example, this applies to the branches of query expressions (union, intersect, except) and to derived tables. This has been fixed



CR:339153
CR Number:   339153
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 1813 17 Dec 2003 Fixed
9.0.0 1253 17 Dec 2003 Fixed
8.0.3 4871 17 Dec 2003 Fixed
8.0.2 4358 17 Dec 2003 Fixed
Description
A FETCH INTO statement in a stored procedure, did not place fetched values into procedure variables if the ROW_UPDATED warning was returned, (this warning is returned for SCROLL cursors). This has now been corrected.



Note, in 8.0.0 and above, some cursors are automatically converted to SCROLL cursors. For example because an updatable cursor is opened over a query with a sort.



CR:339163
CR Number:   339163
Product Name:   SQL Anywhere
Product Component:   ODBC Client Library
Status:   Closed
OS:   Generic
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1690 11 Nov 2003 Fixed
9.0.0 1238 11 Nov 2003 Fixed
8.0.3 4836 11 Nov 2003 Fixed
8.0.2 4342 11 Nov 2003 Fixed
8.0.1 3139 11 Nov 2003 Fixed
Description
Support for ODBC GUID escape sequences has now been added to the ASA ODBC driver. Supplied values of the form "{ guid 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' }" will be converted to binary GUID values and are equivalent to the following SQL statement, cast('41dfe9ef-db91-11d2-8c43-006008d26a6f' as UNIQUEIDENTIFIERSTR ). GUID escape sequences may also be used as input parameters for bound GUID data types. This is how the ODBC specification describes the GUID escape syntax.



CR:339208
CR Number:   339208
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 1649 12 Nov 2003 Fixed
9.0.0 1238 12 Nov 2003 Fixed
Description
ULIsSynchronizeMessage was not defined in the UltraLite Engine client runtimes. This meant that a CE application that used the UltraLite Engine, could not have done an automated ActiveSync synchronization, unless it called RegisterWindowMessage( UL_AS_SYNCHRONIZE ). This function has now been defined.



CR:339335
CR Number:   339335
Product Name:   SQL Anywhere
Product Component:   Other
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1707 28 Nov 2003 Fixed
8.0.3 4852 28 Nov 2003 Fixed
Description
The Installer missed adding the "win32" directory in the Default value for the AppPath registry entry when installing the Personal Server. This has been corrected.



CR:339342
CR Number:   339342
Product Name:   SQL Anywhere
Product Component:   Other
Status:   Closed
OS:   Generic
Original Version:   4.2.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1816 16 Jan 2004 Fixed
9.0.0 1263 16 Jan 2004 Fixed
Description
When given a workload containing hundreds of thousands of queries, the Index Consultant could have caused Sybase Central to exit, leaving a log file reporting that memory had been exhausted. A simple governor has been added to avoid this problem; it limits the number of queries analyzed by the consultant to 25,000. As of version 9.0.2, the Index Consultant will be able to handle arbitrarily large query sets.



A workaround for instances involving evenly distributed duplicate queries (which will be the normal case for this number of captured queries) is to reduce the time spent capturing queries. By using the PAUSE/RESUME feature of the consultant, representative samples of different phases of an application can be captured, without overloading the consultant.



CR:339348
CR Number:   339348
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 1692 17 Nov 2003 Fixed
9.0.0 1239 17 Nov 2003 Fixed
8.0.3 4837 17 Nov 2003 Fixed
8.0.2 4343 17 Nov 2003 Fixed
7.0.4 3524 17 Nov 2003 Fixed
Description
If an application's object destructor made an ODBC call after exit() had been called (or the application's main() routine had returned), then the application may have crashed, (i.e. a call was made to the ODBC driver after the runtime had called the library's fini routine).



Also, if the application was using ODBC driver on Unix as a driver manager, and made an ODBC call after it has destroyed the ODBC environment (i.e. SQLFreeEnv had been called), then the application may have crashed.



This has been fixed, now an error will be returned.



CR:339349
CR Number:   339349
Product Name:   MobiLink
Product Component:   ASA Client
Status:   Closed
OS:   Generic
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.3 4838 17 Nov 2003 Fixed
8.0.2 4343 17 Nov 2003 Fixed
Description
Running the dbmlsync executable from the 8.0.2 GA release, with a dbtools library (ie dbtool8.dll on Windows) from an 8.0.2 EBF, may have caused a crash. This is now fixed.



CR:339354
CR Number:   339354
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   5.0.00
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1692 14 Nov 2003 Fixed
9.0.0 1239 14 Nov 2003 Fixed
8.0.3 4838 14 Nov 2003 Fixed
8.0.2 4358 17 Dec 2003 Fixed
Description
Calling the xp_sprintf system procedure could have caused a server crash. This is now fixed.



CR:339362
CR Number:   339362
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 1688 14 Nov 2003 Fixed
9.0.0 1237 14 Nov 2003 Fixed
Description
The Index Consultant was improperly interpreting the option Optimization_goal for captured queries. This could have lead to sub-optimal query plans being generated, and thus possibly affecting which indexes were recommended. This is now fixed.



CR:339363
CR Number:   339363
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.1 1693 18 Nov 2003 Fixed
9.0.0 1239 18 Nov 2003 Fixed
Description
Using the Index Consultant on a query which contained identifiers with non-ascii letters, could have caused the error, "Index Consultant Error: The query could not be analyzed ..." This would have happened if the case of the letters did not match the letter case of the corresponding object. As a result, the query would not be analyzed and the Index Consultant would close. This has been fixed.



CR:339364
CR Number:   339364
Product Name:   SQL Anywhere
Product Component:   JDBC Client Library
Status:   Closed
OS:   Generic
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1692 14 Nov 2003 Fixed
9.0.0 1239 14 Nov 2003 Fixed
8.0.3 4838 14 Nov 2003 Fixed
8.0.2 4343 14 Nov 2003 Fixed
Description
If a ResultSet object was closed (either explicitly or implicitly), the iAnywhere JDBC Driver would have leaked memory. This problem was most noticeable if a prepared statement was executed many times. The problem has been fixed.



CR:339377
CR Number:   339377
Product Name:   SQL Anywhere
Product Component:   Other
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1701 09 Dec 2003 Fixed
9.0.0 1244 09 Dec 2003 Fixed
Description
When dbisql was installed via its MergeModule, it would not have run due to the files xerces.jar and xml4j.jar not having been installed.

The NetworkServer MergeModule was attempting to create registry entries in the root of HKey_Local_Machine.

Many of the MergeModules were creating unnecessary Default values.



These MergeModule problems have now been fixed.



CR:339440
CR Number:   339440
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 1742 08 Jan 2004 Fixed
9.0.0 1260 08 Jan 2004 Fixed
8.0.3 4881 08 Jan 2004 Fixed
8.0.2 4362 08 Jan 2004 Fixed
Description
If a Java class running in the server's VM, sent a packet to an uninitialized port, any ports the class had initialized could have become disabled from receiving further messages.



For example:

- "java.net.DatagramSocket" is called to initialise a socket on port 3374

- "java.net.DatagramPacket" is called, sending a packet to this socket. This is received correctly

- "java.net.DatagramPacket" is called again, sending a packet an uninitialized socket at 3370

- attempting to receive this packet fails as expected, with a "SocketException: Connection reset by peer"

- "java.net.DatagramPacket" is called again to send a packet to the initialized socket at 3374

- attempting to receive this packet would have failed unexpectedly, with a "SocketException: Connection reset by peer"

- all further attempts to receive packets sent to this socket will fail.



This has now been fixed. Calls to receive packets sent to an uninitialized port will still fail, but these packets will no longer disable the socket from receiving packets on the initialized port.



CR:339588
CR Number:   339588
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 1698 18 Nov 2003 Fixed
9.0.0 1240 18 Nov 2003 Fixed
8.0.3 4843 18 Nov 2003 Fixed
8.0.2 4346 18 Nov 2003 Fixed
Description
If a column default was an expression that contained the NEWID(*) function, the default value was calculated only once per statement. For example:



create table T2 ( col1 int );

insert into T2 ( col1 ) values ( 1 );

insert into T2 ( col1 ) values ( 2 );



create table T1 ( id char(36) not null default uuidtostr(newid(*) primary key);

insert into T1 ( col1 ) select col1 from T2;



The last insert statement selects the two rows from table T2 and inserts them into table T1. The default value for column "id" would have been the same for both rows. Since column "id" is the primary key, a primary key violation would have been raised. This has been fixed. If the default expression is "uuidtostr(newid(*))", the default value is now calculated for every row separately.



CR:339598
CR Number:   339598
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.1 1698 19 Nov 2003 Fixed
8.0.3 4843 19 Nov 2003 Fixed
Description
The server does not need to expand constraints and fetch columns referenced in the constraint (and not elsewhere) when optimizing a query for read only access. The unnecessary columns were not being fetched when the cursor was declared as 'FOR READ ONLY'. However, they were fetched when the cursor was declare 'FOR UPDATE', but the statement was explicitly declared 'FOR READ ONLY'. The fetching of the extra columns could have caused table scans to take more time in some situations, especially for wide tables. This problem has been resolved.



CR:339599
CR Number:   339599
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 1694 20 Nov 2003 Fixed
9.0.0 1240 20 Nov 2003 Fixed
8.0.3 4842 20 Nov 2003 Fixed
8.0.2 4345 20 Nov 2003 Fixed
Description
The server maintains the number of distinct key values for each non-unique index, among other things, this number is used by the optimizer for computing join selectivities. It was possible for the number of distinct values for an index to become inaccurate with the potential of generating poor access plans. This problem has been fixed.



It should be noted that the impact of this inaccuracy is not expected to be significant and that no action should be required. Although, recreating any given index will correct the inaccuracy.



CR:339600
CR Number:   339600
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 1694 17 Nov 2003 Fixed
9.0.0 1239 17 Nov 2003 Fixed
Description
On Solaris, if a multi-CPU machine was configured such that all the processor ID's were assigned numbers that were greater than the number of processors, the server would have failed to start. This has been fixed.



CR:339617
CR Number:   339617
Product Name:   UltraLite
Product Component:   UltraLite.NET
Status:   Closed
OS:   Generic
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1694 17 Nov 2003 Fixed
9.0.0 1239 17 Nov 2003 Fixed
Description
Calling DatabaseManager.SetActiveSyncListener() on some devices, would have resulted in a native exception. This has been fixed.



CR:339659
CR Number:   339659
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 1697 20 Nov 2003 Fixed
9.0.0 1240 20 Nov 2003 Fixed
8.0.3 4842 20 Nov 2003 Fixed
8.0.2 4345 20 Nov 2003 Fixed
Description
The plug-in may have inadvertently created one or more shared locks that were not released until a disconnect. The locks were created when connected to the database via jConnect and the Procedures and Functions or UltraLite Projects folders were opened. These

shared locks could have caused operations on other connection to fail, such as attempting to unload the database from within Sybase Central (which uses a separate connection to perform the unload). Shared locks are now released as soon as possible.
Workaround Description
 None.



CR:339759
CR Number:   339759
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 1729 24 Dec 2003 Fixed
9.0.0 1255 24 Dec 2003 Fixed
8.0.3 4874 24 Dec 2003 Fixed
8.0.2 4359 24 Dec 2003 Fixed
Description
When connnecting to a database which had a custom login procedure that set temporary user settings for the following options:



Allow_nulls_by_default

Ansi_blanks

Ansinull

Automatic_timestamp

Chained

Close_on_endtrans

Date_format

Date_order

Escape_character

Float_as_double

Isolation_level

On_tsql_error

Time_format

Timestamp_format

Tsql_variables



the values for these options would have been temporarily reset to their defaults setting in DBISQL. Now, temporary settings for these options are not reset if a custom login procedure is enabled.



CR:339768
CR Number:   339768
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Solaris
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1813 19 Dec 2003 Fixed
9.0.0 1254 19 Dec 2003 Fixed
8.0.3 4871 19 Dec 2003 Fixed
8.0.2 4358 19 Dec 2003 Fixed
Description
Queries that use the MIN or MAX aggregate functions can have an optimization applied, if they satisfy certain conditions. In version 8.0.0 and later, these conditions were more restrictive than they were in previous versions. With this change, the set of conditions that queries must satisfy befor the MIN/MAX optimization will be applied has ben relaxed.



Queries for which the MIN?MAX optimization is applied, must satisfy the following conditions:



(1) the query block is of the form:



select MIN(/MAX) (T.X)

from T

where some_condition



- T is a base table and T.X is one of its columns

- some_condition can be any type of predicate. This



(2) the query block does not contain an ORDER BY clause, any DISTINCT aggregates, or a GROUP BY clause.



(3) one of the following types of indexes must exist:

- an index having the column T.X as a first column; or

- an index having the column T.X as the n'th column, and for each i'th column with 0 < i < n , an equality predicate of the form "i'th column = constant" exists in the WHERE clause



An example of some_condition would be: "T.A = 10 and T.B = 20 and ...". Then an index on columns T.A and T.B would qualify to be used for the MIN/MAX optimization.





The MIN/MAX optimization tries to choose an index <idx> that returns rows ordered by T.X. During execution, only a limited number of rows are retrieved from the index until a qualifying row is found. The execution stops when this first qualifying row is retrieved.



CR:339783
CR Number:   339783
Product Name:   SQL Anywhere
Product Component:   OLEDB Client Library
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1743 12 Jan 2004 Fixed
9.0.0 1260 12 Jan 2004 Fixed
8.0.3 4883 12 Jan 2004 Fixed
8.0.2 4363 12 Jan 2004 Fixed
8.0.1 3145 12 Jan 2004 Fixed
Description
An ADO application would not have fetched columns with type UNIQUEIDENTIFIER. This was due to IColumnsInfo::GetColumnInfo returning DBTYPE_EMPTY rather than DBTYPE_GUID for UNIQUEIDENTIFIER columns. This has been fixed.



CR:339792
CR Number:   339792
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 1647 17 Nov 2003 Fixed
9.0.0 1240 17 Nov 2003 Fixed
8.0.3 4842 17 Nov 2003 Fixed
8.0.2 4345 17 Nov 2003 Fixed
Description
If the errormsg() function was executeded after a RAISERROR statement in a procedure, but before the procedure completed, the result of the function would have been null. This has been fixed.



CR:339798
CR Number:   339798
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 1699 20 Nov 2003 Fixed
9.0.0 1243 20 Nov 2003 Fixed
Description
If a stored procedure has output parameters, it cannot also return a result set to an application. If the procedure itself did not return a result set, but called another procedure which contained an EXECUTE IMMEDIATE statement, the server would define both procedures as possibly returning result sets. Calling the outer procedure in PowerBuilder would then have failed. The CREATE/ALTER PROCEDURE and EXECUTE IMMEDIATE statements have been changed to make it possible to declare that no result set will be returned.



For EXECUTE IMMEDIATE, the new syntax is:



EXECUTE營MMEDIATE燵爀xecute-option燷爏tring-expression

execute-option:

牋WITH燪UOTES燵燨N爘燨FF燷

|燱ITH燛SCAPES爗燨N爘燨FF爙

| WITH RESULT SET { ON | OFF }



The WITH RESULT SET clause has no effect on the execution of the EXECUTE IMMEDIATE statement, but allows the server to define correctly the procedure containing it. This new clause can only be used with the Watcom-SQL style of EXECUTE IMMEDIATE; it is not permitted with the Transact-SQL form:

EXECUTE ( string-expression )



For CREATE PROCEDURE, a new clause can be specified immediately following the list of parameters for the procedure:



CREATE燩ROCEDURE燵爋wner.]procedure-name(燵爌arameter,...燷)

NO RESULT SET

...



The NO RESULT SET clause can be used with either Watcom-SQL or Transact-SQL procedures. It cannot be used together with the RESULT clause.



CR:339903
CR Number:   339903
Product Name:   SQL Anywhere
Product Component:   OLEDB Client Library
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   7.0.4
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1707 26 Nov 2003 Fixed
9.0.0 1248 28 Nov 2003 Fixed
8.0.3 4853 28 Nov 2003 Fixed
8.0.2 4350 28 Nov 2003 Fixed
8.0.1 3141 28 Nov 2003 Fixed
7.0.4 3507 28 Nov 2003 Fixed
Description
When calling a procedure with a output parameter bound as a NUMERIC or DECIMAL, 0 may have been returned to the application rather than its actual value. This problem would have manifested itself in the ODBC driver as well. This problem has been fixed.



CR:339919
CR Number:   339919
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 1698 21 Nov 2003 Fixed
9.0.0 1240 21 Nov 2003 Fixed
8.0.3 4843 21 Nov 2003 Fixed
8.0.2 4346 21 Nov 2003 Fixed
Description
The server could have become deadlocked, causing it to appear hung, if a checkpoint or DDL statement occurred concurently with an update of the idle statistic, and the server was attempting to load a procedure. This is now fixed.





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

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

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

ReadASADB适用场景

各种误操作:

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

本工具的应用场景:

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