Ingres 10S

Release Summary

ING-101-RS-04

This Documentation is for the end user's informational purposes only and may be subject to change or withdrawal by Corporation ("Actian") at any time. This Documentation is the proprietary information of Actian and is protected by the copyright laws of the United States and international treaties. It is not distributed under a GPL license. You may make printed or electronic copies of this Documentation provided that such copies are for your own internal use and all Actian copyright notices and legends are affixed to each reproduced copy.

You may publish or distribute this document, in whole or in part, so long as the document remains unchanged and is disseminated with the applicable Actian software. Any such publication or distribution must be in the same manner and medium as that used by Actian, e.g., electronic download via website with the software or on a CD- ROM. Any other use, such as any dissemination of printed copies or use of this documentation, in whole or in part, in another publication, requires the prior written consent from an authorized representative of Actian.

To the extent permitted by applicable law, ACTIAN PROVIDES THIS DOCUMENTATION "AS IS" WITHOUT WARRANTY OF ANY KIND, INCLUDING WITHOUT LIMITATION, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT. IN NO EVENT WILL ACTIAN BE LIABLE TO THE END USER OR ANY THIRD PARTY FOR ANY LOSS OR DAMAGE, DIRECT OR INDIRECT, FROM THE USER OF THIS DOCUMENTATION, INCLUDING WITHOUT LIMITATION, LOST PROFITS, BUSINESS INTERRUPTION, GOODWILL, OR LOST DATA, EVEN IF ACTIAN IS EXPRESSLY ADVISED OF SUCH LOSS OR DAMAGE.

The manufacturer of this Documentation is Actian Corporation.

For government users, the Documentation is delivered with "Restricted Rights" as set forth in 48 .F.R. Section 12.212, 48 C.F.R. Sections 52.227-19(c)(1) and (2) or DFARS Section 252.227-7013 or applicable successor provisions.

Copyright © 2012 Actian Corporation. All Rights Reserved.

Actian, Cloud Action Platform, Cloud Action Server, Action Server, , , OpenROAD, Enterprise Access, and EDBC are trademarks or registered trademarks of Actian Corporation. All other trademarks, trade names, service marks, and logos referenced herein belong to their respective companies.

Contents

Chapter 1: New Features in Ingres 10.1 5 Actian Director ...... 5 DBMS Server Enhancements ...... 6 Geospatial Data Types and Functions ...... 6 Common Table Expressions ...... 6 Mulitiple-row INSERT ...... 6 SQL Functions ...... 7 Command Enhancements ...... 8 Terminal Monitor Commands ...... 8 New Location for Logs (Windows) ...... 8 Log File Names Can Include Process ID and Date ...... 9 II_DATE_FORMAT Settings ISO4T and ISO4TC ...... 9 UCS_BASIC Collation for Columns ...... 9 SET SESSION COLLATION ...... 9 Default Configuration for Transactional System ...... 10 Connectivity Enhancements ...... 10 ODBC Batch Queries ...... 10 JDBC getGeneratedKeys Enhancement ...... 10 Ingres .NET Data Provider Enhancements...... 11 Supportability Enhancements ...... 11 Unicode-enabled by Default ...... 11 Portable UTF-8-encoded Copydb and Unloaddb ...... 11 Date Format with Space Delimiter ...... 12 DROP TABLE IF EXISTS ...... 12 SET HASHAGG and SET HASHJOIN ...... 12 Logging System Statistics Enhancement ...... 12 Identification of Long Running Queries ...... 13 Miscellaneous Enhancements ...... 13

Chapter 2: Drop Support Notice for Network Protocols 15 Drop Support Notice for Obsolete Ingres Network Protocols ...... 15 Network Protocol Drivers to be Dropped ...... 15 Network Protocol Drivers Supported ...... 16

Index 17

Contents iii

Chapter 1: New Features in Ingres 10.1

This section contains the following topics: Actian Director (see page 5) DBMS Server Enhancements (see page 6) Connectivity Enhancements (see page 10) Supportability Enhancements (see page 11)

Actian Director

Actian Director is a new graphical interface that lets you manage your local and remote Ingres and Vectorwise installations. Using Director, you can:

 Manage , tables, servers, and their components

 Administer security (users, groups, roles, and profiles)

 Create, store, and execute queries

Director components include the Director (client program) and the Management Server (iimgmtsvr). One client program can be used to remotely manage any Ingres or Vectorwise instance where the Management Server is installed.

