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

 

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

如有问题,请联系我!

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

 

CR:348348
CR Number:   348348
Product Name:   SQL Anywhere
Product Component:   ISQL
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2240 05 Mar 2004 Fixed
9.0.1 1829 05 Mar 2004 Fixed
9.0.0 1282 05 Mar 2004 Fixed
8.0.3 4938 05 Mar 2004 Fixed
8.0.2 4389 05 Mar 2004 Fixed
Description
If the isql option ON_ERROR was set to EXIT, an "Out of Memory" exception could have been reported when attempting to display a long binary column when in console mode. This has been fixed.



CR:348352
CR Number:   348352
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   AIX
Original Version:   7.0.4
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2244 08 Mar 2004 Fixed
9.0.1 1830 08 Mar 2004 Fixed
Description
The first parameter to the system procedure sp_password() is the caller's password, which is to be verified before modifying the password of the current user or another user. The caller's password was not being checked before changing the user's password. Now, this password is checked, and an error is reported if the password provided does not match the password of the current user.



Note that the previous behaviour would not have allowed a user without dba authority to change another user's password. This change to sp_password() does not prevent someone from changing the current user's password if a DBISQL or Sybase Central session is left unattended, since that person could simply enter a GRANT statement to accomplish the change. An example situation where this change is beneficial is an application which provides a "change my password" feature using sp_password and prompts for the original password.



CR:348353
CR Number:   348353
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2241 05 Mar 2004 Fixed
9.0.1 1829 05 Mar 2004 Fixed
9.0.0 1283 05 Mar 2004 Fixed
8.0.3 4939 05 Mar 2004 Fixed
8.0.2 4389 05 Mar 2004 Fixed
Description
If an ALTER TABLE statement was used to rename a column and the column was referenced in the column list of an UPDATE OF trigger, or was part of a foreign key defined with an ON UPDATE action, the server could have crashed or reported an assertion failure. The crash or assertion failure could have occurred after deleting the primary key for the table. Now, an error will be given when attempting to rename the column.



CR:348356
CR Number:   348356
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.2 2240 04 Mar 2004 Fixed
9.0.1 1829 04 Mar 2004 Fixed
Description
If a stored procedure contained a statement like:

BEGIN TRANSACTION trans_name

the string "trans_name" would have been missing in the definition stored in the catalog. If a ROLLBACK TRANSACTION trans_name was executed later in the procedure, the error "Savepoint 'trans_name' not found" would have been issued. The name for the transaction is now included in the BEGIN TRANSACTION statement stored in the procedure's definition in the catalog



CR:348407
CR Number:   348407
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 1752 08 Mar 2004 Fixed
9.0.0 1282 08 Mar 2004 Fixed
Description
The server would have failed to start when run on a Linux system using the 2.6.0 kernel. The Asynchronous I/O (AIO) support in th 2.6.0 kernel is not compatible with the server's usage for the 2.4.x kernel. AIO is now disabled when the server runs with the Linux 2.6 kernel. Note that AIO is still supported by the server when used with the 2.4 kernel.



CR:348469
CR Number:   348469
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.2 2241 05 Mar 2004 Fixed
9.0.1 1829 05 Mar 2004 Fixed
9.0.0 1283 05 Mar 2004 Fixed
8.0.3 4939 05 Mar 2004 Fixed
8.0.2 4389 05 Mar 2004 Fixed
Description
If a request log that contained statements executed by a Java application, was analyzed by the system procedure sa_get_request_times, any host variable values recorded in the log would have been missing from satmp_request_hostvar. Also, the last character of the host variable value would have been truncated. This has been fixed.



CR:348488
CR Number:   348488
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 95
Original Version:   7.0.4
Fixed Version Build Resolution Date Closure Code (If Appropriate)
7.0.4 3513 05 Mar 2004 Fixed
Description
When running on Windoes 9x/ME, the server would pause each tcpip connection for 1 second before succeeding. This has been fixed.



CR:348490
CR Number:   348490
Product Name:   SQL Anywhere
Product Component:   Utilities
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2211 05 Mar 2004 Fixed
9.0.1 1818 05 Mar 2004 Fixed
Description
The Data Source utility dbdsn, now respects the Driver= parameter on Windows platforms. If the Driver= parameter is included in the connection string, it will be used to specify the driver to be used for that DSN. The driver name, (i.e. "Adaptive Server Anywhere 9.0"), is the name listed in the HKLM\SOFTWARE\ODBC\ODBCINST.INI section of the registry, which contains an entry pointing to the driver DLL.



Notes:

1. Data source entries created using the Driver= parameter, where the driver is not an ASA driver, cannot then be read or listed by dbdsn

2. The Driver= parameter is already supported on Unix, but has a slightly different format - it simply specifies the fully-qualified path to the driver shared object.



CR:348512
CR Number:   348512
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.2 2245 09 Mar 2004 Fixed
9.0.1 1831 09 Mar 2004 Fixed
9.0.0 1285 09 Mar 2004 Fixed
8.0.3 5117 09 Mar 2004 Fixed
8.0.2 4391 09 Mar 2004 Fixed
Description
When connected to the utility database, (utility_db), executing a SET OPTION statement would have caused the next statement to fail with a "Connection error". This has been fixed. SET OPTION statements will now return an error, as they are not supported when connected to the utility_db. Subsequent statements will work as expected.



CR:348516
CR Number:   348516
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.2 2241 05 Mar 2004 Fixed
9.0.1 1829 05 Mar 2004 Fixed
Description
Attempting to generate the plan for an UPDATE or DELETE statement, that involved proxy tables, would have caused the server to crash. A proper error message is now returned.



CR:348517
CR Number:   348517
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.2 2241 05 Mar 2004 Fixed
9.0.1 1829 05 Mar 2004 Fixed
9.0.0 1283 05 Mar 2004 Fixed
8.0.3 4939 05 Mar 2004 Fixed
8.0.2 4389 05 Mar 2004 Fixed
Description
Dropping a declared temporary table was not permitted if the database was running in read-only mode. This operation is now allowed.



CR:348528
CR Number:   348528
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.2 2241 08 Mar 2004 Fixed
Description
For very expensive queries which returned a large result set, an access plan having materializing operators was likely to be used even when the option Optimization_goal was set to 'First-row'. Now, it will be more likely that if a plan that doesn't contain materialization exists, it will be choosen as the best plan.



CR:348610
CR Number:   348610
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   4.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2244 08 Mar 2004 Fixed
8.0.3 5117 08 Mar 2004 Fixed
9.0.1 1852 22 Apr 2004 Fixed
9.0.0 1303 22 Apr 2004 Fixed
8.0.2 4409 22 Apr 2004 Fixed
Description
Committing a transaction that deleted rows containing blobs, whose aggregate size was larger than the current cache size, could have taken a very long time. The time to do these deletes has been reducedsignificantly. As well, blob columns created by servers containing this change, can be deleted even more efficiently.



CR:348620
CR Number:   348620
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.2 2216 08 Mar 2004 Fixed
9.0.1 1819 08 Mar 2004 Fixed
Description
A query where a predicate refers to a windowing function in a Union Derived table or view, may have returned incorrect results, or caused a server crash.



For example:

select * from

(select rank() over (order by emp_id) r from employee

union all

select rank() over (order by emp_id) r from employee) dt

where r > 10'



This has been fixed.



CR:348646
CR Number:   348646
Product Name:   MobiLink
Product Component:   QAnywhere server
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1838 08 Mar 2004 Fixed
Description
Message throughput at the QAnywhere server may have appeared slower than expected. The synchronization of the QAnywhere server with the QAnywhere client included a download ack, that kept a server worker idle for roughly half of each synchronization. The download ack is now no longer used.



