提供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:669448
CR Number:   669448
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Generic
Original Version:   10.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3353 17 May 2011 Fixed
12.0.0 2684 17 May 2011 Fixed
11.0.1 2609 17 May 2011 Fixed
Description
When performing a backward index scan (a rare occurrence) while there were heavy concurrent updates to the index, there was a small chance that the server could have made a comparison to a random value with unpredictable results. This has been fixed.



CR:669465
CR Number:   669465
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 3354 10 May 2011 Fixed
12.0.0 2684 10 May 2011 Fixed
11.0.1 2609 17 May 2011 Fixed
Description
The MobiLink server could have crashed when handling restartable downloads and the restartable download cache was too small to hold all possible restartable downloads at one time. This has been fixed.



CR:669572
CR Number:   669572
Product Name:   SQL Anywhere
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3368 07 Jun 2011 Fixed
Description
If the Service utility (dbsvc) was used to shut down a service, and the service took a long time to shut down, dbsvc may have reported that an error occurred. For example, if checkpointing one of the databases took longer than 3 seconds. The server would still have shut down eventually. This has been fixed.



CR:669581
CR Number:   669581
Product Name:   SQL Anywhere
Product Component:   ODBC Client Library
Status:   Closed
OS:   Linux
Original Version:   10.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3372 10 Jun 2011 Fixed
12.0.0 2695 10 Jun 2011 Fixed
11.0.1 2619 10 Jun 2011 Fixed
10.0.1 4237 10 Jun 2011 Fixed
Description
If an application attempted to perform a wide or batched insert, and the application did not bind or set enough parameters to match the number of parameters within the prepared INSERT statement, and the wide insert or batch insert size was greater than 1, then the application would have crashed. This problem has now been fixed.



CR:669633
CR Number:   669633
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 3352 13 May 2011 Fixed
11.0.1 2607 13 May 2011 Fixed
Description
The SQL Anywhere Server provides a system procedure sa_refresh_materialized_views() that can be used to refresh all currently stale materialized views. Invoking the procedure with an argument value of 0 would have caused an error to be reported if at least one of the materialized views failed to be refreshed. This procedure is invoked by the reload script generated by the Unload utility when executed with the "-g" command line switch. This problem has now been resolved.



CR:669738
CR Number:   669738
Product Name:   SQL Anywhere Monitor
Product Component:   SQL Anywhere Monitor
Status:   Closed
OS:   Generic
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3353 18 May 2011 Fixed
Description
The memory used by the Java process spawned by the SQL Anywhere Monitor could have grown without bound if there were MobiLink collectors. It would have grown faster when the MobiLink servers were consistently unreachable. This has been fixed.



CR:669747
CR Number:   669747
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)
12.0.1 3364 02 Jun 2011 Fixed
Description
On Linux systems, when installing the SQL Anywhere Monitor EBF, the installer would have removed the old copy from the samonitor_oldXX directory after migrating samonitor.db. This behavior was different from 12.0.0 EBFs which would always have left the old copy in the samonitor_oldXX directory. This has been fixed.



CR:669783
CR Number:   669783
Product Name:   SQL Anywhere
Product Component:   ISQL
Status:   Closed
OS:   Generic
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3353 16 May 2011 Fixed
12.0.0 2684 16 May 2011 Fixed
11.0.1 2608 16 May 2011 Fixed
Description
The Update Checker could have informed that there were updates, even when it had been asked not to. Specifically, if there had been a new documentation release (in a new language, say), and the Uupdate Checker had been configured to not show informational messages, you would still have been notified. This has been fixed.



CR:669965
CR Number:   669965
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 3355 20 May 2011 Fixed
12.0.0 2682 20 May 2011 Fixed
11.0.1 2609 20 May 2011 Fixed
Description
A database server using web services could have crashed in very rare situations when an HTTP connection was shutdown. This has been fixed.



CR:670020
CR Number:   670020
Product Name:   SQL Anywhere
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3351 13 May 2011 Fixed
Description
The Support utility (dbsupport) may have silently failed to submit diagnostic information if it was a first-time submission. This has been fixed.



CR:670185
CR Number:   670185
Product Name:   SQL Anywhere
Product Component:   DBLIB Client Library
Status:   Closed
OS:   Generic
Original Version:   12.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3352 13 May 2011 Fixed
12.0.0 2683 13 May 2011 Fixed
Description
If a client was attempting to connect over TCP/IP to a server that had just shut down, it is possible that the connection would have returned a SQLE_CONNECTION_ERROR error rather than a SQLE_SERVER_NOT_FOUND. This has been fixed.



CR:670202
CR Number:   670202
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 3352 16 May 2011 Fixed
12.0.0 2683 16 May 2011 Fixed
11.0.1 2607 16 May 2011 Fixed
Description
In rare timing dependent cases, a primary, mirror or copy node server could have crashed or hung.



Also in rare timing dependent cases, partner servers starting for the first time could have fail to have chosen a primary after the changes for Engineering case 663964.



These problems have been fixed.



CR:670360
CR Number:   670360
Product Name:   MobiLink
Product Component:   ASA Client
Status:   Closed
OS:   Generic
Original Version:   7.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3353 16 May 2011 Fixed
12.0.0 2684 16 May 2011 Fixed
11.0.1 2608 16 May 2011 Fixed
Description
The SQL Anywhere synchronization/replication components, including the MobiLink client (dbmlsync) and SQL Remote (dbremote), could have given the error 'No off-line transaction log file found and on-line transaction log starts at offset XXXXX'. This would have occurred:

1) if no transaction-logs-directory was given on its command line; and

2) if the length of the transaction log name including its absolute path was greater than 128 bytes.



This problem is now fixed and the length of the transaction log name plus its absolute path has been extended to 1024 bytes.



CR:670403
CR Number:   670403
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 3354 17 May 2011 Fixed
12.0.0 2684 17 May 2011 Fixed
11.0.1 2609 17 May 2011 Fixed
Description
When a database was shut down (for example, as part of server shutdown) and the database was a high availability mirror or a read-only scale-out copy node, the server could have hung in rare timing dependent cases. If the server was hung due to this problem, there would have been messages like the following in the server console:

A write failed with error code: (6), The handle is invalid.

Fatal error: disk full when writing to "???"



This has been fixed.