Actian Director requires a Java Runtime Environment (JRE) version 1.6.0_14 or later. For more information, see the Installation Guide and the Actian Director User Guide (http://docs.actian.com/director/1.0/actian-director-user- guide).

New Features in Ingres 10.1 5

DBMS Server Enhancements

DBMS Server Enhancements

Geospatial Data Types and Functions

Ingres Geospatial allows geometry and geography related data to be stored in Ingres databases.

Ingres Geospatial supports the following:

 OGC SFS SQL (Open Geospatial Consortium Simple Feature Specification for SQL) version 1.1 data types and functions

 Spatial Reference/Coordinate Systems

 GDAL/OGR connectivity — Applications such as Mapserver, Quantum GIS, and others that use OGR for vector data. GDAL/OGR must be built with Ingres support to access these features.

 A driver for Ingres support in GeoTools Java connectivity.

Ingres Geospatial replaces and is not compatible with the Spatial Objects Library that was provided in earlier releases of Ingres.

For more information, see the Geospatial User Guide.

Common Table Expressions

A Common Table Expression (CTE) is a temporary named result set, derived from a simple query and defined within the execution scope of a SELECT or INSERT statement. It is similar to a derived table or inline view.

A CTE simplifies many complex queries. It can be used to replace derived tables (subqueries), temporary tables, table variables, and inline user-defined functions.

For more information, see the SQL Reference Guide.

Mulitiple-row INSERT

The SQL INSERT statement lets you supply multiple rows on the VALUES clause. For example:

INSERT INTO tbl (col1, col2) VALUES (1,'a'), (2, 'b'), (3, 'c');

For more information, see the SQL Reference Guide.

6 Release Summary

DBMS Server Enhancements

SQL Functions

The following new functions are added:

 DECODE

 SRAND

 RAND

 REPEAT (REPLICATE)

 INITCAP

 SUBSTR

 DATE_FORMAT

 TIME_FORMAT

 DAYOFWEEK

 DAYOFMONTH

 DAYOFYEAR

 DOY

 LAST_DAY

 UNIX_TIMESTAMP

 FROM_UNIXTIME

 MILLISECOND

 MONTHS_BETWEEN

 New keywords on EXTRACT function: EPOCH, DAYOFWEEK, DAYOFYEAR, DOY, MILLISECONDS, WEEK, QUARTER, ISO_WEEK

For more information, see the SQL Reference Guide.

New Features in Ingres 10.1 7

DBMS Server Enhancements

Command Enhancements

The following command flags are added:

 Infodb -databases lists the database names in the current installation.

 Alterdb -readonly sets a read-write database to read-only. Alterdb -readwrite sets a read-only database to read-write.

 ckpdb -keep=n preserves the specified number of last valid checkpoints and deletes all older checkpoints.

 Copydb and unloaddb -on_logfull=value adds a SET SESSION WITH ON_LOGFULL=value statement to the generated copy.in file.

 Copydb and unloaddb -with_blankline generates redundant blank lines after every row in each data file generated. This option applies only when using the –c flag to generate ASCII data files.

 Optimizedb and statdump -Ppassword specifies the user password for the database.

 Auditdb –maxobuf=n specifies a maximum output buffer size, which can exceed the default of 8192 bytes.

These are documented in the Command Reference Guide.

Terminal Monitor Commands

The following Terminal Monitor commands are added:

 \redirect redirects row output to a specified file.

 \vertical enables vertical output.

 \colformat specifies a column name and its format to be used in subsequent result sets.

 \showcf displays defined column name/format pairs.

For more information, see the SQL Reference Guide.

New Location for Logs (Windows)

II_LOG is a new variable that defines the location for all logs. II_LOG is defined in the symbol table. In new installations, II_LOG is set to the %ALLUSERSPROFILE% location, where special privileges are not required for users to access the files.

For more information, see the Installation Guide.

8 Release Summary

DBMS Server Enhancements

Log File Names Can Include Process ID and Date

The file name specified for server logs can contain %p and %d, which are replaced at startup with the server Process Identifier and the current date, respectively. For example: dbms_%d_%p.log. This prevents the server from writing to the wrong log.

Such file names can be specified on the variables II_DBMS_LOG, II_GCA_LOG, II_GCD_LOG, II_GCN_LOG, II_ODBC_LOG, and II_API_LOG.

For more information, see the System Administrator Guide, Connectivity Guide, and OpenAPI User Guide.

II_DATE_FORMAT Settings ISO4T and ISO4TC

New settings for the II_DATE_FORMAT environment variable include ISO4T and ISO4TC, whose output format is the same as ISO4, unless the date includes a time, in which case the format is: yyyymmddThhmmss and yyyymmddThh:mm:ss, respectively.

For details, see the SQL Reference Guide and System Administrator Guide.

UCS_BASIC Collation for Columns

UCS_BASIC can be specified as a collation for columns containing Unicode data (nchar and nvarchar data types) or all character data types when using UTF8. This collation is useful when performance and efficiency is more important than the order that the data is collated in.

This is documented on the the CREATE TABLE and ALTER TABLE statement descriptions in the SQL Reference Guide.

SET SESSION COLLATION

The SET SESSION COLLATION collation_name statement sets the default collation to be used when creating tables.

For more information, see the SQL Reference Guide.

New Features in Ingres 10.1 9

Connectivity Enhancements

Default Configuration for Transactional System

When installing Ingres as a transactional system, the default values for following configuration parameters are changed:

 Lock level is MVCC (changed from row)

 Isolation level is serializable (changed from read-committed)

Connectivity Enhancements

ODBC Batch Queries

The ODBC Driver supports multiple parameter sets as optimized batched queries, if the DBMS supports batch queries. This can result in dramatically improved performance especially with very large sets of data (100K or more parameter sets).

Previously, the ODBC Driver supported multiple parameter sets as a series of individual INSERT, UPDATE, or DELETE statements.

JDBC getGeneratedKeys Enhancement

Identity columns in JDBC are supported as generated keys. Prior to this enhancement, only generated table and object keys from tables containing a system maintained column were returned to JDBC function getGeneratedKeys(). Now, identity column updates are also returned under certain conditions.

A driver property, identity_query, is added that permits the identity query to be enabled or disabled. The corresponding connection attribute is IDENTITY.

For more information, see the Connectivity Guide.

10 Release Summary

Supportability Enhancements

Ingres .NET Data Provider Enhancements

The Ingres .NET Data Provider has the following enhancements:

 .NET TransactionScope class and the EnlistTransaction and EnlistDistributedTransaction methods of the IngresConnection class are supported on 64-bit Windows systems.

 New keywords for the ConnectionString property of the IngresConnection class include:

– Date_alias – specifies the alias of ANSIDATE or INGRESDATE for the DATE data type

– Identifier_Delimiter – lets the data provider recognize both double quotes and brackets for delimited identifiers

– Connection Lifetime, Pool Check Interval, Pool Check Timeout – let you manage the data provider connection pool

 Support for batch updates through the DbDataAdapter.UpdateBatchSize property.

 Integration with Visual Studio 2010 design experience of connections, data sources, toolbox items, query designers, and wizards.

Supportability Enhancements

Unicode-enabled Database by Default

By default, the createdb command creates a database that stores UCS2 Unicode data using Normalization Form C (NFC). (You do not need to explicitly specify the -i flag on createdb). You can disable Unicode by specifying the -e flag on createdb.

For more information, see the Database Administrator Guide and the Command Reference Guide.

Portable UTF-8-encoded Copydb and Unloaddb

You can generate portable data files by using the -nvarchar flag on the copydb and unloaddb commands. The flag causes all character strings to be copied or unloaded using UTF-8 encoding, regardless of the character set of your installation.

For more information, see Portable Data Files in the Database Administrator Guide.

New Features in Ingres 10.1 11

Supportability Enhancements

Date Format with Space Delimiter

All date formats that accept DD-MMM-YYYY as an input format now accept the DD MMM YYYY format.

DROP TABLE IF EXISTS

The optional IF EXISTS clause in the DROP statement suppresses error reporting if the object specified does not exist, or exists but is not owned by the user. The IF EXISTS clause is typically used prior to issuing the corresponding CREATE statement to ensure that the CREATE statement does not fail due to an existing object of that type.

The IF EXISTS clause is supported for database objects TABLE, VIEW, INDEX, SYNONYM, and PROCEDURE. It is also supported on the DROP LINK, REMOVE TABLE, and REMOVE VIEW statements in Ingres Star.

For more information, see the SQL Reference Guide and the Star User Guide.

SET HASHAGG and SET HASHJOIN

SET [NO]HASHAGG and SET [NO]HASHJOIN is added to the SET statement. Also, WITH [NO]HASHAGG and WITH [NO]HASHJOIN is added to the SELECT statement WITH clause.

The SET [NO]HASH statement and WITH [NO]HASH clause, which used to apply to hash joins only now apply to both hash aggregation and hash joins.

This enhancement lets you control whether the query optimizer should use hash aggregation, hash joins, or both.

Logging System Statistics Enhancement

The IPM Logging System Summary Screen has a new field, Avg. Buffer Utilization, which shows the average amount of data in each log buffer written to the log. This statistic can also be viewed using the logstat -statistics command.

The new field is documented in the Interactive Performance Monitor User Guide.

12 Release Summary

Supportability Enhancements

Identification of Long Running Queries

Trace point SC925 logs queries to II_DBMS_LOG that run longer than n seconds but less than m seconds. For example:

This statement logs all queries that take longer than 5 seconds:

SET TRACE POINT SC925 5

This statement logs all queries that take longer than 5 but less than 10 seconds:

SET TRACE POINT SC925 5 10

Miscellaneous Enhancements

Other enhancements include:

 Improved error handling DB_ERROR (file, line) handling is added to SCF user and PSF error reporting.

 Server side query tracing enhancements (SC930)

 Unicode support on VMS

New Features in Ingres 10.1 13

Chapter 2: Drop Support Notice for Network Protocols

This section contains the following topics: Drop Support Notice for Obsolete Ingres Network Protocols (see page 15)

Drop Support Notice for Obsolete Ingres Network Protocols

Actian Corporation will drop support for obsolete network protocol drivers in a future major release of Ingres. These protocols are no longer used and in many cases are unsupportable. A newer version of some of the drivers is available. These changes do not affect the current or any past release of Ingres.

If a dropped protocol (listed in next section) is used in your environment, contact Actian Support to identify a migration plan.

One protocol, wintcp on Windows, has been deprecated since Ingres 9.3. “Deprecation” means that the protocol is still available but receives no enhancements and minimal maintenance. The newer driver (tcp_ip in this case) should be used instead. “Dropped” means that the protocol will no longer be available. Beginning with Ingres 9.3, the protocol wintcp has been upgraded automatically to tcp_ip during installation. Other dropped protocols must be changed manually.

Note: All platforms continue to support the industry standard protocol TCP/IP (default is tcp_ip on , UNIX, and Windows; tcp_dec on VMS; and tcp_ibm on the mainframe). Other supported protocols are listed in a following section.

Network Protocol Drivers to be Dropped

Windows: lanman – Lan Manager nvlspx – SPX/IPX wintcp – Winsock 1.1 TCP/IP

Drop Support Notice for Network Protocols 15

Drop Support Notice for Obsolete Ingres Network Protocols

UNIX, Linux: async – BLAST serial protocol decnet – DECnet (still used and supported on VMS, but not from UNIX) iso_oslan – ISO OSI Local Area Network iso_x25 – ISO OSI X25 nvlspx – Novell SPX/IPX sna_lu62 – SNA LU62 (was available only on Oracle/Sun Solaris, HP-UX, and IBM AIX)

VMS: async – BLAST serial protocol nvlspx – Novell SPX/IPX sna_lu0 – SNA LU0 tcp_wol – Wollongong or Multinet running Wollongong emulation TCP/IP

Network Protocol Drivers Supported

Windows: tcp_ip – Winsock 2 TCP/IP

UNIX, Linux: tcp_ip, sock_tcp_ip – TCP/IP including IPv6 support tcp_ipv4, tcp_ip (if IPv6 not available on OS), sockets (if HP-UX TLI used for tcp_ip) – TCP/IP (v4 only) tli_tcp_ip or tcp_ip – TCP/IP using Transport Layer Interface (TLI) rather than sockets (HP-UX only)

VMS:

decnet – DECnet (built into VMS OS) tcp_dec – TCP/IP Services for OpenVMS, Multinet TCP/IP, and TCPWARE

16 Release Summary

Index

6 log file name • 9 long running queries, identifying • 13 64-bit Windows • 11 N A network protocol, obsolete • 15 alterdb command • 8 O auditdb command • 8 B ODBC • 10 optimizedb command • 8 batch query execution • 10 P C portable data files • 11 ckpdb command • 8 Process ID (PID) • 9 collation • 9 S common table expression • 6 configuration • 10 SQL functions • 7 copydb command • 8 statdump command • 8 createdb command • 9 T D Terminal Monitor • 8 DD MMM YYYY date format • 12 transactional system • 10 Director • 5 DROP TABLE IF EXISTS • 12 U G UCS_BASIC collation • 9 Unicode • 9 geospatial • 6 database • 11 I unloaddb command • 8 V II_DATE_FORMAT • 9 II_DBMS_LOG • 9 Visual Studio • 11 II_LOG • 8 infodb command • 8 Ingres .NET Data Provider • 11 INSERT mulitple rows • 6 J

JDBC • 10 L log buffer utilization • 12

Index 17