CR:348652
CR Number:   348652
Product Name:   MobiLink
Product Component:   QAnywhere server
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2238 09 Mar 2004 Fixed
9.0.1 1830 09 Mar 2004 Fixed
Description
If a QAnywhere message was sent to a JMS client through the QAnywhere JMS connector, it was possible that high priority messages would not have taken precedence over lower priority messages. Now, higher priority messages will take precedence over lower priority messages.



CR:348659
CR Number:   348659
Product Name:   MobiLink
Product Component:   QAnywhere client
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2244 09 Mar 2004 Fixed
9.0.1 1830 09 Mar 2004 Fixed
Description
The QAnywhere agent can now take a list of MobiLink server connection stream parameters, rather than just one. The list is supplied by specifying the -x command line option multiple times, one for each connection stream parameter, (a maximum of 32 failover servers may be specified).



For example:



qaagent.exe -x tcpip(host=abc.com) -x tcpip(host=def.com) -x tcpip(host=xyz.com)



The specified MobiLink servers are used to implement a failover scheme, such that if qaagent cannot connect to the first mentioned MobiLink server, qaagent will attempt to connect to another "failover" MobiLink server in the order they appear in the list. Qaagent will only connect to a particular MobiLink server, if it fails to connect to all the other MobiLink servers appearing previously in the list. This list traversal will occur every time qaagent attempts to synchronize messages with the server.



Qaagent has a "listener" component (using dblsn) that is used to receive indications from the MobiLink server that messages are available at the serevr for synchronizaton. The listener component only uses the first set of connection stream parameters specified using -x, the listener component does not failover. This means that qaagent can never receive push notifications from failover servers. If the failover servers are indeed different servers, then qaagent should be run with -ra command line option. When -ra is used, qaagent is allowed to sync with a server even if it has synced with another server -- normally this is restricted behaviour.



Note:

The failover capability of QAnywhere Agent does not work in the following situations:

- the agent is running on a cradled Windows CE device,

- the agent is configured to use TCP/IP for communication with the primary MobiLink server,

- the device is using ActiveSync for TCP/IP connections.

Because of the way TCP/IP is implemented for ActiveSync, the QAnywhere Agent believes that the TCP/IP connection to the primary MobiLink server always succeeds, even when the server is unavailable. This results in the failover MobiLink server never being used.



Failover works correctly in the case of a cradled CE device with an ethernet connection, when ActiveSync is not involved.



CR:348670
CR Number:   348670
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 3515 09 Mar 2004 Fixed
Description
When server-side translation was enabled (i.e. server command line option -ct), the server could have hung when the string sent by the client application did not conform to the connection character set. For example, reading a SJIS file into dbisqlc, running on a machine with ANSI codepage 1252, without specifying client charset to be SJIS. This is now fixed.



CR:348751
CR Number:   348751
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.2 2245 10 Mar 2004 Fixed
9.0.1 1831 10 Mar 2004 Fixed
9.0.0 1285 10 Mar 2004 Fixed
8.0.3 5117 10 Mar 2004 Fixed
8.0.2 4391 10 Mar 2004 Fixed
Description
If the server had multiple, memory intensive transactions running concurrently, it may have erroneously failed with an 'out of memory' error'. This would only have occurred on multiprocessor systems. This has been fixed.



CR:348765
CR Number:   348765
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.2 2245 10 Mar 2004 Fixed
9.0.1 1752 10 Mar 2004 Fixed
9.0.0 1285 10 Mar 2004 Fixed
Description
The network server, running on Unix platforms, could have incorrectly started even though another server with the same name was also running on the network. This has been fixed.



CR:348773
CR Number:   348773
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 1831 09 Mar 2004 Fixed
9.0.0 1285 09 Mar 2004 Fixed
Description
The server could have crashed when started with a very long command line.



CR:348793
CR Number:   348793
Product Name:   SQL Anywhere
Product Component:   ISQL
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2232 10 Mar 2004 Fixed
9.0.1 1826 10 Mar 2004 Fixed
9.0.0 1279 10 Mar 2004 Fixed
8.0.3 5117 10 Mar 2004 Fixed
8.0.2 4385 10 Mar 2004 Fixed
Description
It was possible to edit the result set of a query, even though some, or all, of the primary keys were not included in the result set. Now, the result set can only be edited if all of the primary key columns are included, or the table has no primary key. These conditions have been added in addition to the existing conditions; that columns must all come from one table, and no Java columns are included.



Updating rows without the entire primary key being in the result set, could have inadvertently modified or deleted more than one row.



Some examples, using the sample database (ASADemo):



1. SELECT * FROM customer



The query include all primary key columns from the

"customer" table, so the results are editable.



2. SELECT year, quarter FROM fin_data



The query does not include all of the primary key columns

("code" is missing), so the results are not editable.
Workaround Description
 Set the parameter DbType to DbType.AnsiString



CR:348794
CR Number:   348794
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.2 2286 23 Apr 2004 Fixed
9.0.1 1852 23 Apr 2004 Fixed
9.0.0 1302 23 Apr 2004 Fixed
8.0.3 4983 23 Apr 2004 Fixed
8.0.2 4409 23 Apr 2004 Fixed
Description
Attempting to put a Unicode (wide character) string into a column that had a datatype of char, varchar, binary or varbinary, via a parameterized INSERT statement, would have resulted in garbage characters being placed into the column. A work around is to explicitly set the type to DbType.AnsiString



The following C# fragment illustrates the problem.



IDbCommand cmd = dbConnection.CreateCommand();

cmd.CommandText = "insert into t ( value,value2 ) values (?,?)";

IDbDataParameter param1 = cmd.CreateParameter();

IDbDataParameter param2 = cmd.CreateParameter();

// uncomment this line for workaround

// param1.DbType = DbType.AnsiString

param1.Value = "ABC\x00"+"DEFG";

param2.Value = "ABCD\x00"+"EFG";

cmd.Parameters.Add(param1);

cmd.Parameters.Add(param2);

cmd.ExecuteNonQuery();

cmd.Dispose();



This has been fixed.
Workaround Description
 Set the parameter DbType to DbType.AnsiString



CR:348902
CR Number:   348902
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.2 2246 12 Mar 2004 Fixed
9.0.1 1831 12 Mar 2004 Fixed
9.0.0 1287 12 Mar 2004 Fixed
Description
If two or more TLS or HTTPS connections to the same server were initiated at the same time (from the same or different clients), it was possible for one or more of the connections to time out during the handshake, or for the server to crash. This has now been fixed.



CR:348906
CR Number:   348906
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.2 2246 10 Mar 2004 Fixed
9.0.1 1831 10 Mar 2004 Fixed
9.0.0 1287 10 Mar 2004 Fixed
Description
The character set GB2312 (aka csGB2312 or GB_2312-80) was not supported by the server. This has been fixed - any of the above names is now a valid alias for GB2312.



CR:348922
CR Number:   348922
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.2 2246 11 Mar 2004 Fixed
9.0.1 1831 11 Mar 2004 Fixed
9.0.0 1287 11 Mar 2004 Fixed
8.0.3 4944 11 Mar 2004 Fixed
8.0.2 4391 11 Mar 2004 Fixed
Description
If a transaction was active when a BACKUP DATABASE statement was executed, and the transaction subsequently rolled back, changes made by the transaction prior to the start of the backup would not have been rolled back in the backed up database. The contents of the transaction log would have been backed up correctly, and this log could have been applied to an earlier copy of the database to produce the correct results. This problem only occurred on databases created with versions 8.0.0 or later, and does not affect client-side backups created with DBBACKUP. Now, uncommitted transactions will be rolled back correctly in backed up databases.