CR:670470
CR Number:   670470
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 3471 07 Oct 2011 Fixed
12.0.0 2745 07 Oct 2011 Fixed
11.0.1 2689 07 Oct 2011 Fixed
Description
If the server received an OS error for a disk write to the database file, transaction log file or temporary file, and the written size was zero, then it may have incorrectly reported a disk full error. This has been fixed. As well, disk write error messages will now print the file name and the OS error code.



CR:670486
CR Number:   670486
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 3354 17 May 2011 Fixed
12.0.0 2684 17 May 2011 Fixed
11.0.1 2609 17 May 2011 Fixed
Description
In exceptionally rare cases, the server could have crashed when executing a non-parallel query that contains a hash join. The crash would only have occurred if all of the following conditions were true:

- the probe input of the hash join had already consumed a lot of memory for hash tables

- a child of the hash join returned an error

- a hash based parent query node of the hash join needed to allocate memory for the hash table and is restricted by the memory governor, so that it had to acquire memory from other hash based query nodes.

This problem has been fixed.



CR:670521
CR Number:   670521
Product Name:   SQL Anywhere
Product Component:   ISQL
Status:   Closed
OS:   Generic
Original Version:   12.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3354 17 May 2011 Fixed
12.0.0 2684 17 May 2011 Fixed
Description
Attempting to modify NCHAR, NVARCHAR or LONG NVARCHAR values, using the scrolling table in the "Results" panel, would have silently failed if the value was loaded from a file. This has been fixed.



CR:670838
CR Number:   670838
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 3356 20 May 2011 Fixed
12.0.0 2685 20 May 2011 Fixed
11.0.1 2610 20 May 2011 Fixed
Description
In rare timing dependent cases, if a High Availability mirror server was in the process of taking over as the primary, it could have failed. The 201120 assertion failure could have been logged to the console log. This problem could only have affected servers containing the fix for Engineering issue 663964. This has been fixed.



CR:670866
CR Number:   670866
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 3356 20 May 2011 Fixed
12.0.0 2685 20 May 2011 Fixed
Description
The following query would have incorrectly returned a 1 indicating the date string was acceptable:

select isdate('1234+')



While the following query failed with a runtime error indicating the date string was not acceptable:

select date('1234+')



This problem has been fixed. The "isdate" query now returns 0. At a minimum, the timezone indicator (+) must be followed by hours. For example, '2011+5' is acceptable.



Also, if a date string contained a timezone offset of "+" or "-" and was followed by the Z (Zulu) timezone indicator (e.g., '1234-12-31+Z'), no error was diagnosed. This has been corrected.



CR:670896
CR Number:   670896
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 3356 20 May 2011 Fixed
Description
An "HTTP 404 Not Found" error could have occurred from a web service, if the database that contained that web service was not started at the same time the server was started. This could have happened if the database was started via an ODBC DSN, or with the "START DATABASE" statement. The problem did not occur when the name of the database file was specified on the command line when starting the server. It also would not occur if the database name was specified when calling the web service. This has been fixed.



CR:670990
CR Number:   670990
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 3357 20 May 2011 Fixed
12.0.0 2686 20 May 2011 Fixed
11.0.1 2610 20 May 2011 Fixed
Description
If the number(*) function was used in the VALUES clause of an INSERT statement, then the server would have returned a non-fatal assertion error 106103. This has been fixed so that the correct error is now returned.



CR:671017
CR Number:   671017
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 3402 19 Jul 2011 Fixed
12.0.0 2711 19 Jul 2011 Fixed
11.0.1 2639 19 Jul 2011 Fixed
Description
In a certain virtual machine implementation, CPU topology detection (which is performed at server startup) could spin consuming 100% of a single logical CPU. The VM software had bugs which reported CPU information to the guest operating system in a manner that does not meet Intel's specifications. Changes have now been made so that SQL Anywhere can tolerate the bugs in the VM software without affecting correct CPU detection in other nvironments.



CR:671099
CR Number:   671099
Product Name:   SQL Anywhere
Product Component:   ODBC Client Library
Status:   Closed
OS:   Microsoft Windows
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3376 16 Jun 2011 Fixed
Description
When the ODBC driver ware loaded, part of its initialization involved loading and initializing the system TCP/IP libraries, even in cases where TCP/IP would not be used (eg. creating or viewing a DSN through the Data Source utility). This could have caused delays or problems with some firewall software. This has been fixed so that the TCP/IP libraries are now only loaded and initialized when they will be used.



Note, this change also affect the other SQL Anywhere client libraries as well, i.e. DBLib, OLEDB, ADO.NET, etc.



CR:671397
CR Number:   671397
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 3359 25 May 2011 Fixed
12.0.0 2687 25 May 2011 Fixed
11.0.1 2612 25 May 2011 Fixed
Description
The following Entity Framework datetime functions were not mapped to SQL Anywhere functions:

AddDays, AddHours, AddMicroseconds, AddMilliseconds, AddMinutes, AddMonths, AddSeconds, AddYears, DiffHours, DiffMicroseconds, DiffMilliseconds, DiffMinutes, DiffMonths, DiffSeconds, DiffYears.



For example:

Entities db = new Entities();

var query = db.SalesOrders.Select( x => x ).Where( x => EntityFunctions.DiffDays( x.OrderDate, DateTime.Now ) > 100 );

string trace = ( ( ObjectQuery ) query ).ToTraceString();



This problem has been corrected by adding new function handlers for mapping Entity Framework datetime functions to the SQL Anywhere functions 'DATEADD' and 'DATEDIFF'.



CR:671711
CR Number:   671711
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 3361 26 May 2011 Fixed
12.0.0 2688 26 May 2011 Fixed
11.0.1 2613 26 May 2011 Fixed
Description
The changes for Engineering case 624047 could have caused a server running high availability mirroring, or a read-only scale-out copy node, to fail assertion 200131. The failure was timing dependent, and required accessing an empty table with an index from a read-only connection. This has been fixed.



CR:671906
CR Number:   671906
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 3384 27 Jun 2011 Fixed
11.0.1 2627 27 Jun 2011 Fixed
Description
When processing an UPDATE statement, the server could have constructed erroneous values for the OLD table that would have been created for AFTER ROW or AFTER STATEMENT triggers. This could have lead to incorrect results if the AFTER trigger referenced these values, or could have resulted in the statement failing with an SQL error. The problem would have occurred if and only if the following conditions hold:



