Netezza Release Notes
Netezza Release Notes
Document Number: 20283-18 Rev. 1 Software Release: 6.0.x Revised: October 14, 2010
Netezza Corporation Corporate Headquarters 26 Forest St., Marlborough, Massachusetts 01752 tel 508.382.8200 fax 508.382.8300 www.netezza.com
The specifications and information regarding the products described in this manual are subject to change without notice. All statements, information, and recommendations in this manual are believed to be accurate. Netezza makes no representations or warranties of any kind, express or implied, including, without limitation, those of merchantability, fitness for a particular purpose, and non infringement, regarding this manual or the products' use or performance. In no event will Netezza be liable for indirect, incidental, consequential, special, or economic damages (including lost business profits, business interruption, loss or damage of data, and the like) arising out of the use or inability to use this manual or the products, regardless of the form of action, whether in contract, tort (including negligence), breach of warranty, or otherwise, even if Netezza has been advised of the possibility of such damages. Netezza, the Netezza logo, the circle-N logo, TwinFin, Skimmer, Snippet Blades, S-Blades, NPS, Snippet, Snippet Processing Unit, SPU, Snippet Processing Array, SPA, Performance Server, Netezza Performance Server, Asymmetric Massively Parallel Processing, AMPP, Intelligent Query Streaming and other marks are trademarks or registered trademarks of Netezza Corporation in the United States and/or other countries. All rights reserved. Red Hat is a trademark or registered trademark of Red Hat, Inc. in the United States and/or other countries. Linux is a trademark or registered trademark of Linus Torvalds in the United States and/or other countries. D-CC, D-C++, Diab+, FastJ, pSOS+, SingleStep, Tornado, VxWorks, Wind River, and the Wind River logo are trademarks, registered trademarks, or service marks of Wind River Systems, Inc. Tornado patent pending. APC and the APC logo are trademarks or registered trademarks of American Power Conversion Corporation. All document files and software of the above named third-party suppliers are provided "as is" and may contain deficiencies. Netezza and its suppliers disclaim all warranties of any kind, express or implied, including, without limitation, those of merchantability, fitness for a particular purpose, and non infringement. In no event will Netezza or its suppliers be liable for indirect, incidental, consequential, special, or economic damages (including lost business profits, business interruption, loss or damage of data, and the like), or the use or inability to use the above-named third-party products, even if Netezza or its suppliers have been advised of the possibility of such damages. All other trademarks mentioned in this document are the property of their respective owners. Document Number: 20283-18 Software Release Number: 6.0.x Netezza Release Notes Copyright 2001-2010 Netezza Corporation. All rights reserved. PostgreSQL Portions of this publication were derived from PostgreSQL documentation. For those portions of the documentation that were derived originally from PostgreSQL documentation, and only for those portions, the following applies: PostgreSQL is copyright 1996-2001 by the PostgreSQL global development group and is distributed under the terms of the license of the University of California below. Postgres95 is copyright 1994-5 by the Regents of the University of California. Permission to use, copy, modify, and distribute this documentation for any purpose, without fee, and without a written agreement is hereby granted, provided that the above copyright notice and this paragraph and the following two paragraphs appear in all copies. In no event shall the University of California be liable to any party for direct, indirect, special, incidental, or consequential damages, including lost profits, arising out of the use of this documentation, even if the University of California has been advised of the possibility of such damage. The University of California specifically disclaims any warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The documentation provided hereunder is on an "as-is" basis, and the University of California has no obligations to provide maintenance, support, updates, enhancements, or modifications. ICU Library The Netezza implementation of the ICU library is an adaptation of an open source library Copyright (c) 1995-2003 International Business Machines Corporation and others. ICU License - ICU 1.8.1 and later COPYRIGHT AND PERMISSION NOTICE Copyright (c) 1995-2003 International Business Machines Corporation and others All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, provided that the above copyright notice(s) and this permission notice appear in all copies of the Software and that both the above copyright notice(s) and this permission notice appear in supporting documentation. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. Except as contained in this notice, the name of a copyright holder shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization of the copyright holder. ODBC Driver The Netezza implementation of the ODBC driver is an adaptation of an open source driver, Copyright 2000, 2001, Great Bridge LLC. The source code for this driver and the object code of any Netezza software that links with it are available upon request to [email protected]
Botan License Copyright (C) 1999-2008 Jack Lloyd 2001 Peter J Jones 2004-2007 Justin Karneges 2005 Matthew Gregan 2005-2006 Matt Johnston 2006 Luca Piccarreta 2007 Yves Jerschow 2007-2008 FlexSecure GmbH 2007-2008 Technische Universitat Darmstadt 2007-2008 Falko Strenzke 2007-2008 Martin Doering 2007 Manuel Hartl 2007 Christoph Ludwig 2007 Patrick Sona All rights reserved. Redistribution and use in source and binary forms, for any use, with or without modification, of Botan (http://botan.randombit.net/license.html) is permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions, and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions, and the following disclaimer in the documentation and/ or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR(S) OR CONTRIBUTOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITYOF SUCH DAMAGE. Regulatory Notices Install the NPS system in a restricted-access location. Ensure that only those trained to operate or service the equipment have physical access to it. Install each AC power outlet near the NPS rack that plugs into it, and keep it freely accessible. Provide approved 30A circuit breakers on all power sources. Product may be powered by redundant power sources. Disconnect ALL power sources before servicing. High leakage current. Earth connection essential before connecting supply. Courant de fuite lev. Raccordement la terre indispensable avant le raccordement au rseau. FCC - Industry Canada Statement This equipment has been tested and found to comply with the limits for a Class A digital device, pursuant to part 15 of the FCC rules. These limits are designed to provide reasonable protection against harmful interference when the equipment is operated in a commercial environment. This equipment generates, uses, and can radiate radio-frequency energy and, if not installed and used in accordance with the instruction manual, may cause harmful interference to radio communications. Operation of this equipment in a residential area is likely to cause harmful interference, in which case users will be required to correct the interference at their own expense. This Class A digital apparatus meets all requirements of the Canadian Interference-Causing Equipment Regulations. Cet appareil numrique de la classe A respecte toutes les exigences du Rglement sur le matriel brouilleur du Canada. WEEE Netezza Corporation is committed to meeting the requirements of the European Union (EU) Waste Electrical and Electronic Equipment (WEEE) Directive. This Directive requires producers of electrical and electronic equipment to finance the takeback, for reuse or recycling, of their products placed on the EU market after August 13, 2005. CE Statement (Europe) This product complies with the European Low Voltage Directive 73/23/EEC and EMC Directive 89/336/EEC as amended by European Directive 93/68/EEC. Warning: This is a class A product. In a domestic environment this product may cause radio interference in which case the user may be required to take adequate measures. VCCI Statement
VCCI A
Contents
1 Netezza Release 6.0.x
New in This Release . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1 Supported Upgrade Paths. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1 Compress Engine Enhancements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2 Clustered Base Tables (CBT). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3 Altering Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4 Netezza SQL Language Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5 Multi-Destination Filesystem Backups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6 Workload Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-7 NzPortal Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-8 Enhanced User Authentication and Password Management . . . . . . . . . . . . . . . . . 1-9 User-Defined Functions Improvements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-9 Stored Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-10 Caveats for Release 6.0.x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-10 Changes in This Release . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-11 Event Manager Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-11 System Manager Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-11 System Configuration and Settings Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-11 Administration Interface Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-12 Command and CLI Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-12 ODBC, JDBC, OLE-DB Changes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-13 Database and SQL Language Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-13 Documentation Changes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-14 New and Modified System Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-14 Known Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-19 Customer Bugs Fixed in This Release . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-28
vi
List of Tables
Table 1-1: Table 1-2: Table 1-3: Modified System Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-16 Known Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-19 Customer-Reported Bugs Fixed in Release 6.0 . . . . . . . . . . . . . . . . 1-28
vii
viii
CHAPTER 1
Netezza Release 6.0.x
Whats in this chapter
New in This Release Changes in This Release Known Issues Customer Bugs Fixed in This Release
This document provides special information about Netezza Release 6.0.x, including a summary of new features and changes, known issues, and customer bugs fixed in the release. Review this document prior to installing or upgrading to Release 6.0.x. The term 6.0.x refers to Netezza Release 6.0 or any of the service packs for that release. If information relates to a specific release, the guide uses the full release number.
1-1
Do not update, patch, or otherwise alter the Linux kernel or other Linux binaries on your system unless Netezza directs you to do so. Netezza does not support unauthorized updates or custom modifications of the kernel. When you upgrade to Release 6.0.x from a prior 5.0.x release, note there additional upgrade details: The new Compress Engine II (CTA2) compression format is not enabled by default on upgrades; you must enable it to take advantage of the new compression features. Netezza strongly recommends that you do not enable CTA2 until after you have tested with the new 6.0.x software and are certain that your queries and other Netezza activities are operating as you expect. If you downgrade the Netezza software from 6.0.x to your previous 5.0.x release, note that your user data will require conversions to restore the format used on the 5.0.x release. The /nz partition on the Netezza system must have sufficient free disk space to complete the upgrade. The upgrade process verifies that there is free disk space equal to 3 times the size of the /nz/data partition; if the free disk space is less than that amount, the upgrade process exits with an error. Contact Netezza Support for assistance if you need assistance with cleaning up disk space. For details on the upgrade and downgrade, see the Netezza Software Upgrade Guide.
1-2
20283-18
Rev.1
Reload or restore Netezza user data (which applies CTA2 compression to all the data during the reload/restoration). After CTA2 is enabled, the process to downgrade the Netezza system to the 5.0.x release that you upgraded from becomes more complex; it requires procedures to locate the CTA2 table blocks and to convert those blocks back to CTA1 format. Therefore, Netezza strongly recommends that you do not enable CTA2 compression until after you have tested with the new 6.0.x software and are certain that your queries and other Netezza activities are operating as you expect. For more information about downgrade steps and issues, see the Netezza Software Upgrade Guide.
20283-18
Rev.1
1-3
As a result of CBTs and new architecture changes for storage, the reclaim process has changed in this release. Release 6.0.x introduces a new GROOM TABLE command in the SQL language. The GROOM TABLE command performs non-locking reclaims and also reorganizes CBTs to improve the scan performance. The groom process can run in the background while inserts, updates, and other changes are taking place on the user tables that are being groomed. The nzreclaim command now calls the GROOM TABLE command; in 6.0.x, the nzreclaim command operates on all the supported clients except Windows because nzsql is not yet supported on Windows. Going forward, you should migrate any scripts that you use which call nzreclaim to use the new GROOM command. For more information about reclaims, groom, and CBTs, refer to the Netezza System Administrators Guide.
Altering Tables
Release 6.0.x adds the ability to alter a table by adding or dropping a column. The ALTER TABLE command now includes ADD COLUMN and DROP COLUMN syntax to support these tasks. When you alter a table, the Netezza system creates a table schema version that records the changes made to the table; thus, tables now have versions that track the changes made to them. The table is represented internally as a view operating on a union of all the table versions. Queries against the table are now queries against the view. As a best practice, Netezza recommends that you resolve these table versions to the one, latest definition using the GROOM TABLE VERSIONS command. The GROOM TABLE VERSIONS command migrates the data in the background to the latest table versions schema using the least additional disk space as possible. While the data is being migrated, queries can continue to run on that table but the system blocks data manipulation language (DML) commands such as update, insert, delete, and truncate for that table. The query performance against a versioned table degrades with each additional version. Also, if you alter a very large table without grooming it, you could encounter situations where queries against the versioned table could fail due to insufficient swap space. For these reasons, it is highly recommended that you use the GROOM TABLE command as soon as possible following the ALTER TABLE command. Also, you cannot downgrade from 6.0.x if you have tables with multiple versions; you must groom the table to resolve the versions first, then the downgrade process will allow you to proceed. Note: When you alter a table to add or drop a column, the system places an exclusive access lock on the table until the alter command completes. If you capture that ALTER TABLE [ADD|DROP] COLUMN command in an incremental backup, and you later restore that increment, any concurrent sessions that query the table will block until the restore transaction commits. When you add a column to a table, you can specify a default value so that queries against the existing rows of the table will use the default as the columns value. When you drop a column, note that you can impact views against the column. You cannot drop certain columns, such as those used as distribution columns or organizing key columns for the table. You cannot alter an external table or a temporary table. You also cannot add or drop a column in a table that is referenced by a stored procedure. You must drop the stored procedure first, then you can add or drop columns, and then later recreate the procedure. For more information about altering tables, see the Netezza Database Users Guide.
1-4
20283-18
Rev.1
If you alter the columns of a row-secure table that contains a NOT NULL column, note that you must use the GROOM TABLE VERSIONS command to resolve the table versions before you can backup that table using nzbackup or before you can create a compressed external table from that table. These commands display an error message if the row-secure table requires grooming first.
Analytic Functions
In Release 6.0.x, Netezza adds support for additional online analytical processing (OLAP) histogram, ranking, and inverse distribution functions that are commonly used in business queries. These functions include: Ntile Percent_rank Cume_dist Rank Dense_rank Percentile_cont Percentile_disc Width_bucket This release also adds support for aggregate filters against user tables and views. For more information about these new analytic functions and filters, see the Netezza Database Users Guide.
20283-18
Rev.1
1-5
1-6
20283-18
Rev.1
Workload Management
Release 6.0 introduces several changes and new features to improve the workload management of your Netezza systems: GRA Ceilings Load under GRA Control Capacity Planning Improved GRA Allocation Algorithms The following sections describe these changes. In addition, the NzPortal interface is a new interface that provides insight to the operation and workload of the system. The NzPortal interface is available in a beta version for Release 6.0.x. For more information, see NzPortal Interface on page 1-8.
GRA Ceilings
With Release 6.0.x, the guaranteed resource allocation (GRA) feature offers improvements for the allocation of system resources to your users. In previous releases, you could specify a GRA resource percentage that specified the minimum percentage of resources that a group should receive when the system was very busy running requests and jobs from several resource groups. However, when only one or a few resource groups were active, these groups could receive a much larger percentage of the system resources because the system would apply all its resources to the active jobs, even if there was only one or very few jobs. With Release 6.0.x, you can now specify a maximum ceiling for GRA resource allocations as well as a minimum. The ceiling limits the amount of resources that a group can receive to a maximum percentage, even if the group is the only group using the system. Ceilings can help you to partition the Netezza system resources so that multiple groups can be assigned portions of a Netezza system; this can help you to set and enforce service levels for your groups. The maximum resource allocations can also help to establish more consistent query performance ranges and experience for your users. Note that the behaviors for the Public group (the default group in which all users belong), and the admin user are now more tightly integrated with the new WLM behaviors. You can now set minimum and maximum resource percentages for the Public group, which by default are 20 and 100 respectively. The admin user will continue to receive at least half of the system resources for its jobs, even when other jobs are running. If no other jobs are running, the admin user can use all the system resources. In addition to the resource minimum and maximum allocations, you can also limit the number of concurrent jobs for a group to prevent a group from sending too many concurrent jobs to the system. The JOB MAXIMUM attribute of the [CREATE|ALTER| GROUP commands specify how many concurrent jobs can be running on the system from the members of one group. Any jobs in excess of this limit will queue until active jobs complete and new ones can begin.
20283-18
Rev.1
1-7
Capacity Planning
Release 6.0 offers new views into the performance and statistics of the WLM processing. For example: _V_SYSTEM_UTIL shows 24-hours of 60-second samples of the work from an operating system level view, including host CPU utilization, the average SPU CPU utilization, and the maximum SPU CPU utilization for the system. _V_PLAN_RESOURCE shows resource detail, durations, and estimates for the plans created for the jobs submitted on the system. _V_SCHED_GRA_EXT, _V_SCHED_GRA_EXT_LATEST, _V_SCHED_SN_EXT and _V_SCHED_SN_EXT_LATEST show the resource details and the average number of plans, computed for each resource sharing group.
NzPortal Interface
Release 6.0.x introduces the NzPortal management interface, which is a new web-based administrative client for monitoring Netezza systems. Users can access the NzPortal interface using standard Web browsers. NzPortal can monitor one or more Netezza systems which are running Release 4.6.x or later; these systems can be Netezza 10000-series systems as well as TwinFin/skimmer model family systems. Note: The NzPortal interface is currently available as a beta evaluation version. You can use the NzPortal reports to obtain details about workload and query performance, encumbrances (that is, activities such as loads, queries, and other jobs which might be impacting query performance), and status. You can also compare the runtimes for similar queries to observe the performance of queries over time. You can drill-down into SQL queries to obtain the SQL commands and other details, and you can create custom monitors (that is, custom queries) to obtain other performance indicators over time. You can install the NzPortal interface on Linux Red Hat 5.3 systems such as a Netezza host system or equivalent Linux server. For more information about the NzPortal interface and installation, see the Netezza System Administrators Guide.
1-8
20283-18
Rev.1
20283-18
Rev.1
1-9
User-defined objects now support fenced and unfenced execution on the host and SBlades as a way to isolate the user code execution to a protected address space during development. Fencing provides a safer testing and deployment environment, but it can degrade performance of the queries that use fenced UDXs. Users can be granted Unfence permission to create and/or alter a UDF or UDA that runs in Unfenced execution, which generally performs better than fenced execution mode. Note: In Release 6.0, the default system setting is to run UDXs in Fenced mode. If you have UDXs registered on your system and you upgrade to 6.0, those UDXs will continue to run in Unfenced mode. However, when you register new UDFs or UDAs on a Release 6.0.x system, those UDXs will run in Fenced mode by default, unless you register them to use Unfenced mode. For details about these features, refer to the Netezza User-Defined Functions Developers Guide. (Note that this guide was previously titled the Netezza OnStream Functions Developers Guide. The title has changed starting in Release 6.0.x.)
Stored Procedures
Release 6.0.x introduces several enhancements for stored procedures and the NZPLSQL language: You can now define stored procedures with a variable number of input arguments (from 0 to 64) of any supported data type using the VARARGS keyword in the argument list. There is a new built-in variable, PROC_ARGUMENT_TYPES, which is an array of the same size as the number of input arguments to the procedure. This array can be used to get the number and types of the arguments input to the procedure. In previous releases, you could use $1, $2, and similar notation to obtain the arguments passed to the procedure. This release adds support for $var which takes the integer value of the variable var to obtain and process the input argument in that position. You can now use built-in functions to obfuscate the body of a stored procedure when you create it. This prevents a user who has privileges to show the procedure to see the cleartext details of your stored procedure and its code. For more information, see the Netezza Stored Procedures Developers Guide.
1-10
20283-18
Rev.1
In Release 6.0, the replacespu command reports an error and exits if it detects an SBlade sever model that is not yet supported. If you receive this error while replacing a failed S-Blade, contact Netezza Support for assistance with the hardware replacement. Release 6.0 has discontinued support for restoring backups from early Netezza releases such as NPS Release 2.2 or earlier.
If you downgrade to a release before 6.0.x, your SCSIPredictiveFailure event rule will not show any information for the FRU data. After a downgrade, you can delete and recreate the rule or modify it to drop the FRU field. For more information about events, see the Netezza System Administrators Guide.
20283-18
Rev.1
1-11
Several settings relating to reclaim have been deprecated in this release because they are not needed for the new GROOM TABLE feature. These settings include: host.autoRestartReclaim, host.reclaimPrependExtents, host.reclaimValidationTimeout, system.reclaimBubbleEventsLimit, system.reclaimExpansionHalt, and system.reclaimRecoveryEnable.
1-12
20283-18
Rev.1
The nzhistcreatedb command now uses -p or -pw for the password option. The -pwd form has been deprecated. Note: If users at your site use older revisions of clients, such as 5.0.x clients, those users should upgrade to the latest 6.0.x clients. Older clients may not support features such as versioned tables, multi-level row security, and other capabilities of the new release. For example, the nzsql command in pre-6.0.x clients does not show tables that have been versioned using the ALTER TABLE [ADD|DROP] COLUMN syntax.
20283-18
Rev.1
1-13
The [CREATE| ALTER] GROUP commands have new syntax relating to the GRA ceilings and workload management improvements in this release. The RESOURCELIMIT syntax has been deprecated; the new syntax is RESOURCE MINIMUM to specify the minimum percentage of system resources to allow a group when it and other groups have active queries. The RESOURCE MAXIMUM syntax allows you to specify a maximum percentage of system resources to use, even when the system is otherwise idle. The JOB MAXIMUM syntax allows you to specify the number of jobs that can be active at one time for a group. The Unfence administrative privilege has been added to allow users to create or alter a UDF or UDA to run in unfenced mode. (Fenced mode is the system default, which offers better protection for the system address space when developing UDFs and UDAs.) New OLAP-related functions are now available, along with ROLLUP, CUBE, and GROUPING SETS extensions that support the WITH clause and GROUP BY extensions; for more information, see Netezza SQL Language Features on page 1-5. The [CREATE | ALTER] USER commands now include options to expire user passwords and to use local authentication for an account when the system is configured to use LDAP authentication. The SET SYSTEM DEFAULT command now includes options to set a global password expiration in days, as well as to set a global password policy for password security. The SHOW SYSTEM DEFAULT command now includes options to show the values of these settings.
Documentation Changes
Numerous guides in the Netezza 6.0.x documentation set have been revised with changes to support the new features in this release. In addition, this release includes the following changes to the Netezza documentation set: The Netezza Data Loading Guide is now included in the 6.0.x documentation kit for the Netezza TwinFin, Skimmer, and later model families. Information for external tables as well as database loads has been moved from the Netezza Database Users Guide to the Netezza Data Loading Guide.
1-14
20283-18
Rev.1
_v_scsi_errors _v_session_security _v_sys_table_version_attr_added _v_sys_table_version_attr_add_dropped _v_sys_table_version_attr_dropped _v_sys_table_version_attrs _v_sys_table_version_attrs_full _v_sys_table_version_chgs _v_sys_table_version_defn _v_sys_table_version_object_defn _v_sys_table_version_rel _v_dotnet_catalogs1 _v_dotnet_catalogs2 _v_dotnet_columns1 _v_dotnet_columns2 _v_dotnet_datatypes2 _v_dotnet_datatypes3 _v_dotnet_feature _v_dotnet_pkfk1 _v_dotnet_pkfk2 _v_dotnet_primarykeys1 _v_dotnet_primarykeys2 _v_dotnet_procedures1 _v_dotnet_procedures2 _v_dotnet_procedure_columns1 _v_dotnet_procedure_columns2 _v_dotnet_procedure_parameters1 _v_dotnet_procedure_parameters2 _v_dotnet_schemas1 _v_dotnet_schemas2 _v_dotnet_tables1 _v_dotnet_tables2 _v_dotnet_tabletypes1
20283-18
Rev.1
1-15
_v_dotnet_types1 _v_dotnet_users _v_dotnet_views1 _v_dotnet_views2 Table 1-1 lists the modified system views since Release 5.0. In general, system views change to improve the performance of queries that use them, or to add columns, or to ensure correct view behavior. In most cases, the view changes do not impact the results of existing queries that use these views. It is a good practice to test any queries on these modified system tables to confirm that your query results have not changed from the desired results. With the new TwinFin hardware, two views have been obsoleted in this release: _v_vacstatus and _v_reclaim_expansion. If you have scripts or queries that use these views, you will need to revise them.
Table 1-1: Modified System Views View Name _v_aggregate _v_backup_group _v_backup_history _v_crypto_keystore_verb ose _v_depend _v_external _v_external_xdb _v_function _v_group _v_jdbc_bestrowidentifi er1 _v_jdbc_bestrowidentifi er2 _v_jdbc_bestrowidentifi er3 _v_jdbc_tables1 _v_jdbc_tables2 Change Added fencing support. Improvements in the view definition. Improvements in the view definition. Improvements in the view definition. Improvements in the view definition. Added decimal delimiter support. Added decimal delimiter support. Improvements in the view definition. Added workload management/GRA improvements. Improvements in the view definition.
1-16
20283-18
Rev.1
Table 1-1: Modified System Views (continued) View Name _v_jdbc_tables3 _v_library _v_obj_relation _v_obj_relation_xdb _v_odbc_specialcolumn s1 _v_odbc_specialcolumn s2 _v_odbc_specialcolumn s3 _v_odbc_statistics1 _v_odbc_statistics2 _v_odbc_statistics3 _v_odbc_tables1 _v_odbc_tables2 _v_odbc_tables3 _v_oledb_tables1 _v_oledb_tables2 _v_procedure _v_relation_column _v_relation_column_def _v_relation_column_def _xdb _v_relation_column_xdb _v_relation_keydata _v_relation_keydata _v_relation_keydata_xdb _v_restore_history Change Improvements in the view definition. Improvements in the view definition. Improvements in the view definition. Improvements in the view definition. Improvements in the view definition.
Improvements in the view definition. Improvements in the view definition. Improvements in the view definition. Improvements in the view definition. Improvements in the view definition. Improvements in the view definition. Improvements in the view definition. Improvements in the view definition. Added variable argument support and other improvements. Improvements in the view definition. Improvements in the view definition. Improvements in the view definition. Improvements in the view definition. Improvements in the view definition. Improvements in the view definition. Improvements in the view definition. Improvements in the view definition.
20283-18
Rev.1
1-17
Table 1-1: Modified System Views (continued) View Name _v_session_detail _v_statistic _v_sys_constraint _v_sys_database _v_sys_group _v_sys_miscobjs _v_sys_object_data _v_sys_priv _v_sys_relation _v_sys_relation_xdb _v_sys_user _v_sys_user_priv _v_table _v_table_constraint _v_table_constraint_xdb _v_table_dist_map _v_table_dist_map_xdb _v_table_index _v_table_index_xdb _v_table_organize_colu mn _v_table_xdb _v_table_zmap_column _v_thin_table _v_thin_table_xdb _v_user _v_user_security Change Improvements in the view definition. Improvements in the view definition. Improvements in the view definition. Improvements in the view definition. Improvements in the view definition. Improvements in the view definition. Changes to the view to add new objects. Improvements in the view definition. Improvements in the view definition. Improvements in the view definition. Improvements in the view definition. Improvements in the view definition. Improvements in the view definition. Improvements in the view definition. Improvements in the view definition. Improvements in the view definition. Improvements in the view definition. Improvements in the view definition. Improvements in the view definition. Improvements in the view definition.
Improvements in the view definition. Improvements in the view definition. Improvements in the view definition. Improvements in the view definition. Added authentication improvements. Improvements in the view definition.
1-18
20283-18
Rev.1
Known Issues
Known Issues
Table 1-2 describes the known issues for this release of the Netezza software. Table 1-2: Known Issues Reference 4062 9323 Issue/Description The Netezza does not support abort privileges for the group public. When using the to_timestamp conversion function, which takes an input and a template string, the number of spaces in both strings must match. The following example uses the character ^ to represent a space. to_timestamp('2002-09-26^15:00:00','YYYY-MMDD^HH24:MI:SS') In the above example, the conversion function works as expected. In the following example, there is an extra space in the template string: to_timestamp('2002-09-26^15:00:00','YYYY-MMDD^^HH24:MI:SS') In this case, the extra space before the HH causes the function to ignore the 1 in the 15 string, thus returning an incorrect result. The following are restrictions on the simultaneous use of an external table:
Only one session can write to an external table at a time. Simultaneous writing and reading of an external table is not
10205
supported. Any number of users can read an external table at the same time. In the absence of a session currently writing to the external table, any number of readers are permitted.
Note: The Netezza system does not enforce these restrictions. It is up to
the user and application code to abide by them. If you do concurrent or multiple inserts into an external table, the content of the file that stores the external table may contain partial or incomplete records. 12007 The nz CLI commands are unable to detect a missing value for the -u option, unless it is the last option or you pass it as a quoted empty value (as in -u '' ). Do not quote numbers in lists. When you place numbers in lists without quotes, the parser is able to associate the number with the correct datatype.
12289
20283-18
Rev.1
1-19
Table 1-2: Known Issues (continued) Reference 12621 Issue/Description UTF8: exists clauses with nchar class columns and UTF8 encoding result in equality operator errors. For example:
select col1_nchar3 from join_utf8_1 where exists( select col2_nchar10 from join_utf8_2 where col2_nchar20 = col2_nvarchar5 and col2_nchar20 = col2_nvarchar15 ) order by col1_nchar3 DESC limit 100;
12666
SQL operations on a float column can yield inconsistent results if not used properly. The hashing of floating point data can result in certain SQL operations returning inconsistent results if not used correctly. Inconsistent results can occur if floating point columns are used as the distribution key, as a join column, or in group by, order by, and distinct select operations. Floating point columns should not be used for such operations.
Note: A floating point column is a column defined in the CREATE state-
ment with a datatype of FLOAT, DOUBLE, FLOAT4, or FLOAT8. 12895 You must explicitly specify the tab delimiter in the nzsql create external table command. Update statements involving very wide tables (over 200 columns) may take an unexpectedly long time in a query processing phase, which cannot be terminated. A work-around is to disable optimization for large queries. To do this, set the host.gencDiabKillOptMask host process variable to -1. Note that the system must be paused or offline. Through NzAdmin or nzsql, if a user who has the ALTER USER privilege renames a user who is currently connected to the Netezza, the renamed user may observe the following when attempting to access a table:
The Netezza may respond that the table cannot be found. The Netezza may report that the connection to the server was lost.
12965
15917
17311
The system treats time values without timezones as GMT times. An example follows: create table ttz (ttz timetz); (a time with timezone column) insert into ttz values (1:00); (a time value without a timezone) select * from ttz; (shows the value having timezone offset 0 (GMT)) For system efficiency, avoid using joins with external tables.
17442
1-20
20283-18
Rev.1
Known Issues
Table 1-2: Known Issues (continued) Reference 18446 18447 19743 Issue/Description Certain operations do not work on synonyms. For example, you cannot generate statistics on synonyms, nor can you truncate a synonym. Avoid setting the nzload -maxErrors switch to a number higher than 100000. Although there is no restriction as to what you can set -maxErrors to, a -maxErrors switch set too high can cause the system to create very large .nzlog and .nzbad files, which are then not returned to the client. In this case, if you cannot find .nzlog and .nzbad files on your client, you can find the very large files on the server. Some joins involving the use of an external table will cause the following error:
Error: 1000000161: query does not support complex External Table scan Note: In the example, the number displayed after the word ERROR is the internal table ID.
19891
You can load the data from the external table into a user table first and modify the query to use the new user table for the join query. 20265 When you change the default case of the system between the time a database backup is made and the time it is restored, during restoration the system does not recreate the database views. For example:
You backup a database that has views. You change the default case on the system. You restore the database to the system (whose default case has
changed).
Note that view creation fails, but the restore completes. You can find failed create view statements in the log file
restoresvr.log. To avoid this issue, recreate your backups after changing the default case on your system. As a work-around, you can manually recreate views using the view definitions you find in restoresvr.log. Besides views, this same situation exists for permission grants (users, groups, and target objects). You can find failed statements signifying permission grants in restoresvr.log.
20283-18
Rev.1
1-21
Table 1-2: Known Issues (continued) Reference 20426, 20512 Issue/Description The system creates the default nzlog and nzbad filenames by taking the table name and the database name, and appending .nzlog or .nzbad. Here are the formats:
tablename.databasename.nzlog tablename.databasename.nzbad
Since there is a filename limit of 255 characters, if you use an extremely long table and database name, you could exceed the filename limit. If you exceed the limit, the system returns an error message stating that the file name is too long. You can avoid this issue by specifying a shorter name for your nzlog and nzbad files. You can also use the -lf option for the nzlog file, and the -bf option for nzbad, in order to specify names. 21171 21207 Correlated subqueries are not supported in a SELECT column list. Do not use CREATE EXTERNAL TABLE with the SAMEAS option to create a table that duplicates a system catalog, where the system catalog includes text datatype columns. When you use a LIMIT clause with an external table, and the load option remotesource is set to odbc or jdbc, the load will succeed but the client may receive a communication link failure. There is new behavior with respect to implicit type casting in order to bring the Netezza in line with the SQL Standard. In comparisons between disparate datatypes, earlier Netezza versions would sometimes incorrectly cast non-string types to strings. For example, in a comparison between an integer column and a string column, Netezza might convert the integer to a string type for the comparison. This was incorrect. Now, the string column will always be converted to an integer for such a comparison (and runtime conversion errors will occur if the string data cannot be converted to an integer value). Another example is a comparison between an integer column and a timestamp column. In the past, Netezza might have converted both to strings for the comparison. This was incorrect. Now, Netezza will give a syntax error on such a comparison. If this new behavior is not what you desire, you need to use explicitly cast operations to force the datatype conversions you need. If a load is aborted due to a shared memory allocation issue, check to see that the shmall and shmmax settings in /etc/sysctl.conf are set correctly. (The settings can vary based upon your system configuration.)
21439
21441, 21922
21519
1-22
20283-18
Rev.1
Known Issues
Table 1-2: Known Issues (continued) Reference 21643 Issue/Description When you negate an integer of a given integer type, the result is an integer of the same type. There is an issue with negating the most negative values that Netezza supports. When you negate the most negative value that Netezza supports for a given integer type, the result is the same negative value. For example, if col1 is a byteint and contains -128, the statement select -col1 will return -128 (an incorrect result). This issue applies to all four integer types: byteint, smallint, integer, and bigint. Netezza does not currently support the HP-UX Itanium 32 bit driver with DataDirect DM. In rare cases, a large number of schema objects could cause a backup or restore to fail with memory limitation problems. In such cases, you may need to adjust how you backup or restore your database. An example follows: You attempt to backup or restore a database that includes a large number of columns (such as more than 520,000). You receive an error message that indicates a memory limitation. To avoid this limitation:
For a database backup, segment your database into multiple data-
21698
24793
two or more table-level restore operations. 26925 If you use LDAP user authentication, note that LDAP server timeouts can impact the admin user account. If a Windows Server running Active Directory is in an in-between state (that is, it is up but it is not responding to pings or it is slow to respond to requests) the Netezza server may become unresponsive while waiting for the request to be answered or to timeout. No users will be able to authenticate during this time, including the admin account. Also nz* commands such as nzstate and nzsession could hang during this time. Active sessions will not be impacted. Once the authentication request has completed or the timeout value has been reached, the Netezza server will respond normally.
20283-18
Rev.1
1-23
Table 1-2: Known Issues (continued) Reference 27054 Issue/Description When the number of active connectionsboth user connections and process connectionsreaches the limit defined by the max_connections postgresql.conf configuration setting, some system components may be unable to connect to the system database. When this occurs, the affected component may terminate and cause the system to shut down. As a best practice, plan the maximum number of simultaneous user connections as follows: use the value of max_connections and subtract twice the total number of simultaneous reclaims, loads, and backups that could run on the system. The result is the approximate maximum number of user connections. The maximum can vary at times based on the number of connections in use by reclaims, loads, backups, and processes such as rollbacks and aborts. The ODBC and new OLE DB driver setting Optimize for ASCII character set impacts situations when binary data is passed in fields such as CHAR and VARCHAR types. If you are using ODBC or OLE DB and have such fields, enable the Optimize for ASCII driver setting.
Note: If you use binary data in CHAR/VARCHAR fields and you also have
40686
Unicode characters in CHAR/VARCHAR fields, the same client cannot support both of those conditions. If you use a JDBC driver, binary data in CHAR/VARCHAR fields is handled correctly if you use a byte stream to return results. If you are using a string to return results, Java also interprets the binary values which can impact the data. 41328 Following an upgrade, the NzAdmin Backup History dialogs cannot display logs for backups that occurred prior to the upgrade. The upgrade process compressed the log files in the /nz/kitOld location in a .gz file. The upgrade and backup history documentation will be revised to note this behavior in a future release. If you have an Netezza system with the Red Hat 5.2 operating system and you plan to use LDAP authentication, there is a known issue in the /etc/ldap.conf file. Before you use the SET AUTHENTICATION command to change from local to LDAP authentication, edit the /etc/ldap.conf file and comment out the following line:
uri ldap://127.0.0.1/
42522
Then, save the file and proceed with the LDAP configuration instructions as documented in the Netezza System Administrators Guide. 42568 The nzconvertsyscase command does not change the case of unquoted objects in query history configurations. If you have created query history configurations, and you change the letter casing of the Netezza system, you must recreate the query history configurations to use the correct casing for database and user names.
1-24
20283-18
Rev.1
Known Issues
Table 1-2: Known Issues (continued) Reference 43084 Issue/Description For the new Linux-HA cluster solution, the crm commands could return this message when they are run on the last day of the month:
ERROR: crm_abort: ha_set_tm_time: Triggered non-fatal assert at iso8601.c:879 : rhs->tm_mday < 0 || lhs->days == rhs->tm_mday resource nps is running on: hostname
This message is a known issue for the Linux clustering software reported on the Linux software forums. The message is benign and can be ignored. 45183 Query history can sometimes cause the nzupgrade command to hang with the message Journal recovery in progress. This message indicates that data is being loaded into the history database, and the command is waiting for the load to complete. This problem usually occurs in testing environments where the load intervals and thresholds are set very low. These settings allow users to load the recent query history into the database on an almost continuous basis for immediate querying of the history data. Such low settings are not recommended for or used in production environments. If you encounter this upgrade problem, you can correct the problem by disabling history collection and then restarting the Netezza software before you upgrade. For more information about disabling query history collection, as well as for the recommended settings for the loading intervals, see the Netezza System Administrators Guide. Run GENERATE STATISTICS on your query history database periodically to improve query performance for the database. You should run GENERATE STATISTICS on the history database if you notice that history queries are running slower than expected or after the database contents change significantly. In some instances, the NPS does not remove sessions that were stopped by an nzsession abort command. A session can remain present and in the disconnected state if there is still activity such as a rollback in progress on the session. The system manager may not catch some rare exceptions during startup, which can sometimes result in a system stuck in initialization state message. The system automatically truncates leading and trailing spaces in a delimited identifier. If you use leading and trailing spaces to format output, for example, make sure that you precede leading spaces and end trailing spaces with a non-space character to preserve the spacing in the identifier. The nzsqa disk -detail all command displays the message: Error: multiple SPUs did not respond to 'Dump.
45302
47974
48959
48993
49122
20283-18
Rev.1
1-25
Table 1-2: Known Issues (continued) Reference 49374 Issue/Description The Web Admin Search feature cannot find numeric hardware IDs such as SPU IDs. If a regeneration command fails because of pending I/O on the source disk, the system manager may report error removing the disk from md. In this event, the system proceeds to a rediscovering state and the source disk will be considered as failed. The system will use the sources mirror disk for queries. You should start a regeneration process to the spare drive to proceed. If you call the trunc() function with a literal negative zero value that also includes a decimal point, such as trunc(-0.0) or trunc(-0000.), it returns the error Unable to identify a function that satisfies the given argument types. In previous releases, these function examples returned the value 0. If a SPU fails to send its PollReady response within the PollReadyTimeout, the system manager fails the SPU and brings the system to the down state. Contact Netezza Customer Support for assistance with troubleshooting the SPU failure. The to_number() function ignores invalid characters and will produce the result of a negative number instead of throwing an error message. If you install the Web Admin client on a TwinFin system, you could encounter an error when the httpd service attempts to restart:
/usr/sbin/httpd: symbol lookup error: /lib/ libssl.so.6: undefined symbol: FIPS_mode
49397
49551
49984
50265
50653
As a workaround, you can manually change the libssl.so.6 object library link as follows:
Note: If secure LDAP is in use or will be used on your Netezza host, do
not use this workaround as you could interfere with secure LDAP operation. Instead, consider installing Web Admin on its own Linux server in your network.
1 Log in as root to the Netezza system and change to the /lib directory. 2.
3. Use the following command to remove the symbolic link: 4. Create a symbolic link for a new libssl.so.6 library as follows: ln -s libssl.so.0.9.7a libssl.so.6
1-26
20283-18
Rev.1
Known Issues
Table 1-2: Known Issues (continued) Reference 50918 Issue/Description In NzAdmin, in the left navigation tree view, the Query History pop-up menu options for Filter, Summary, and Action are present but do not cause the selected action to occur. During the installation of the Web Admin client, the following messages may appear but they can be ignored: Installing web services RPMs ... /sbin/ldconfig: / usr/lib/libcpqlsptransport.so.0 is not a symbolic link ./unpack: line 302: 4.6.6: command not found If you are changing the internal IP configuration of the TwinFin system, make sure that you follow the documented instructions in the Netezza System Configuration Guide. You must run nzupgrade -r upgrade after the configip script and the IMM addressing steps to complete the procedure. When you back up a database, Netezza always creates the specified backup location even if the backup is aborted later due to lack of sufficient disk space to hold the backup. If you have the Advanced Security features enabled and you are using the audit history feature to monitor failed authentications, you could encounter a rare situation where a postmaster core occurs and the system transitions to the Stopped state. If you encounter this issue, you should disable auditing of authentication failures. The OBDC and JDBC drivers do not receive parameter metadata from the host and therefore cannot display information for calls to methods such as getParameterType and getParameterTypeName. If you run the nzrelcaim command and specify a specific database (-db mydb) and the -allTbls option, note that there is a rare case where the nzreclaim command could fail. If the SQL user name of the owner of any of those tables contains a pipe character (|), the command will not parse the table name correctly and nzreclaim will fail. If you remove and replace the ESM 2 card, the hardware information may contain incorrect information for the status and serial numbers of the ESMs. For example, ESM 1 may have two entries a correct entry and an incorrect entry that shows the mm1 device with mm2s serial number, and an Inactive/Missing entry for ESM 2. If you use row-secure tables (RST) and perform incremental backups of those tables, note that you should not perform more than 12 incremental backups. Make sure that you create a full or cumulative backup of those tables more frequently. The restore process can restore up to only the 12th incremental backup.
51063
51184
51977
52675
55153
60198
60575
60629
20283-18
Rev.1
1-27
Table 1-2: Known Issues (continued) Reference 60653 Issue/Description Queries which invoke a stored procedure in the place where a userdefined function (UDF) is supported can result in a code generation failure and a DBOS reset. This query should instead return an error as a stored procedure cannot be used in the same manner as a UDF. An incorrect error message is displayed for a query that uses a select statement as an argument to rank, percent_rank, or cume_dist with WITHIN GROUP clause. The error message appears as ERROR: subqueries are not permitted in WITHIN GROUP ORDER BY clause but the correct message should be ERROR: subqueries are not permitted in WITHIN GROUP ORDER BY clause. If you run nzreclaim -allDbs -t mytbl, and mytbl does not exist in any of the databases, the command does not display an error that the table was not found. When you are using the NzAdmin interface and you are creating a table, note that you must use the default letter casing of the system when you type column names for any organizing keys or distribution keys. Otherwise, the distribution and organization of columns will not work. If you downgrade from Release 6.0.x to 5.0.x and you have set the maxConnections system configuration setting to a value greater than the maximum of 2000, the initial start of the NPS software may fail and cause the downgrade to hang. To resolve this issue, open a second console window to the active host, run the nzstart command, and then follow the directions to modify the /etc/sysctl.conf file. After you save the changes, run nzstart and allow the nzupgrade command to proceed.
60768
60843
60947
60951
1-28
20283-18
Rev.1
Table 1-3: Customer-Reported Bugs Fixed in Release 6.0 Number 26241 Summary Fixes an issue to allow substring as a user-specified value. It was a reserved keyword in the SQL 89 and 92 versions, but is not reserved in the 99 or 03 versions. Adds more integer overflow protection processing to improve queries that combine integers of different sizes. Fixes an issue where a CREATE EXTERNAL TABLE AS command resulted in the error attribute ?column? duplicated. Netezza no longer returns this error if you are creating transient external tables; it allows you to create the table. For a persistent external table, the error has been modified to Attribute '?column?' is repeated. Must have an appropriate alias to clarify that you need to specify an alias for a duplicate column name. Fixes an issue where, if you disabled short query bias (SQB) support, the system still applied SQB evaluation and also reserved scheduler slots and memory for those plans. Note that if you disable SQB on a very busy system, short queries will take longer to complete. For filesystem backups, adds support for configuring the maximum size of a backup file to ensure that local filesystem configuration limits are not exceeded. Fixes an issue where bad float4 input value errors occurred when real and float data types contained infinity values. Improves the GRA algorithm that determines which job to take from the scheduling queues when short and long jobs are queued and have same priority. Fixes an issue where a UNION query that includes numeric comparisons could return the error CNumeric32 : narrowing to signed 32 bit representation. Adds support for AIX 6.1 client drivers. Fixes an issue where the ODBC driver was not returning the correct indicator value when fetched data length is larger than the application buffer length supplied in SQLGetData. Adds support for ABSTIME in DBOS. Queries which use this variable no longer return the error Not available in NPS. The system now honors the default session priority for the admin user account. Adds support to allow administrators to create database user accounts that authenticate locally when the system is configured to use LDAP authentication.
26706
26994
40841
40929
41164 42586
44221
44668 46056
45332
45718
46028
20283-18
Rev.1
1-29
Table 1-3: Customer-Reported Bugs Fixed in Release 6.0 Number 46108 Summary Fixes an issue where the stored backupset is kept active in the TSM versioning system and copy group retention settings are not implemented. Adds support to the backup and restore code to ensure that the table-level restore code drops a table and its altered versions during a restore. Improves error messages that appear when a database user accounts password has expired. Adds Windows 7 support for Netezza Windows clients. Fixes an issue where the which command on UNIX clients (except Linux) did not check that a found file was an executable file. Improves the WLM priority weighting assignments for multiple priority levels by starting with the highest priority and adjusting the priority weightings successively for each of the lower priority levels. Adds support for escape sequence as input parameter value through ODBC SQLBindParameter. Fixes a display issue for an internal ODBC tool. Fixes an issue where a query using a DISTINCT clause returned ERROR: -1 : Invalid group reference in expr for aggr when the query is executed. Improves OLE DB load performance of tables that have many rows but few only a few narrow columns. Adds support to stored procedures for query text that includes extra semicolons. Adds improvements to the _v_functions view to ensure that users can see only the functions that they are permitted to see, not all functions. Adds OLE DB support for parameterized queries in batch mode. Fixes a two-phase planner condition where a NOT IN query was not processed correctly. Fixes an issue while converting from double to numeric(18,11) that only 6 digits after decimal point are retained and the rest is truncated. Adds support for boolean datatype in the window aggregate functions first_value, last_value, lead, and lag. Fixes an issue where the JDBC driver incorrectly truncates spaces for a column of type NCHAR that has a fixed length. When a length is specified, the value returned for that field must be space padded if required.
46230
46895
47076
48096
48116
48229 48727
49575
49901 49940
1-30
20283-18
Rev.1
Table 1-3: Customer-Reported Bugs Fixed in Release 6.0 Number 50198 Summary Adds support for fractional seconds in now(), CURRENT_TIMESTAMP and CURRENT_TIME. Changes the ctas_autostats_min_rows registry setting from an INT to a DOUBLE so that users can specify values greater than 2.14 billion rows (2,147,483,647). The Web Admin client now installs an ODBC client to ensure correct operation with Apache libraries and Postgres.
Note: If the destination Linux system already had an ODBC driver
50421
50653
installed, the Web Admin installation will back up the old .odbcinst.ini file and create a new one. The installer warns you of the backup; if you had customized the driver configuration file, you may need to apply the changes to the new file. 50687 Fixes an issue where query history data failed to insert to the history database due to non-numeric values for estimated costs. Adds online help to the NzPortal interface. Adds improved password management support to prompt the user to change initial account password. Sets the S-Blade BIOS boot failure process to disabled so that consecutive failures do not reset the BIOS to default settings. Fixes an issue where the Web Admin interface did not display the correct version information. Fixes an issue where a subselect in an ORDER BY clause was lost during window aggregate transformations, resulting in a DBOS reset for the query. Fixes an issue where CREATE EXTERNAL TABLE with a rank() function returned an error that a subselect in the FROM clause may not have SELECT INTO. Adds multiple destinations support for backups to and restores from filesystem locations. Updates the NzAdmin Alerts page to remove issues that do not apply to TwinFin systems. Fixes an issue where NzAdmin incorrectly allowed users to manage permissions for SECURE TABLE objects; this is incorrect and SECURE TABLE has been removed as an object type in NzAdmin.
50901
50907
50985
51159
51228
51300
20283-18
Rev.1
1-31
Table 1-3: Customer-Reported Bugs Fixed in Release 6.0 Number 51467 Summary Adds a new ODBC 4.x driver option loadRoundFraction to restore a 3.x driver behavior that allowed float/double ODBC data types to be loaded or inserted into numeric columns, resulting in values that are rounded to two decimal places. On Windows clients, you set the option using the Advanced DSN Options tab of the ODBC Data Source Administrator window. On UNIX clients, you set the loadRoundFraction = true option in the .odbc.ini file. The default is false. For more information on using these interfaces and files, see the Netezza ODBC, JDBC and OLE DB Installation and Configuration Guide. Adds logging support when the client manager requests a large (and unsupportable) amount of memory to note the request and the amount for improved troubleshooting. Adds improvements to the password management support. Fixes an issue where a query that uses a mix of table names and synonyms for table names returned inconsistent results. Fixes an issue where the fixed-format loading support did not correctly process empty date/time delimiters (no delimiters) in combination with particular date/time styles. Fixes an issue where the concatenation of a a Unicode string literal resulted in unexpected extra spaces. Netezza now considers dimensions with MVIEWS for prebroadcasting. At prebroadcast time, the system determines which of the narrowest MVIEWS satisfies the attributes needed for the table. Fixes an issue where a record counter during a hash join process overflowed and resulted in a not enough memory to partition hash join error.
51548
51561 51926
51939
51965 52055
52386
1-32
20283-18
Rev.1
Table 1-3: Customer-Reported Bugs Fixed in Release 6.0 Number 52414 Summary Adds two session variables that control how Netezza behaves when performing a SQL cast of an empty string or a string of only spaces to any number type (integers, floats, and numerics). In earlier releases, Netezza cast empty strings to the number 0 in some cases and returned an error in others. With this change, Netezza allows you to control the behavior of these casts using the cast_empty_str_zero and legacy_cast_sr_to_num session variables.
For the legacy_cast_sr_to_num variable, the default of true causes
Netezza to keep the same casting behaviors as in their prior release. if set to false, the system uses the value of the cast_empty_str_zero variable to control the casting behavior.
For the cast_empty_str_zero variable, the default of true causes
Netezza to cast an empty string or a string of only spaces to the number 0. If set to false, the variable causes these casts to return an error. You can control the variables during a database user session using, for example, the "set cast_empty_str_zero = false;" command at the nzsql prompt. You can also change the system-wide setting by editing the value of the variable in the /nz/data/postgresql.conf file. (After you change a postgresql.conf variable setting, you must stop and restart the Netezza software for the change to take effect.) 52461 Fixes an issue where a bulk insert fails with a JDBC error Unable to establish loopback connection. Improvements to zonemap expression preparation to improve query performance. Fixes an issue where the CREATE EXTERNAL TABLE compress on option was not recognized as a valid option. Adds four views for listing details of primary key and foreign key constraints of tables. Reduces query errors when the DBOS memory requirement estimates for a memory-based sort are slightly greater than the estimates calculated by the SPU. Added fixes to nzload to support '\|' when -truncString and -escapeChar options are enabled. Fixes an issue where a UNION operation with multiple data types on each side of the operand could result in the error UNION types "varchar" and "int4" not matched if the values resolved to two different data types. Fixes an issue where altering a keystore password and then reloading the passwords (such as after a system restart) can result in user login failures due to corrupted passwords.
52463
52506
52612 52897
52904
53075
53187
20283-18
Rev.1
1-33
Table 1-3: Customer-Reported Bugs Fixed in Release 6.0 Number 53225 Summary Fixes an issue where the system did not grant permission on _v_oledb_types1 to all users. Updates the pinned frame buffers processing of windowed aggregates. Fixes an issue where nzload with variable-length fields (varchar, nvarchar types) could create tables that were much larger than expected. Fixes an issue where a query caused a DBOS reset because JIT statistics plans included PARAMs or subplan expressions that had not yet been evaluated. Fixes an issue where an NzAdmin user could not change his password using the interface. Fixes an issue in the just-in-time join estimations that caused an increase in the run-time for queries. Fixes an issue that occurred when a query with a load operation that was aborted caused a rare condition where Postgres dropped a temporary table that was still being used by DBOS. Fixes a memory accounting issue for disk-based sorting. This change helps to reduce incidents where S-blades become unresponsive due to Linux memory paging. Removes FPGA messages that appeared to be errors but which were used internally for information. Fixes an issue where physical port monitoring errors were being written to stdout, not sysmgr logs, and the XML message was being truncated. Fixes an issue in the disk-based hash join planner that improves the estimation process for determining whether the join inner table can fit in memory or if it must be processed on the disk. Fixes an issue where a query that used grouped windowed aggregates resulted in a postmaster reset. Fixes an issue where to_date could return an invalid results error for rare cases. Improves the behavior of the 4.6.6 JDBC driver to more efficiently estimate the column sizes of an external table. When a SELECT query was cancelled via OLE DB connector, the system was incorrectly cancelling a subsequent SELECT query. Fixes an issue where the ODBC driver did not create nzlog or nzbad files when loadMaxError is greater than the number of invalid records or there were no invalid records.
53443
53509 53672
53888
53972 54000
54003
54007
54107 54113
54184
54186
1-34
20283-18
Rev.1
Table 1-3: Customer-Reported Bugs Fixed in Release 6.0 Number 54189 54191 (53726) 54305 54321 Summary Improves XML error handling in the physical port error monitoring scripts. Adds the improved physical port monitoring support.
Fixes an issue where a result set can become truncated when the JDBC setFetchSize parameter is set to a value larger than the batch size. Fixes an issue with the numeric scale of a quotient involving the numeric cast of a literal value. While often harmless, this could result in an incorrect value if the quotient was being inserted into a CTAS result table. Fixes an issue in stored procedure queries to ensure that parameter substitutions occur earlier in the planning phases. Adds more troubleshooting controls to error out on unsupported correlated query which would otherwise cause a Netezza restart. Improves system manager processing for S-Blades that have invalid serial numbers to ensure that those blades are not added to the catalog, but instead report a hardware service requested event for those problem blades. Improves disk scheduling fairness algorithms relating to workload management to ensure that urgent IO requests do not wait for active IOs of a lesser priority to complete. Fixes an issue where the _vt_disk_log planid column was null in some cases when it could have had data. Fixes an issue where the _vt_disk_log table's sqb attribute is always set to "f" for short query bias (SQB) disk jobs that have priority "0". Improves the performance of CREATE TABLE operations when large CTAS operations are taking place simultaneously. Fixes an issue where the NzAdmin interface did not use the value of environment variables such as NZ_CLIENT_MGR_PORT. Fixes an issue where the system manager restarted S-Blades because it incorrectly believed the SPUs to be unreachable when they were too busy to respond to polls. Improves the detection of files such as transaction journal detail files that have exceeded the 2GB size limit, which can impact processes such as backups. Fixes an issue where a windowed aggregate query with an inner subquery grouping clause is not supported and now returns an error.
54326
54327 54389
54407
54423 54426
54469
54472
54501
54518
54599
20283-18
Rev.1
1-35
Table 1-3: Customer-Reported Bugs Fixed in Release 6.0 Number 54717 Summary Fixes an issue where users who run nzudxcompile as a user other than admin could receive errors that they need System privilege to run the command. Fixes an issue where ODBC with SSL option creates the file prngseed.dat in the current directory but does not delete it. Fixes an issue where nzhostrestore caused a system manager core. Improves support for managing queries on databases that are dropped while a query is running/queued for it. Fixes an issue where a query that performs a MINUS ALL operation returned incomplete results due to subquery optimization. Fixes an issue where query text is double-byte characters was divided in the middle of a character when additional text was saved in the $hist_query_overflow_1 area. Improves WLM scheduling to abort a plan which requires fixed resources that exceed the total available resources. Improves processing of merge joins with a pre-broadcasted table. Fixes an issue where a terminal window running a shell script with nohup aborted, and aborted the shell script as well. Fixes an issue where the system manager restarted after packets were dropped in the internal fabric communications during heavy communication loads between the host and the S-Blades. Reduces the performance cost start-up of the NzPortal home page processes. Fixes an issue where invalid characters/entries in the postgresql.conf file could prevent system start. The system now ignores invalid entries and starts. Fixes an issue where NzAdmin incorrectly allowed users to grant permissions on two system tables that should have been restricted. Fixes an issue where a query returns a DEV_UEC_DATA_STORAGE error and reboots the S-Blade. Fixes an issue where a query that used an OR of user-specified cast from CURRENT_YEAR to a CHAR(4) resulted in an error for an internal function. Fixes an issue where $hist_query_epilog_1 had duplicate records due to an additional record being added when a query was aborted.
54870
54883 54919
55023
55027
55116
55136
55217
55282 55313
55316
55321
1-36
20283-18
Rev.1
Table 1-3: Customer-Reported Bugs Fixed in Release 6.0 Number 55368 Summary Adds support in the ODBC driver for queries that specify a partial shape for inline external tables. You can now specify any combination of column names and/or names with data types to define the external table shape. Fixes an issue where a disk regeneration could be starved for resources and take much longer to complete when user queries were running. Fixes an issue where a first_value/last_value function on a varchar datatype can result in a SPU core file when the first returned value is a NULL and the second is non-NULL. Improves disk-based hash join table partitioning memory management. This change helps to reduce incidents where S-blades become unresponsive due to Linux memory paging. Fixes an issue that occurs when creating a materialized view for a very large table which results in an error that a file descriptor is too large. Improves dispersion plan estimates for inner join calculations. Improves memory allocation and deallocation routines for INLIST queries. Fixes an issue where a query with a left exists join can sometimes return a code generation error due to a mismatched label. Improves memory management during large sort operations, such as those created during TABLE AS SELECT ... ORDER BY ..., which may now complete successfully or return a Disk temporary work space is full error if the sort is too large. Previously, these queries would have returned a not enough Sort/merge buffers error. Improves nzchkhost to detect and error out if there is more than one file that is registered to handle the TFTP service in xinetd. Added checks to set and identify whether stack space limits on the system were overriden by user to be too low for Netezza to start. Improves error-checking and reporting for queries that use correlated subqueries inside CASE WHEN statements, which are not supported. Fixes an issue where the left outer LEFT OUTER JOIN prevents the FACT table from streaming. Fixes an issue where a distributed hash join query resulted in S-Blade restarts due to internal record store processing. Fixes an issue where planner node processing could be impacted by a relabel node that contains a pointer to a var node. Improves sysmgr processing to ensure that it tracks background disk regenerations such as those started by the md layer.
55413
55466
55471
55685
55910
55919 55921
55924
55953 55954
56076
56083
20283-18
Rev.1
1-37
Table 1-3: Customer-Reported Bugs Fixed in Release 6.0 Number 56112 Summary Fixes an issue where an attempt to abort a long-running query resulted in a timeout of the abort command. Improves SELECT list compaction algorithms. Fixes an issue where the combine_label() function required improvements for OR conditions. Fixes an issue where the nzload command returned an error when the output path is specified using a network path name. Fixes an issue where external table loads could sometimes return unexpected token errors. Fixes an issue where a query with a limit 0 failed in ODBC due to protections designed for UDXs and stored procedures. Improves the scan time and performance of CTAS operations on tables that have materialized views associated with them. Fixes an issue where the sysmgr process could restart if it ran out of memory when attempting to write messages with very large fields to the sysmgr log. The resolution is to drop the overly large message and write an information message to the log. Fixes an issue where one dataslice hangs during an insert operation due to a Linux ND driver race condition. Fixes an issue where the subquery planner did not correctly apply exists logic to all the tables in the subquery, resulting in a postmaster reset. Fixes and issue where repeated inserts from an external table in the same session resulted in out-of-memory errors. The hardware service requested event now obtains the AMM service data logs. Fixes an issue where a query that updated a table in the catalog and a simultaneous vacuum operation on that table resulted in a postmaster reset. Fixes an issue where a query containing a sequence projected in its targetlist aborted with ERROR: SPU swap partition : Disk temporary work space is full. Fixes an issue where stored procedure field names were not being duplicated correctly during processing. Fixes an issue where certain client commands such as nzreclaim issued with an incorrect password resulted in a database reset.
56292
56318 56361
56391
56428 56439
56461
56633
56707
56717
56738
56789
1-38
20283-18
Rev.1
Table 1-3: Customer-Reported Bugs Fixed in Release 6.0 Number 56806 Summary Fixes an issue where a log file exceeded 2GB in size and resulted in a Netezza restart. Adds support to the JDBC driver to specify whether database metadata should be retrieved for all databases. For more information, see ODBC, JDBC, OLE-DB Changes on page 1-13. Fixes an issue where zone map min/max value settings needed to be cleared following an INSERT from an external table. Fixes an issue where GENERATE STATISTICS can sometimes result in an S-Blade core on heavily loaded systems. Improves the internal spinlock processing timer to avoid timeouts after the maximum number of client connections has been reached. Improves memory cleanup routines for certain queries that would report SPU oversubscribed memory errors. Queues certain commands such as a TRUNCATE during system startup to ensure that all resources are started and online before DB activity occurs. Updates the EM support to ensure that the status of the EMs is checked and updated regularly. If the active EM fails, the passive EM is checked and brought to active status. Fixes an issue where the nzsasphysw command returned an incorrect SPA number. Improves internal processing to free resources associated with deleted record store files in the disk temporary work space. This helps to reduce cases where subsequent queries could return ERROR: SPU swap partition : Disk temporary work space is full. Suppresses a Netezza event when an AMM reboots, because during that transition, the AMM returns the notAvailable state for chassis power supplies for about 5 seconds. Fixes an issue where select list compaction for a temporary query resulted in a postmaster problem. Updates NzAdmin to include the Release 6.0.x privileges. Improves system manager to detect and ignore duplicate poll call messages on the S-Blades when network links are restored to service. Improves the error check messages for duplicate objects and names. Adds support in the ODBC driver for queries that specify a partial shape for inline external tables. You can now specify any combination of column names and/or names with data types to define the external table shape.
56879
56885 56886
56921
56991 56996
57029
57052 57055
57114
57115
57133 57170
57187 57223
20283-18
Rev.1
1-39
Table 1-3: Customer-Reported Bugs Fixed in Release 6.0 Number 57368 Summary Fixes the lock table code to ensure that a process that locks a table and subsequently tries to update it is not locked out in the case when such a process can run multiple times concurrently, as in a stored procedure. Fixes an issue where a right join query returned a 0 instead of a NULL when there was no match between the joins. Fixes an issue where concurrent SELECT NEXT VALUE FOR SEQUENCE operations resulted in one completion and one hang due to lock mechanisms on TwinFin. Improves the system manager processing for devices such as S-Blades and disks that are orphaned (that is, they lost parent-device information). Improves the host memory allocation and cleanup for bridge queries that include a limit 0 constraint, which can sometimes cause the host to run out of its reserve memory. Fixes an issue where queries that use grouping sets could error out with ORDER/GROUP BY expression not found in targetlist due to optimizer changes. Fixes an issue where the _t_attrdef table was capturing information but was not being cleaned up during vacuum processing, resulting in a large size that impacted Netezza processing. Improves the query abort processing so that an active query that is aborted cleans up and exits faster. Fixes an issue where a restore to a database which has existing UDX or stored procedure objects fails. Fixes an issue where a hashed aggregate query did not correctly process the rowid information. Adds information to the Netezza System Administrators Guide to describe how to set the Tivoli transaction size value. Fixes an issue where the optimizer was recomputing the distinct clause of a select query too early in the optimization process. Improves management and processing of disk failures to harden system reaction to these occurrences. Fixes an issue where nzstats -type hostfilesystem returned invalid results due to a field value overflow. Fixes the trunc() function to ensure that it checks a numeric value's scale and precision before processing.
57438
57452
57484
57522
57543
57686
57714
57802
58037 58076
58131
58200 58264
58292
1-40
20283-18
Rev.1
Table 1-3: Customer-Reported Bugs Fixed in Release 6.0 Number 58341 Summary Adds support to allow the field delimiter in an external table to contain decimal, octal, and hexadecimal number representations. Fixes an issue where NzPortal monitoring queries were failing because the queries used implicit cross-join queries which were not allowed on the system. Fixes an issue where you cannot create a numeric type with a length equal to the length of the numeric. Fixes an issue where significant external table creation tasks resulted in postmaster cores. Fixes an issue where an incremental restore of a table that changed names between the backup and the restore resulted in a core file. Fixes an issue where an internal stored procedure routine threw an uncaught error when it could not find a global variable, resulting in a host reboot. Improves signal-handling code. Fixes an issue where the show locks command failed with an invalid UTF-8 sequence error due to handling of multi-byte characters. Fixes an issue where the Beta version disk space usage may have been reported incorrectly in applications such as NzAdmin and nzds. Fixes an issue where queries that end in strings which appear to relate to "Offset" or "Limit", such as "o", "l", "off", "limi", results in a parser code problem. Corrects the Netezza Database Users Guide to note the correct Julian start date of November 24, 4714 BC. Fixes an issue where user sequences in a query FROM list or TARGET resulted in a no such table exists error. Fixes an upgrade issue during 5.0.x to 6.0 upgrades that checks for an reports on tables with incomplete zone maps. Fixes an issue where DBOS reset during a system-generated query scan. Fixes an issue where queries on tables that had more than four entries in an INLIST restriction ran slower on 6.0 than in previous releases. Improves the disk path failure processing to display path event messages for the disk slot and enclosure number when a failed drive is removed from the system.
58401
58429 58478
58562
58565
58579 58590
58675 58701
58817
58844
59033
20283-18
Rev.1
1-41
Table 1-3: Customer-Reported Bugs Fixed in Release 6.0 Number 59140 Summary Improves database locking mechanisms to allow a read lock on objects when a database is in read-only mode. Fixes an issue where an error occurs when users run GENERATE STATISTICS from NzAdmin or NzPortal. Fixes an issue where dispersion values were not correct due to casting of integer data types. Fixes an issue where insert operations failed in early Beta kits due to problems clearing inserter record entries for failed or aborted inserts. Ensures that additional instances of internal host application processes, which are normally invoked by the nzstart command, cannot be started using a command line operation other than nzstart. Improves session management tracking when the system is running numerous jobs of the same type, such as reclaim sessions, to ensure that individual session references are updated correctly. Updates the stored procedure logic to prevent a stored procedure from dropping an active stored procedure. Fixes an issue where GEN STATS did not correctly process certain fixedlength columns in early 6.0 beta builds. Fixes an issue where the FPGA image required an update. Adds the FRU value to the email notification for the SCSIPredictiveFailure event type. Improves the management of disk labels to ensure that disk replacements do not impact other active disks. Fixes an issue where the nzreclaim script attempted to groom non-table objects. Fixes an issue where frequent updates and rollbacks could result in memory cleanup issues and out-of-memory errors. Fixes an issue where kernel driver settings impacted the performance of some disk-based queries. Fixes an issue where Compress Engine II internal processing increased the time for certain CTAS insert and update operations. Fixes an issue where the Web Admin client did not install due to an undefined SSL symbol.
59205
59217 59242
59276
59399
59690
59785
59830 59873
60031
60198
60312 60769
60770
60799
1-42
20283-18
Rev.1