CR:348935
CR Number:   348935
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.2 2246 12 Mar 2004 Fixed
9.0.1 1831 12 Mar 2004 Fixed
9.0.0 1287 12 Mar 2004 Fixed
Description
If a multi-threaded client application attempted to make simultaneous TLS connections, one or more of the connection attempts may have failed with a handshake failure or have displayed an error that TLS initialization failed. This has been corrected.



CR:348943
CR Number:   348943
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)
9.0.2 2246 11 Mar 2004 Fixed
9.0.1 1831 11 Mar 2004 Fixed
9.0.0 1287 11 Mar 2004 Fixed
Description
The Multi-byte character set UltraLite runtimes would have compared columns (and sql expressions) incorrectly, (ie. 'foo' != 'foo '). The shorter string was being null padded rather, than blank padded. This is now fixed. The Unicode runtime was not affected.



CR:348944
CR Number:   348944
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.2 2246 11 Mar 2004 Fixed
9.0.1 1831 11 Mar 2004 Fixed
Description
Attempting to run a query involving proxy tables, in full passthrough mode, where there are a large (more than 300) number of UNIONs, then the server may crash with a stack fault. This problem has now been fixed, regular stack checks are performed when recursing through the UNIONs.



CR:348946
CR Number:   348946
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.2 2241 12 Mar 2004 Fixed
9.0.1 1831 12 Mar 2004 Fixed
9.0.0 1287 12 Mar 2004 Fixed
Description
When evaluating the number of rows in a partial index scan of the form 'idx<T.A = constant>' (the index 'idx' is defined only on the column T.A) the optimizer was not using the selectivity estimate of the predicate 'T.A = constant'. Instead the number of distinct values in the index 'idx' was used to estimate the number of rows returned by the partial index scan. Often, in the presence of the skewed data, the selectivity estimate of the predicate 'T.A = constant' is more accurate than using the number of distinct values in an index. This has been fixed.



CR:349014
CR Number:   349014
Product Name:   SQL Anywhere
Product Component:   ADO.Net Managed Provider
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   7.0.4
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2247 12 Mar 2004 Fixed
9.0.1 1832 12 Mar 2004 Fixed
9.0.0 1287 12 Mar 2004 Fixed
8.0.3 4945 12 Mar 2004 Fixed
8.0.2 4392 12 Mar 2004 Fixed
Description
An application using the ADO.NET provider may have failed to connect to a version 7.0 server. While connecting, the provider attempts to determine the client's character set and the database's character set, so that it can do character set translation. If the provider determined that it could convert to the database's character set, it attempted to turn off character set conversion on the server by sending a 'change character set' command. The 7.0 server does not recognize this command and responds with an error. It was this error that caused the connection failure. In fact, this error is not fatal and the provider will now ignored it, using the client's character set intead.



CR:349036
CR Number:   349036
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.2 2247 12 Mar 2004 Fixed
9.0.1 1832 12 Mar 2004 Fixed
9.0.0 1287 12 Mar 2004 Fixed
8.0.3 4945 12 Mar 2004 Fixed
Description
When using the Database Erase utility dberase, Database Translate utility dbtran, Database Extract utility dbxtract, or Database Unload utility dbunload, and specifying the -q command line option (quiet: do not print messages), without the -y command line option (over write files without confirmation), the user would still have been prompted with a message whether to over write an existing file. The prompts are now suppressed, and the action will not be carried out unless the -y option is also specified.



CR:349043
CR Number:   349043
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.2 2293 15 Mar 2004 Fixed
9.0.1 1856 30 Apr 2004 Fixed
9.0.0 1288 30 Apr 2004 Fixed
Description
Selectivity estimates of 0% from histograms, for a predicate of the form "T.x = constant", may have been ignored when a multi-column index was costed.



For example, the number of rows for an unique index on table T, on columns <T.A, T.B>, for which the fence posts were built using two equality predicates - "T.A = constant1" and "T.B = constant2" - was set to 1 row. If the selectivity of the predicate "T.A = constant1" was known to be 0%, that selectivity was incorrectly ignored.



This has been fixed.



CR:349048
CR Number:   349048
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.2 2262 30 Mar 2004 Fixed
9.0.1 1842 30 Mar 2004 Fixed
9.0.0 1293 30 Mar 2004 Fixed
8.0.3 4960 30 Mar 2004 Fixed
Description
The Database Translation utility dbtran, was ignoring the -q (quiet: do not print messages) command line option,. This has now been fixed, no messages will be displayed when -q is used.



CR:349073
CR Number:   349073
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.2 2248 15 Mar 2004 Fixed
9.0.1 1832 15 Mar 2004 Fixed
9.0.0 1288 15 Mar 2004 Fixed
8.0.3 4946 15 Mar 2004 Fixed
8.0.2 4392 15 Mar 2004 Fixed
Description
If any of the statements listed below did not qualify a table name with an owner, then it was not possible to translate the transaction log and re-execute the generated statements using a different userid than that used to execute the original statements.



CREATE/ALTER VIEW -- affected tables referenced in the view's query

CREATE INDEX

ALTER TABLE

TRUNCATE TABLE

GRANT

REVOKE

DROP VIEW

LOAD TABLE



Now, these statements recorded in the transaction log will now have the table name qualified with its owner name.



CR:349182
CR Number:   349182
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)
8.0.2 4392 12 Mar 2004 Fixed
8.0.3 4946 12 Mar 2004 Fixed
9.0.0 1288 12 Mar 2004 Fixed
9.0.1 1832 12 Mar 2004 Fixed
9.0.2 2248 12 Mar 2004 Fixed
Description
If the Transaction Log utility dblog was run with the -il, -ir, -is, -x or -z command line options, or the Database Unload utility dbunload was run with the -ar command line option, they may have crashed and left the database in a state such that it could no longer be started. The server would have reported that the database had been used more recently than the log file and failed to start. These utilities have now been fixed.



CR:349187
CR Number:   349187
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.2 2246 15 Mar 2004 Fixed
9.0.1 1831 15 Mar 2004 Fixed
9.0.0 1287 15 Mar 2004 Fixed
Description
If the optimizer chose to use the alternative Nested Loops strategy, inside a Join Hash execution node, then it was possible for the query to return incorrect results. For this to have occurred, certain other conditions had to have been met as well. In particular, the equi-join condition had to involve comparisons of an indexed column with values of different datatypes, so that the server needed to convert the values to the datatype of the indexed column.



For example:



CREATE TABLE foo( c1 NUMERIC(6,0), ... );

CREATE TABLE bar( c1 int, ... );

CREATE INDEX idx on bar( c1 );

...



SELECT * from foo, bar where foo.c1 = bar.c1



The server could have returned incorrect results if all of the following were true:



- The join of foo and bar was done using Join Hash with foo being the build table and bar the probe table,

- The hash join node contained an alternative Join Nested Loops strategy that involved lookups using index bar.idx,

- The actual number of rows on the build side was such that the alternative Join Nested Loops strategy was in fact employed during query execution.



This has been corrected so the the server will return the correct result set.



CR:349198
CR Number:   349198
Product Name:   MobiLink
Product Component:   Synchronization Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1852 22 Apr 2004 Fixed
9.0.2 2286 22 Apr 2004 Fixed
Description
When two synchronizations, using the HTTP or HTTPS stream from the same remote database, occurred within the time specified by the MobiLink server's contd_timeout value (30 seconds by default), it was possible that the second synchronization would have reported the error "The user name 'rem1' is already synchronizing. Concurrent synchronizations using the same user name are not allowed". It's important to note that in some circumstances it was possible for the initial upload sent by the remote to be discarded by the MobiLink server, and the MobiLink server would ask the remote to resend starting at a different log offset. This would also cause the "already synchronizing" error to occur. This problem has now been fixed.