1) The UPDATE statement modifies a table that had a primary key, UNIQUE constraint, or unique index.

2) The UPDATE statement modified a column included in the primary key, UNIQUE constraint, or unique index, such that the new value matched a value already existing in the index.

3) The modified table had an AFTER ROW or AFTER STATEMENT trigger



This problem has been corrected.



CR:671911
CR Number:   671911
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 3363 30 May 2011 Fixed
11.0.1 2614 30 May 2011 Fixed
Description
The system function OPENSTRING allows a text file to be parsed and interpreted as a relational table. The schema for OPENSTRING can be explicitly specified or can be provided by means of an existing database table. If a remote (IQ or other proxy) table was used to specify the OPENSTRING schema then the server can behave erratically, including crashing. This problem has now been resolved.



CR:671955
CR Number:   671955
Product Name:   MobiLink
Product Component:   QAnywhere server
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3362 30 May 2011 Fixed
12.0.0 2689 30 May 2011 Fixed
11.0.1 2613 30 May 2011 Fixed
Description
The new property "ianywhere.qa.server.disableDeleteRules" has been added to the QAnywhere server properties that can be specified in the configuration file that can appear after the -m option of the MobiLink command. When set to True (default is False), this property disables the message delete rules and archiving processes that automatically run while the server is running. This property would normally not be used, but it is useful, along with the property "ianywhere.qa.server.disableNotifications", in the scenario where more than one MobiLink server is running on a given consolidated database, and the servers are not in a server farm configuration. In this case, the MobiLink servers must be configured such that only one of the servers is running message delete rules and the QAnywhere notifier.



CR:671957
CR Number:   671957
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 1900 28 Apr 2014 Fixed
12.0.1 4106 28 Apr 2014 Fixed
Description
The server may have returned an incorrect result set when a query had a grouped subquery in the null-supplying side of an outer join, and all the following conditions were true:

- all group by expressions in the subquery were constants

- the subquery had a COUNT aggregate

- the subquery did not affect any table rows

- the outer join condition referenced a constant grouping column of the subquery



For example: If table T1 has no row with a1 < 44 then the query does not return rows in any circumstances.



select *

from T2 left outer join

( select 111 c1, count(*) c2 from T1 where a1 < 44 ) V on T2.a2 = V.c1



This has been fixed.



CR:671994
CR Number:   671994
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 3406 26 Jul 2011 Fixed
Description
Doing an FETCH ABSOLUTE instead of a FETCH RELATIVE could have caused the cursor to move to an incorrect row if the query contained a subquery. This could have resulted in a -197 error code when trying to get column values. The GetRowCount() method does an absolute fetch internally, so the problem could have occurred when invoking this method. This has now been fixed.



CR:672076
CR Number:   672076
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 3363 30 May 2011 Fixed
12.0.0 2690 30 May 2011 Fixed
11.0.1 2614 30 May 2011 Fixed
Description
When inserting a string literal value into a time or timestamp column of a proxy table, if the string literal contained more than 3 digits of precision within the fractional seconds portion of the time/timestamp value, then the fractional seconds would have been truncated to 3 digits of precision. This problem has now been fixed.



Note that this fix only applies to ODBC based Remote Data Access servers. The fractional seconds precision will still be truncated to 3 digits of precision for JDBC based Remote Data Access servers.



CR:672077
CR Number:   672077
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 3363 30 May 2011 Fixed
12.0.0 2690 30 May 2011 Fixed
11.0.1 2614 30 May 2011 Fixed
Description
Executing a query that joined two or more External Environment result sets could have caused the server to crash if the join resulted in a very large result set. This problem has now been fixed.



CR:672080
CR Number:   672080
Product Name:   SQL Anywhere
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3363 30 May 2011 Fixed
Description
The following new entry point has been added to the dbtools library:



DBLogFileInfo function



Obtains the log file and mirror log file information of a non-running database.



Prototype



short DBLogFileInfo ( const a_log_file_info * );

Parameters



A pointer to a structure. See a_log_file_info structure

.

Return value



A return code, as listed in Software component exit codes

.

Remarks



The DBLogFileInfo function returns the log file and mirror log file paths of a non-running database file. Note that this entry point will only work for databases that have been created with SQL Anywhere 10.0.0 and up.



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



Here is the necessary information for the new a_log_file_info structure:



typedef struct a_log_file_info {

unsigned short version; // set this to DB_TOOLS_VERSION_NUMBER

MSG_CALLBACK errorrtn;

const char * dbname; // database file name spec

const char * encryption_key; // database file encryption key

char * logname; // buffer for returning log file name

size_t logname_size; // size of the logname buffer

char * mirrorname; // buffer for returning mirror log file name

size_t mirrorname_size; // size of the mirrorname buffer

void * reserved; // reserved for internal use, must set to NULL

} a_log_file_info;



CR:672088
CR Number:   672088
Product Name:   SQL Anywhere
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3363 30 May 2011 Fixed
12.0.0 2690 30 May 2011 Fixed
11.0.1 2614 30 May 2011 Fixed
Description
The Extraction utility could have incorrectly extracted an event from a consolidated database for a user that would be not be created in the remote database. This has now been corrected.



CR:672094
CR Number:   672094
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 3363 30 May 2011 Fixed
Description
Renaming a table that was marked as no-sync or all-sync would have changed it to a normal synchronizing table if the new name didn't have the "_nosync" or "_allsync" suffix. This has been fixed. The table will now retain its old sync type unless the previous name did have one of the special suffixes ("_nosync", "_allsync", and "_download_only") and the new name does not since a change to the sync type is implied by the removal of the special suffix.



CR:672184
CR Number:   672184
Product Name:   SQL Anywhere
Product Component:   ODBC Client Library
Status:   Closed
OS:   Generic
Original Version:   6.0.00
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3364 31 May 2011 Fixed
12.0.0 2690 31 May 2011 Fixed
11.0.1 2615 31 May 2011 Fixed
10.0.1 4232 31 May 2011 Fixed
Description
If an application attempted to perform a wide insert using the SQL Anywhere ODBC driver, or a batched insert using the SQL Anywhere JDBC driver, then there was a very small chance the application would crash if the system was low on memory or under stress. This problem has now been fixed.



