远程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:695633
CR Number:   695633
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3546 19 Jan 2012 Fixed
Description
Physical plan operators, such as base table sequential scans and joins, could not have be parallelized if an IN filter predicate belonged to that operator. This potentially could have caused performance degradation from earlier version where such operators could have been parallelized. This problem did not prevent the rest of the plan from being parallelized. For example, for a query with four tables and an IN predicate referencing only one of the tables, only the table referenced in the IN predicate could not have been parallelized, while the two joins joining the rest of the three tables could have been parallel joins. This has been fixed.



CR:695762
CR Number:   695762
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3547 19 Jan 2012 Fixed
Description
The ALTER SERVER server CONNECTION CLOSE statement was a DDL statement that could not be executed in a read-only database. This has been fixed so that the statement is now executable in a read-only database, and no longer does an automatic commit.



CR:695772
CR Number:   695772
Product Name:   SQL Anywhere
Product Component:   Other
Status:   Closed
OS:   Generic
Original Version:   11.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3539 17 Jan 2012 Fixed
12.0.0 2772 17 Jan 2012 Fixed
11.0.1 2737 17 Jan 2012 Fixed
Description
When creating a custom MSI install using the deployment wizard, two properties were not being set correctly: UpgradeCode and ProductVersion. This has been fixed so that they are now set correctly.



CR:695774
CR Number:   695774
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows
Original Version:   11.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3549 23 Jan 2012 Fixed
11.0.1 2744 23 Jan 2012 Fixed
Description
Attempting to execute a grouped query with a complex ORDER BY expression could have failed with the error: "Assertion failed: 106105 Unexpected expression type ..". This would have occurred if the complex ORDER BY expression referenced a base table column from the GROUP BY clause - such as "T.X +1", where T.X is a base table column in the GROUP BY clause; and the base table column T.X was eliminated from the GROUP BY clause based on functional dependencies. This has now been corrected.



CR:695788
CR Number:   695788
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3592 24 Feb 2012 Fixed
12.0.0 2780 24 Feb 2012 Fixed
11.0.1 2769 24 Feb 2012 Fixed
Description
In rare, timing dependent cases, the server may have failed fatal assertion 101412 - "Page number on page does not match page requested". This has now been fixed.



CR:695832
CR Number:   695832
Product Name:   UltraLiteJ
Product Component:   Runtime
Status:   Closed
OS:   Generic
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
16.0.0 1529 01 May 2013 Fixed
12.0.1 3895 01 May 2013 Fixed
Description
Reversing the direction of fetches on a cursor would have incorrectly returned the previous row fetched for 慻roup-by query plans. This has been fixed.



CR:695909
CR Number:   695909
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   11.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3548 23 Jan 2012 Fixed
12.0.0 2743 23 Jan 2012 Fixed
Description
Attempting to upgrade a version 10.x database using a version 11.0.0 or later server would likely have failed with the error: "Item 'SYSCAPABILITYNAME' already exists" error. This problem has now been fixed.