CR:349219
CR Number:   349219
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.2 2256 25 Mar 2004 Fixed
9.0.1 1838 25 Mar 2004 Fixed
9.0.0 1291 25 Mar 2004 Fixed
Description
A Transact-SQL query of the form "SELECT ... INTO #temptable ..." could have failed with the error "Table {tablename} not found" (SQLCODE -141), if a warning occurred when the query was being optimized. The warning most likely to have caused this error is "The result returned is non-deterministic" (SQLCODE 122).



For example:

select first id into #temptab from tab1



Now the query will proceed, but the original warning will be reported. A workaround is to test the query without the INTO clause and resolve the warning (for instance, by adding an ORDER BY clause to resolve the non-deterministic warning).



CR:349238
CR Number:   349238
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.2 2248 15 Mar 2004 Fixed
9.0.1 1832 15 Mar 2004 Fixed
9.0.0 1288 15 Mar 2004 Fixed
Description
If a Remote Data Access query, involving FIRST or TOP n, was executed in full passthrough mode, then a "non-deterministic result set" warning may have been incorrectly generated. This problem has now been fixed.



CR:349244
CR Number:   349244
Product Name:   MobiLink
Product Component:   QAnywhere client
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2248 15 Mar 2004 Fixed
9.0.1 1832 15 Mar 2004 Fixed
Description
Setting value of a string property to NULL, with QAMessage.setStringProperty, would have resulted in a null pointer dereference. This has been fixed, NULL string property values are now supported by the QAnywhere client library.



CR:349254
CR Number:   349254
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)
9.0.2 2248 16 Mar 2004 Fixed
9.0.1 1832 16 Mar 2004 Fixed
9.0.0 1288 16 Mar 2004 Fixed
8.0.3 5117 16 Mar 2004 Fixed
8.0.2 4392 16 Mar 2004 Fixed
Description
If a download conflict error occurred during synchronization, the UltraLite application could possibly have crashed at some point in the future. This has been fixed



CR:349304
CR Number:   349304
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)
16 Mar 2004 Not a Bug
Description
ASA 8.0.2.4339 on WIndows 2000.

Getting ASA temp file very large (several GB) which fills up disk and crashes the server.



CR:349321
CR Number:   349321
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 1245 15 Mar 2004 Fixed
Description
On CE, when a removable media card containing the UltraLite database was ejected while the application is running, the runtime would have reported the error SQLE_MEMORY_ERROR. If the device was turned off and turned back on again (for example, when it enters and leaves power saving mode), it essentially ejects and reinserts all removable media cards, which would have caused this error.



This problem has now been fixed, the runtime silently re-attempts to access the database file for a few seconds. If it fails after this time, then the card must have been manually ejected and it will return SQL error SQLE_DEVICE_IO_FAILED.



CR:349326
CR Number:   349326
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)
8.0.3 4508 15 Mar 2004 Fixed
8.0.2 4393 15 Mar 2004 Fixed
Description
The active procedure context could have been lost if an EXECUTE IMMEDIATE executed a batch, perhaps by a calling another procedure. One symptom of this would be that the global variable @@procid would be 0. This has now been fixed.



CR:349359
CR Number:   349359
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.2 2252 19 Mar 2004 Fixed
9.0.1 1837 19 Mar 2004 Fixed
9.0.0 1289 19 Mar 2004 Fixed
8.0.3 4971 12 Apr 2004 Fixed
8.0.2 4404 12 Apr 2004 Fixed
Description
When determining the broadcast address to use, the server was using the IP address of the host and ignoring the subnet mask, which was resulting in an incorrect broadcast address. This meant that client applications that used broadcasts to find servers may have failed to find them, and similarily, servers may have fail to find existing servers with the same name. This has now been fixed.



CR:349450
CR Number:   349450
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows
Original Version:   8.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2253 22 Mar 2004 Fixed
9.0.1 1837 22 Mar 2004 Fixed
9.0.0 1290 22 Mar 2004 Fixed
8.0.3 5117 22 Mar 2004 Fixed
8.0.2 4395 22 Mar 2004 Fixed
8.0.1 3153 24 Mar 2004 Fixed
8.0.0 2360 24 Mar 2004 Fixed
Description
After recovering a database which used no transaction log file, shutting down the server before modifying the database could have caused assertion failures 201810 "Checkpoint log: the database is not clean during truncate" or 201117 "Attempt to close a file marked as dirty". If the server was killed or the machine or server crashed before the database was modified, then subsequently checkpointed, the database could have been corrupt. Only databases created with 8.0.0 or later are affected. This problem has now been corrected.



CR:349467
CR Number:   349467
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Linux
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2265 02 Apr 2004 Fixed
9.0.1 1842 02 Apr 2004 Fixed
9.0.0 1293 02 Apr 2004 Fixed
8.0.3 4976 02 Apr 2004 Fixed
8.0.2 4400 02 Apr 2004 Fixed
Description
The following message:

unaligned access to x, ip=y

was being displayed in the system log when the server, or one of the database utilities, was used, where x and y were some hex values.



These messages would not have caused any execution correctness problems, but may have degraded performance slightly.



This has been fixed.



CR:349471
CR Number:   349471
Product Name:   MobiLink
Product Component:   QAnywhere client
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2250 17 Mar 2004 Fixed
9.0.1 1835 17 Mar 2004 Fixed
Description
QAnywhere C++ client library APIs, that returned a string to a buffer given a buffer size, could have overwritten the buffer by 1 with the null terminator. This has been changed so that buffer size is now the maximum length of the string plus 1, to include the null terminator.



CR:349473
CR Number:   349473
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.2 2256 22 Mar 2004 Fixed
9.0.1 1838 22 Mar 2004 Fixed
9.0.0 1291 22 Mar 2004 Fixed
Description
When in passthrough mode, all EXECUTE IMMEDIATE statements within stored procedures, would have failed with "Statement is not allowed in passthrough mode". This has been fixed.



CR:349486
CR Number:   349486
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.2 2251 18 Mar 2004 Fixed
9.0.1 1836 18 Mar 2004 Fixed
9.0.0 1289 18 Mar 2004 Fixed
Description
When text in the editor was printed, if any of the text was selected, the selected text would have been printed with the same foreground and background colors as displayed in the editor. Selected text is now printed as if it was not selected.



CR:349588
CR Number:   349588
Product Name:   MobiLink
Product Component:   QAnywhere client
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2251 19 Mar 2004 Fixed
9.0.1 1836 19 Mar 2004 Fixed
Description
The list of property names returned by QAMessage::getPropertyNames could have contained a duplicate name. This would have happened if, for example, setStringProperty( "p1", "x" ) was called, followed by setIntProperty( "p1", 3 ). This has been fixed. Now, the second call to set the value of property "p1" will override the first call.



CR:349620
CR Number:   349620
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.2 2252 19 Mar 2004 Fixed
8.0.3 5593 31 Jan 2008 Fixed
Description
If one connection was executing a WAITFOR statement, another connections attempting to do DDL and some other database or system-wide operation may have encountered an unexpected five second delay. This delay has now been removed.



CR:349653
CR Number:   349653
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.2 2251 18 Mar 2004 Fixed
9.0.1 1836 18 Mar 2004 Fixed
9.0.0 1289 18 Mar 2004 Fixed
Description
When run on Unix platforms, the server could have crashed on startup. This has been fixed.



CR:349655
CR Number:   349655
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.2 2248 18 Mar 2004 Fixed
9.0.1 1832 18 Mar 2004 Fixed
Description
If a database was started and then shutdown before the cache warming request was picked up by one of the server's worker threads, the server could have crashed, accessing memory that had already been released. This small window was much more likely to have occurred on a very heavily loaded machine. Disabling cache warming would eliminate the problem. This has been fixed.