CR:672207
CR Number:   672207
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 3364 31 May 2011 Fixed
12.0.0 2690 31 May 2011 Fixed
Description
When attempting to use the IS [NOT] DISTINCT FROM predicate in a query that involved proxy tables the server would have failed the query with a strange "unknown node type" error. This problem has now been fixed and the IS [NOT] DISTINCT FROM predicate can now be used with proxy tables.



CR:672208
CR Number:   672208
Product Name:   SQL Remote for SQL Anywhere
Product Component:   Database Tools Interface
Status:   Closed
OS:   Generic
Original Version:   11.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3365 02 Jun 2011 Fixed
12.0.0 2691 02 Jun 2011 Fixed
11.0.1 2615 02 Jun 2011 Fixed
Description
The changes for Engineering case 655157 introduced a problem such that when multiple consecutive pinging messages appeared in the incoming message box, SQL

Remote would have generated the warning message:

Deleting duplicate message from ...

and then deleted the duplicate pinging messages.

This problem is fixed so that all the duplicate pinging messages are now processed without complaint.



CR:672213
CR Number:   672213
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 3364 01 Jun 2011 Fixed
12.0.0 2690 01 Jun 2011 Fixed
Description
The Relay Server may have become unrecoverable due to continuous errors from the shared memory manager when one of the backend servers had been serving more that four types of clients. This has been fixed so that a hard limit of 1600 client types is in effect. When the new limit is reached, a graceful error will be reported without affecting the rest of the requests.



CR:672372
CR Number:   672372
Product Name:   UltraLite
Product Component:   UltraLite for M-Business Anywhere
Status:   Closed
OS:   Generic
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3370 09 Jun 2011 Fixed
12.0.0 2694 09 Jun 2011 Fixed
Description
Execution of an ALTER DATABASE SCHEMA FROM FILE statement may have failed with a SQLE_SCRIPT_MISSING_DELIMITER error when using a SQL file generated from ulunload or ulinit. This has been fixed.



CR:672430
CR Number:   672430
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 3365 02 Jun 2011 Fixed
12.0.0 2691 02 Jun 2011 Fixed
Description
In very rare situations, the server may have hang on shutdown, if while in the process of shutting down the option MaxMultiProgrammingLevel was increased. This has been fixed.



CR:672447
CR Number:   672447
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows
Original Version:   12.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3617 05 Mar 2012 Fixed
12.0.0 2785 14 Oct 2011 Fixed
11.0.1 2786 14 Oct 2011 Fixed
Description
Under very rare circumstances, frequent transaction log renames may have left small portions of logs that overlapped. This has been fixed.



CR:672573
CR Number:   672573
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 3395 08 Jul 2011 Fixed
12.0.0 2707 08 Jul 2011 Fixed
11.0.1 2634 08 Jul 2011 Fixed
Description
Using either mixed case or upper case when specifying the ".dll" portion of the assembly name in a CLR external environment procedure, could have caused the external environment to fail to run the specified method within the assembly. For example, an external name clause like:



external name 'MyTest.DLL::MyNameSpace.MyTestClass.MyMethod() int'



would have failed to execute MyNameSpace.MyTestClass.MyMethod, but an external name clause like:



external name 'MyTest.dll::MyNameSpace.MyTestClass.MyMethod() int'



would successfully find and execute MyMethod. This problem has been fixed.



Note that a workaround is to simply lower case the ".dll" portion of the assembly name.



CR:672577
CR Number:   672577
Product Name:   SQL Anywhere
Product Component:   Other
Status:   Closed
OS:   Microsoft Windows
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3367 06 Jun 2011 Fixed
Description
If the PATH environment variable placed earlier versions of SQL Anywhere before version 12.0 in the path, then newdemo.bat would have launched earlier versions of SQL Anywhere utilityes, but used the version 12 Scripts folder. This may have resulted errors if the earlier version did not support the same SQL language that was used by the scripts in the Scripts folder. This problem has been fixed. The newdemo.bat file will now reference the tools explicitly by their path.



Note, the newdemo.bat file is referenced by the SQL Anywhere documentation whenever it is desirable to start with a newly initialised version of the demonstration database.
Workaround Description
 Workaround is to change the PATH environment variable manually.



CR:672633
CR Number:   672633
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 3403 19 Jul 2011 Fixed
Description
When the MobiLink server was running on an OS with a multi-byte character set, and a synchronization request from an Android UltraLiteJ application caused a synchronization error at the server, the UltraLiteJ runtime could have caused an application crash. This has been fixed.



CR:672731
CR Number:   672731
Product Name:   SQL Anywhere Monitor
Product Component:   SQL Anywhere Monitor
Status:   Closed
OS:   Generic
Original Version:   11.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
11.0.1 2616 06 Jun 2011 Fixed
Description
After installing the SQL Anywhere Monitor on a machine with little free contiguous memory, it could not be run. This has been fixed.



CR:672739
CR Number:   672739
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)
12.0.1 3365 06 Jun 2011 Fixed
Description
A number of edits have been made to the SQL Anywhere server, the MobiLink server and UltraLite error messages to improve readability and to make the wording more consistent with the SQL Anywhere documentation. These changes include minor grammatical corrections, and changes to enforce consistency with hyphens and capitalization. No changes were made to SQLCODE, SQLSTATE, or ODBC error states for any of these messages.



CR:672749
CR Number:   672749
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 3367 30 Aug 2011 Fixed
12.0.0 2692 30 Aug 2011 Fixed
11.0.1 2616 30 Aug 2011 Fixed
Description
If the two partner databases in a mirroring configuration were both starting up at the same time, while the servers that were hosting them were attempting to shut down, both servers could have hung. This problem has been fixed.



CR:672858
CR Number:   672858
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 3369 07 Jun 2011 Fixed
11.0.1 2618 07 Jun 2011 Fixed
Description
The server could have crashed if a table was being dropped at the same time as a proxy table was being created. This has been fixed.



CR:672870
CR Number:   672870
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows 2000
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
4138 22 May 2012 Fixed
Description
The SQL Reference defines one possible form of the CASE expression as:



CASE expression-1 WHEN expression-2 THEN expression-3, ... [ ELSE expression-4 ] { END | END CASE }.



It was not possible to use a subquery as expression-1. This has now been fixed.



