2087883 - Targeted CR List for ASE 15.0.2 ESD #4 | SAP Knowledge Base Article

SAP Knowledge Base Articles - preview

2087883 - Targeted CR List for ASE 15.0.2 ESD #4


The purpose of this KBA is to help SAP customers obtain a general idea of potential fixed situations in future Adaptive Server Enterprise (ASE) EBF/SP or PL releases. Please be sure to read the Disclaimer below.

If the EBF/SP has been released, check the CR list and coverletter at the service.sap.com.

Disclaimer: This document lists the targeted (not committed) release dates and the targeted fixed CR list for each release. Please be aware that the purpose of this posting is solely to provide you, our customers with estimated release dates and targeted CR lists. SAP does not commit to releasing on the specified dates or to including the CR fixes in the said release. While every effort will be made to meet the said targets, changes can occur at any time. It is also possible (although unlikely) that SAP may decide not to release an EBF/SP that was previously scheduled for release.

CR number



sp_config_rep_agent < dbname > , "trace log file" needs to allow more than 30 characters for longer file paths.


Allow ASE to close one errorlog file, and open a new file without rebooting the ASE.


Sometimes the internal Adaptive Server clock might differ from Operating System clock (as returned by GETDATE()). A new built in function called GET_INTERNAL_DATE() has been introduced to return the Adaptive Server internal clock value. The internal clock value is used for assigning dates to internal objects and only ever increments to ensure that time moves in one direction only. Over time, the internal clock synchronizes closely with the OS clock. Discrepancies between the clocks tend to arise when the OS time is abruptly changed or if being used, when daylight saving transitions happen. The internal date is used for things such as the crdate field in sysobjects and sysindexes, the loggedindatetime in syslogins, WAITFOR commands, and the datetime stamps in begin tran and commit tran log records.


Improve the performance of DROP INDEX and CREATE INDEX by releasing the system catalog locks when not in DDL-IN-TRAN mode after the commit of the transaction but before post commit work started. This enhancement is triggered by -T3710 either at boot time or via DBCC TRACEON(3710).


If complete deadlock information which gives deadlock chains and details is not needed, customer can set 'print deadlock information' to value 2. This will print only 1 line summary of Deadlock giving only Deadlock ID.


Add Mnemonic Keys for Unix ICU tools GUI.


syconfig did not support mnemonic keys


Adaptive Server tries to flush a free descriptor from the local cache of engines' by migrating to the engine without looking at the count of free descriptors on that engine, leading to a small performance degradation when all descriptors are in use.


A 7114 error, "Page 0 is not a valid text page." may be reported in the error log after loading the master database in an ASE which has a smaller value for the configuration parameter "max memory" than in the ASE when the master is dumped.


Planviewer used to perform poorly for stored procedures, since it did not make use of the cost section of the plan. This was because the tool assumed that the cost section of the plan was not accurate. However the reality was that the cost section is accurate. Planviewer is fixed to make use of this section, hence its performance is enhanced.


sybatch - sample res scripts in 1501 release include paths for ASE 12.5 releases


SSL ct_connect attempts fail intermittently when ASE is started with a TLI listener with the following error: Client MsgNo: 84083974. Client Msg : ct_connect(): network packet layer: internal net library error: Net-Library operation terminated due to disconnect.


DBCC stored procedures for reporting and clean up may have slow response time.


Job Scheduler work abnormally when startdate is earlier than 83 days from present date.


If an ASE user task causes a stack overflow exception on the Windows platform, this can cause the entire server to hang rather than terminating that one user task and continuing with others


sp_dbcc_recommendations gives incorrect recommendation for error 100028. This error results when checkstorage finds data on a different segment than that of the table to which it belongs.


701 errors may be raised and/or procedure cache thrashing for queries containing hash and/or sort operators with large estimated input sets. Buffer requirements increase as the operator's estimated input set size does. This had a secondary impact on contiguous memory requirements in the procedure cache. Contiguous memory requirements to manage hash and sort operator buffers has been eliminated.


The user can enable/disable rtds provider separately. When the user enables or disables one rtms provider, the other enabled providers are not affected.