CR:349675
CR Number:   349675
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.2 2251 19 Mar 2004 Fixed
9.0.1 1836 19 Mar 2004 Fixed
9.0.0 1289 19 Mar 2004 Fixed
Description
The QueryEditor dialog was not resizable. This has been fixed so that the dialog can now be resized.



CR:349746
CR Number:   349746
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2258 29 Mar 2004 Fixed
9.0.1 1839 27 Apr 2004 Fixed
9.0.0 1305 27 Apr 2004 Fixed
8.0.3 4998 27 Apr 2004 Fixed
Description
In some rare situations, the server could have updated column statistics incorrectly, which could then have resulted in the optimizer choosing poor query plans. This was more likely to have occurred with a plan that used the alternate Nested Loop Join strategy in a Hash Join operator. This problem has now been fixed.



Additionally, for some predicates on string columns with low selectivity, the server will now make better use of index probes to determine selectivities.
Workaround Description
 Stay at version 8.02.



CR:349811
CR Number:   349811
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.2 2253 22 Mar 2004 Fixed
9.0.1 1837 22 Mar 2004 Fixed
Description
Queries involving ORDER BY and index hints may have unnecessarily included a sort of the output. For this to have occurred, the query must have contained no sargable predicates on the hinted index, and the ORDER BY clause must have been satisfiable with a backwards scan of the hinted index.



For example, the following query was unnecessarily using a sort on top of the hinted index scan:

select id from tab1 with( index( tab1 ) ) order by id desc;



but the following two queries were correctly recognizing that a scan of the index would supply the correct ordering:

select id from tab1 with( index( tab1 ) ) where id > -9999 order by id desc;

select id from tab1 with( index( tab1 ) ) order by id asc;



This problem has now been fixed. A workaround is to include a sargable predicate with 100% selectivity on the index (as in example 2 above).



CR:349901
CR Number:   349901
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.2 2265 02 Apr 2004 Fixed
9.0.1 1842 02 Apr 2004 Fixed
9.0.0 1293 02 Apr 2004 Fixed
8.0.3 5117 02 Apr 2004 Fixed
8.0.2 4400 02 Apr 2004 Fixed
Description
The server would have crashed during execution of a query that used an index, if all of the following conditions were true:

- the index was a compressed B-tree index

- the index contained a character or binary key column

- the length of the search value for this key column was almost the page size, or was longer

- the search value for this key column was not a constant



This has now been fixed.



CR:349913
CR Number:   349913
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.2 2253 22 Mar 2004 Fixed
9.0.1 1837 22 Mar 2004 Fixed
9.0.0 1290 22 Mar 2004 Fixed
Description
A checkpoint occurring during index creation could have caused a server deadlock. For the deadlock to have occurred, the index must have been large relative to the cache size. This has been corrected.



CR:349915
CR Number:   349915
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.2 2257 26 Mar 2004 Fixed
9.0.1 1837 26 Mar 2004 Fixed
9.0.0 1290 26 Mar 2004 Fixed
8.0.3 4955 26 Mar 2004 Fixed
8.0.2 4395 26 Mar 2004 Fixed
Description
A query, where both join elimination and subquery flattening took place, may have returned too few rows.

For example:

select emp_id

from employee

where emp_id in (select distinct sales_rep

from sales_order key join sales_order_items)

for read only



This has now been fixed.



Note that this will not happen for updateable queries, since join elimination cannot take place in that case. Cases where it may happen include, "for read only" queries and "insert into ... select ..." queries.



A workaround is to prevent join elimination either by specifying "for update", or by using additional columns from the eliminated table in a way that doesn't change the result.

For example:



select emp_id + (manager_id-manager_id)

from employee

where emp_id in (select distinct sales_rep

from sales_order key join sales_order_items)

for read only



CR:349918
CR Number:   349918
Product Name:   SQL Remote for SQL Anywhere
Product Component:   Database Tools Interface
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2263 31 Mar 2004 Fixed
9.0.1 1842 31 Mar 2004 Fixed
9.0.0 1293 31 Mar 2004 Fixed
8.0.3 4961 31 Mar 2004 Fixed
8.0.2 4399 31 Mar 2004 Fixed
Description
SQL Remote may have reported the error "No log operation at offset x" and then exited. After examining all the transaction logs, one may find that the log offset x was in the header page of a transaction log file.



This problem could have occurred if:

1. the last log operation in the latest offline transaction log was a "redo_release"; and

2. in the online transaction log, there is no log operation of commit, rollback, or release and no actual data to be replicated.



This problem is fixed now.
Workaround Description
 Customre used -hir to resolve issue.



CR:349922
CR Number:   349922
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.2 2250 19 Mar 2004 Fixed
9.0.1 2250 19 Mar 2004 Fixed
9.0.0 1289 19 Mar 2004 Fixed
8.0.3 4949 19 Mar 2004 Fixed
8.0.2 4394 19 Mar 2004 Fixed
Description
The changes for Engineering Case #347493, where a server crash upon startup if a large number of tasks were specified, and they could not all be created due to lack of memory, has been ported to the NetWare and Unix servers. The server will now fail with an error indicative of excessive memory usage.



CR:349929
CR Number:   349929
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.2 2253 19 Mar 2004 Fixed
9.0.1 1837 19 Mar 2004 Fixed
9.0.0 1290 19 Mar 2004 Fixed
Description
Calling the function property( 'LicenseType' ), would have incorrectly returned 'cpu-based' if the server was not licensed. This has been fixed so that 'not licensed' is now returned in this case.



CR:349930
CR Number:   349930
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.2 2253 22 Mar 2004 Fixed
9.0.1 1837 22 Mar 2004 Fixed
8.0.3 5117 22 Mar 2004 Fixed
Description
If incorrect options were used with the Unload Database utility dbunload, it could have crashed after displaying the usage. This has been fixed.



CR:349938
CR Number:   349938
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.2 2251 19 Mar 2004 Fixed
9.0.1 1836 19 Mar 2004 Fixed
Description
If a remote connection has become inactive or is no longer needed, it can now be closed by executing the following:



ALTER SERVER server CONNECTION CLOSE



where "server" is the name of the remote server.



This new feature is most useful in the case where the remote server has gone away or has dropped the connection due to a timeout and the server is not able to detect that the remote connection is no longer useable. Issuing the "ALTER SERVER server CONNECTION CLOSE" statement in such cases will let the server know that the remote connection is no longer useable and should be dropped. Once a remote connection is closed, the server will create a new connection to the remote server when one is needed.



Note that this statement does not drop all connections to the remote server, but only the remote connection associated with the local connection. Also, the user does not require DBA authority to dop a remote connection.



CR:349954
CR Number:   349954
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.2 2253 22 Mar 2004 Fixed
9.0.1 1837 22 Mar 2004 Fixed
9.0.0 1290 22 Mar 2004 Fixed
8.0.3 5117 22 Mar 2004 Fixed
8.0.2 4395 22 Mar 2004 Fixed
Description
A new connection could have been refused, in very rare timing dependent cases, when it should have been allowed. In order for this to have occurred the network server must have been at its maximum number of licensed clients (Note, each unique client address from a remote machine counts as one license), and the last connection from a client machine must have been disconnecting at the same time a new connection was being made at the same client machine



This has been fixed so that the server calculates licenses used accurately.



CR:349958
CR Number:   349958
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.2 2256 24 Mar 2004 Fixed
9.0.1 1838 24 Mar 2004 Fixed
9.0.0 1291 24 Mar 2004 Fixed
Description
When shutting down a server running on Windows 95, 98, ME or NetWare, with a number of active TCP/IP or SPX connections, the server may have unnecessarily paused for several seconds at 100% CPU usage. The unnecessary delay has now been removed. Note that it is not uncommon or incorrect for the server to take several seconds with significant CPU to shutdown.