CR:672879
CR Number:   672879
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 3369 07 Jun 2011 Fixed
12.0.0 2693 07 Jun 2011 Fixed
12.0.0 2618 07 Jun 2011 Fixed
Description
If a High Availability partner or copy node encountered a problem (such as the log file being inconsistent compared to the partner or parent), it would have shutdown the problem database. If the same server was also running one other database (other than the database that was mirrored or a participating in read-only scale-out) the server may have also incorrectly shutdown. This has been fixed so that the mirror server or copy node server will only shutdown the server if the only database running is the problem database.



CR:673014
CR Number:   673014
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 3369 08 Jun 2011 Fixed
Description
When a SQL Anywhere ROOT service processes a request and queries its HTTPServiceName connection property, its name "root" is appended to the first path element (if one is present). This has been fixed. The HTTPServiceName for a ROOT service is always "root".



CR:673024
CR Number:   673024
Product Name:   UltraLiteJ
Product Component:   Utilities
Status:   Closed
OS:   Generic
Original Version:   11.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3369 08 Jun 2011 Fixed
11.0.1 2618 08 Jun 2011 Fixed
Description
The message "Number of tables that are never synchronized:" would have returned the number of tables that were synchronized instead of the number that were never synchronized. This has been fixed.



Also, the message "Number of tables that will always be uploaded:" was incorrect and misleading and the number displayed was invalid. This message has been changed to "Number of tables that are in publications:" and the output has been corrected.



CR:673051
CR Number:   673051
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 3369 08 Jun 2011 Fixed
Description
It was not possible to use ZLib data compression with HTTP synchronization as the methods to enable compression appeared in StreamHTTPSParms, rather than StreamHTTPParms. This has been fixed by moving the methods from StreamHTTPSParms to StreamHTTPParms. Existing applications will continue to run because StreamHTTPSParms is a subclass of StreamHTTPParms.



CR:673173
CR Number:   673173
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 3379 10 Jun 2011 Fixed
12.0.0 2699 20 Jun 2011 Fixed
11.0.1 2618 20 Jun 2011 Fixed
Description
The fix for Engineering case 661622 missed the situation where a subselect that referenced two tables from the main query block, and was equated to a constant, could also have caused the server to fail an assertion or crash .



For example:

Select *

from T1, T2

where 10 = (select e1 from R where p(R,T1, T2) ) and ..



This has now been fixed.



CR:673210
CR Number:   673210
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 3370 09 Jun 2011 Fixed
Description
The NodeType connection parameter is used by read-only scale-out to possibly redirect a connection to a different server. Previously, NodeType supported the values DIRECT, PRIMARY and COPY. Support has now been added for MIRROR and READONLY values.



MIRROR - When the NodeType connection parameter is set to MIRROR, and you have connected to a copy node or the primary server, the connection is redirected to the mirror server.



READONLY - When the NodeType connection parameter is set to READONLY, and you have connected to a copy node or the primary server, the connection is redirected to the copy node in its branch with the lowest load. If there are no copy nodes, the connection is redirected to the mirror server. If you have connected to the mirror node the connection is accepted since the mirror server does not know the status of the copy nodes. READONLY is used to connect to any read-only server, either a copy node or the mirror.



CR:673212
CR Number:   673212
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 3371 10 Jun 2011 Fixed
12.0.0 2694 10 Jun 2011 Fixed
11.0.1 2619 10 Jun 2011 Fixed
Description
1) If one TCP/IP address for one partner server in the partner/mirror/primary server connection string in the MIRROR SERVER or -xp configuration was correct, but the TCP/IP address for the other mirror partner server was incorrect, it was possible for the primary server to have skipped performing checkpoints indefinitely. This could only occur with the incorrect TCP/IP address configuration and if the mirror servers contained the fix for Engineering issue 660851. This has been fixed so that the primary server checkpoints normally.



2) If a High Availability or read-only scale-out server failed to connect to another server, there may not have been any indication of the failed connect. This has been fixed by logging a message to the console for each failed connection.



3) A High Availability or read-only scale-out server may have displayed the message "... recovery n% complete" where n was a number less than zero or much greater than 100. This has been fixed.



CR:673483
CR Number:   673483
Product Name:   UltraLiteJ
Product Component:   Runtime
Status:   Closed
OS:   Generic
Original Version:   11.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3372 14 Jun 2011 Fixed
12.0.0 2620 14 Jun 2011 Fixed
Description
When the method Connection.emergencyShutdown() was called, existing connections on the database did not have their states changed to NOT_CONNECTED. This has been fixed.



Also, the method DatabaseManager.connect() now returns SQLE_INVALID_PARAMETER if passed a NULL configuration.



CR:673561
CR Number:   673561
Product Name:   UltraLiteJ
Product Component:   Runtime
Status:   Closed
OS:   Generic
Original Version:   11.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
11.0.1 2620 14 Jun 2011 Fixed
Description
The changes for Engineering case 623303 caused additional debug integrity checks to be accidentally turned on. Row pages were being checked on every INSERT and DELETE. This has now been fixed.



CR:673641
CR Number:   673641
Product Name:   MobiLink
Product Component:   Java Plugin for Sybase Central
Status:   Closed
OS:   Generic
Original Version:   12.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3373 14 Jun 2011 Fixed
Description
Renaming of a member of a destination alias would have caused an error message saying that there was a problem saving the "deletion rule". Destination alias members can now be successfully renamed without getting an error message. When deleting the members of a destination alias, the exception generated is now explicitly ignored if the client being deleted doesn't actually exist.



CR:673646
CR Number:   673646
Product Name:   MobiLink
Product Component:   Java Plugin for Sybase Central
Status:   Closed
OS:   Generic
Original Version:   12.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3373 14 Jun 2011 Fixed
Description
It was possible to check both the "Task runs on a schedule" and "High priority" boxes in the Remote Task Properties window. These options are mutually exclusive, so this should have been disallowed. This has been fixed.



CR:673678
CR Number:   673678
Product Name:   MobiLink
Product Component:   ASA Client
Status:   Closed
OS:   Generic
Original Version:   9.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
14 Jun 2011 Fixed
Description
If more than one instance of dbmlsync was running on the same machine and they both attempted to create a restartable download file at the same time then it is possible for the file to become corrupted. This will result in errors being reported when another instance of dbmlsync attempts to restart the download.



CR:673704
CR Number:   673704
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 3375 17 Jun 2011 Fixed
12.0.0 2698 17 Jun 2011 Fixed
Description
In very rare circumstances, the histogram cleaner could have caused the server to crash. This has now been fixed.



