This release includes enhanced support for debugging database procedures and for dealing with runtime errors. New trace point QE131 enables the display of the line number within a procedure at which an error condition is detected. In addition, the HELP PROCEDURE command has been enhanced for user written procedures; the procedure text is displayed with line numbers to the left of the procedure source code.
This release contains the following usability enhancements:
The following features are removed in this release:
The Ingres Web Deployment Option is depreciated and will be removed in a future release.
In most cases, no configuration in Ingres is required to implement IPv6 support. It is automatically enabled in the tcp_ip (tcp_dec on VMS) network protocol starting with Ingres 2006 Release 2.
Some versions of operating systems, however, provide no or limited support for IPv6. In some cases, IPv6 support is available, but must be enabled or configured in the operating system before it can be used. On systems with partial or no IPv6 functionality, Ingres will adjust automatically to the level of IPv6 support available. On some systems, however, Ingres may have difficulty, particularly when starting up or establishing connections.
For those rare situations, configuration parameters can be used to "back out" the IPv6 support, if required. The converse is also possible: the TCP support can be restricted to IPv6 addresses only.
These parameters, which are not available in the configuration utilities, must be set with set, ingsetenv or iisetres commands.
On all platforms, Ingres Net typically uses TCP/IP to communicate between Ingres installations. A typical scenario is where applications in the client installation communicate through Ingres Net with the DBMS Server in the server installation. If using JDBC or .NET applications with Ingres, then TCP/IP is used to communicate between the Ingres JDBC or .NET driver running under the application and the Data Access Server (process iigcd).
On Linux and UNIX only, TCP/IP is typically used to communicate between Ingres processes-that is, as the local IPC. The tcp_ip protocol driver used for network communications is used for local communications also. Therefore, if you experience trouble with IPv6 across the network, local communications are likely to have trouble too. If so, basic Ingres server processes such as the name server (iigcn) and the DBMS Server (iidbms) may not even start.
The parameters for controlling IPv6 support are as follows:
VMS: The only configuration options are II_TCPIP_VERSION and ii.hostname.gcX.*.tcp_ip.version.
The II_TCPIP_VERSION environment variable determines the version of IP addresses that the tcp_ip (or tcp_dec on VMS) protocol driver uses. It can be set using the ingsetenv command.
Note: The equivalent configuration parameter in config.dat is tcp_ip.version.
This variable has the following format:
II_TCPIP_VERSION = value
Controls which tcp_ip protocol driver or which version of IP addresses to use, as one of the following:
(Default) Uses both IPv4 and IPv6 addresses.
VMS: The default behavior is to use both IPv4 and IPv6 addresses, and to map the IPv4 addresses as IPv6.
Uses IPv6 addresses only.
VMS: The IPv6 versions of the listen, accept, and connect are used.
Windows: Uses only IPv4 addresses with IPv6-capable functions.
Linux, UNIX, VMS: Uses the IPv4-only version of the protocol driver.
Linux and UNIX: Uses only IPv4 addresses with IPv6-capable functions.
On Linux and UNIX, the II_GC_PROT environment variable sets the local IPC communications protocol. This variable can be set using the ingsetenv command.
This variable has the following format:
II_GC_PROT = protocol
Specifies the local IPC communications protocol as one of the following:
(Default) Uses the current TCP_IP protocol driver.
Uses the previous version of the TCP_IP protocol driver, which supports IPv4 addresses only.
This resource in config.dat sets the network communications protocol for the designated server (gcX) to the appropriate Ingres network protocol driver. The gcX server can be gcc, gcd, or jdbc. The resource can be set by using the iiisetres command.
The format is as follows:
ii.hostname.gcX.*.protocol.status
and
ii.hostname.gcX.*.protocol.port
Specifies the Ingres network protocol driver, which can be one of the following:
(All environments except VMS) (Default) Uses the current TCP_IP protocol driver.
(Linux and UNIX only) Uses the previous version of the TCP_IP protocol driver, which supports IPv4 addresses only.
(Windows only) Uses the previous version of the TCP_IP protocol driver, which supports IPv4 addresses only.
(VMS only) Uses the current TCP_IP protocol driver.
Two approaches can be used to disable IPv6 support:
The tcp_ip protocol driver can be restricted to listen and connect only with IPv4 style addresses. (IPv4 is the standard IP version that was used prior to IPv6).
To restrict the tcp_ip protocol driver to use IPv4 addresses only:
Use any one of the following options, which are functionally equivalent:
Windows:
set II_TCPIP_VERSION=4
Linux and UNIX:
set II_TCPIP_VERSION=46
Windows:
ingsetenv II_TCPIP_VERSION 4
Linux and UNIX:
ingsetenv II_TCPIP_VERSION 46
If using Ingres Net:
iisetres ii.machine.gcc.*.tcp_ip.version 4
If using Data Access Server:
iisetres ii.machine.gcd.*.tcp_ip.version 4
If using JDBC Server:
iisetres ii.machine.jdbc.*.tcp_ip.version 4
iisetres ii.machine.lnm.ii_tcpip_version 4
To completely back out IPv6 support, you must use the old driver, which supports IPv4 only. The old driver is renamed to tcp_ipv4 on UNIX and Linux, and is wintcp on Windows. The old driver is expected to be made obsolete in a future release of Ingres.
To back out the enhanced tcp_ip Ingres protocol driver
Linux, UNIX, Windows:
iisetres ii.machine.gcc.*.tcp_ip.status OFF (All platforms)
iisetres ii.machine.gcc.*.tcp_ipv4.status ON (Unix/Linux)
iisetres ii.machine.gcc.*.tcp_ipv4.port II (Unix/Linux)
iisetres ii.machine.gcc.*.wintcp.status ON (Windows)
iisetres ii.machine.gcd.*.tcp_ip.status OFF (All platforms)
iisetres ii.machine.gcd.*.tcp_ipv4.status ON (Unix/Linux)
iisetres ii.machine.gcd.*.tcp_ipv4.port II7 (Unix/Linux)
iisetres ii.machine.gcd.*.wintcp.status ON (Windows)
Set the port value to same as that used by the same server for tcp_ip. If using JDBC Server instead of GCD Server, replace "gcd" with "jdbc" in the above examples.
VMS:
define/group II_TCPIP_VERSION 4
or
define/system II_TCPIP_VERSION 4
ingsetenv II_GC_PROT tcp_ipv4
set II_TCPIP_VERSION=4
or
ingsetenv II_TCPIP_VERSION 4
Note: This step is equivalent to steps 1 and 2 above, and is the simplest way to back out to the IPv4-only driver on Linux and UNIX.
No Ingres parameters control or restrict IPv6 in the JDBC driver or the .NET Data Provider. The DAS (server side of the connection) can be configured as documented in Options for Disabling IPv6 Support. However, there are some Java-specific networking system properties that can by set to control the IPv6 behavior in the Ingres JDBC driver (and other Java applications).
To return IPv6 addresses before IPv4 addresses:
java.net.preferIPv6Addresses=true
To restrict driver to IPv4 only:
java.net.preferIPv4Stack=true
In the following examples, assume: machine=host1, Ingres installation id=AA, startup count is 1 for Ingres Net and Data Access Server.
Linux and UNIX:
ingsetenv II_GC_PROT tcp_ipv4
iisetres ii.host1.gcc.*.tcp_ip.status OFF
iisetres ii.host1.gcc.*.tcp_ipv4.status ON
iisetres ii.host1.gcc.*.tcp_ipv4.port AA
iisetres ii.host1.gcd.*.tcp_ip.status OFF
iisetres ii.host1.gcd.*.tcp_ipv4.status ON
iisetres ii.host1.gcd.*.tcp_ipv4.port AA7
Windows:
iisetres ii.host1.gcc.*.tcp_ip.status OFF
iisetres ii.host1.gcc.*.wintcp.status ON
iisetres ii.host1.gcd.*.tcp_ip.status OFF
iisetres ii.host1.gcd.*.wintcp.status ON
Note: wintcp port is typically already set correctly on Windows.
VMS:
define/group II_TCPIP_VERSION 4
or
define/sys II_TCPIP_VERSION 4
Optionally, set the "lnm" (logical name) attribute to cause II_TCPIP_VERSION to be defined when the servers start up:
iisetres ii.machine.lnm.ii_tcpip_version 4
ingsetenv II_TCPIP_VERSION 4