CR:349975
CR Number:   349975
Product Name:   SQL Anywhere
Product Component:   ODBC Client Library
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2260 30 Mar 2004 Fixed
9.0.1 1842 30 Mar 2004 Deferred
9.0.0 1292 30 Mar 2004 Fixed
8.0.3 5117 30 Mar 2004 Fixed
8.0.2 4398 30 Mar 2004 Fixed
Description
Blob data, written to a database by an ODBC application using SQLPutData, would have been corrupted if the following conditions were true:

- the application used a different charset than the database

- the server had character set translation enabled

- the length parameter passed to SQLPutData was larger than SQL_ATTR_MAX_LENGTH

In this case the data is send as VARCHAR and the server does character set translation. This has now been fixed.



CR:350038
CR Number:   350038
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.2 2256 24 Mar 2004 Fixed
9.0.1 1838 24 Mar 2004 Fixed
9.0.0 1291 24 Mar 2004 Fixed
Description
If the Safari browser for Mac OS X, made an HTTP or HTTPS connection to an ASA server, the server may have failed the second and subsequent requests. This was due to the Safari browser erroneously using keep-alive, which is not supported. This has been fixed, now the "Connection: close" header will be sent to tell the browser that the server is not doing keep-alive.



CR:350058
CR Number:   350058
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.2 2256 25 Mar 2004 Fixed
9.0.1 1838 25 Mar 2004 Fixed
9.0.0 1291 25 Mar 2004 Fixed
8.0.3 5117 25 Mar 2004 Fixed
8.0.2 4396 25 Mar 2004 Fixed
Description
When run on Windows 95, 98, ME or NetWare, the server could have crashed when receiving BLOBs over TCP/IP or SPX connections. The probability of this crash was a very slight and timing dependent. This has now been fixed.



CR:350084
CR Number:   350084
Product Name:   MobiLink
Product Component:   QAnywhere client
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2256 26 Mar 2004 Fixed
9.0.1 1838 26 Mar 2004 Fixed
Description
The QAnywhere client library allowed messages to be queued into the message store until the disk free space was exhausted. When this occurs on a device with limited resources, such as a Pocket PC, applications are terminated by the operating system. Furthermore, the QAnywhere Agent could no longer synchronize messages with the server at this point, because the synchronization process requires disk and memory resources. This has now been fixed, so that the message store does not grow to an unmanageable size. If it is deemed that the message store is too large, QAManagerBase.putMessage() returns false and getLastError() returns QAError::COMMON_MSG_STORE_TOO_LARGE.



CR:350090
CR Number:   350090
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)
8.0.2 2272 26 Mar 2004 Fixed
9.0.1 1845 26 Mar 2004 Fixed
9.0.0 1292 08 Apr 2004 Fixed
Description
In version 8.0, histogram entries are made for a single value only when it has a selectivity less than 1%. This strategy was found to be deficient for some user databases. Consequently, version 9.0.0 was changed to create entries for single values for the top N frequencies in the distribution of a column. No lower bound was placed on the selectivity of frequencies for which single value entries were made. As a result, the histogram became "noisy", with a subsequent degradation in quality. An example of such a scenario was a table that contained a column that was not declared unique, but actually had only unique values. The server then collected too much information in the column statistics, which could have caused an inefficient plan to have been chosen.



Now, a lower bound of 0.01% is enforced on the selectivity of frequencies that will be stored.



CR:350188
CR Number:   350188
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.2 2257 26 Mar 2004 Fixed
9.0.1 1839 26 Mar 2004 Fixed
9.0.0 1291 26 Mar 2004 Fixed
8.0.3 4955 26 Mar 2004 Fixed
8.0.2 4397 26 Mar 2004 Fixed
Description
If a database created using SQL Anywhere 5.5 included tables and procedures used for jConnect, these tables and procedures would have been included in the reload.sql script generated by the Database Unload utility dbunload. These objects will now be excluded from the reload script.



Note, that upgrading a 5.5 database using the Database Upgrade utility causes the jConnect objects to be replaced with ones owned by dbo, so an upgraded database does not have this problem.



CR:350245
CR Number:   350245
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2264 01 Apr 2004 Fixed
9.0.1 1842 01 Apr 2004 Fixed
9.0.0 1293 01 Apr 2004 Fixed
Description
The server could have crashed while a large volumne of data was being fetched through a TDS connection when the '-z' (display debugging information), command line option was used. This has now been fixed.



CR:350252
CR Number:   350252
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.2 2257 29 Mar 2004 Fixed
9.0.1 1839 29 Mar 2004 Fixed
9.0.0 1291 29 Mar 2004 Fixed
Description
The Interactive SQL utility dbisql, could have reported an OutOfMemory exception if it encountered a problem fetching a result set. This problem has now been fixed.



CR:350319
CR Number:   350319
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.2 2336 07 Jun 2004 Fixed
9.0.1 1875 11 Jun 2004 Fixed
9.0.0 1324 11 Jun 2004 Fixed
8.0.3 5117 11 Jun 2004 Fixed
8.0.2 4433 11 Jun 2004 Fixed
Description
When using the Microsoft Query Analyzer with Microsoft SQL Server 2000 to issue a query on a Linked Server definition that referenced an ASA server, an error such as the following would have been reported:



Server: Msg 7317, Level 16, State 1, Line 1

OLE DB provider 'ASAProv.80' returned an invalid schema definition.



For example:



select * from ASA8.asademo.dba.customer



where "ASA8" is the name of the Linked Server, "asademo" is the catalog name, "dba" is the schema name and "customer" is the table name. This problem has been fixed, but the following must also be done in order to support a Linked Server query:



- When the Linked Server is defined, "Provider Options" must be selected. (this button is greyed out and unusable once the Linked Server has been defined). In the Provider Options dialog, the "Allow InProcess" option must be selected.



- ASA does not support catalogs, so the four part table reference must omit the catalog name (two consecutive periods with no intervening characters, ie select * from ASA8..dba.customer). Including a catalog name will result in the error: "Invalid schema or catalog specified for provider 'ASAProv.80'"



- The database must be updated to include the revised stored procedures found in the scripts\oleschem.sql directory. This file includes a new stored procedure dbo.sa_oledb_tables_info that is required for Linked Server support.



CR:350339
CR Number:   350339
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.2 2258 29 Mar 2004 Fixed
9.0.1 1839 29 Mar 2004 Fixed
9.0.0 1292 29 Mar 2004 Fixed
Description
Attempting to connect to the utility database, by specifying an ODBC data source, would have caused the database name to not be displayed in the tree and generated the error "The information required to display the database in Sybase Central could not be obtained." This has been fixed.



CR:350348
CR Number:   350348
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.2 2259 30 Mar 2004 Fixed
9.0.1 1841 30 Mar 2004 Fixed
Description
Nested block joins that used parallel index scans (i.e. on a database server with a RAID array and on which the affected dbspace has been calibrated) may have returned no rows, if there was a cast() expression on the left hand side of the join condition. This expression may have been introduced either explicitly in the text of the query, or automatically by the optimizer. This has been fixed.



CR:350353
CR Number:   350353
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.2 2258 30 Mar 2004 Fixed
9.0.1 1839 30 Mar 2004 Fixed
9.0.0 1292 30 Mar 2004 Fixed
8.0.3 4956 30 Mar 2004 Fixed
8.0.2 4397 30 Mar 2004 Fixed
Description
Modifying and rebuilding an ASP.Net application, which used the Managed Provider, would have caused the ASP.Net worker process aspnet_wp.exe, to consume 100% CPU time. This has now beed corrected.