CR:673844
CR Number:   673844
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Microsoft Windows
Original Version:   10.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3371 14 Jun 2011 Fixed
12.0.0 2694 14 Jun 2011 Fixed
11.0.1 2619 14 Jun 2011 Fixed
10.0.1 4236 14 Jun 2011 Fixed
Description
The server may have crashed while attempting to log a deadlock error between connections. For this to have happened, the Log_deadlocks option needed to have been set to 'on', and at least one of the connections that was participating in the deadlock needed to be executing a query that had a parallel plan.



There are two possible workarounds:

1) Turn off intra-query parallelism by setting the Max_query_tasks option to 1, or

2) Set the Log_deadlocks option to 'off'



This problem has been fixed.



CR:673852
CR Number:   673852
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 3374 11 Jul 2011 Fixed
Description
With both 32 bit and 64 bit versions of SQL Anywhere installed on a 64 bit Windows system, using the Deployment wizard to create a 32 bit install would have displayed the 64-bit UltraLite feature. Attempting to install the MSI that was created in this way on a 32-bit Windows system would have caused the following error:

Module C:\Program Files\SQL Anywhere 12\BIN64\ulodbc12.dll failed to register. HRESULT -2147024703. Contact your support personnel.



This has been fixed.



CR:673856
CR Number:   673856
Product Name:   UltraLite
Product Component:   Runtime Libraries
Status:   Closed
OS:   Generic
Original Version:   11.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3374 14 Jun 2011 Fixed
12.0.0 2696 14 Jun 2011 Fixed
11.0.1 2622 14 Jun 2011 Fixed
Description
Sometimes the TLS internal communication error (220) was reported without a useful system error code (e.g. Certicom error code) for further analysis. This has been corrected.



CR:674024
CR Number:   674024
Product Name:   SQL Anywhere
Product Component:   ISQL
Status:   Closed
OS:   Generic
Original Version:   12.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3375 15 Jun 2011 Fixed
Description
The toolbar buttons in the Interactive SQL utility were not enabled if a stored procedure was executed from Sybase Central and the procedure completed with errors. This has been corrected so that the toolbar buttons are now enabled correctly.



CR:674027
CR Number:   674027
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 3375 16 Jun 2011 Fixed
Description
When using read-only scale-out and the NodeType=COPY parameter, the connection may have been incorrectly redirected to a parent node or a node which had a higher load than the current node. Also, in very rare timing depending cases with concurrent clients connecting with NodeType=COPY, the server could have crashed. These problems have now been fixed.



CR:674032
CR Number:   674032
Product Name:   UltraLiteJ
Product Component:   Runtime
Status:   Closed
OS:   Generic
Original Version:   11.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3483 15 Jun 2011 Fixed
11.0.1 2622 19 Oct 2011 Fixed
Description
A database's in-memory state may have become corrupt if it had many indexes on large tables and small row limits. This would have resulted in an ArrayIndexOutOfBounds exception. The database itself was not actually corrupted and could have been used after disconnecting and reconnecting. This has been fixed.



CR:674063
CR Number:   674063
Product Name:   SQL Anywhere
Product Component:   ISQL
Status:   Closed
OS:   Generic
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3374 21 Jun 2011 Fixed
12.0.0 2697 21 Jun 2011 Fixed
Description
When typing a single-line SQL comment, the Text Completer could have opened while typing. This has been corrected so that the Text Completer remains hidden unless it is explicitly opened.



CR:674120
CR Number:   674120
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 3376 16 Jun 2011 Fixed
12.0.0 2697 16 Jun 2011 Fixed
11.0.1 2624 16 Jun 2011 Fixed
Description
A web server worker may have crashed when logging lengthy debug messages that had not been localized. This has been fixed.



CR:674187
CR Number:   674187
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 3376 16 Jun 2011 Fixed
12.0.0 2697 16 Jun 2011 Fixed
11.0.1 2624 16 Jun 2011 Fixed
Description
A web server worker thread may have crashed when it failed to load the localized language resource (e.g dblge12.dll). The reasons for the failure may have included the file not being found due to path and registry info, or the account associated with the worker did not have permission to read the resource. The symptom was a truncated log line with a missing end-of-line. This has been fixed so that the crash will no longer occur and an unlocalized error message is displayed regarding the loading error.



CR:674206
CR Number:   674206
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 3376 17 Jun 2011 Fixed
Description
The DatabaseManager.release() method is designed to be used only once to release all resources associated with the UltraLiteJ runtime. However, some DatabaseManager methods (eg. connect) did not return an error, but silently failed when called after the call to release(). This has been fixed. Now, a ULjException is thrown with the error code SQLE_NOT_CONNECTED if a connect() or createDatabase() is called after the call to release().



CR:674243
CR Number:   674243
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 3376 17 Jun 2011 Fixed
Description
The text completer in the Interactive SQL utility and Sybase Central usually suggests SQL statements (e.g. DELETE,INSERT,SELECT) when starting to typing a statement. There was a problem that prevented statements from being suggested when typing a new statement if there was already a statement on a later line, and there was no command delimiter (i.e. a semicolon) between the new statement and the existing one. In this case, only matching SQL keywords and database object names would be suggested. This has been fixed.



CR:674250
CR Number:   674250
Product Name:   MobiLink
Product Component:   Synchronization Server
Status:   Closed
OS:   Generic
Original Version:   9.0.2
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3376 17 Jun 2011 Fixed
12.0.0 2697 17 Jun 2011 Fixed
Description
When the MobiLink Server ran against a consolidated database running on Microsoft SQL Server, the MobiLink server could have reported the following error message:

[-10002] Consolidated database server or ODBC error: ODBC: [Microsoft][SQL Server Native Client 10.0][SQL Server]

Cannot drop the table '#elbat_yraropmet_ymmud_a_si_siht', because it does not exist or you do not have permission.

(ODBC State = 42S02, Native error code = 3701)



This error would have occurred in one of the following situations:

1) a deadlock was detected during upload;

2) an error occurred in a trigger that was defined on an upload table; or

3) the 'XAXT_ABORT' option was set to 'ON' in one of the user-defined scripts.



This problem is fixed now.