CR:696064
CR Number:   696064
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3605 16 Feb 2012 Fixed
Description
A new collation '1252BIN' has been added that is based on the windows-1252 character set but has a binary sort ordering. As with the other binary collations, ordering isn't quite binary when it is used in a case-insensitive database. For case-insensitve 1252BIN collations, upper case letters A-Z sort as if they were lower case (ie, greater than the backquote '`' character).



CR:696240
CR Number:   696240
Product Name:   UltraLiteJ
Product Component:   Runtime
Status:   Closed
OS:   Generic
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3550 23 Jan 2012 Fixed
Description
With UltraLiteJ for Android, the MobiLink file transfer APIs, similar to those for UltraLiteJ for J2SE and BlackBerry, are now supported. Specifically, the method DatabaseManager.createFileTransfer( String fileName, int streamType, String userName, String version ) is supported, as are the interfaces FileTransfer, FileTransferProgressData, and FileTransferProgressListener.



CR:696272
CR Number:   696272
Product Name:   UltraLiteJ
Product Component:   Runtime
Status:   Closed
OS:   Generic
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3553 24 Jan 2012 Fixed
Description
With UltraLiteJ for Android, calling SyncParms.setLivenessTimeout(n) had no effect. This has been fixed. Now the liveness timeout value for the synchronization connection is set to n seconds.



Note, the default liveness timeout for synchronization and file transfer connections is 100 seconds for BlackBerry, J2SE and J2ME platforms, and 240 seconds (the default for UltraLite/MobiLink) for Android platforms.



CR:696323
CR Number:   696323
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3553 24 Jan 2012 Fixed
Description
Localized server resources for the French language have now been enabled on Linux systems.



CR:696394
CR Number:   696394
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3556 25 Jan 2012 Fixed
11.0.1 2748 25 Jan 2012 Fixed
9.0.2 4053 25 Jan 2012 Fixed
Description
Execution of a procedure with a very large argument list may have crashed the server. The crash would have occurred if statement needed to be copied (e.g. a remote server statement or a SELECT INTO statement), and a server worker thread ran out of stack. This has been fixed.



CR:696467
CR Number:   696467
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   11.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3623 28 Mar 2012 Fixed
11.0.1 2785 28 Mar 2012 Fixed
Description
In very rare circumstances, the database server could have consumed 100% of 1 CPU when shutting down, or when stopping a database. This problem has now been fixed.



CR:696469
CR Number:   696469
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   11.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
16.0.0 1680 26 Sep 2013 Fixed
12.0.1 3977 26 Sep 2013 Fixed
Description
Executing an UNLOAD ... TO FILE or UNLOAD ... INTO CLIENT FILE statement with the APPEND ON BYTE ORDER MARK option, would have written a byte order mark even if the unload file already existed with a size greater than zero bytes. This has now been fixed.



CR:696617
CR Number:   696617
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3723 20 Apr 2012 Fixed
11.0.1 2801 20 Apr 2012 Fixed
Description
If the database option PUBLIC.Java_vm_options was set to contain only spaces, then the server would have crashed when the JAVA external environment was started. This problem has now been fixed.



CR:696631
CR Number:   696631
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Microsoft Windows
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3557 26 Jan 2012 Fixed
12.0.0 2775 26 Jan 2012 Fixed
11.0.1 2749 26 Jan 2012 Fixed
Description
Attempting to create a maintenance plan, or test the email settings for a maintenance plan, would have failed when running on a French machine. This has been fixed.



CR:696638
CR Number:   696638
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3575 15 Feb 2012 Fixed
12.0.0 2777 15 Feb 2012 Fixed
11.0.1 2759 15 Feb 2012 Fixed
Description
Using an ALTER TABLE statement to change the length of a string column (char, [long] varchar, [long] binary) that used default INLINE/PREFIX values, would also have explicitly set the INLINE/PREFIX values for that column if there was data in the table. This has been fixed.



CR:696640
CR Number:   696640
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3557 27 Jan 2012 Fixed
12.0.0 2775 27 Jan 2012 Fixed
11.0.1 2749 27 Jan 2012 Fixed
Description
Attempting to create a maintenance plan with a single quote in its name would have failed. The plan's name is used in a generated SQL statement. If the name contained a single quote, then the generated statement would not have executed. Any single quotes in the name are now doubled-up before including it in the generated statement.



CR:696647
CR Number:   696647
Product Name:   MobiLink
Product Component:   Synchronization Server
Status:   Open
OS:   Generic
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3574 26 Jan 2012 Fixed
Description
A new NetworkData class has been added to the Java and .NET scripting APIs to give access to HTTP headers and client-side certificates used in a request. A NetworkData object can be obtained by calling the getNetworkData method, or getting the NetworkData property of the DBConnectionContex class in Java or .NET, respectively. Collection of the network data must be explicitly enabled by adding "collect_network_data=1" to your -x options. To collect client-side certificates, trusted_certificates=<certificate file> must be added to -x options. The client-side certificates are not yet available for MacOS, but that will be added in a future EBF.



The class documentation for the Java class follows:



/**

* Contains information about the network streams for a synchronization.

* This is useful if you wish to authenticate against some other server in

* the enterprise using the client-side certificate and HTTP headers.

*

* To enable collection of network stream data, add collect_network_data=1 to

* your -x switches. This adds additional per sync memory overhead to store

* the data. If using TLS or HTTPS with client-side certificates, add

* trusted_certificates=<certificate file> to have the server ask the client to send

* a certificate during the TLS handshake, incurring a time and network cost.

*

* You can obtain a NetworkData object by invoking the getNetworkData method

* of the DBConnectionContext class. When using HTTP or HTTPS, it will contain

* the header data for the last HTTP request received by the server before the

* authenticate scripts are invoked.

*

* @see DBConnectionContext

*

* @examples

* The following example shows how to get a NetworkData object from the

* DBConnectionContext, and prints the data it contains to the log.

*

* <pre>

* public class OrderProcessor {

* DBConnectionContext _cc;

*

* public OrderProcessor( DBConnectionContext cc ) {

* _cc = cc;

* }

*

* // The method used for the authenticate_user event.

* public void AuthUser() {

* NetworkData nd = _cc.getNetworkData();

* if( nd != null ) {

* if( nd.isHTTP() ) {

* System.out.println( "http" );

* String user_agent = nd.getHTTPHeaderValue( "user-agent" );

* System.out.println( " user-agent: " + user_agent.substring( 0, user_agent.indexOf( '/' ) ) );

* } else {

* System.out.println( "no http" );

* }

* if( nd.isTLS() ) {

* System.out.println( "tls" );

* CertPath certs = nd.getCertificateChain();

* if( certs != null ) {

* System.out.println( " client-side cert:" );

* int n = 1;

* for( Certificate c : certs.getCertificates() ) {

* System.out.println( " cert " + n++ );

* X509Certificate c509 = (X509Certificate) c;

* System.out.println( " Subject: " + c509.getSubjectX500Principal().getName() );

* System.out.println( " Issuer: " + c509.getIssuerX500Principal().getName() );

* }

* } else {

* System.out.println( " no client cert" );

* }

* } else {

* System.out.println( "no tls" );

* }

* if( nd.isEndToEndEncrypted() ) {

* System.out.println( "e2ee" );

* } else {

* System.out.println( "no e2ee" );

* }

* } else {

* System.out.println( "NULL networkdata" );

* }

* }

* }

*

* </pre>

*/

public interface NetworkData

{

/**

* Returns true if this sync is using HTTP or HTTPS, and false otherwise.

*

* @return True if this sync is using HTTP or HTTPS, and false otherwise.

*/

public boolean isHTTP();



/**

* Returns the value of the last header received by the server with the supplied

* name.

*

* @param the header name to the return the value for

*

* @return the last header value associated with the supplied header-name

*

* @see NetworkData#getHTTPHeaderValues

* @see NetworkData#getHTTPHeaders

*/

public String getHTTPHeaderValue( String name );



/**

* Returns all the header values received by the server associated

* with the supplied name.

*

* @param the header name to the return the values for

*

* @return the header values associated with the supplied header-name

*

* @see NetworkData#getHTTPHeaderValue

* @see NetworkData#getHTTPHeaders

*/

public List<String> getHTTPHeaderValues( String name );



/**

* Returns a Map that maps header names to a List of header-values.

*

* @return a Map containing all the headers received by the server.

*

* @see NetworkData#getHTTPHeaderValue

* @see NetworkData#getHTTPHeaderValues

*/

public Map<String, List<String> > getHTTPHeaders();



/**

* Returns true if this sync is using TLS, and false otherwise.

*

* @return True if this sync is using TLS, and false otherwise.

*/

public boolean isTLS();



/**

* Returns a java.security.cert.CertPath containing any certificates

* sent by the client. The certificates are all

* java.security.cert.X509Certificate objects.

*

* This function will return a non-null value only if isTLS() is true,

* the client supplies a certificate using the "identity" stream

* parameter, and the trusted_certificates option is set on the server.

* A non-null CertPath will contain the certificates in order,

* from the self-signed certificate to the peer certificate.

*

* @return A CertPath containing the X509 certificates that identify the

* client, or null if no such certificates were provided.

*/

public java.security.cert.CertPath getCertificateChain();



/**

* Returns true if this sync is end-to-end encrypted, and false otherwise.

*

* @return True if this sync is end-to-end encrypted, and false otherwise.

*/

public boolean isEndToEndEncrypted();

}



This method was added to the Java DBConnectionContext class:



/**

* Returns information about the network streams for a synchronization.

* This is useful if you wish to authenticate against some other server in

* the enterprise using the client-side certificate and HTTP headers.

*

* To enable collection of network stream data, add collect_network_data=1 to

* your -x switches. This adds additional per sync memory overhead to store

* the data.

*

* @return information about the network streams used for the request, or

* null if collection has not been enabled.

* @see NetworkData

*/

NetworkData getNetworkData();



The .NET class documentation follows:



namespace iAnywhere.MobiLink.Script

{

/// <summary>

/// Contains information about the network streams for a synchronization.

/// </summary>

/// <remarks>

/// This is useful if you wish to authenticate against some other server in

/// the enterprise using the client-side certificate and HTTP headers.

///

/// To enable collection of network stream data, add collect_network_data=1 to

/// your -x switches. This adds additional per sync memory overhead to store

/// the data. If using TLS or HTTPS with client-side certificates, add

/// trusted_certificates=<certificate file> to have the server ask the client to send

/// a certificate during the TLS handshake, incurring a time and network cost.



/// You can obtain a NetworkData object by invoking the getNetworkData method

/// of the DBConnectionContext class. When using HTTP or HTTPS, it will contain

/// the header data for the last HTTP request received by the server before the

/// authenticate scripts are invoked.

///

/// </remarks>

/// <example>

/// The following example shows how to get a NetworkData object from the

/// DBConnectionContext, and prints the data it contains to the log.

/// <code>

/// using iAnywhere.MobiLink.Script;

/// using System.Collections.Generic;

/// using System.Security.Cryptography.X509Certificates;

///

/// public class OrderProcessor {

/// DBConnectionContext _cc;

///

/// public OrderProcessor( DBConnectionContext cc ) {

/// _cc = cc;

/// }

///

/// public void AuthUser() {

/// NetworkData nd = _cc.NetworkData;

/// if( nd != null ) {

/// if( nd.IsHTTP ) {

/// PrintLn( "http" );

/// string user_agent = nd.GetHTTPHeaderValue( "user-agent" );

/// PrintLn( " user-agent: " + user_agent.Substring( 0, user_agent.IndexOf( '/' ) ) );

/// } else {

/// PrintLn( "no http" );

/// }

/// if( nd.IsTLS ) {

/// PrintLn( "tls" );

/// X509Certificate2Collection certs = nd.ClientCertificates;

/// if( certs != null ) {

/// PrintLn( " client-side cert:" );

/// int n = 1;

/// foreach( X509Certificate2 x509 in certs ) {

/// PrintLn( " cert " + n++ );

/// PrintLn( " Subject: " + x509.SubjectName.Name );

/// PrintLn( " Issuer: " + x509.IssuerName.Name );

/// }

/// } else {

/// PrintLn( " no client cert" );

/// }

/// } else {

/// PrintLn( "no tls" );

/// }

/// if( nd.IsEndToEndEncrypted ) {

/// PrintLn( "e2ee" );

/// } else {

/// PrintLn( "no e2ee" );

/// }

/// } else {

/// PrintLn( "NULL networkdata" );

/// }

/// }

/// }

/// </code>

/// </example>



public interface NetworkData

{

/// <summary>

/// Returns true if this sync is using HTTP or HTTPS, and false otherwise.

/// </summary>

/// <returns>

/// True if this sync is using HTTP or HTTPS, and false otherwise.

/// </returns>

bool IsHTTP {

get;

}



/// <summary>

/// Returns true if this sync is using TLS or HTTPS, and false otherwise.

/// </summary>

/// <returns>

/// True if this sync is using TLS or HTTPS, and false otherwise.

/// </returns>

bool IsTLS {

get;

}



/// <summary>

/// Returns the existing connection to the MobiLink consolidated database.

/// </summary>

bool IsEndToEndEncrypted {

get;

}



/// <summary>

/// Returns the value of the last header received by the server with the supplied

/// name.

/// </summary>

/// <param name="name"> the header name to the return the value for </param>

/// <return>

/// The last header value associated with the supplied header-name.

/// </return>

///

/// <seealso cref="GetHTTPHeaderValues"/>

/// <seealso cref="HTTPHeaders"/>

///

string GetHTTPHeaderValue( string name );



/// <summary>

/// Returns all the header values received by the server associated with

/// the supplied name.

/// </summary>

/// <param name="name"> the header name to the return the values for </param>

/// <return>

/// The header values associated with the supplied header-name.

/// </return>

///

/// <seealso cref="GetHTTPHeaderValue"/>

/// <seealso cref="HTTPHeaders"/>

///

IList<string> GetHTTPHeaderValues( string name );



/// <summary>

/// Returns a dictionary that maps header names to a list of header-values.

/// </summary>

/// <return>

/// A dictionary of header name-value pairs.

/// </return>

///

/// <seealso cref="GetHTTPHeaderValue"/>

/// <seealso cref="GetHTTPHeaderValues"/>

///

IDictionary<string, IList<string> > HTTPHeaders {

get;

}



/// <summary>

/// Returns an X509Certificate2Collection containing any certificates

/// sent by the client.

/// </summary>

/// <remarks>

/// This function will return a non-null value only if isTLS() is true,

/// the client supplies a certificate using the "identity" stream

/// parameter, and the trusted_certificates option is set on the server.

/// A non-null CertPath will contain the certificates in order,

/// from the self-signed certificate to the peer certificate.

/// </remarks>

/// <return>

/// An X509Certificate2Collection containing the X509 certificates that identify

/// the client, or null if no such certificates were provided.

/// </return>

X509Certificate2Collection ClientCertificates {

get;

}

}

}



The following property was added to the .NET DBConnectionContext:



/// <summary>

/// Returns information about the network streams for a synchronization.

/// </summary>

/// <remarks>

/// This is useful if you wish to authenticate against some other server in

/// the enterprise using the client-side certificate and HTTP headers.

///

/// To enable collection of network stream data, add collect_network_data=1 to

/// your -x switches. This adds additional per sync memory overhead to store

/// the data.

/// </remarks>

///

/// <returns> information about the network streams used for the request, or

/// null if collection has not been enabled.

/// </returns>

///

/// <seealso cref="NetworkData"/>

NetworkData NetworkData {

get;

}



CR:696667
CR Number:   696667
Product Name:   UltraLite
Product Component:   Runtime Libraries
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3558 27 Jan 2012 Fixed
Description
Upgrading an UltraLite database schema by executing "ALTER DATABASE SCHEMA FROM FILE", could have resulted in corrupt indexes. This has been fixed.



CR:696753
CR Number:   696753
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
16.0.0 1651 03 Sep 2013 Fixed
12.0.1 3965 03 Sep 2013 Fixed
11.0.1 3033 03 Sep 2013 Fixed
Description
Under rare circumstances, executing a CREATE TEMPORARY PROCEDURE statement could have crashed the server. This has now been fixed.



CR:696816
CR Number:   696816
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   11.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3559 30 Jan 2012 Fixed
11.0.1 2749 30 Jan 2012 Fixed
Description
Transaction log corruption could have occurred at the mirror or copy nodes of a high availability or read-only scale-out system if the following sequence of events took place:

1) The transaction log was renamed (and a new one started) at the end of a backup of the primary

2) The mirror or copy node caught up and applies some operations from new transaction log

3) The mirror or copy node lost connection with its partner or parent

4) The mirror or copy node reestablished connection with its partner or parent



Note that if the mirror or copy node restarted prior to reconnecting, corruption would not have occurred. If corruption did occur, an 'invalid transaction log' assertion failure on the mirror or copy node was the most likely outcome. This problem has been fixed.



Also, if a copy node (call it CN) has a parent that was not the primary (call it NP), it was possible for CN to stop applying transactions altogether. CN would have remained running as a read-only node but it would not have applied transactions until the database was manually restarted. For CN to enter this state, the following sequence of events must have occurred:

1) CN and NP become disconnected or CN just wasn't running yet

2) NP renamed the transaction log and started a new one (which happens as a result of copying actions performed at the primary)

3) CN and NP reconnect (or CN was started)



In this case, CN will now display a "Recovery complete" message in the console log.



CR:696917
CR Number:   696917
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   11.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3712 23 Mar 2012 Fixed
11.0.1 2781 29 Mar 2012 Fixed
Description
With the QAnywhere .NET client, the elapsed time to queue messages was substantially slower than that of version 9.0.2. Several performance optimizations have been made, bringing the timings closer to those for version 9.0.2.



Note that the SQL client API is no longer supported by default. If the SQL client API is needed, the QAnywhere message store must be initialized using qaagent -si with the new option -sqlapi.



CR:697020
CR Number:   697020
Product Name:   SQL Anywhere
Product Component:   Utilities
Status:   Closed
OS:   Microsoft Windows
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3561 31 Jan 2012 Fixed
Description
Parameters for the Certificate Viewer utility (viewcert) can now be put into a response data file and viewcert can be called as: viewcert @data.



CR:697061
CR Number:   697061
Product Name:   MobiLink
Product Component:   Streams
Status:   Closed
OS:   Generic
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3563 01 Feb 2012 Fixed
Description
The sample certificates in rsaroot.crt and rsaserver.id have been regenerated using SHA1 and 2048-bit RSA keys. The original certificates used MD5 and 1024-bit keys.



CR:697188
CR Number:   697188
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   11.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3584 27 Feb 2012 Fixed
11.0.1 2765 27 Feb 2012 Fixed
Description
When starting the database server, an error is reported (by displaying the usage text) if a non-numeric parameter is passed where a numeric parameter is expected. For example:



dbeng12 -n jcs -c nonsense



However, if the argument to -c started with the a character associated with memory units (k, m, g), no usage text was displayed. For example:



dbeng12 -n jcs -c garbage

dbeng12 -n jcs -c magic

dbeng12 -n jcs -c k



This has been corrected so that the usage text is now displayed.



CR:697189
CR Number:   697189
Product Name:   MobiLink
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   12.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3566 02 Feb 2012 Fixed
12.0.0 2776 02 Feb 2012 Fixed
Description
The MobiLink replay utility (mlreplay) can unpack blobs incorrectly (i.e. using the wrong type) when determining the number of inserts, updates, and deletes in the recorded protocol file. This has been fixed.



CR:697235
CR Number:   697235
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   11.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3566 02 Feb 2012 Fixed
12.0.0 2776 02 Feb 2012 Fixed
11.0.1 2753 02 Feb 2012 Fixed
Description
The changes for Engineering case 695216 introduced problems with certificate files (for example, supplying an ECC certificate when an RSA certificate was expected) which would have yielded the error message "An identity password must be specified", even if a password was specified. This has been fixed. In this example, the correct error message is now "An ECC certificate was supplied where an RSA certificate was expected.".



CR:697289
CR Number:   697289
Product Name:   MobiLink
Product Component:   Relay Server
Status:   Closed
OS:   Generic
Original Version:   11.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3566 02 Feb 2012 Fixed
11.0.1 2755 02 Feb 2012 Fixed
Description
When the Relay Server extension name in the URL was specified with some uppercase characters, the Relay Server extension may have crashed. The Relay Server would have recovered, but active requests involved in the crashing process would have failed. This has been fixed so that uppercase character are now acceptable.



Note: The farm name and server id in the URL remain case sensitive.



CR:697349
CR Number:   697349
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3566 02 Feb 2012 Fixed
Description
The SQL Anywhere HTTP server may have crashed due to rare error condition. This has been fixed.



CR:697439
CR Number:   697439
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3567 03 Feb 2012 Fixed
Description
On rare occasions a time-out of a SQL Anywhere web client procedure may have caused the server to crash. This has been fixed.



CR:697440
CR Number:   697440
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3567 03 Feb 2012 Fixed
Description
The server may have hung on shutdown if an HTTP client procedure was still active. This has been fixed.



CR:697450
CR Number:   697450
Product Name:   MobiLink
Product Component:   Relay Server
Status:   Closed
OS:   Generic
Original Version:   11.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3568 07 Feb 2012 Fixed
11.0.1 2753 07 Feb 2012 Fixed
Description
The Relay Server Outbound Enabler may have crashed in a Relay Server farm environment. This has been fixed.



CR:697464
CR Number:   697464
Product Name:   UltraLite
Product Component:   Runtime Libraries
Status:   Closed
OS:   Generic
Original Version:   12.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3567 06 Feb 2012 Fixed
Description
A synchronization using end-to-end encryption could have crashed on the iPhone. This has been fixed.



CR:697491
CR Number:   697491
Product Name:   SQL Anywhere
Product Component:   DBLIB Client Library
Status:   Closed
OS:   Generic
Original Version:   11.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
02 Apr 2012 Fixed
Description
In Windows applications, some out-of-memory conditions that occurred in SQL Anywhere libraries would have resulted in Windows MessageBox pop-ups to diagnose the condition. After the requisite user interaction (clicking OK), the application would terminate. This was problematic for applications that were written as services where no user console was present. Usually, an out-of-memory condition is a sign of a problem in the application's logic, for example, some resource is not being freed. This behavior has been revised so that when an out-of-memory condition occurs, an entry is now logged to the System Event Log and execution will continue. It is up to the libraries and the application to handle the out-of-memory condition. An application written as a service may terminate unexpectedly when an out-of-memory condition occurs, but this is preferable to entering a suspended state where there is no indication of a problem.



CR:697593
CR Number:   697593
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   11.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3568 06 Feb 2012 Fixed
11.0.1 2753 06 Feb 2012 Fixed
Description
If a row was inserted while a REORGANIZE TABLE process was running, and the inserted row's primary key was greater than the highest primary key at the time the REORGANIZE started, the server could have possibly entered into an infinite loop and consumed 100% of 1 CPU without terminating. The operation could, however, be cancelled. This problem has been fixed.



CR:697611
CR Number:   697611
Product Name:   MobiLink
Product Component:   Relay Server
Status:   Closed
OS:   Generic
Original Version:   12.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3570 06 Feb 2012 Fixed
Description
The Relay Server Outbound Enabler (RSOE) did not log command line arguments on startup and before detecting the availability of a backend server. The command line arguments were only printed after detecting that a backend server was up and while connecting to the Relay Server. This has now been fixed so that command line arguments are printed immediately on startup so that RSOE configurations are visible as early as possible.



CR:697637
CR Number:   697637
Product Name:   MobiLink
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   12.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3571 07 Feb 2012 Fixed
12.0.0 2776 07 Feb 2012 Fixed
Description
The MobiLink Replay utility (mlreplay) could have crashed when using the replay API to customize uploads of tables that had no nullable, signed number, or bit columns. This has been fixed.



CR:697638
CR Number:   697638
Product Name:   UltraLiteJ
Product Component:   Runtime
Status:   Closed
OS:   Generic
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3569 07 Feb 2012 Fixed
Description
With UltraLiteJ for Android, it was not possible to retrieve the SQLCODE of the last executed SQL statement if it was a warning (ie. SQLCODE was greater than 0). This has been fixed. The method Connection.getLastWarning() has been added for Android only. This method returns a SQLInfo object, from which can be obtained the SQL code and a localized message. If the last SQL statement resulted in a SQL error code, a ULjException is thrown, as before.



CR:697900
CR Number:   697900
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3719 21 Mar 2012 Fixed
11.0.1 2795 21 Mar 2012 Fixed
Description
Attempting to execute a long SQL statement to create a stored procedure could have failed with a "parse stack overflow" error (SQLCODE -131). This problem may also have occurred when parsing a long and nested SQL statement. This has been fixed.



CR:697936
CR Number:   697936
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3577 15 Feb 2012 Fixed
11.0.1 2986 17 May 2013 Fixed
Description
A statement could have failed with an error (Assertion 106104 failed) if the statement contained an aggregate function AGG( agg_arg ) where:

- agg_arg was a complex expression

- a complex sub-expression of the agg_arg was used in the WHERE (or in an ON condition)

- the optimizer selected an execution strategy involving "distinct-by-rowids" (for example, there was an EXISTS subquery)



This problem has been fixed.



For example, the following query could have caused the SELECT statement to fail with the assertion failure error:



create table T_DBR_1( x int );

create table T_DBR_2( x int );

insert into T_DBR_1 select row_num from sa_rowgenerator(1,10);

insert into T_DBR_2 select row_num from sa_rowgenerator(1,100);

commit;



select count(*), sum( complex_expr1+2 )

from (

select case R1.x*10 when 11 then R1.x end case complex_expr1

, 99+R2.x as complex_expr2

from T_DBR_1 R1 left join T_DBR_2 R2 on R1.x = R2.x

where exists ( select * from dbo.rowgenerator R3 where R3.row_num+1 = R1.x )

) D

where complex_expr1 <> 12

or complex_expr2+2 <> 11



CR:698048
CR Number:   698048
Product Name:   UltraLite
Product Component:   Runtime Libraries
Status:   Closed
OS:   Generic
Original Version:   12.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3572 10 Feb 2012 Fixed
Description
When using Xcode 4.2 and running armv6 code (i.e., after enabling armv6 and running on 'iPhone 3G' or earlier), UltraLite may have corrupted double (floating point) values stored in the database. This has been fixed. As this seemed to be a compiler issue, it may be better to use an older version of Xcode when targeting these older armv6 devices. Note that switching between Clang and LLVM-GCC will not resolve this issue.



A workaround has been implemented to avoid the problem with double values, but the above note still applies.



CR:698075
CR Number:   698075
Product Name:   MobiLink
Product Component:   Synchronization Server
Status:   Closed
OS:   Generic
Original Version:   12.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3673 10 Feb 2012 Fixed
12.0.0 2777 10 Feb 2012 Fixed
Description
The MobiLink server could have crashed while shutting down when it was using an integrated Outbound Enabler. This has been fixed.



CR:698076
CR Number:   698076
Product Name:   MobiLink
Product Component:   Relay Server
Status:   Closed
OS:   Generic
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3573 13 Feb 2012 Fixed
Description
The Relay Server Outbound Enabler could have reported a SYS64 error ("SYS64: The specified network name is no longer available...") with no ill effect to the client. This would have happened when a backend server timed out the connection, and would often have happened when the HTTP response had been completely received by the Outbound Enabler and the connection remained idle for an extended period of time. Receiving a SYS64 error in that case was false alarm. This has been fixed so that this error is now suppressed and verbosity 4 debug logging will now log this situation as "DoneReceive EOF SYS64..." instead of "DoneReceive EOF", which is for the normal disconnect situation. For the cases where the SYS64 happen prematurely before the entire HTTP response has been received by the Outbound Enabler, the Relay Server will detect the problem and report and error.



CR:698082
CR Number:   698082
Product Name:   MobiLink
Product Component:   Relay Server
Status:   Closed
OS:   Generic
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3574 13 Feb 2012 Fixed
Description
An attempt by the Relay Server to notify the Outbound Enabler to disconnect the associated backend connection may have been mis-routed and discarded. This would have caused a delay in closing the backend connection, together with a SYS64 error, when the backend server eventually timed out the connection. The conditions for this problem were:

- TCP load balancer without stickiness was used in front of a Relay Server farm of size greater than 1; and

- an application session had more than one HTTP request; and

- the session had crossed over to a Relay Sever different from the one where the session started and an I/O error or timeout occurred with the client connection.



The problem was that the Outbound Enabler was misinforming the Relay Server for a change in upward packet destination, when a session was migrated from one Relay Server to another, on a clear request-response boundary. This has now been fixed so that the Outbound Enable is stopped from misinforming the Relay Server.



CR:698198
CR Number:   698198
Product Name:   MobiLink
Product Component:   Synchronization Server
Status:   Closed
OS:   Generic
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3557 10 Feb 2012 Fixed
Description
The -x option of the MobiLink Server now supports the trusted_certificates option when encryption is in effect. The option is comparable to and symmetric with the client-side option of the same name (see Engineering case 696697).



The usage is:

mlsrvXX ... -x tls(...;trusted_certificates=certificate_file) ...

mlsrvXX ... -x https(...;trusted_certificates=certificate_file) ...



Used in the simplest way, the trusted_certificates option provides validation of clients, but without other capabilities like certificate revocation lists. To implement a certificate revocation list and otherwise integrate with your enterprise certificate infrastructure, you'll need to make use of the NetworkData.ClientCertificates API, described in the email forwarded below.



The simplest example to illustrate this is:

client --> ML server --> Enterprise certificate infrastructure



Use the trusted_certificates option to ensure the client certificate is valid, then use the NetworkData.ClientCertificates API to further authenticate the certificate in the authenticate_user script (written in Java or .NET).



CR:698201
CR Number:   698201
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)
12.0.1 3574 13 Feb 2012 Fixed
12.0.0 2777 13 Feb 2012 Fixed
11.0.1 2759 13 Feb 2012 Fixed
Description
The Server could have been unresponsive for a long period of time when a backup was starting. This has now been corrected.



CR:698218
CR Number:   698218
Product Name:   MobiLink
Product Component:   Relay Server
Status:   Closed
OS:   Generic
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3574 07 Mar 2012 Fixed
Description
An attempt by the Relay Server to notify the Outbound Enabler to disconnect the associated backend connection may have been mis-routed and discarded. This would have caused a delay in closing the backend connection, together with a SYS64 error, when the backend server eventually timed out the connection. The conditions for this problem were:

- TCP load balancer without stickiness was used in front of a Relay Server farm of size greater than 1; and

- an application session had more than one HTTP request; and

- the session had crossed over to a Relay Sever different from the one where the session started and an I/O error or timeout occurred with the client connection.



The problem was that the Outbound Enabler was misinforming the Relay Server for a change in upward packet destination, when a session was migrated from one Relay Server to another, on a clear request-response boundary. This has now been fixed so that the Relay Server is protected from being misinformed by Outbound Enablers older than 12.0.1.3574.



CR:698219
CR Number:   698219
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   12.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3574 13 Feb 2012 Fixed
Description
In very rare timing dependent cases, a copy node could have failed to connect to its alternate parent or the root if its parent was unavailable. Additionally, in order for this to have occurred, the copy node's connection to its parent would have had to disconnect for some reason shortly after it connected. This has been fixed.



CR:698236
CR Number:   698236
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   12.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3574 14 Feb 2012 Fixed
12.0.0 2777 14 Feb 2012 Fixed
Description
The drive_model property could have returned a random string of characters if the OS did not make the corresponding property available. This has now been corrected.



CR:698386
CR Number:   698386
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)
12.0.1 3575 14 Feb 2012 Fixed
Description
The Server could have hung in very rare cases if a connection made a Remote Data Access request that required a remote connection to be established. This problem has now been fixed.



CR:698526
CR Number:   698526
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3613 14 Mar 2012 Fixed
11.0.1 2780 14 Mar 2012 Fixed
Description
Windows 7 and Windows 2008R2 support systems with more than 64 logical processors; however, it does so by partitioning them into "groups" with no more than 64 processors in each group. Unless an application takes additional measures to take advantage of multiple processor groups, the application will execute only within one processor group and be unaware that other processors are available. Previously, SQL Anywhere would only recognize and utilize the processors in the group to which it was assigned by the OS at startup, but now SQL Anywhere recognizes and supports all processors on Windows 7, Windows 2008R2.



For more information on Windows processor groups, see the following:

http://blogs.msdn.com/b/saponsqlserver/archive/2010/09/28/windows-2008-r2-groups-processors-sockets-cores-threads-numa-nodes-what-is-all-this.aspx

http://msdn.microsoft.com/en-us/library/windows/desktop/dd405503



In addition to supporting more than 64 processors on Windows, SQL Anywhere now uses the hardware topology as reported by Windows for license enforcement on all supported versions of Windows except Windows 2003 and Windows XP 64-bit edition where the operating system is known to misrepresent the actual topology. Previously, SQL Anywhere relied solely on its own hardware detection on x86 and x64 Windows platforms. By relying on the topology reported by Windows, SQL Anywhere will have a more consistent view of the topology when running in a VM.



These processor topology changes include fixes on other platforms too. On Solaris prior to this change, if the standalone engine was run within a processor set it would bind itself to a single random processor in the set. Now if the standalone engine is run within a processor set, it binds to the lowest numbered processor in the set. Outside of a processor set, the behaviour has not changed: we bind to the lowest processor that is not bound to any set.



Also on Solaris, the database server considered processors that were online but non-interruptible as offline. SQL Anywhere would not bind to such a processor. This problem has also been fixed.



SQL Anywhere now properly avoids processors that are offline when the server starts; however, no attempt is made to adapt to processors that are taken offline or brought online during runtime.



CR:699007
CR Number:   699007
Product Name:   SQL Anywhere
Product Component:   ODBC Client Library
Status:   Closed
OS:   Generic
Original Version:   11.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3579 17 Feb 2012 Fixed
11.0.1 761 17 Feb 2012 Fixed
Description
Calls to ODBC functions SQLGetDiagRec(with HandleType == SQL_HANDLE_ENV) or SQLGetDiagField(with HandleType == SQL_HANDLE_ENV and DiagIdentifier==SQL_DIAG_MESSAGE_TEXT) in the SQL Anywhere ODBC driver may caused a crash under certain circumstances. This problem has been fixed.



CR:699022
CR Number:   699022
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3579 21 Feb 2012 Fixed
Description
If a server was started with the "remote_data_access" secure feature turned on (see -sf command line option), and an application attempted to use the secure feature and subsequently received an error indicating that Remote Data Access was disabled, then any subsequent remote calls would incorrectly have returned a 'cursor already open' error. This problem has now been fixed.



CR:699214
CR Number:   699214
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3582 23 Feb 2012 Fixed
Description
In a mirroring setup of servers running on multiple host machines, it was possible for the system procdure sa_mirror_server_status() to return incorrect information if the hosts did not have the exact same time. In particular, it was possible for it to appear that some servers were not receiving log pages, even if they were up to date. This has been fixed. The "last_updated" column in the table will always report the time relative to the server named in the "server_name" column.



CR:699241
CR Number:   699241
Product Name:   SQL Anywhere
Product Component:   ADO.Net Managed Provider
Status:   Closed
OS:   Generic
Original Version:   11.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3599 06 Mar 2012 Fixed
11.0.1 2773 06 Mar 2012 Fixed
Description
Using the SQL Anywhere ADO .NET Data Provider, the continuous closing and reopening of a pooled connection was slower than it was under version 9.0.2. This problem has been corrected.



SAConnection conn = new SAConnection( connectString );



conn.Open();

.

.

.

conn.Close();



CR:699351
CR Number:   699351
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Generic
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3718 12 Apr 2012 Fixed
Description
When connecting to an SQL Anywhere database from Sybase Central or the Interactive SQL utility, a standard connection dialog is displayed to gather connection options. On the Identification page of that dialog there is a drop-down named "Authentication". When "Windows Integrated Login" was chosen in the drop-down the choice was ignored and the value "Database" was used instead. This has been fixed.
Workaround Description
 If the connection property "INTEGRATED=yes" is set in the Connection Profile in a different way than using the "Edit Connection Profile" dialog the "Windows Integrated Login" can be used.



CR:699355
CR Number:   699355
Product Name:   SQL Anywhere
Product Component:   Other
Status:   Closed
OS:   Generic
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
23 Feb 2012 DEFER
Description
Finer selectable items in Deployment wizard to get smaller MSI files



CR:699387
CR Number:   699387
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3582 23 Feb 2012 Fixed
Description
If a server, or one of the SA client utilities, attempted to launch a secondary application (like an external environment), then the secondary application may have failed to start properly when the command line for the secondary application contained characters that were not 7-bit ASCII. This problem has now been fixed.



CR:699393
CR Number:   699393
Product Name:   UltraLiteJ
Product Component:   Runtime
Status:   Closed
OS:   Generic
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3582 24 Feb 2012 Fixed
Description
With UltraLiteJ for Android, closing a PreparedStatement after its Connection object had been released caused the application to crash. The same was true for a ResultSet object. This has been fixed so that a ULjException with error code -908 "Invalid operation on a closed object" is now thrown.



CR:699537
CR Number:   699537
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3583 24 Feb 2012 Fixed
Description
If several Open Client or jConnect applications attempted to connect to a server using the extended encrypted password protocol, then there was a very small chance the server would crash if all of the extended encrypted password connection requests were made at the same time. This problem has now been fixed.



CR:699667
CR Number:   699667
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3591 01 Mar 2012 Fixed
Description
If an application made a Java external environment call that returned a SQLException on a JDBC statement, then the next call to the Java external environment would have returned with a NullPointerException if there are no other Java calls in between. This has been fixed.



CR:699687
CR Number:   699687
Product Name:   UltraLite
Product Component:   Runtime Libraries
Status:   Closed
OS:   Generic
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3584 24 Feb 2012 Fixed
Description
The UltraLite runtime now supports RSA TLS and HTTPS on Pocket PC 2003 devices. There is no support for ECC or FIPS.



CR:699703
CR Number:   699703
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3584 27 Feb 2012 Fixed
Description
In a mirroring setup, it may have been possible for the sa_mirror_server_status() system procedure to report that the primary server had a higher log offset than the mirror or copy nodes, and it could have remained this way until the server received further transactions. This has been fixed. The log offset reported for the primary server will now report the offset that has been pushed to any mirrored servers.

Note that this was not a problem with the mechanism that pushes log pages to copy nodes and mirror, but with the way the offset was reported.



CR:699839
CR Number:   699839
Product Name:   UltraLite
Product Component:   Runtime Libraries
Status:   Closed
OS:   Generic
Original Version:   12.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3588 27 Feb 2012 Fixed
Description
A hashing algorithm used to speed the access to rows with indexes involving timestamp with time zone columns, in rare conditions, could have performed slightly worse than optimal. This has been fixed.



CR:699971
CR Number:   699971
Product Name:   UltraLite
Product Component:   Runtime Libraries
Status:   Closed
OS:   Generic
Original Version:   12.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3589 29 Feb 2012 Fixed
Description
The index hash for Timestamp with Time Zone columns was not properly incorporating the offset component. This could have lead to an incorrect ordering of timestamp values that had

varying timezone offsets. This has been fixed.



CR:699988
CR Number:   699988
Product Name:   SQL Anywhere
Product Component:   Sybase Central Plug-in
Status:   Closed
OS:   Microsoft Windows
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3589 28 Feb 2012 Fixed
Description
When Sybase Central attempted to execute SQL that used a secured feature, an error would have been reported immediately. Now, a prompt is displayed, allowing the server's secure feature key to be specified, after which the original SQL statement is re-executed.

Note that the server must be started with a secure feature key (-sk) to make use of this feature.



CR:700008
CR Number:   700008
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   11.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3589 29 Feb 2012 Fixed
Description
Under rare circumstances, the server may have failed assertion 101413 - "Unable to allocate a multi-page block of memory". This was more likely when many (~5 or more) databases were running within a server, and when the server was running with a small cache (less than 100M per database); and was more likely to be seen when starting a new database after the server has been running for some time. This has been fixed. A workaround is to start the server with several extra databases, and then stop them as soon as the server is started.



CR:700113
CR Number:   700113
Product Name:   UltraLiteJ
Product Component:   Runtime
Status:   Closed
OS:   Generic
Original Version:   12.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
3590 01 Mar 2012 Fixed
Description
Given a nullable column, or set of columns, in a nullable index with both zero (or empty string/binary, etc) and null values inserted, the following may have occurred:

- searching for the zero or null value (or empty string/binary, etc) would have resulted in an incorrect result set

-) rows with zero or null values may have been intermixed order-wise when scanning the index (i.e. select * from mytable order by col_in_bad_index)

This has been fixed.

Note, primary keys, unique keys (constraints) and not null indexes are not affected by this problem.



CR:700123
CR Number:   700123
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3749 12 Jun 2012 Fixed
Description
If two connections made external calls that in turn attempted to access rows that the other connection already had a lock on, then the server would incorrectly hang the two connections rather than returning a deadlock error to one of the connections involved. This problem has now been fixed.



CR:700132
CR Number:   700132
Product Name:   MobiLink
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3590 29 Feb 2012 Fixed
Description
The Certificate Creation utility (createcert) would have fail to create a certificate with the error "Error occurred encoding object" when run on a leap day, and the expiry for the certificate was not a leap year. This has corrected.



CR:700276
CR Number:   700276
Product Name:   MobiLink
Product Component:   Synchronization Server
Status:   Closed
OS:   Generic
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3590 01 Mar 2012 Fixed
Description
The MobiLink server now supports the Oracle XMLTYPE data type. This Oracle data type can be mapped to the SA/UL XML data type. However, the Oracle database server does actually validate the data before storing it into a XMLTYPE column and SA/UL does not. Therefore, users must make sure the upload XML data are valid XML documents.



Small XML documents with a length less than or equal to 32 KB can be uploaded into and downloaded from an Oracle database with Oracle PL/SQL statements. However, when the length of XML documents is great than 32 KB, the upload XML documents may need to be uploaded into a (global) temporary table by the upload_insert and upload_update scripts and the upload data can then be converted and stored into the actual sync table in the end_upload_rows or end_upload script.



The following section gives sample upload and download scripts to upload and download XMLTYPE objects between an Oracle consolidated and SQLAnywhere remote databases. Here we assume our upload table is defined as

create table test (pk int not null primary key, c1 XMLTYPE)

in the Oracle consolidated database and

create table test (pk int not null primary key, c1 XML)

in the SA remote database. Then the upload and download scripts for the test table could be defined below:



1) All XML documents are less than or equal to 32KB long:

The upload and download scripts can be written as



a) upload_insert:

declare v_pk integer; v_c1 clob; x_c1 xmltype;

begin

v_pk := {ml r.pk};

v_c1 := {ml r.c1};

x_c1 := XMLTYPE.createXML( v_c1 );

insert into test values( v_pk, x_c1 );

end;



b) download_cursor:

select pk, XMLSERIALIZE( content c1 ) from test



This upload_insert script works well, when the XML data length is less than or equal to 32 KB. However, if the XML data length is greater than 32 KB, the Oracle server could complain with the following error:

ORA-01460: unimplemented or unreasonable conversion requested

when the MobiLink server was trying to execute the upload_insert script with the upload data.



2) Some of the XML documents are greater than 32KB long:

If there are any XML documents greater than 32 KB long, we are not able to use Oracle PL/SQL to upload data into the Oracle XMLTYPE columns. To work-around this problem, the upload XML data needs to be uploaded in a global temporary table:



a) upload_insert:

The upload_insert script will upload the XML documents into a global temporary table in the Oracle consolidated database and the global temporary table is defined as

create global temporary table tmp_test (pk int, c1 CLOB)

then the upload_insert script can written as

insert into tmp_test values( {ml r.pk}, {ml r.c1} )

Please note, the c1 column in the temporary table must have the CLOB data type.



b) end_uoload_rows:

The end_upload_rows script first retrieves the XML documents from the global temporary table, converts it to XML documents, and then stores the XML data into the test table. Here is the end_upload_rows script:

insert into test (pk, c1) (select pk, XMLTYPE.createXML(c1) from tmp_test



CR:700287
CR Number:   700287
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)
12.0.1 3592 01 Mar 2012 Fixed
Description
A security issue with Remote Data Access has been fixed.



CR:700309
CR Number:   700309
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   11.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3596 06 Mar 2012 Fixed
11.0.1 2772 06 Mar 2012 Fixed
Description
If there was an apostrophe in a user name or table name, a verbose unload (dbunload -v or an unload in Sybase Central) would have failed, and would have reported a syntax error similar to the following:

***** SQL error: Syntax error near 'xxx' on line 1



Also, during reload, extra apostrophes would be displayed in progress messages containing table, index, view, procedure or trigger names. This problem has been fixed.



CR:700315
CR Number:   700315
Product Name:   MobiLink
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   12.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3593 05 Mar 2012 Fixed
12.0.0 2780 05 Mar 2012 Fixed
Description
The MobiLink Replay utility could have crashed if the GetNumRecordedInserts, GetNumRecordedUpdates, or GetNumRecordedDeletes callbacks were called from the replay DLL with values not explicitly given by MLReplay when calling the GetUploadTransaction callback. This has been fixed.



CR:700426
CR Number:   700426
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Windows CE 2.11
Original Version:   11.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3595 06 Mar 2012 Fixed
11.0.1 2772 06 Mar 2012 Fixed
Description
If files were opened concurrently by two threads of the same process on Windows Mobile / Windows CE devices, the two threads could have been assigned the same POSIX file handle number and IO could then have been directed to the wrong file. This problem, given the nature of Windows Mobile devices, was very unlikely to occur and has been fixed.



Also, a structure used to query the OS version on Windows Mobile / Windows CE devices was not initialized correctly; however, it is not believed ever to have caused a problem. This problem has also been fixed.



CR:700458
CR Number:   700458
Product Name:   SQL Anywhere
Product Component:   ADO.Net Managed Provider
Status:   Closed
OS:   Microsoft Windows
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3594 05 Mar 2012 Fixed
12.0.0 2780 05 Mar 2012 Fixed
11.0.1 2771 05 Mar 2012 Fixed
Description
Support has now been added to the SQL Anywhere ADO.NET provider for latest release of Microsoft Entity Framework - EF 4.3. The major new feature of EF 4.3 is migration tools which enable the user to keep track of the data model changes.



CR:700715
CR Number:   700715
Product Name:   MobiLink
Product Component:   Relay Server
Status:   Closed
OS:   Generic
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3595 06 Mar 2012 Fixed
Description
Downloads of small requests while the Relay Server Outbound Enabler down channel was under low load situation, may have suffered 200ms TCP Nagling latency. This has been fixed by inserting a pad of Ethernet MTU size in order to defeat the Nagling latency at the end of foreseeable download data.



CR:700759
CR Number:   700759
Product Name:   MobiLink
Product Component:   Relay Server
Status:   Closed
OS:   Generic
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3596 06 Mar 2012 Fixed
Description
Some wording in the Relay Server quick setup script has been corrected. The software is not affected by this change.



CR:700788
CR Number:   700788
Product Name:   MobiLink
Product Component:   Relay Server
Status:   Closed
OS:   Generic
Original Version:   11.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3596 07 Mar 2012 Fixed
Description
Affinity cookies assigned by the Relay Server could have become invalid to the Outbound Enabler over time when the Relay Server was being removed from a Relay Server farm. An Outbound Enabler receiving such a request will trigger an unnecessary internal restart that drops other innocent requests. This has been fixed so that the Outbound Enabler will report an OE_SESSION_ERROR to the Relay Server without affecting other ongoing requests.



CR:700803
CR Number:   700803
Product Name:   MobiLink
Product Component:   Relay Server
Status:   Closed
OS:   Generic
Original Version:   11.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3596 07 Mar 2012 Fixed
Description
Client software is expected to have full control of Relay Server affinity using standard HTTP cookie reflection, or proprietary Relay Server affinity header reflection. However, as the Relay Serve usage evolved to cover many kinds of clients, some client software behaves unreasonable in the sense that it was stubbornly reusing the same invalid cookie repeatedly after an error. The expected behavior was either the client software would have discarded the cookie after error, or add an IAS-RS-AF=new URL query parameter to restart a new application session with a new cookie. The Relay Server cookie can become invalid for various reasons including application timeout, Relay Server farm member removal, communication error between OE and the backend server, and others. If the client software doesn't conform to the expectation, the application could have been stuck with an invalid cookie until it was deleted manually. This fix is to have the Relay Server explicitly instruct the client software to expire the cookie immediately when the Relay Server knows the affinity has became invalid. Again, not all stubborn client software can benefit from this, but those that support expires cookie attribute (pre-RFC Netscape draft spec for cookies) should.



CR:700882
CR Number:   700882
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3597 07 Mar 2012 Fixed
Description
If a high availability mirror, or read-only scale-out copy node, needed to restart its database, it could in rare timing dependent cases caused the server to crash. This has been fixed.



CR:700903
CR Number:   700903
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3597 08 Mar 2012 Fixed
Description
In a read-only scale-out setup, it was possible for adding a copy node using "CREATE/ALTER MIRROR SERVER ... USING AUTO PARENT" to fail with the error "Cannot assign automatic mirror server parent", if there were no connected servers that had available spaces in its fan-out. For example, if the root server had ten children and had a fan out of ten, all of which were disconnected, adding another server would fail. This has been fixed. Under these circumstances, the new server will be added as a child of the auto add server.



Auto-parenting uses sa_mirror_server_status() to determine what servers are connected. In a read-only scale-out setup, it was possible for sa_mirror_server_status() to report a copy node as connected when it was actually shut down. This would have happened when the copy node and its parent were shut down in quick succession. This has been fixed. Now, the copy node will appear as connected for up to two minutes, at which point the server will be marked as disconnected.



CR:700928
CR Number:   700928
Product Name:   SQL Anywhere
Product Component:   ADO.Net Managed Provider
Status:   Closed
OS:   Generic
Original Version:   11.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3597 08 Mar 2012 Fixed
12.0.0 2781 08 Mar 2012 Fixed
11.0.1 2772 08 Mar 2012 Fixed
Description
The Entity Framework migration tools could have thrown an exception if the schema name of an entity set was not specified.

For example:

public class BlogContext : DbContext

{

public DbSet<Blog> Blogs { get; set; }

}



[Table( "Blogs" )] // [Table( "Blogs", Schema = "GROUPO" )]

public class Blog

{

public int BlogId { get; set; }

public string Name { get; set; }

public string Url { get; set; }

public int Rating { get; set; }

}



This has now been fixed.



CR:700997
CR Number:   700997
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3711 27 Mar 2012 Fixed
11.0.1 2785 27 Mar 2012 Fixed
Description
On Windows systems, the error "R6025 - pure virtual function call" would have caused a dialog box to be opened, even if the executable should not interact with the desktop. This has been fixed so that no dialog box is now opened.



CR:701061
CR Number:   701061
Product Name:   MobiLink
Product Component:   Relay Server
Status:   Closed
OS:   Generic
Original Version:   11.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 4061 09 Mar 2012 Fixed
Description
Uploading small requests while the Relay Server Outbound Enabler up-channel was under a low load situation may suffered 200ms TCP Nagling latency. This has been fixed by inserting a pad of Ethernet MTU size in order to defeat the Nagling latency at the end of foreseeable upload data. This change introduced a new up_pad_size property in the [option] section of the Relay Server config file. The default value is 1460 which is suitable for Ethernet. This change can be turned off by setting up_pad_size to 0. Online pad size adjustment is supported but it will take effect only after the Outbound Enabler reconnects the up-channel.



CR:701151
CR Number:   701151
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3707 20 Mar 2012 Fixed
11.0.1 2779 20 Mar 2012 Fixed
Description
Read-only connections on an OEM server were not able to drop local temporary database objects. This has been fixed.



CR:701170
CR Number:   701170
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3606 12 Mar 2012 Fixed
Description
In rare timing dependant cases, dropping the mirror server definition for an arbiter in a mirroring configuration could have caused the primary server to hang. This has been fixed.



CR:701212
CR Number:   701212
Product Name:   MobiLink
Product Component:   Relay Server
Status:   Closed
OS:   Generic
Original Version:   11.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3599 12 Mar 2012 Fixed
11.0.1 2773 12 Mar 2012 Fixed
Description
The Relay Server responded with an HTTP 401 status code when the client accessing the backend farm didn't fulfill the client security requirement specified by the client_security property in the backend_farm section in the Relay Server configuration. The message had a typo that has now been corrected to:

"The backend farm rejected this client security"



CR:701327
CR Number:   701327
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3706 20 Mar 2012 Fixed
Description
If an application attempted to fetch data from an ADS proxy table using a 64-bit server, then there was a very good chance the server would have crashed. This problem has now been fixed.



CR:701339
CR Number:   701339
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3709 23 Mar 2012 Fixed
11.0.1 2781 23 Mar 2012 Fixed
Description
The server may have crashed when using a cached query plan if the plan useed a row column variable in a Distinct Hash strategy and the row column variable was of type string or numeric. Row column variables are column names that are used with a REFERENCING table alias name from the CREATE TRIGGER. This has been fixed.



CR:701342
CR Number:   701342
Product Name:   MobiLink
Product Component:   Synchronization Server
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3602 13 Mar 2012 Fixed
11.0.1 2775 13 Mar 2012 Fixed
Description
The following remote types were not supported by the MobiLink Java and .NET direct row APIs:

NCHAR

NVARCHAR

LONG NVARCHAR

VARBIT

LONG VARBIT

XML



This has been fixed.



CR:701343
CR Number:   701343
Product Name:   MobiLink
Product Component:   Synchronization Server
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3602 13 Mar 2012 Fixed
11.0.1 2775 13 Mar 2012 Fixed
Description
Unnecessary cast exceptions could have occurred when using the MobiLink .NET direct row API with SMALLINT and TINYINT columns. This has been fixed.



CR:701344
CR Number:   701344
Product Name:   MobiLink
Product Component:   Synchronization Server
Status:   Closed
OS:   Generic
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3599 12 Mar 2012 Fixed
Description
A security issue with the MobiLink direct row API has been corrected.



CR:701347
CR Number:   701347
Product Name:   MobiLink
Product Component:   Synchronization Server
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3599 13 Mar 2012 Fixed
11.0.1 2775 13 Mar 2012 Fixed
Description
The varchar(max) and varbinary(max) types in Microsoft SQL Server did not work when using the MobiLink .NET-ODBC bridge. This has been fixed.



CR:701348
CR Number:   701348
Product Name:   MobiLink
Product Component:   Synchronization Server
Status:   Closed
OS:   Generic
Original Version:   12.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3602 13 Mar 2012 Fixed
Description
Exceptions were not thrown when strings containing invalid timestamps were assigned to TIMESTAMP WITH TIME ZONE columns in the MobiLink Java and .NET direct row APIs. This has been fixed.



CR:701349
CR Number:   701349
Product Name:   MobiLink
Product Component:   Synchronization Server
Status:   Closed
OS:   Generic
Original Version:   10.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3599 13 Mar 2012 Fixed
11.0.1 2775 13 Mar 2012 Fixed
Description
It was possible to call PreparedStatement.setTime for columns that were not times or dates in the MobiLink direct row API. This has been corrected.



CR:701364
CR Number:   701364
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows
Original Version:   11.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3719 16 Apr 2012 Fixed
11.0.1 2795 16 Apr 2012 Fixed
Description
Queries with derived tables or views using UNION, EXCEPT, INTERSECT orRECURSIVE constructs may have returned incorrect results. For this problem to have occurred at least one child of the derived table or view would have had a LIMIT, window function, or DISTINCT clause, and there was a predicate referring only to the columns of the derived table or the view in the main query block. This has been fixed.



CR:701382
CR Number:   701382
Product Name:   MobiLink
Product Component:   Relay Server
Status:   Closed
OS:   Generic
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3604 13 Mar 2012 Fixed
11.0.1 2776 13 Mar 2012 Fixed
Description
The Relay Server and the Outbound Enabled log files contained an error in the UTC time zone offset log line. This has been fixed. The correct log line now reads: "Time zone offset from UTC in minutes:"



CR:701470
CR Number:   701470
Product Name:   SQL Anywhere
Product Component:   Utilities
Status:   Closed
OS:   Microsoft Windows
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3596 13 Mar 2012 Fixed
Description
The Certificate Viewer utility (viewcert) now accepts the -q parameter, which will suppress all output from the command, including error messages.





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