CR:350374
CR Number:   350374
Product Name:   MobiLink
Product Component:   ASA Client
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   8.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
8.0.2 4398 25 Mar 2004 Fixed
8.0.3 4957 25 Mar 2004 Fixed
9.0.0 1292 25 Mar 2004 Fixed
9.0.1 1841 25 Mar 2004 Fixed
9.0.2 2259 25 Mar 2004 Fixed
Description
If the Synchronization Client dbmlsync, was forced to do Referential Integrity (RI) resolution after applying the download stream, and the parent table had been empty, then every row in the child table would have been erased, even those where there were NULL values in the referencing column(s) of the child table. Now, these rows are no longer erased during RI resolution.



CR:350399
CR Number:   350399
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.2 2258 30 Mar 2004 Fixed
9.0.1 1839 30 Mar 2004 Fixed
9.0.0 1292 30 Mar 2004 Fixed
8.0.3 4397 30 Mar 2004 Fixed
8.0.2 4397 30 Mar 2004 Fixed
8.0.1 3155 30 Mar 2004 Fixed
Description
If a binary column was bound as char (SQL_C_CHAR) or wide char (SQL_C_WCHAR) and the rowset size was greater than 1, and more than 1 row was fetched, the calculation for the offset into the data buffer for the column value was incorrect. For SQLBindCol(), BufferLength is the size of a single element in the data buffer array. The calculation for the offset was (BufferLength* row_number )+(column_size * row_number) where row_number is 0, 1, 2, 3, etc. This incorrect calculation was done in an attempt to compensate for the fact that each binary byte results in two character bytes upon conversion.



For example, if the column was BINARY(20) and it was bound as SQL_C_CHAR and the BufferLength value was 20, then the converted values were stored at offset 0, 20*1+20*1, 20*2+20*2, etc. which was 0, 40, 80, etc. This is incorrect. The column values must be stored at offset 0, offset BufferLength * 1, offset BufferLength * 2, etc. which, in the example, is 0, 20, 40, etc.



This problem has been fixed, but as a result. the application must ensure that the value for BufferLength for binary to character conversions, is double that of the actual column length, in order to avoid truncation. For example, if the column is BINARY(20) and it is bound as SQL_C_CHAR then the BufferLength value must be 40 (ie 2*20).



A similar problem also existed for UniqueIdentifier columns, bound as char (SQL_C_CHAR) or wide char (SQL_C_WCHAR), in which a 16-byte binary value is converted to a 36-byte character string complete with hyphens (e.g., "41dfe9e6-db91-11d2-8c43-006008d26a6f" ). The buffer offset calculation for this was also incorrect, and has also has been corrected.



CR:350530
CR Number:   350530
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 4401 01 Apr 2004 Fixed
8.0.3 4964 01 Apr 2004 Fixed
9.0.0 1293 01 Apr 2004 Fixed
9.0.1 1843 01 Apr 2004 Fixed
9.0.2 2266 01 Apr 2004 Fixed
Description
If a mirror log existed, then running the Database Backup utility dbbackup, with the -x (delete and restart the transaction log) command line option, would have failed to delete the renamed mirror log file created during the backup process. This has now been fixed.



CR:350546
CR Number:   350546
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.2 2259 26 Mar 2004 Fixed
9.0.1 1840 26 Mar 2004 Fixed
Description
A query with multiple columns in the select list of an ANY or ALL subquery is invalid. Such a query would have failed with error -151 - "Subquery allowed only one select list item", or non-fatal assertion 102602 - "Error building ALL subquery" if the select list contained a * that expanded to multiple columns. Now such a query will consistently report error -151.



CR:350551
CR Number:   350551
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.2 2263 31 Mar 2004 Fixed
9.0.1 1842 31 Mar 2004 Fixed
9.0.0 1293 31 Mar 2004 Fixed
8.0.3 4961 31 Mar 2004 Fixed
8.0.2 4399 31 Mar 2004 Fixed
8.0.1 3156 31 Mar 2004 Fixed
Description
When data was inserted using the OLEDB provider into a column with a datatype such as "long varchar", "text", "long binary", "image" or "long varbinary", which have a maximum length of 2 Gbytes, the data may have been truncated at 4 bytes. This problem has now been fixed.



CR:350566
CR Number:   350566
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.2 2259 29 Mar 2004 Fixed
Description
When used as a table-expression in the FROM clause, user defined functions would have returned an empty result set. Now this is disallowed with error -872 - "{function name} does not return a result set".



CR:350675
CR Number:   350675
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2288 27 Apr 2004 Fixed
9.0.1 1853 27 Apr 2004 Fixed
9.0.0 1306 30 Apr 2004 Fixed
Description
If a procedure was defined to return multiple result sets, debugging the procedure and selecting "Step into", on a statement that returned one of the result sets, would have caused the debugger to report the following message:



"The source could not be shown for the procedure because the database filter is excluding it."



This has now been fixed.



CR:350688
CR Number:   350688
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.2 2260 31 Mar 2004 Fixed
9.0.1 1842 31 Mar 2004 Fixed
9.0.0 1292 31 Mar 2004 Fixed
8.0.3 5117 31 Mar 2004 Fixed
8.0.2 4398 31 Mar 2004 Fixed
Description
If an application called ResultSet.last(), to scroll to the last row in the result set, and then called ResultSet.isLast(), to check to see if the cursor was positioned on the last row, the iAnywhere JDBC Driver would have incorrectly returned false, rather than true. This problem has now been fixed.



CR:350816
CR Number:   350816
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.2 2263 31 Mar 2004 Fixed
9.0.1 1842 31 Mar 2004 Fixed
9.0.0 1293 31 Mar 2004 Fixed
Description
Attempting to use the Foreign Key wizard to create a clustered foreign key, with the 'Check on commit' checkbox checked, or specified an Update and/or Delete referential action, then the wizard would have failed to create the foreign key. Instead, a syntax error dialog would have been displayed. An invalid ALTER TABLE statement was being generated, by placing the CLUSTERED keyword before the referential action clauses. Now, the CLUSTERED keyword is placed at the end of the statement.



CR:350821
CR Number:   350821
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)
31 Mar 2004 Fixed
Description
The ability to insert or update table data from the results panel, suffered from the following problems:



1. It was not possible to differentiate between NULL and an empty string



2. It was not possible to predictably specify for a column that the DEFAULT value was to have been inserted



3. It was not possible to change a non-NULL value to a NULL value in a BIT column.



These problems have now been fixed. As part of this fix, the user interface controls used to enter table values have changed as follows:



1. BIT fields are now always shown using a text field. Previously, they were shown using a checkbox or a text field, depending on whether the connection was via jConnect or the iAnywhere JDBC Driver, and depending on the nullability of the column.



2. If a column allows NULL values, or has a default value defined, it is edited using a combobox. The drop-down list contains "(NULL)" and/or "(DEFAULT)" if applicable. If the column does not allow NULL values, and does not have a default, a plain text field is used.



3. If the "Return_date_time_as_string" option is OFF, TIME, DATE, and TIMESTAMP columns can now be edited using an optional time and date chooser. Note that this option is usually ON, so the new editors won't normally be see for these types.



Some other changes that were made to the result set display:



1. The table now displays tool tips for the column headers which shows the name of the column, its data type, whether it accepts null values, and its default value (if one is defined).



2. When editing a value, the column can now be resized and the value editor will not close. Previously, it did.



3. In DBISQL, changing the truncation length on the "Results" page of the "Options" dialog now takes effect immediately. Previously, it would not take effect until the next statement was executed.



4. In DBISQL, there is a new option for setting the string displayed to indicate the default value. By default, it is "(DEFAULT)". this can now be changed from the "Options"

dialog.