CR:674262
CR Number:   674262
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)
12.0.1 3376 05 Jul 2011 Fixed
Description
When 64 bit versions of SQL Anywhere, MobiLink or the Relay Server were installed, and none of the corresponding 32-bit features were installed (which is the default feature selection), the Start menu shortcuts to dblang.exe ("Change language to <language>") would not have worked. This has been fixed.



CR:674320
CR Number:   674320
Product Name:   SQL Anywhere
Product Component:   Server
Status:   Closed
OS:   Solaris
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3377 20 Jun 2011 Fixed
11.0.1 2624 20 Jun 2011 Fixed
Description
After a MANUAL or AUTO REFRESH text index was renamed, it may not have been found by subsequent statements. This has been fixed.



Note that restarting the database server eliminates the problem



CR:674389
CR Number:   674389
Product Name:   SQL Anywhere
Product Component:   ODBC Client Library
Status:   Closed
OS:   Microsoft Windows
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3371 17 Jun 2011 Fixed
Description
On Windows desktop platforms, the Winsock version 1 library has been replaced by the Winsock version 2 library. As a result, Wsock32.lib has been replaced by Ws2_32.lib. A few applications (MobiLink, Relay Server) that need Microsoft additional functionality, such as TransferFile, also include Mswsock.lib. The result is the elimination of the Wsock32 DLL and a smaller execution time footprint (36K less).



Note, this change also affects the ADO .NET provider, the OLE DB provider, MobiLink server, Relay Server Outbound Enabler, database server, all SA software requiring TCPIP running on Windows.



CR:674441
CR Number:   674441
Product Name:   UltraLiteJ
Product Component:   Runtime
Status:   Closed
OS:   Generic
Original Version:   11.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
11.0.1 2626 20 Jun 2011 Fixed
Description
Applications with small row limits (due to tables with a lot of columns), many indexes, or large downloads, may have experienced an ArrayIndexOutOfBounds exception while committing the download or while another thread was committing a change parallel to a synchronization. This has been fixed.



CR:674467
CR Number:   674467
Product Name:   UltraLiteJ
Product Component:   Runtime
Status:   Closed
OS:   Generic
Original Version:   11.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3487 26 Oct 2011 Fixed
11.0.1 2701 26 Oct 2011 Fixed
Description
Queries that contained a predicate where an expression was 'greater than or equal to' or less than or equal to' the minimum value for a column, would have returned a result set that included rows where that column was null (if rows with null exist in the table). Moreover, the HASH SIZE for the indexed column must have been large enough to fully hash the indexed value.



For example, if x is of type signed integer and there are rows in T where x is NULL, and there is an index on x with max hash size 4, then the following statement would have returned a result set that included rows where X is NULL:

SELECT * FROM T WHERE x >= -2147483648



This has now been fixed.



CR:674537
CR Number:   674537
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 3381 21 Jun 2011 Fixed
11.0.1 2626 21 Jun 2011 Fixed
Description
Simple INSERT statements referencing a table with an article defined with a non-empty WHERE and/or SUBSCRIBE BY clause could have occasionally failed with a "Column not found" error for the column referenced in either WHERE or SUBSCRIBE BY clause. Re-execution of the same INSERT would, in most cases, have succeeded with no error. This has been fixed.



CR:674545
CR Number:   674545
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 1486 25 Mar 2013 Fixed
12.0.1 3873 25 Mar 2013 Fixed
11.0.1 2958 25 Mar 2013 Fixed
Description
If a function that can be inlined was invoked with an argument that was an expression with restrictions on where in the query it can appear (for example, an aggregate function), a syntax error could have beeen returned. This has been fixed.



CR:674549
CR Number:   674549
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 3788 12 Sep 2012 Fixed
11.0.1 2871 12 Sep 2012 Fixed
Description
The server may have failed assertions 111706, 111707, 106808, or 201200, if the recursive subquery of a recursive common table expression returned a larger select-list item value than its corresponding select-list item in the initial subquery. The problem only happened if the recursive subquery performed a join operation to rows added during previous iterations. This has been fixed so that the server now returns the error

"Recursive column %1: conversion from '%2' to '%3' loses precision ".



CR:674550
CR Number:   674550
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 3380 21 Jun 2011 Fixed
12.0.0 2699 21 Jun 2011 Fixed
11.0.1 2625 21 Jun 2011 Fixed
Description
Calling the system function WRITE_CLIENT_FILE could have incorrectly resulted in the error "Client library reported a permissions error accessing object ('<FILENAME>') during transfer" if there were multiple READ_CLIENT_FILE or WRITE_CLIENT_FILE calls in a batch, procedure, or function referring to the same client file name. This could have happened if the client executed a batch or procedure, which in turn called other functions or procedures which ended up doing multiple READ_CLIENT_FILE or WRITE_CLIENT_FILE calls during the execution of the batch or procedure that was executed by the client. This has been fixed by explicitly closing the file at the end of the function call. The file was previously closed at the end of the request.



CR:674559
CR Number:   674559
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 3393 21 Jun 2011 Fixed
12.0.0 2702 21 Jun 2011 Fixed
Description
1) In a read-only scale out environment, if a copy node was automatically added (no CREATE MIRROR SERVER statement was executed), but the database server was restarted and used a different TCP/IP address or port, it would have failed to connect properly to other mirror servers. This has been fixed so that copy node servers and primary servers that have this fix will automatically continue to be able to connect if the copy node's TCP/IP address or port changes the first time the copy node connects.



2) If an ALTER MIRROR SERVER statement was executed to adjust a copy node's connection string, that copy node may have temporarily failed to connect properly to other servers. This has also been fixed.



CR:674582
CR Number:   674582
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 3377 20 Jun 2011 Fixed
12.0.0 2697 20 Jun 2011 Fixed
11.0.1 2624 20 Jun 2011 Fixed
Description
The server would have crashed when inserting several values lower then MIN_DBL (about 1e-306, which is the smallest double which can be stored in normalised format) which still can be stored using denormalized double values. This was fixes by forcing all of the denormal double values to be rounded down to zero.



CR:674702
CR Number:   674702
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 3373 21 Jun 2011 Fixed
11.0.1 2382 21 Jun 2011 Fixed
Description
Assertion failure messages now include a database name where available.