Allow Replication Agent to differentiate the 'dump tran' command from the 'dump tran with standby_access' command, so that replication can take different actions for both commands.


Changes have been made to reduce procedure cache usage with large histograms.


Under some circumstances a query which joins data from an EFTS text index with local data and also includes subqueries can perform poorly with ASE 15 compared to earlier releases.


Stacktrace could happen during execution if the query has a correlated subquery under OR and the OR predicate's transformation could render the subquery part of the always-TRUE conjunct (being "redundant"). For example, (a=1) or ((a=1) and (subq)) could be transformed into the equivalent (a=1) without the subq evaluation.


LDAP UA has been supported on ibmplinux.


When a server is configured with a case-insensitive or accent-insensitive sort order and character columns that appear in the select list of a query also appear in a join clause (or a where clause acting as a equi-join condition), the column data returned may come from any table where the data is considered "equal" under the rules case or accent-insensitive sort order in effect.


support RTDS to send message to cluster queue on IBM MQ.


In the SQL debugger, a user cannot "show" or "set" new datatype variables.


If a view column's definition contains a subquery, such as: CREATE VIEW v1 AS SELECT col1 = (SELECT name FROM t2 WHERE t2.id = t1.id) FROM t1 and this column appears on the left side of an IN-expression that contains a subquery on it's right side, such as: WHERE v1.col1 IN (SELECT ...) Query execution may be aborted with a segmentation fault in the function, QpConstGetGc() and a stack trace that contains GtqSingleSubqScan::GtInterestingTcIdBm().


Japanese error messages 7223, 13006 and 13007 are incorrectly translated.


In rare circumstances, an allocation page error (such as a 2540 error) may be reported by DBCC CHECKALLOC after Adaptive Server is rebooted following abnormal termination at which time a CREATE INDEX on an empty table was active. For the 15.0.1 CE edition, a 6908 error may be reported during server reboot, node failover, LOAD DATABASE or LOAD TRAN after a CREATE INDEX on an empty table was done.


Kills issued against spids doing queries with external sorts did not rollback immediately.


The optimizer could fail to find a query plan for a query containing outer joins and an IN/EXISTS subquery with at least 2 tables on the inner side of the outer join.


Error message 240043 has a spelling mistake.


Queries involving Union All can require large amounts of procedure cache leading to a 701 or timeslice error.


When executing a SQL query from the SQL debugger the ASE may get killed with spinlock violation errors. This may happen if during the execution of the statement some serious error arrives. Errorlog file will include stack trace dump with modules dbgrpc_control, sqldbg__execsql and ubffree.


Optimizer doesnt choose a parallel plan for certain kind of join queries that fulfill the requirements for a parallel-join algorithm.


Error 691 "Encountered invalid logical page '0' while accessing object ' < tableid > ' in database ' < dbid > ' ..." may be reported during the execution of WRITETEXT when a text/image column was marked for replication and the data for the given table was inserted using the bulk copy fast interface.


Compiler Optimizations that rearrange code blocks will lead to (-)ve Keep count in the Partition descriptor.


After upgrading, extended stored procedures get error 7218


The error message 14810 will be reported when using the logical tables within a trigger with the FOR XML clause.


Cursor with query using row_count() builtin may fail producing stack traces. Errorlog will report in the stack trace modules like LeRun,ptngetrowcount,open_nextvarno.


Warning message 307, "Index < index_name > specified as optimizer hint in the FROM clause of table < table_name > does not exist. Optimizer will choose another index instead." is disabled under Trace Flag 15381.


Enable ASE Messaging on Solaris x86 64 bit platform


DBCC CHECKSTORAGE may report spurious corruptions if the scan and text workspace are configured to the same object name value. The stored procedure sp_dbcc_configreport allows the same object name value to be used for both mistakenly.


In an "if exists" block, if a table is referenced that does not exist, an error stating that the table is not found is raised even though the block should not have been executed.


When sp_spaceusage is used for the entity-specific help on the 'display'/'report' action, the error message "Duplicate position specifier in format string of PRINT command" is raised.