CR:350823
CR Number:   350823
Product Name:   SQL Anywhere
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2240 29 Mar 2004 Fixed
9.0.1 1829 29 Mar 2004 Fixed
9.0.0 1282 29 Mar 2004 Fixed
8.0.3 4938 29 Mar 2004 Fixed
8.0.2 4389 29 Mar 2004 Fixed
Description
The Database Unload and Database Extract utilities dbinload and dbxtract, did not recognize temporary tables and avoid generating LOAD TABLE statement for them. The change for Engineering Case 347825 was resulting in an error, when rebuilding a database containing a Global Temporary table if it was created with the ON COMMIT DELETE ROWS clause. Both utilities now avoid generating LOAD TABLE statement for Global Temporary tables.



CR:350836
CR Number:   350836
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.2 2245 29 Mar 2004 Fixed
9.0.1 1831 29 Mar 2004 Fixed
9.0.0 1285 29 Mar 2004 Fixed
8.0.3 4943 29 Mar 2004 Fixed
8.0.2 4391 29 Mar 2004 Fixed
Description
If a LOAD TABLE statement was executed on a Global Temporary table, an exclusive lock was left on the table until a COMMIT was executed. Other connections attempting to reference the table would have been blocked until the lock was released. This lock is unnecessary, so now, executing a LOAD TABLE statement on a Global Temporary table no longer aquires an exclusive lock.



CR:350857
CR Number:   350857
Product Name:   MobiLink
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   9.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2263 01 Apr 2004 Fixed
9.0.1 1842 01 Apr 2004 Fixed
9.0.0 1293 01 Apr 2004 Fixed
Description
When more than one SMTP gateway was enabled in ther notifier setting, only one could have been used. Although more than one SMTP gateway is not usually needed, this problem is now fixed.



CR:350949
CR Number:   350949
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.2 2257 30 Mar 2004 Fixed
9.0.1 1838 30 Mar 2004 Fixed
Description
This is an enhancement to the new feature added in Engineering Case 349938:



If a remote connection has become inactive or is no longer needed, a user can now close the remote connection by executing:



ALTER SERVER server CONNECTION CLOSE [CURRENT|ALL|connection_id]



where "server" is the name of the remote server.



ALTER SERVER server CONNECTION CLOSE, and

ALTER SERVER server CONNECTION CLOSE CURRENT



are the same and will drop the remote connection to the server associated with the local connection. The user does not require DBA authority in this case. Also, both ODBC and JDBC remote connections can be dropped using this syntax.



ALTER SERVER server CONNECTION CLOSE connection_id



will drop the remote ODBC connection associated with the local connection identified by connection_id. If the local connection identified by connection_id is not the current local connection, then the user does require DBA authority in this case. Attempting to drop a remote JDBC connection using this syntax will generate an error. Closing a remote JDBC connection for a local connection that is not the current connection, would require interacting with another connection's VM, which is not possible.



ALTER SERVER server CONNECTION CLOSE ALL



will drop all remote ODBC connections to the server. Attempting to drop all remote JDBC connections using this syntax will generate an error.



This feature is most useful in the case where the remote server has gone away or has dropped the connection(s) due to a timeout. In these cases, the server may not detect that the remote connection(s) is/are no longer useable. Issuing the "ALTER SERVER server CONNECTION CLOSE" statement in such cases will let the local server know that the connection(s) is/are no longer useable and should be discarded. Once a remote connection is closed, the server will create a new connection to the remote server when one is needed.



CR:351001
CR Number:   351001
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Windows CE 2.11
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2336 11 Jun 2004 Fixed
9.0.1 1874 11 Jun 2004 Fixed
9.0.0 1324 11 Jun 2004 Fixed
8.0.3 5117 11 Jun 2004 Fixed
8.0.2 4433 11 Jun 2004 Fixed
Description
On CE devoces, queries could have failed with the error "Dynamic memory exhausted", if a Join Hash operator was used in an access plan and the server cache size was too small. This has been fixed by disabling the Join Hash operator for CE devices during optimization if the available cache has less than 2000 pages. Thus resulting in access plans that do not contain such joins.



CR:351009
CR Number:   351009
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.2 2264 01 Apr 2004 Fixed
9.0.1 1842 01 Apr 2004 Fixed
Description
When using a procedure in place of a table in the FROM clause, that consisted of nothing but a single select statement in the body of the procedure, if the arguments and result columns were the bigint datatype, the server could have crashed.

For example:

create procedure p( rstart bigint )

result ( x bigint )

begin

select row_num from dbo.rowgenerator;

end;



select * from p(1);



This has now been fixed. A workaround is to add some code to the procedure body so that it is not just a single select.



CR:351069
CR Number:   351069
Product Name:   SQL Anywhere
Product Component:   ISQL
Status:   Closed
OS:   Microsoft Windows NT
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.1 1856 20 Jul 2004 Fixed
Description
Attempting to print the graphical plan when running in a language other than English, would have caused dbisql to fail with an internal error. This has been fixed.



CR:351094
CR Number:   351094
Product Name:   SQL Anywhere
Product Component:   OLEDB Client Library
Status:   Closed
OS:   Generic
Original Version:   8.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
9.0.2 2264 01 Apr 2004 Fixed
9.0.1 1842 01 Apr 2004 Fixed
9.0.0 1293 01 Apr 2004 Fixed
8.0.3 4962 01 Apr 2004 Fixed
8.0.2 4400 01 Apr 2004 Fixed
8.0.1 3156 01 Apr 2004 Fixed
Description
The OLEDB driver would almost always treat the database as if it was the 1252 codepage charset. In order to determine the character set of the database to which it was connected, the OLEDB driver queried the server for the collation name. It then used this collation name to search a table of codepage charset names. This was incorrect, as for the most part, collation names (e.g., "1252LATIN1") are not the same as charset names (such as "cp936", "cp1252", and so on). There are some exceptions however. The collation names "sjis", "utf8", and "iso_1" are the same as the charset name, so for these character sets, the problem would not appear. When the search routine did not find the collation name, it would default the charset to 1252. All application data is converted from UNICODE to the database charset, thus all application data was being converted to 1252, perhaps incorrectly.



This problem has been corrected, the correct charset is noe used.



CR:351109
CR Number:   351109
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.2 2294 30 Apr 2004 Fixed
9.0.1 1856 30 Apr 2004 Fixed
9.0.0 1306 30 Apr 2004 Fixed
8.0.3 4993 30 Apr 2004 Fixed
8.0.2 4414 30 Apr 2004 Fixed
Description
When rows were uploaded from a Java UltraLite application to MobiLink, it was possible for MobiLink to download those same rows back to the UltraLite application, even though these rows were not changed and should have been filtered from the download stream. This problem has now been corrected.



CR:351110
CR Number:   351110
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.2 2259 31 Mar 2004 Fixed
9.0.1 1839 31 Mar 2004 Fixed
9.0.0 1292 31 Mar 2004 Fixed
8.0.3 4961 31 Mar 2004 Fixed
8.0.2 4399 31 Mar 2004 Fixed
Description
This change fixes three problems of a similar nature to that addressed by Engineering Case 344946.



Attempts to execute a statement that contained an IN list with too many elements would have lead to the following assertion failure:

104010, "Internal vector size too large"

This was due to an IN list optimization that was failing. The maximum number of IN-list elements was limited by database page size. Now, IN-list size is limited by cache size. However, if an IN list is larger than the above limit, the IN-list optimization will not be used, which may impact performance, but the statement will not fail.



Attempts to execute a statement that referred to too many tables could have lead the to following assertion failure:

101504, "Memory allocation size too large"

The maximum number of tables is limited by database page size.



Attempts to execute a large statement could have lead to the assertion failure:

101503, "Heap index (%d) and heap header page counts (%d) disagree"

if the size of the associated heap was larger than 2^16 pages.





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

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

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

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

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

各种误操作:

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

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

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


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

Sybase ASE数据库恢复工具READSYBDEVICE:

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

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

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

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

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


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

SQL Server数据库恢复工具SQLRescue:

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

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

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

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

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

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

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