Last updated: 08 August 2004
Errata for 'The Complete Sybase ASE Quick Reference Guide' (2nd edition)
No book is perfect...
The following typos have been found in the 2nd edition of The Complete Sybase ASE Quick Reference Guide (covers ASE 11.9, 12.0 & 12.5). Errata for other editions are here.

This list can be found at

Latest addition (08 August 2004):

page 92: ddlgen
The ddlgen object type code for a segment should be SGM (not SG).

page 8: Datatypes
The upper limit of smalldatetime values is 06-Jun-2079 (not 06-Jun-2076 as indicated).

page 10: Table of datepart in date/time functions
The range of smalldatetime values is 1900-2079 (not 1753-2079 as indicated).

page 14: lct_admin("abort",...) examples
In the two examples of lct_admin("abort",...), the word "kills" should be replaced by "aborts" (meaning that only the suspended tranactions are aborted, but the sessions are not killed).

page 24: ignore_dup_key
The description of ignore_dup_key should be changed to:
"for unique indexes only, when a duplicate index key would result from an insert or bcp-in, that row is rejected. Other rows inserted by the statement or by bcp remain inserted, and the statement continues. updates are not affected. When creating the index, there must be no duplicate key values"

page 24: allow_dup_row
The description of allow_dup_row should be changed to:
"for non-unique clustered indexes only, allows duplicate data rows to be created (for APL tables only; duplicate rows are allowed for DOL tables). When creating the index, duplicate data rows are allowed and retained (both for APL and DOL tables). Note: when other, unique indexes exist on the table, their uniqueness overrides allow_dup_row."

page 30: sp_configure "allow nested triggers"
This configuration option is static, and not dynamic as stated.

page 32: sp_configure "size of auto identity column"
The description should be changed to: "Specifies the precision (1..38; default=10) for an implicitly created identity column due to "auto identity" or "unique auto_identity index"."

page 44: set statistics subquerycache
The word subquery_cache should be changed to subquerycache.

page 49: quiesce database
The phrase: "by suspending all activity and temporarily rolling back any active transactions" should be replaced by: "by suspending all disk write activity until the corresponding 'quiesce database...release' command".
Also, "thus "copying" the database." should be changed to "thus "copying" the database. Uncommited transactions in the original database are rolled back when the copy is recovered."

page 67: Setting up the 'dbcc' database
Step 4 (creating a dedicated named cache): after running sp_cacheconfig, ASE should be restarted before proceeding.
(NB: in future versions of ASE 12.5, creating named caches will become a dynamic feature, so this restart will not be necessary anymore. This feature will probably be introduced somewhere towards the end of 2002)

page 71: dbcc cacheremove
The syntax and description of dbcc cacheremove should be changed as follows:
dbcc cacheremove ( db_id | db_name, object_id | object_name )
Deallocates the object descriptor (DES) for the specified table.

page 78: sp_autoconnect
The following line should be added:
"Note: be careful when using sp_autoconnect for logins with sa_role or sso_role".

page 81: sp_audit
In and, an additional option was introduced: sp_audit "restart" restarts the internal auditing process (use only when it has terminated abnormally).

page 82: audit event codes
The event code for "func_dbaccess" and "func_obj_access" should be 86, not 85.

page 90: dataserver
The command-line option for dataserver to specify the directory containing the 'interfaces' file is described as -I (= capital 'i'). This should be changed to -i (= lowercase 'i').

page 92: ddlgen
ddlgen also has the common command flag -J (client charset). The object type code for a segment should be SGM (not SG).
Furthermore, the -F flag is also available: [-F{TR|I|KC|RI|%}]
Description: For user tables only, excludes DDL for triggers (TR), indexes(I), primary/unique key constraints (KC), or RI constraints (RI) for those table(s). These options may be combined with commas. % excludes all of the above; -F alone has no effect.

page 94: ASE Environment variables
On MacOS X only, the environment variable for the "lib" subdirectories is $DYLD_LIBRARY_PATH.
(this is an addition, not an error)

page 100: Minimally logged operations
The command alter table...lock... also requires the database option "select into/bulkcopy/pllsort" to be enabled.

If you notice any further typos, please send an email to

 This document is located at