ASE 15.0.2 install program does not execute on Redhat Enterprise Linux 5.0 or SuSE Linux Enterprise Server 10 on IBM POWER platform.


In very rare circumstances, Adaptive Server may hit a timeslice error together with a stack trace which includes the modules 'mem_getpages' or 'proc_get' for a server with a large procedure cache.


The message "process infected with signal 11" is reported in the errorlog together with a stack trace which includes the modules 'dropo' and 'logcommand' when dropping a User-Defined SQL Function in a database with DDL replication enabled.


infected with 11 in CgEvals::_CgCompVcol when using forceplan


sp_helptext "showsql" may display a grave accent mark (`) in stored procedure text if the text includes multi-byte characters.


Printing bigints using "print" on windows may give wrong result.


Previously when DBISQL was launched for the first time from ASEP, it would use the default settings instead of the saved settings. For example, it would use 500 as "Maximum number of rows to display" even though the saved setting was, say, 50. (Subsequently launched DBISQL from ASEP would use the saved settings.) This has been fixed. (As a result of the fix, DBISQL's window position is now correctly restored when launched from ASEP.)


A create table command that contains a computed column with a case expression may cause a stacktrace.


Issuing the commands sp_configure "optimization goal", 0, "allrows_oltp" or sp_configure "optimization goal", 0, "fastfirstrow" can disable replication agent threads on some platforms.


When derived tables expose columns that refer to local variables, a segmentation violation error may be seen in the optimizer code, with the function name ScalarNormalizing()at the top of the stack.


Under rare circumstances an excessive number of 'Ex_intent' table locks for the same table may be reported by SP_LOCK, despite them being compatible. The same may be seen with 'Sh_intent' locks.


Under certain circumstances, when a statistical aggregate (stddev or variance) is combined with other aggregates in a query containing a group-by clause, the process can be terminated prematurely.


Performance of queries returning only constants (no table references) can be improved by implementing a new operator to echo a row, without any cache set up required.


When using srvbuildres from 1502 to create a new ASE instance, it takes a long time if the resource file used on this, has the default comments for the last line ("sqlsrv.addl_cmdline_parameters")


After modifying the RUN_server_back file, adding the supported arguments -P and/or a -m, sqlupgrade of backupserver fails: The flag '-P' is not supported by Backup Server. Unable to parse '/opt/sybase/ASE-12_5/install/RUN_r1254_back'


sp_passwordpolicy 'expire login password' raises error 17231, "No login with the specified name exists." even if the login exists. sp_passwordpolicy 'expire role password' raises error 17678, "Illegal role name '%1!' specified." even if the role exists. This only affects logins/roles having upper case characters.


Add I/O write options for Add Database Device Wizard.


In rare circumstances, a session may block on locks for object SYSANCHORS in a given database while its transaction log is undergoing truncation triggered either by an explicit 'DUMP TRANSACTION' command or by the 'CHECKPOINT SLEEP' process.


Server might choose a wrong index when a query uses TOP and ORDER BY at the same time.


When SQL Text display is turned ON with Application Tracing feature, then the SQL Text for commands executed by user are not differentiated from internally executed commands.


Process trying to establish communication with remote server cannot be killed


DBCC REBUILD_TEXT has been extended to set replication related fields in each first text page.


HK CHORES task may flood the error log with many "RSA keypair regeneration failed" messages when the regeneration of a keypair fails.


If the database has indexes with the same name and different type (one local and one global) on different tables then sp_helpindex on a specific table will report wrong index type i.e. global index as local index.


A client attempting to execute a parameterized language request gets an Error 154, "Variable not allowed in procedure" when attemping FOR XML during an insert trigger.


In rare circumstances, a race condition may occured between the ASE thread and its corresponding Q engine native thread, leading the ASE spid to hang. In that case, the IBM MQ API call is not executed and the ASE process is wongly waiting for the completion of that messaging call.


Verification of the SSL Certificate may incorrectly fail with the following message: "Warning: command 'addcert' adds certificate path < certifcate path > with its common name field different from server name."


In some cases when a query plan for an UPDATE query uses the general OR strategy (as can be seen by the presence of a RIDJoin operator in the showplan output), the updates to the qualifying rows may be done in deferred mode when direct mode is possible (also seen in the showplan output). This could result in performance degradation in highly concurrent systems.


Extend UPDATE STATISTICS command to indicate out of range histogram adjustment to be enabled or disabled at the column level. Optdiag output is also enhanced to display this information.


A query using parallel threads may get a stack trace including the function pipe_emptypipe().


Repagent does not send structured token for unsigned integer identity datatypes.


The row_count() built-in command may not return accurate results when executed for the Sybsecurity..Sysaudits tables.


Server Config leaves the ASE in shutdown state after a failed upgrade if the upgrade eligibility tests fail.


Add recompilation information in showplan output for cached statements and stored procedures.


After a CT-Lib application opens a transaction across 21 or more databases and calls ct_cancel(CS_CANCEL_ALL), Adaptive Server reports a stack trace with signal 11 in 'plc__flush' when the transaction is rolled back.


Costing issues occur when 2 or more tables are involved in a semijoin. The costing of EXISTS flattened queries or implicit EXISTS queries (as was the case in this query, where the query was converted into and EXISTS query) was overly optimistic in cases where more than one table participates in the existence joins. In particular, the fast first rows costing used for EXISTS queries, underestimated the number of outer rows for some of the nested loop join operators, and underestimated some of the scan costs for the inner tables/indices of a nested loop join involved in a EXISTS (or semi-join). The change puts some lower bounds on the fast first row costing so that the outer row counts are consistent with the overall cardinality estimate of the semi-join group (a semi join group is a set of 2 or more tables that together are transformed into a multi-table semi-join in the show plan output).


Java functions that worked in ASE 12.5.4 are returning NULL in 15.0.2


sp_who displays site handler as having master rather than the default tempdb as it's tempdb


On systems with large procedure cache ( > 100 M-bytes), ASE may scale down its memory allocation to smaller chunks when the procedure cache is full and fragmented. A command line trace flag -T757 is introduced to have ASE first replace an unused stored procedure, before scaling its memory allocation down to smaller chunks.


Previously, result sets generated by a statement with an explicit owner name were not editable. Now they are. (Before this change, the result set generated by: SELECT * FROM mytable would be editable, but the result set generated by: SELECT * FROM dba.mytable was not.) Previously, when a statement returns more than 10 result sets, DBISQL displayed only the first 10 silently in grid mode. Now DBISQL will display a dialog with the following message: "The statement returned more than 10 results set, but only the first 10 have been displayed."


Sysdatabases.audflags and Sydatabases.deftabaud fields may not be properly initialized after the command 'LOAD DATABASE' has been executed.


A query plan that applies dynamic partition elimination will have a showplan output that contains the following lines: | |SCAN Operator (VA = 0) | | FROM TABLE | | rv3 | | [ Using Dynamic Partition Elimination ] | | Table Scan. | | Forward Scan. If the query plan is re-executed (i.e. it's in a stored procdedure), the showplan output for the second and subsequent executions will show extraneous lines of output beginning with "{ Eliminated Partitons", such as: | |SCAN Operator (VA = 0) | | FROM TABLE | | rv3 | | [ Eliminated Partitions : 1 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 ] | | [ Eliminated Partitions : 1 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 [ Using Dynamic Partition Elimination ] | | Table Scan. | | Forward Scan.


When using bcp -C to load data into a table with an encrypted column that has a declarative or bound default, the bcp-in operation may fail. The ASE error log may contain a stacktrace containing: infected with signal 11 in col_encrypt.


When executing a query plan in which the optimizer has chosen to use a general OR strategy (as can be seen by the presence of a RIDJoin Operator in the showplan output) and where the table being scanned has a datarows lockscheme, row level locks will not be released once the rows have been read. The accumulation of these row locks can lead to escalation to a shared table lock if the configured row lock promotion threshhold is exceeded.


A 605 error "An attempt was made to fetch logical page ' < pageid > ' from cache ' < cache_name > '. Page belongs to database < ptninfo > and not to < ptninfo > may sometimes happen after crash recovery.


For large join ( > 50 tables), stack overflow might happen during the recursive call of SeHyPermStrat::_SeHyPsPrime() when stack size is not large enough.


102, 156, 11031, 11032, 11034 or other similar error is returned when a compiled object with hidden source text is executed after database is loaded across platform where the byte order(endian type) is different.


Under the following conditions: - A cursor is declared with a SELECT statement that contains either an IN-list or OR-clauses on the same column, such as DECLARE curs1 CURSOR FOR SELECT id FROM sysobjects WHERE id IN (1,2,3); and - The optimizer chooses a special OR strategy for the query plan, as can be seen in the showplan output by the presence of 'FROM OR List'; and - The cursor is OPEN'd and FETCH'd at least once; and - The row that the cursor is currently positioned on is deleted, either through a searched DELETE command or a searched UPDATE command that causes the row to move. A 582 error will be raised if another FETCH command is issued on the cursor.


A view that uses a SQL UDF will get a 225 error after the SQL UDF is dropped and recreated.


If you reference a global variable in a procedure and then (using dynamic sql) create another procedure which also uses that same global variable then the reference to the variable in the child proc gets incorrectly resolved. Executing the child procedure results in a stacktrace. Errorlog stack trace will included reference to modules s_setupvar and s_cpparamd.


Error 100039 may occur when index is created by altering large table with a primary constraint.


Long execution times for dbcc commands checktable and checkalloc against an archive database.


Creating clustered index on roundrobin partitioned table might result in skewed partitions.


More efficient processing of histograms will reduce the amount of procedure cache needed for optimization of simple queries.


When a distinct outerjoin view is used in a query with another outerjoin, The Assertion (!_pGcojLegacyRgInfo || pOjRgInfo == _pGcojLegacyRgInfo || pGt- > GtIsValues()) might fail for the diagserver. For non-diagserver, search engine could generate wrong outerjoin plan or gets into excessive compilation time and memory consumption for large join.


A 8213 error "Failed to acquire address lock on object < value > " may be reported in the error log together with a stack trace which includes the modules "idt_value_verify" and "des_idtnewval" when an INSERT command attempts to create a new identity column value.


complex multi-table queries with that reference columns with large histograms may experience excessive procedure cache usage, that could eventually result in 701 errors. This change allows more efficient reuse of memory associated with histograms.


QP Metrics will be captured and dumped to the system catalog if none of the following 4 threshold configuration parameters has been set: metrics elap max metrics exec max metrics lio max metrics pio max However, if there is any among the above 4 thresholds set, only the non-zero values will be effective the thresholds for the QP Metrics.


Alter table unpartition on a system catalog lead to inconsistency in internal meta data. This inconsistency will lead to Signal-11 for further reference to the system catalog.


Suboptimal join order could be choosen when there is a correlated subquery under an OR predicate and during the actual execution the subquery evaluation is mostly skipped due to shortcircuit logics of the OR predicate.


A parser error is raised when reorg rebuild is called on a table with a name requiring quoted identifiers, such as "&A123", and the table contains a text column.


When partition name is specified by user, the translation from partition name to partition ID will only be done once. Reduce translation times.


Apply 'set sort_resources on' also to 'update statistics', so that user can get information of the size of the worktable to be sorted without really exec the command. The size of procedure cache used by sort can be calculated using a rough formula: Number of sort buffers X rows per page X 100.


When ASE takes a very long time to recover databases before upgrade, the upgrade utility can find databases marked "offline". If that situation persists beyond its timeout wait period, it declares an error, which causes batch mode upgrade to fail. We are making the per-database timeout wait period configurable via "-T{wait_time}", where wait_time is specifiable as (for example) "-T300s" for "300 seconds". 's' is the default. The upgrade utility also accepts (m)inutes, (h)ours, or (d)ays as the -T interval.


select-into a proxy table mapped to a file fails when the proxy table contains a timestamp column.


When an INSERT, UPDATE, DELETE or SELECT statement processes an encrypted column, the statement may fail with error 15432, 15467 or 15469 if all the following conditions hold: - The statement is executed in the context of a nested stored procedure. - The nested procedure exists in a different database from the parent procedure. - The parent stored procedure has been created by a user with sa_role. - The parent procedure is invoked by a user who does not have sa_role and is not the dbo of the nested procedure's database.


Error 249 may be raised in some cases from an attempt to convert a column value using an expression in a predicate when that column may be filtered by other predicates in the query.


When sp_password is executed to change a user's login password, ASE may print error messages 950 and 15484 if any individual database is offline. These messages refer to encryption keys and may be seen even if the server has not enabled the ASE_ENCRYPTION license.


For create local index on partitioned table in parallel, if option "set sort_resources" is on, we could encounter sig 11.


sp_help < tablename > fails with message 512, "Subquery returned more than 1 value. This is illegal when the subquery follows =, !=, < , < = , > , > =, or when the subquery is used as an expression." in the following situation: 1) table < tablename > has an encrypted column c1 with decrypt_default; 2) alter table < tablename > modify c1 ... decrypt_default < default value > ; 3) sp_help < tablename > .


In rare circumstances, stack guard gets corrupted when executing at higher nesting levels.


sp_help error message in sp_autoformat with encrypted column and decrypt default. When the maximum decrypt_default name length is less than 15, "sp_help table" may fail with Msg 18588.


To suppress stack trace displayed when we hit "java.lang.OutofMemory" in DBISQL.


The 'set triggers off' command will incorrectly turn off Instead Of Triggers and will cause a segmentation fault in the function, s_execute().


When a view exists that has an Instead of Trigger, and the table underlying the view is dropped, inserts on that view do not return an error and appear successful.


testmon Monitor Client sample program will not compile in the 15.0 release


Error 12316 "Attempt to garbage collect a deallocated data page < value > in table ' < value > ', database ' < value > '. Aborting the transaction." may be reported by the HK GC system task while trying to garbage collect a page that is in the process of being deallocated.


In ASE 15.X, the "set statistics io" command was not reporting the open count correctly for scans beneath XCHG operators.


Error 10334 is raised when trying to create a java-based user-defined function while auditing is turned on.


A new Database device can be creted using Disk init command. Adaptive Server accepts, but does not require, the disk init vdevno (virtual disk number) parameter. If you specify a vdevno, you may choose any currently unused identifier from 1 to 2,147,483,647 (virtual device ID 0 is used by the master device). In sp_sysmon, Result space is given three characters width only. When the given value for vdevno > 999, value is exceeding three character width hence causing the error.


In parallel queries, the ExchangeEmit op's row count is always reported as 0 when plancost is enabled.


Query against MDA tables hits Error 325 when optgoal is allrows_dss.


Support has been added to the builtin, showplan_in_xml, to print information about runtime partition elimination. When runtime partition elimination will be attempted, the showplan_in_xml output will contain: < DynamicPartitionIdentification > Yes < /DynamicPartitionIdentification > and when runtime partition elimination will not be attempted, the showplan_in_axml output will contain: < DynamicPartitionIdentification > No < /DynamicPartitionIdentification >


When parallelism is turned on, some queries, especially those with an orderby clause, may hang waiting for read operations on pipes.


A 216 error "Attempt to automatically drop temporary table failed." may be reported in the error log together with a stack trace which includes the modules "dropo" and "drop_with_retry" following error 3702 "Cannot drop the table ' < n > ' because it is currently in use." when a session tries to drop a temporary table while the system task HK CHORES is flushing statistics for the given table in systabstats.


INSERT-SELECT statements involving outer joins on proxy columns may return wrong results.


A SQL statement that contains a subquery, which in turn contains a DISTINCT aggregate such as SELECT ... (SELECT COUNT(DISTINCT col) FROM tab)... can lead to a segmentation fault in the function a_remapqblockvar.


If a join query with a derived table including UNION ALL has an ORDER BY clause that includes a column not in the SELECT list, infected with 11 may occur in OptGlobal::GblSetInterestingTcIds().


Previously ASE Plug-in could not be registered with Sybase Central 4.3 on Windows Vista. This has been fixed.


System procedure sp_bindcache erroneously allows for Data Only Locked Tables binding to a named cache of an index whose index id value is zero, resulting in overwriting the table's binding if any.


when there is a join predicate between mismatched datatype with no retrograde cast provided for, then wrong results and/or assertion failure may happen


ASE on linux may hit a SIG11 during startup if the 'number of engines at startup' is configured more than the 'max online engines'.


A timeslice error "timeslice -501, current process infected" may be reported in the error log together with a stack trace which includes the modules "dmap_merge_diskmaps" and "db__sysaltusages_map", when the DBCC CHECKSTORAGE command is run on an archive database.


A query with subquery sometimes could return wrong results for parallel execution.


sp_help reports Error 247 arithmetic overflow for big tables.


Under allrows_dss optgoal (where advanced_aggregation is on), aggregate query might hit div-by-zero execution error or return wrong result when there is an equijoin under the aggregate and the join column has an equality sarg on it (such as t1.c1=t2.c2 and t2.c2=5).


Error 414 with a message "The current query would generate a key size of nnn for a work table. This exceeds the maximum allowable limit of xxx." may appear if the query has 6 or more joining tables and GROUP BY clause.


Incorrect variable values could be used on full pass-through proxy table queries to direct connect gateways.


If a view definition contains at least one OR predicate and a query is executed that references a column of that view in a predicate in a CASE or NULLIF expression and that same view-column is referenced in at least one additional predicate, a segmentation fault can occur during excution in the function, CgEvals::copyEvalsToVirCol.


Frequent redefinition of the view may result in its tree size growth in sysprocedures.


During unpartition operation, a row in sysstatistics with inaccurate data is being left behind.


Fixed "symbol lookup error for libibmc++.so.1", which is caused by upgrading libibmc++.so from 1.5 to 1.6.


A query like below may get error 102 (Incorrect syntax near 'BETWEEN@@@V0_VCHAR1'.) if statement cache and literal auto parameterization are enabled. Example: SELECT b2 FROM t1 WHERE a1 BETWEEN'xxxx' AND 'xxxx' There is no blank between a SQL keyword and a literal value surrounded by single/double quote marks.


sp_helptext shows irrelevant output for the showsql options 'ddlgen' and 'context' in case of partition condition objects and also gives repeated linenumbers in partition condition.


'Invalid column length' error, 8402 error or other similar error is returned, or the message "current process ... infected with 11" may be reported in module 'lddb__unscr_log' when database is loaded from 11.9.3 version of ASE across platform where the byte order (endian type) is different.


Wrong result could happen for query referencing a DISTINCT view and the DISTINCT is on column(s) with unique index (in other words, the usage of DISTINCT in the view is redundant).


"select into" or "insert...select" on a timestamp column may appear to update the source table with the new value from the destination table.


15.0.2 ESD#2 syconfig.exe and sybatch.exe crash during startup.


In cases where the server is starved for tempdb pages, a SEGV may be generated in LeStoreOp::_LeOpClose(). This will only occur if the session is recovering from an 1105 error while trying to initially create the work table. Note, that this session typically will not be holding very much tempdb space. Analysis should still be done to determine why there is no tempdb space available.


1502 ESD #1 and 1502 ESD #2 versions of Adaptive Server fail to run site handler RPCs on servers of category direct_connect.


syconfig.exe/sybatch.exe failed to copy server entry from interfaces file in server upgrade.


For large join ( > = 7 joining tables) with nested subquery, occasionally stacktrace with sig11 (in CgpPop::cgpInit()) could happen.


alter table against a proxy table is not checking for errors from the remote server


Signal 11 in com__exctnume_copy when "select into" an identity column and there are no rows in the source table.


Outer join queries that incorporate a merge-join strategy may not return null-supplied rows. This will only occur if the merge-join outer-join op's inner stream returns no rows.


Some parallel queries may require RunTime Adjustment (RTA) recompilation. This can occur if there are not enough worker threads initially available and the plan cannot be runtime adjusted. Some plans simply cannot be adjusted to use fewer threads and in other cases there may still not be enough threads available to perform RTA. In these cases, the query must go through RTA recompilation (serialization). This will generate a SEGV when the initial parallel plan is released if the user has enabled query metrics, statistics io, or statistics plancost.


When "exec_procedure" auditing option is enabled, auditing record from procedure sp_extrapwdchecks will display sensitive password information in plaintext.


Large join query may take a long time to compile under parallel mode. Also search engine timeout may not happen even when the procedure cache consumption by the search engine has reached the timeout limit.


When a join query joins a varchar/varbinary column which is wider than 255, with another varchar/varbinary column which is less than 255, the query may hang.


Deferred compilation of the query using a table created in the same procedure may sometimes result in unnecessary renormalization of the stored procedure. Similary if the procedure is executed by different users the object name resolution may not be done correctly raising permission errors or breaking procedure execution with 'too many recompilations' warning message.


Under certain circumstances triggers which assign variables using select which are fired as a result of dynamic SQL statements called from embedded C programs may raise error 7354 depending on the contents of the trigger.


Provide ONE-OFF release to support Veritas HA on Linuxamd64 platform.


CIS relocated join fails when joining a proxy table with a temporary table.


Wrong join order on proxy tables with very small local tables.


round() function may give incorrect results when 'enable literal autoparam' is turned on.


DBCC ORPHANTABLES may not be able to drop temporary tables orphaned by a problem in distinct sessions; and in such situations, ORPHANTABLES will leave the temp tables orphaned without reporting that there was a problem dropping them.


A 4801 error will be reported when an Open Client program calls bcp_init() with a name of the form "tempdb..# < temporary_table_name > ".


If you upgrade from (15.0 or 15.0.1) to (15.0.2, esd#1, esd#2), you may not be able to configure "max buffers per lava operator" parameter by sp_configure due to error 18124.


'srvbuild' binary fails to create new server if there is no existing interface file.


Under the following conditions: 1) A query has one or more expressions in an IN-list or two or more OR clauses on the same column that contain expressions, such as: select count(*) from opl o , bals b where (substring(o.zb,1,4)=b.bals or substring(o.za,1,4)= b.bals ) 2) The expressions contain references to substituted columns (o.zb and o.za in the example) 3) The optimizer chooses a query plan using the special OR strategy: Showplan will contain a 'SCAN Operator FROM OR List' output 4) The OR-SCAN Operator is under the right hand side of a Nested-Loop Join operator in the query plan 5) The expressions in the IN-list or OR clauses return the same result value for the first row processed, Then too few rows may be returned.


An union query with a constant expression in an outer join select list, may return error or wrong result.


Generate RPM packages of ASE 15.0.2 GA including ESD#3 for Linux platform


Greedy algorithm for search engine might lead to suboptimal plan for large join query (more than 6 joining tables) with correlated subquery in the SELECT list.



  • SAP Adaptive Server Enterprise (ASE) 15.0.2 ESD #4
  • AIX 64bit
  • HP-UX on IA64 64bit
  • Linux on Power 64bit
  • Linux on x86 64 64bit
  • Solaris on Sparc 64bit
  • Solaris on x86 64 64bit
  • Windows on x64 64bit


Sybase Adaptive Server Enterprise 15.0 ; Sybase Adaptive Server Enterprise Cluster Edition 15.0


ESD#4, Fix, Patch, Bug , KBA , BC-SYB-ASE , Sybase ASE Database Platform (non Business Suite) , BC-DB-SYB , SAP Business Suite on Sybase ASE Database Platform , BC-SYB-ASE-CE , ASE Cluster Edition (Standalone) , BW-SYS-DB-SYB , BW on Sybase ASE Database Platform , Problem

About this page

This is a preview of a SAP Knowledge Base Article. Click more to access the full version on SAP ONE Support launchpad (Login required).

Search for additional results

Visit SAP Support Portal's SAP Notes and KBA Search.