CR:674704
CR Number:   674704
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 3381 21 Jun 2011 Fixed
12.0.0 2699 21 Jun 2011 Fixed
11.0.1 2626 21 Jun 2011 Fixed
Description
If a directory access server was queried, and one of the files was owned by a user that did not exist on the system where the server was running, then the server would have crashed. This problem has now been fixed.



CR:674740
CR Number:   674740
Product Name:   UltraLiteJ
Product Component:   Runtime
Status:   Closed
OS:   Generic
Original Version:   11.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
11.0.1 2626 22 Jun 2011 Fixed
Description
Applications with small row limits (due to tables with a lot of columns), several indexes and many open cursors (more than 8) on one table may have experienced an ArrayIndexOutOfBounds exception while committing an update. This has been fixed.



CR:674748
CR Number:   674748
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 3391 05 Jul 2011 Fixed
12.0.0 2705 05 Jul 2011 Fixed
11.0.1 2633 05 Jul 2011 Fixed
Description
Attempting to unload and reload a SQL Anywhere database from version 10.0.0 and later could have failed if the database contained a large number of integrated logins, and several of the integrated logins had comments associated with them. This problem has now been fixed.



CR:674753
CR Number:   674753
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 3382 22 Jun 2011 Fixed
12.0.0 2700 22 Jun 2011 Fixed
11.0.1 2626 22 Jun 2011 Fixed
Description
In rare, timing depending cases, a primary, mirror or copy node server could have hung while shutting down. This has been fixed.



CR:674782
CR Number:   674782
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 3382 22 Jun 2011 Fixed
12.0.0 2700 23 Jun 2011 Fixed
11.0.1 2626 23 Jun 2011 Fixed
Description
If a server involved in a high availability mirroring system had active TLS connections, the server may have hung indefinitely due to a thread deadlock. This has been fixed.



CR:674898
CR Number:   674898
Product Name:   UltraLiteJ
Product Component:   Runtime
Status:   Closed
OS:   Generic
Original Version:   11.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3387 04 Jul 2011 Fixed
11.0.1 2630 04 Jul 2011 Fixed
Description
Multi-threading access to an UltraLiteJ database may have resulted in a null pointer or other exception. This problem would have occured if another thread was accessing many rows in a single operation (i.e. updating a table with a large number of rows and indexes with small row limiting values). This has been fixed.



CR:674917
CR Number:   674917
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 3388 04 Jul 2011 Fixed
12.0.0 2706 06 Jul 2011 Fixed
11.0.1 2631 06 Jul 2011 Fixed
Description
Under rare conditions, the server could have crashed when processing queries with intra-query parallelism. This has been fixed.



The crash can be worked around by disabling intra-query parallelism by setting the database option MAX_QUERY_TASKS=1.



CR:674931
CR Number:   674931
Product Name:   SQL Anywhere
Product Component:   ISQL
Status:   Closed
OS:   Generic
Original Version:   12.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3382 23 Jun 2011 Fixed
12.0.0 2700 23 Jun 2011 Fixed
Description
The 32-bit versions of Sybase Central, the Interactive SQL utility, the Console utility, and the MobiLink Monitor, could have failed to start on 32-bit Windows systems under "low" memory conditions. The point at which memory becomes low is difficult to quantify, and depends heavily on the number of other programs running on the machine, and their locations in memory. This has been fixed.



As part of this change, the message that is displayed when the Java Virtual Machine can't start has been improved to include the actual JVM error.



CR:675048
CR Number:   675048
Product Name:   UltraLite
Product Component:   UltraLite.NET
Status:   Closed
OS:   Generic
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3447 12 Sep 2011 Fixed
Description
An application attempting to update a blob column on a result set by calling ULResultSet::AppendByteChunk (ULResultSet.AppendBytes in .NET) would have crashed. The crash wouldn't have occurred when updating a blob column using an UPDATE statement or a ULTable object. In .NET, this problem would have appearred as a System.AccessViolationException. This has been fixed.



Also, when attempting to update a blob column that was NULL using a ULTable object, the column value would have remained NULL. This has also been fixed.



CR:675119
CR Number:   675119
Product Name:   SQL Anywhere
Product Component:   ODBC Client Library
Status:   Closed
OS:   Microsoft Windows
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3432 31 Aug 2011 Fixed
Description
If the Microsoft Firewall Client (FwcWsp.dll) was installed on a Windows systems, applications would see a 20-second delay when the SQL Anywhere ODBC driver was unloaded.



For example, if "Test Connection" was used when configuring a Datasource Name (DSN), using the ODBC Datasource Administrator on a system with Microsoft Firewall Client installed then a 20-second delay occurs after the OK button is clicked.



A work-around has been developed for this problem. If the Firewall Client DLL is present when the SQL Anywhere ODBC driver is unloaded, the Windows Socket libraries are not unloaded by the driver. This avoids the 20-second delay. In this case, the Windows Socket libraries are unloaded when the client application terminates.



CR:675147
CR Number:   675147
Product Name:   SQL Anywhere
Product Component:   ISQL
Status:   Closed
OS:   Generic
Original Version:   12.0.1
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3383 24 Jun 2011 Fixed
Description
The Interactive SQl utility's Import wizard usually remembers the names of recently-imported files and presents them in the combo-boxes where a file can be selected to import. A bug was preventing the list of file names from being remembered. This has been fixed.



CR:675293
CR Number:   675293
Product Name:   SQL Anywhere
Product Component:   DBLIB Client Library
Status:   Closed
OS:   Generic
Original Version:   12.0.0
Fixed Version Build Resolution Date Closure Code (If Appropriate)
12.0.1 3384 27 Jun 2011 Fixed
Description
If an initial connection was made to a blank-padded database, and the connection was redirected because of the NodeType connection parameter, the connection would have incorrectly failed with the error "Database cannot be started -- ???". If the LogFile connection parameter was used to get more information, the generated file would have contained the line "Communication function i_cs_ProtocolErrorP code 0". This has been fixed.



CR:675317
CR Number:   675317
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 3384 28 Jun 2011 Fixed
11.0.1 2628 28 Jun 2011 Fixed
Description
Under extreme load conditions, the Relay Server may log errors on shared memory operations. This logging operation may have crashed the web server worker process. Also, for 12.x Relay Servers, the line label for such logging has the format of <pricessId.threadId.ShmDebug>. The threadId could have been wrong. Both of these problem have now been fixed.





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

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。
+-------------------------------------华丽的分割线-------------------------------------------------------------------------