tldm-universe/Ardent/UV
2024-09-09 17:51:08 -04:00
..
&SAVEDLISTS& first push of universe files 2024-09-09 17:51:08 -04:00
APP.PROGS first push of universe files 2024-09-09 17:51:08 -04:00
APP.PROGS.O first push of universe files 2024-09-09 17:51:08 -04:00
bin first push of universe files 2024-09-09 17:51:08 -04:00
BP first push of universe files 2024-09-09 17:51:08 -04:00
BP.O first push of universe files 2024-09-09 17:51:08 -04:00
CAT first push of universe files 2024-09-09 17:51:08 -04:00
catdir first push of universe files 2024-09-09 17:51:08 -04:00
CVI first push of universe files 2024-09-09 17:51:08 -04:00
gcidir first push of universe files 2024-09-09 17:51:08 -04:00
HS.ADMIN first push of universe files 2024-09-09 17:51:08 -04:00
HS.BP.O first push of universe files 2024-09-09 17:51:08 -04:00
HS.SALES first push of universe files 2024-09-09 17:51:08 -04:00
HS.SERVICE first push of universe files 2024-09-09 17:51:08 -04:00
I_UV.TRANS first push of universe files 2024-09-09 17:51:08 -04:00
INCLUDE first push of universe files 2024-09-09 17:51:08 -04:00
NEWACC first push of universe files 2024-09-09 17:51:08 -04:00
nls first push of universe files 2024-09-09 17:51:08 -04:00
PTERM.FILE first push of universe files 2024-09-09 17:51:08 -04:00
sample first push of universe files 2024-09-09 17:51:08 -04:00
SQL/CATALOG first push of universe files 2024-09-09 17:51:08 -04:00
src.u first push of universe files 2024-09-09 17:51:08 -04:00
SYS.HELP first push of universe files 2024-09-09 17:51:08 -04:00
terminfo first push of universe files 2024-09-09 17:51:08 -04:00
uvodbc first push of universe files 2024-09-09 17:51:08 -04:00
.uvconfig first push of universe files 2024-09-09 17:51:08 -04:00
.uvconfig.bak first push of universe files 2024-09-09 17:51:08 -04:00
&DEVICE& first push of universe files 2024-09-09 17:51:08 -04:00
&MAP& first push of universe files 2024-09-09 17:51:08 -04:00
&PARTFILES& first push of universe files 2024-09-09 17:51:08 -04:00
BLTRS first push of universe files 2024-09-09 17:51:08 -04:00
capture00091aa first push of universe files 2024-09-09 17:51:08 -04:00
capture00251aa first push of universe files 2024-09-09 17:51:08 -04:00
CONVERT.PRECOMP first push of universe files 2024-09-09 17:51:08 -04:00
D_&DEVICE& first push of universe files 2024-09-09 17:51:08 -04:00
D_&MAP& first push of universe files 2024-09-09 17:51:08 -04:00
D_&PARTFILES& first push of universe files 2024-09-09 17:51:08 -04:00
D_&SAVEDLISTS& first push of universe files 2024-09-09 17:51:08 -04:00
D_&TRUNCATED& first push of universe files 2024-09-09 17:51:08 -04:00
D_APP.PROGS first push of universe files 2024-09-09 17:51:08 -04:00
D_APP.PROGS.O first push of universe files 2024-09-09 17:51:08 -04:00
D_bin first push of universe files 2024-09-09 17:51:08 -04:00
D_BLTRS first push of universe files 2024-09-09 17:51:08 -04:00
D_BP first push of universe files 2024-09-09 17:51:08 -04:00
D_BP.O first push of universe files 2024-09-09 17:51:08 -04:00
D_CAT first push of universe files 2024-09-09 17:51:08 -04:00
D_catdir first push of universe files 2024-09-09 17:51:08 -04:00
D_DATA.TYPES first push of universe files 2024-09-09 17:51:08 -04:00
D_GCI first push of universe files 2024-09-09 17:51:08 -04:00
D_GTARS first push of universe files 2024-09-09 17:51:08 -04:00
D_HASH.AID.FIL first push of universe files 2024-09-09 17:51:08 -04:00
D_INCLUDE first push of universe files 2024-09-09 17:51:08 -04:00
D_MAP first push of universe files 2024-09-09 17:51:08 -04:00
D_MENU.FILE first push of universe files 2024-09-09 17:51:08 -04:00
D_NEWACC first push of universe files 2024-09-09 17:51:08 -04:00
D_PTERM.FILE first push of universe files 2024-09-09 17:51:08 -04:00
D_REVISE.DISCS first push of universe files 2024-09-09 17:51:08 -04:00
D_REVISE.PROCS first push of universe files 2024-09-09 17:51:08 -04:00
D_sample first push of universe files 2024-09-09 17:51:08 -04:00
D_STAT.FILE first push of universe files 2024-09-09 17:51:08 -04:00
D_SYS.HELP first push of universe files 2024-09-09 17:51:08 -04:00
D_SYS.MESSAGE first push of universe files 2024-09-09 17:51:08 -04:00
D_UFD first push of universe files 2024-09-09 17:51:08 -04:00
D_UV_LOGS first push of universe files 2024-09-09 17:51:08 -04:00
D_UV_UDRPUB first push of universe files 2024-09-09 17:51:08 -04:00
D_UV_UDRSUB first push of universe files 2024-09-09 17:51:08 -04:00
D_UV_UDRSYS first push of universe files 2024-09-09 17:51:08 -04:00
D_UV.ACCESS first push of universe files 2024-09-09 17:51:08 -04:00
D_UV.ACCOUNT first push of universe files 2024-09-09 17:51:08 -04:00
D_UV.FLAVOR first push of universe files 2024-09-09 17:51:08 -04:00
D_UV.LOGINS first push of universe files 2024-09-09 17:51:08 -04:00
D_UV.TRANS first push of universe files 2024-09-09 17:51:08 -04:00
D_VOC first push of universe files 2024-09-09 17:51:08 -04:00
D_VOCLIB first push of universe files 2024-09-09 17:51:08 -04:00
DATA.TYPES first push of universe files 2024-09-09 17:51:08 -04:00
DeIsL1.isu first push of universe files 2024-09-09 17:51:08 -04:00
DICT.DICT first push of universe files 2024-09-09 17:51:08 -04:00
DICT.PICK first push of universe files 2024-09-09 17:51:08 -04:00
ERRMSG first push of universe files 2024-09-09 17:51:08 -04:00
GCI first push of universe files 2024-09-09 17:51:08 -04:00
gci.menu.u first push of universe files 2024-09-09 17:51:08 -04:00
GTARS first push of universe files 2024-09-09 17:51:08 -04:00
MENU.FILE first push of universe files 2024-09-09 17:51:08 -04:00
msg.text first push of universe files 2024-09-09 17:51:08 -04:00
nls.cmd first push of universe files 2024-09-09 17:51:08 -04:00
nls.uvinst.u first push of universe files 2024-09-09 17:51:08 -04:00
readme.txt first push of universe files 2024-09-09 17:51:08 -04:00
REVISE.DISCS first push of universe files 2024-09-09 17:51:08 -04:00
REVISE.PROCS first push of universe files 2024-09-09 17:51:08 -04:00
STAT.FILE first push of universe files 2024-09-09 17:51:08 -04:00
SYS.MESSAGE first push of universe files 2024-09-09 17:51:08 -04:00
UV_LOGS first push of universe files 2024-09-09 17:51:08 -04:00
UV_UDRPUB first push of universe files 2024-09-09 17:51:08 -04:00
UV_UDRSUB first push of universe files 2024-09-09 17:51:08 -04:00
UV_UDRSYS first push of universe files 2024-09-09 17:51:08 -04:00
UV.ACCESS first push of universe files 2024-09-09 17:51:08 -04:00
UV.ACCOUNT first push of universe files 2024-09-09 17:51:08 -04:00
UV.FLAVOR first push of universe files 2024-09-09 17:51:08 -04:00
UV.LOGINS first push of universe files 2024-09-09 17:51:08 -04:00
UV.TRANS first push of universe files 2024-09-09 17:51:08 -04:00
uvconfig first push of universe files 2024-09-09 17:51:08 -04:00
uvdlockd.config first push of universe files 2024-09-09 17:51:08 -04:00
uvdlockd.log first push of universe files 2024-09-09 17:51:08 -04:00
uvdr.config first push of universe files 2024-09-09 17:51:08 -04:00
uvodbc.config first push of universe files 2024-09-09 17:51:08 -04:00
VOC first push of universe files 2024-09-09 17:51:08 -04:00
VOCLIB first push of universe files 2024-09-09 17:51:08 -04:00

========================
UniVerse for Windows NT
Release 9.5.1.1D
Release Notes
August 1999
========================


Copyright 1999, Ardent Software, Inc. All rights reserved.

Microsoft is a registered trademark of Microsoft Corporation.
Visual Basic and Windows NT are trademarks of Microsoft 
Corporation.

UNIX is a registered trademark in the United States and other
countries, licensed exclusively through X/Open Company, Ltd.

All other company or product names mentioned are trademarks or
registered trademarks of their respective trademark holders.

These release notes contain important information about 
Release 9.5.1.1 of UniVerse for Windows NT that supplements 
the help files and printed documentation. 


Using UniVerse Online Help
==========================
UniVerse has a complete online help system. For details,
refer to UniVerse User Reference or UniVerse System
Description.


Technical Support
=================
Ardent Technical Support Center numbers are operated between
8:00 a.m. and 8:00 p.m., Eastern Time. To reach the Center,
simply dial 1-800-729-3553. A support representative will answer
your call and you will be asked to supply your license serial
number, UniVerse release level, and a description of the problem.
If you reach the electronic mail box, please leave your name,
phone number, time of call, license serial number, UniVerse
revision level, and a brief description of the problem. A
support representative will call you back shortly.

If calling from outside the United States, please dial
(508) 366-3888 and request that your call be transferred
to Technical Support.

You can also fax your request for assistance to the
Technical Support fax number at (508) 389-8750.


=========
Contents
=========

64-Bit File System Support
Important Notes about Replication
Differences from Previous Releases
Starting Up and Shutting Down UniVerse
Transferring Accounts to Windows NT
Improving System Performance
Problems and Restrictions
Differences Between PI/open and UniVerse
GTARS File
National Language Support (NLS)
Corrections/Updates to the Documentation
Problems Fixed at This Release
UVODBC 3.7 Release Notes


===========================
64-Bit File System Support
===========================

Starting with Release 9.5.1.1C, UniVerse supports 64-bit file
systems.  There is a new UniVerse configurable parameter, 
64BIT_FILES, that lets you specify whether UniVerse uses 32-bit
or 64-bit file systems.

New options have been added to the following UniVerse commands:

	o	CREATE.FILE has two new options that let you 
		override the current setting of the 64BIT_FILES
		parameter.  The 64BIT option lets you create 64-bit 
		files on a UniVerse system using 32-bit file systems. 
		The 32BIT option lets you create 32-bit files on a 
		UniVerse system using 64-bit file systems.

	o	RESIZE has two new options that let you 
		override the current setting of the 64BIT_FILES
		parameter.  The 64BIT option lets you resize a file
		to 64-bit on a UniVerse system using 32-bit 
		file systems. The 32BIT option lets you resize a 
		file to 32-bit on a UniVerse system using 64-bit 
		file systems.

	o	FORMAT.CONV has a new -o (Old Style) option that
		lets you convert a 32-bit file created or resized
		on a UniVerse 9.5.1C or later system to the older
		32-bit format used on Releases 7.3.1 through 
		9.5.1B.

The InterCall ic_fileinfo function does not support 64-bit files at
Release 9.5.1C.


=================================
Important Notes about Replication
=================================

At the A-patch release we added support for Q-pointers, multiple data
files and files with explicit file paths or short file names. This
support essentially requires changes be made to the underlying
replication subsystem. If you are upgrading from UniVerse 9.4.1 or 9.5.1
and you currently use the replication feature of UniVerse, you need
to follow these steps in order to maintain the stability of your
replication configuration. In order to complete this upgrade without
disrupting your systems replication subsystem, all subscriptions,
publications and system definitions must be removed while the patch
release is installed. Once the installation is complete and UniVerse has
been restarted, you can republish and resubscribe your files.

At the C-patch release, the user interface to replication has been
rewritten. Replication now supports the publication and subscription 
of file dictionaries and distributed files.


==================================
Differences from Previous Releases
==================================

At this release some functionality may behave differently 
from previous releases of UniVerse for Windows NT. Read the 
following sections to see how this could affect your 
applications.


Changed User Names Default
__________________________

Before Release 9.3.1, UniVerse on Windows NT used short user
names that did not include the domain name. At this release, 
fully-qualified user names are used in the format:

     <DOMAIN.NAME>\<username> 

If you want to use short user names, use the Windows NT 
Registry Editor to add an entry to the registry as follows:

    1. Choose
       HKEY_LOCAL_MACHINE > Software > Ardent Software > UniVerse > 
            CurrentVersion
   
       On Windows NT 4.0, choose Edit > New > DWORD Value. 
       Enter the value name UseShortUserNames. Double click 
       the value name and you are prompted to enter a value.
       Enter 0 for long user names or any nonzero number 
       for short user names, then choose OK. 


Short User Names and MESSAGE
____________________________

If you configure UniVerse to use short user names as 
described in the previous section, you cannot use the MESSAGE 
command to send messages to all users on the local domain, as 
the domain name is not present in the user name.


Domain Users and SQL GRANT 
__________________________

A domain user and a local user with the same user name are 
treated as different users. For example SALES\alice and alice 
are not recognised as the same user. This affects the SQL GRANT
statement. If your users can log in both locally and from a 
domain, you must specify both the domain and the local user
name in the GRANT statement. For example:

     >GRANT CONNECT TO alice, SALES\alice;


FORMAT.CONV Command
___________________

The FORMAT.CONV command is not available in this release. Use 
the fnuxi command from a DOS command window.


======================================
Starting Up and Shutting Down UniVerse
======================================

You must be a system or domain administrator to start up or 
shut down UniVerse.

You can start up UniVerse in one of three ways:

    1. From the UniVerse Control Panel
 
       Choose Start > Programs > Ardent UniVerse> UniVerse Control.
       Click Start All Services.

    2. From the Windows NT Control Panel

       Double-click Services. Scroll down the list of 
       services until you find four entries for UniVerse:
       UniVerse Resource Service, Uni RPC Service, 
       UniVerse Telnet Service, and UniVerse REXEC Service. 
       Click UniVerse Resource Service and press Start. 
       Repeat this for the other three services.

    3. From the MS-DOS prompt

       At the MS-DOS prompt type the following four commands:

           net start universe
           net start unirpc
           net start uvtelnet
           net start hsrexec

       Each command reports the name of the service it is starting
       and whether the startup is successful.

 
NOTE: The UniVerse services start automatically when the operating 
      system is loaded unless you unchecked the automatic startup 
      boxes during UniVerse installation.

You can shut down UniVerse in one of three ways:

    1. From the UniVerse Control Panel

       Choose Start > Programs > Ardent UniVerse > UniVerse Control.
       Click Stop All Services.

    2. From the Windows NT Control Panel

       a. Double-click Services. Scroll down the list of 
          services until you find four entries for UniVerse:
          UniVerse Resource Service, Uni RPC Service,  UniVerse Telnet 
          Service, and UniVerse REXEC Service. 

       b. Click UniVerse Resource Service and press Stop. A window 
          appears informing you that in addition to the UniVerse 
          Resource Service the UniVerse Telnet Service will also be 
          stopped, and asking for confirmation to proceed. Click OK. 
          The UniVerse Resource and UniVerse Telnet Services are shut
          down.

       c. Click Uni RPC Service and press Stop. A window appears
          informing you that in addition to the Uni RPC Service the
          UniVerse REXEC Service will also be stopped, and asking
          for confirmation to proceed.  Click OK.  The Uni RPC and
          UniVerse REXEC Services are shut down.
     
    3. From the MS-DOS prompt

       a. Type the following command:

              net stop universe

          This displays a message indicating that if the UniVerse
          Resource Service is stopped, it will also stop the UniVerse 
          Telnet Service and will ask for confirmation to proceed. 
          Enter Y and press RETURN. The two services are shut down 
          in turn.

       b. Type the following command:

              net stop unirpc

          This displays a message indicating that if the Uni RPC
          Service is stopped, it will also stop the UniVerse 
          REXEC Service and will ask for confirmation to proceed. 
          Enter Y and press RETURN. The two services are shut down 
          in turn.

NOTE: If users are connected to the services when the services are 
shut down, the users will not lose their connections; the connections 
remain active until the users terminate them. However, it will not 
be possible for new users to connect to UniVerse.

To do a complete shutdown of UniVerse, in order to
restart the services, you should ensure that all connections
are terminated.


====================================
Transferring Accounts to Windows NT
====================================

If you want to transfer accounts between UniVerse systems
running UNIX and Windows NT, or between two Windows NT systems,
you can use the uvbackup and uvrestore commands. You cannot 
transfer accounts to Windows NT using UniVerse Admin. 

If you save an account with uvbackup and want to restore it 
to a different operating system, specify relative rather than 
absolute pathnames as the directory structure may be different 
on the target system.


============================
Improving System Performance
============================

This section contains some ideas for improving system 
performance on a Windows NT server.


Tasking
_______

You can improve response time from UniVerse by balancing the 
Windows NT tasking so that foreground and background tasks 
receive equal CPU time.

On Windows NT 4.0, from the Windows Control Panel, choose 
System, then choose the Performance tab. Move the Application
Performance slider to None. Click OK.


Screen Savers
_____________

Use a blank screen saver on your server. Screen savers 
with elaborate graphics can use huge amounts of 
foreground CPU tasking. This slows down background tasks, 
such as a UniVerse telnet session. 


=========================
Problems and Restrictions
=========================

This section contains information about some problems and 
restrictions associated with this release.


Logging Out Sleeping or Busy Processes
______________________________________

It is not possible to log out a sleeping or busy process 
on Windows NT. This affects the MASTER OFF and LOGOUT -pid 
commands. For example, if you have used a SLEEP statement 
to defer execution of a program sequence, you cannot use 
MASTER OFF to kill it, you must wait until the process is 
active again. 


Phantom Processes and Console Users
___________________________________

If you run a phantom process from the console window, then 
quit, the window does not go away until the phantom process 
completes. (This can seem like UniVerse is hanging.) To avoid 
this, always launch phantoms from a telnet window.


Lowercase Device Names and Transaction Logging
______________________________________________

You cannot configure transaction logging to log to a tape
device whose name is in lowercase. This applies even if 
the device name is in lowercase in the &DEVICE& file. The 
device appears in the list of possible devices, but if you 
select it and then redisplay the list of devices configured
for transaction logging, it is not present. To avoid this 
problem, use uppercase device names.


*REMOTE.B Subroutine Calls
__________________________

The *REMOTE.B subroutine encounters problems when it is called
during a UV/Net II connection to a UniVerse system running 
under Windows NT version 4.0.

The subroutine works correctly the first time it is run;
the second time it is run it fails and returns an empty 
string; the third or subsequent times it works correctly.


Windows NT Shutdown and Data Integrity
______________________________________

Windows NT allows only a very short time for applications to 
close during a shutdown of the system. If applications do not 
respond quickly, the shutdown process closes the applications 
immediately. If your UniVerse application is writing data to 
disk during the shutdown you could lose data.

This can have severe consequences for the UniVerse 
transaction logging service. If a shutdown request is issued 
during a transaction, the transaction logging service must 
flush the buffered transaction to disk. If the operating 
system shuts down before the write to disk finishes, the 
data integrity of the transaction is lost.

To ensure data integrity, always shut down the UniVerse 
service from the Services menu before shutting down 
Windows NT. If you have a transaction running, check that the
final entry in the uvlogd.info file in your transaction 
log directory reads as  follows: "Logging system shut down 
consistently." If this message is present, it is safe to shut
down Windows NT.


COMO files and VERIFY.SQL
_________________________

If you use a COMO file to collect the output from the
VERIFY.SQL ALL command when the COMO file is closed, an
unexpected error results and UniVerse terminates.

The workaround is to create an entry in the VOC of the account
where you wish to run the verification:

    0001: PA
    0002: TERM ,9999
    0003: VERIFY.SQL ALL

Save the entry under a well known name, for example MY.VERIFY.
Execute the following command from the MS-DOS prompt:

    uvsh "MY.VERIFY" >outputfile

The output is captured in the file outputfile.

UniVerse Admin
______________

If you change a configurable parameter that affects the multiuser 
environment the configuration editor incorrectly reports that the 
uvconfig file is corrupt.

These parameters are GSEMNUM, FSEMNUM, PSEMNUM, FLTABSZ,
GLTABSZand RLTABSZ.

The uvconfig is not corrupt and the data was saved. You
can use the uvconfig file.


=========================================
Differences Between PI/open and UniVerse
=========================================

The following sections describe differences between PI/open
and UniVerse that are in addition to those documented in
Moving to UniVerse from PI/open. These differences may
cause problems for users moving from PI/open to UniVerse.


SELECT SAVING
--------------
If you use the SAVING keyword with SELECT you may encounter
problems if the item being saved consists of multiple fields.
For example, suppose you have a file called TEST.FILE which
contains records whose F1 field contains multiple values
(values separated by value marks). If you execute the
following sentences the number of records saved may not
be what you expect; it depends on the number and size of
the values involved:

LIST TEST.FILE SAVING EVAL "RAISE(F1)"
SAVE.LIST TEST.LIST

With a small number of values, TEST.LIST will contain an
ID for every value in TEST.FILE. However, with a large
number of values, some of the values will not be raised
correctly, leading to a corrupt save list (see also GTAR 15940).

One suggested workaround is to create a new version of
the SAVE.LIST command (e.g., SAVE.LIST2) along the following
lines:

 PA
 HUSH ON
 SAVE.LIST TEMP.NAME
 DELETE &SAVEDLISTS& <I2,LIST NAME>>
 ED &SAVEDLISTS& TEMP.NAME
 DATA SAVE <<I2,LIST NAME>>
 DATA QUIT
 HUSH OFF


Order of Processing of Prompts in Paragraphs
--------------------------------------------
If a prompt in a paragraph is preceded by the * comment
symbol, the prompt may not appear in the same place in
the output when the paragraph is executed in UniVerse.
This may cause problems for some applications. Consider
the following paragraph:

 PA
 DATE
 * <<I2,Press RETURN to continue>>

In PI/open it gives the following output:

 Tuesday, January 31, 1995 06:01 PM
 Press RETURN to continue =
 :

In UniVerse it gives the following output:

 Press RETURN to continue=
 Tuesday, January 31, 1995 06:02pm
 >

However, if you remove the comment symbol in the UniVerse
example, the ordering of the output is the same as in
PI/open (see also GTAR 15942).


terminfo Definitions
----------------------
If you do not install the UniVerse terminal definitions,
you may find that some display features of your terminal are
not handled as you might expect. In this case UniVerse uses
the version of the terminal definition supplied by the
operating system, but it does not interpret all of the control
sequences correctly. For example, on a Wyse 50, the HP-UX 
operating system definition for the clear function is \E*$<20>,
but the UniVerse definition is ^Z. Both are valid, but
when UniVerse attempts to use the system definition, it
does not understand the $<20> syntax and sends the sequence
as printable characters to the terminal, hence it appears in
your output (see also GTAR 15943).


DISPLAY Does Not Support the : Option
--------------------------------------
The DISPLAY command, which can be executed from the
UniVerse prompt, does not support the : option. In PI/open,
if a : is appended to the display string, a newline character
is not sent to the terminal at the end of the string. This
means that the next display position starts immediately
after the last character of the display string; in UniVerse
the next display position is in column 1 of the next line
down (see also GTAR 15946).


Pagination Does Not Support the Suppress Option
-----------------------------------------------
In PI/open, when output is being paginated on the screen,
it is possible for the user to suppress it (i.e., skip to
the end) by typing s in response to the Press <RETURN> to
continue... prompt. This feature is not available in
UniVerse (see also GTAR 15947).


Clearing Distributed Files
--------------------------
In PI/open it is possible to clear all parts of a distributed
file by using the CLEAR.FILE command on the distributed file
itself. This is not possible in UniVerse. Instead you must use
the CLEAR.FILE command on each part file (see also GTAR 15948).


BASIC DEFFUN Statement
----------------------
In UniVerse the BASIC compiler produces an error if you use
the DEFFUN statement to define a function without first
defining its arguments. The following example uses the DEFFUN
statement twice: in the first case the compiler generates an
error; in the second case, the arguments are defined before the
function, and the syntax is accepted by the compiler (see also 
GTAR 15453):

 DEFFUN MYFUNC1(MAT A)
 DIM B(0)
 B(0) = ''
 DEFFUN MYFUNC2(MAT B)
 END

Compilation output:

Compiling: Source = 'BP/DEFFUN.B', Object = 'BP.O/DEFFUN.B'
*
Array 'A' never dimensioned.
1 Errors detected, No Object Code Produced.


BASIC KEYIN Function
--------------------
In a PI/open INFO/BASIC program, the KEYIN function normally
returns the mapped values for system delimiters (unless you
specified the PI/open RAW.INPUT compiler option) as shown in
the following table:

 Delimiter	ASCII Value	Mapping
 ---------------------------------------------
 Text mark	26		251
 Subvalue mark	28		252
 Value mark	29		253
 Field mark	30		254
 Item mark	31		255

In UniVerse no mapping takes place, and the KEYIN function
returns the ASCII values shown in the middle column. 


BASIC $OPTIONS INFO.CONVERT
---------------------------
The INFO.CONVERT option is not supported in this release.


BASIC INPUT @ Statement
-----------------------
In a PIOPEN flavor compilation (i.e., $OPTION PIOPEN), or in
programs that use the $OPTIONS INPUTAT statement, the screen
position you specify is that of the input prompt, rather than
the input field. That is, the input field begins one column to
the right of the column you specify. Except in PIOPEN flavor,
the INPUT @ statement does not currently provide an automatic
carriage return when the specified number of characters have
been entered into the field (see also GTAR 15767).


BASIC RETURN Statement
----------------------
The UniVerse BASIC compiler produces a warning when the
RETURN statement returns from an internal subroutine within
a function. The warning does not affect the compiled code and
may be ignored (see also GTAR 15447). 

FUNCTION BETA
GOSUB INITIALIZE
*
*Main program code
*
 RETURN (CODE)
INITIALIZE:
*
* Internal subroutine code
*
 CODE = 0
 RETURN
END

Compilation output:

Compiling: Source = 'BP/FUNCTION.B', Object = 'BP.O/FUNCTION.B'
**
0018 RETURN 
           ^ 
WARNING: no RETURN value specified, null used.
Compilation Complete


BASIC Variable Names
--------------------
If you use a variable name in the format INCLUDE.text,
as shown in the following example, the compiler produces
an error (see also GTAR 15451):

 LOOP
  INPUT INCLUDE.VAR
  WHILE INCLUDE.VAR 
 REPEAT
END

Compilation output:

Compiling: Source = 'BP/INCLUDE.B', Object = 'BP.O/INCLUDE.B'
0007          WHILE INCLUDE.VAR 
                   ^
No VOC entry for INCLUDEd file ".VAR". 
        ^
End of Line unexpected, Was expecting: Array Name, CALLable 
Variable Name, DIMENSIONable Array Name, Variable name, New 
variable name, Expression, "CREATE", "FLUSH", "GET", 
"INPUTIF", "LOCATE", "LOCATEP", "LOCK", "MATREAD", "NOBUF", 
"OPEN", "OPENPATH", "PROCREAD", "READ", "READBLK", "READNEXT", 
"READSEQ", "READT", "READV", "REWIND", "SEEK", "uSEEK", 
"TTYCTL", "WEOF", "WRITEBLK", "WRITESEQ", "WRITET", "FIND", 
"FINDSTR", "GETLIST", "READLIST", "TTYGET", "TTYSET", 
"uINPUT", "TRANSACTION", "OPENCHECK", "BSCAN", "RPC_CALL", 
"WRITESEQF"
2 Errors detected, No Object Code Produced.


Terminal Width
--------------
In UniVerse, the default terminal width is set to 79 columns,
and column 80 is reserved for a Return. If your program uses
a terminal width of 80 columns, your reports may be listed
vertically on UniVerse. If you try to avoid this by using
the command TERM 80 to change the default setting, the reports
are listed double spaced because both UniVerse and the
terminal issue a Return at the end of each line. Currently,
the only workaround is to reduce the terminal width to 79
columns (see also GTAR 15434).


PI/open to UniVerse Account Conversion Problem
----------------------------------------------
Record IDs in NEWACC and VOC Files

If the ISYS NEWACC file or any of your PI/open accounts'
VOC files hold record IDs that contain the "special"
UNIX shell $ or \, account conversion may fail. The solution
to this problem is to change the record IDs in PI/open
before you begin the conversion, and change them back in 
UniVerse when conversion is complete (see also GTAR 15780).


ISOMODE 2
---------
If you are running with the UniVerse configurable parameter
ISOMODE set to 2 (default value is 1), several System
Administration BASIC routines will fatal due to updating
an administrative file without previously setting a lock.
The menu options include Add Accounts, Modify Accounts, Delete 
Accounts, and Devices (see also GTARs 15280, 15281, 15282, and 15283).


===========
GTARS File
===========

The UV account directory has a UniVerse file called GTARS
which contains both the fixed and open bugs associated with
the current release of UniVerse. You can use all the
facilities of RetrieVe to produce reports of these GTARs.
The VOC file of the UV account contains a menu that you can
use to display the following on your terminal:

<0A>	All closed GTARs incorporated in the current release
<0A>	All GTARs describing unfixed problems in the current
	release
<0A>	All GTARs submitted under your customer number
<0A>	All closed GTARs submitted under your customer number
<0A>	All open GTARs submitted under your customer number

To invoke this menu, change directories to the UV account
directory and enter the UniVerse environment by using the
uv command. This will bring you into the UniVerse System
Administration menu system. Press the Esc key to exit the
menu system and return to the UniVerse command prompt. Enter
the command LIST.GTARS to display the GTAR menu. If you do not
know your customer number, please contact your technical
support provider.


================================
National Language Support (NLS)
================================

Multibyte Identifiers
------------------------------------------------------
At Releases 9.4 and 9.5, UniVerse NLS does not support the
following:

	- Multibyte UniVerse account names
	- Multibyte SQL identifiers (schema names,
	  	table names, view names, etc.)


UVLANG Environment Variable
---------------------------
To set your initial UniVerse locale, use the UVLANG variable.
When you start a UniVerse session, UniVerse retrieves the
value of the UVLANG variable and checks to see of a locale
of the specified name is loaded.  If it is, it becomes your
current locale.

Direct UniVerse connections (uvsh), telnet connections, and BCI 
connections are all affected by the UVLANG variable.

NLS Map for Windows NT Console
------------------------------
When you install UniVerse on Windows NT, be sure to set up
the NLS map for the console correctly.  The default is
probably something like PC850 or MS1252; howeverm this may
not be correct for your version of Windows NT.  Choose an
appropriate map. For example, for the Korean version of
Windows NT you should use MS949.

  Note: The appropriate map may not be one of the
	PCxxx or MSxxxx maps.

If you cannot set the map correctly during installation,
correct it later as follows:

  1.	Change directory to the UV account directory,
	e.g. D:\UV\UV

  2.	Decompile the console terminal definition:

		bin\uvtidc console > tmpfile

  3.	Use NOTEPAD to edit the tmpfile.  Change at80 and at81
	to the name of the required NLS map and save the file.

  4.	Compile the console terminal definition:

		bin\uvtic tmpfile

If the map is not set up correctly UniVerse commands that
are run stand-alone or from UniVerse client/server products,
such as UniVerse Admin, may not display messages correctly.


Multibyte NLS Maps and System Delimiters
----------------------------------------
NLS provides maps for a number of multibyte character sets such
as Japanese, Chinese, and Korean. On their own these maps do not
allow the UniVerse system delimiters to be used (which is also
true of the single-byte maps). However, unlike the single-byte
maps where it is possible to use the internal values of the
system delimiters in the external character set, this is not
possible with the multibyte maps because the system delimiters 
can be misinterpreted as lead bytes of multibyte characters. For
this reason NLS provides versions of all the multibyte maps
both with and without the UniVerse system delimiters. The maps
provided are as follows:

    Without System Delimiters          With System Delimiters
    -------------------------          ----------------------
    BIG5                               BIG5+MARKS
    GB2312                             GB2312+MARKS
    JIS-EUC+                           JIS-EUC++MARKS
    JIS-EUC                            JIS-EUC+MARKS
    JIS-EUC2+                          JIS-EUC2++MARKS
    JIS-EUC2                           JIS-EUC2+MARKS
    KSC5601                            KSC5601+MARKS
    PRIME-SHIFT-JIS                    PRIME-SHIFT-JIS+MARKS
    SHIFT-JIS                          SHIFT-JIS+MARKS
    TAU-SHIFT-JIS                      TAU-SHIFT-JIS+MARKS

The UniVerse system delimiters are mapped into the following
values for each character set:

    Value (in hex)                     System Delimiter
    --------------                     ----------------
    1A                                 Text mark
    1C                                 Subvalue mark
    1D                                 Value mark
    1E                                 Field mark
    1F                                 Item mark

In addition, the null value is mapped to the hexadecimal value
19.

The NLS.UPDATE.ACCOUNT Command and the UV Account
--------------------------------------------------
The NLS.UPDATE.ACCOUNT command must be run in the UV account if
you want to use non-ASCII data. This ensures that all UniVerse
system files are configured with the appropriate NLS maps.


Code Page Configuration on Multibyte Windows NT
-----------------------------------------------
On Windows NT the code page detected by UniVerse client programs
may not be the real code page in use. This information is
returned by an operating system call and is outside of the
client's control. The code page information is passed to the
server, which looks it up in the NLS.CLIENT.MAPS file, part of 
the NLS database. If there is no entry in
the file, a default is selected either from the NLS.CLIENT.MAPS
file, if one exists, or from the NLSDEFSRVMAP configurable
parameter in the uvconfig file. It should be clear from this that
the server can select the wrong map for the client.

For example, suppose you are running on the Korean 
version of Windows NT. This returns the code page number 1252,
though the real code page is 949. The client sends an identifier
of WIN:1252 to the server. The server tries to find a record for
WIN:1252. If it finds the entry that is shipped with UniVerse, this
sets the NLS map to MS1252, which is wrong. You can do one of
three things to resolve the problem:

    - Change the WIN:1252 entry to point to the correct NLS map,
      e.g

         Record id: WIN:1252
         0001: Korean character set
         0002: KSC5601+MARKS

    - Delete the WIN:1252 entry and set the WIN:DEFAULT entry to
      point to the correct NLS map.

    - Delete both WIN:1252 and WIN:DEFAULT entries and set the 
      NLSDEFSRVMAP tunable parameter to the correct NLS map.

The first of these options is preferable.


Known NLS Problems at Release 9.4
=================================

International Currency Symbol in DEFAULT Locale
-----------------------------------------------
The DEFAULT locale is built during the initial installation of
NLS. This does not build the international currency symbol
correctly. It will be displayed as USD<SP> rather than USD ,
that is, USD followed by one space character.

This can be fixed as follows:

  1.	Change directory to the UV account directory.

  2.	Enter UniVerse.

  3.	Execute the following command:

         ED NLS.LC.MONETARY DEFAULT

  4.	Change field 6 to USD , that is USD followed by one space
	character. Save the record.

  5.	Use the NLS.ADMIN tool to create a new locale where all of
	the categories are set to DEFAULT. Build the locale.

  6.	Shut down and restart UniVerse to load the new definition
	into shared memory.


CURR_SYMBOL, POS_SIGN and NEG_SIGN Must Be Unique
-------------------------------------------------
The CURR_SYMBOL, POS_SIGN and NEG_SIGN fields of a locale must all
contain unique characters. If not, it is impossible to distinguish
the sign from the currency symbol meaning that an ICONV of
currency values can fail.

This problem has been raised as GTAR 21197.


BASIC Programs and Multibyte Filenames and Record IDs
------------------------------------------------------
The verbs which allow the you to compile, catalog and examine 
programs work only with ASCII filenames and record ids. That
is, you cannot create a program with a multibyte name in a
file with an ASCII name, or a program with an ASCII name in a
file with a multibyte name. The BASIC command will not compile
the program and you will not be able to catalog it. Commands
affected are:

    BASIC
    CATALOG
    DECATALOG
    DELETE.CATALOG    
    VCATALOG

This problem has been raised as GTAR 21509.


uvrestore and Multibyte Characters
-----------------------------------
Dynamic files are not restored properly from a full uvbackup if
the dynamic file name contains multibyte characters and the
dynamic file currently exists in the directory where the file
is to be restored. Before attempting such a restore, delete the
dynamic file from the account. The file will then be recreated
properly by the uvrestore process.  

Additionally, if the NLS map on a type 1 file has been changed
since the time of the full backup, the type 1 file must be
deleted for the original NLS map to be restored properly. If
the map has not changed, the warning messages printed will not
stop the file from being restored properly.


List of Outstanding NLS GTARs at This Release
---------------------------------------------
The following is a list of NLS relate GTARS that are outstanding
at this release. Some of the problems noted above are repeated
in this list.

GTAR.    Long Description...........................................

16834    When using T.READ to display the contents of a tape, if
         NLS is active and the byte count of a character is not
         equal to the display length then the display can become
         corrupted.This will only happen with NLS active and
         multi-byte data on the tape.

21007    The uvrestore fix under Gtar 20150 was implemented
         incorrectly.  The functions iftoef and eftoif should have
         been called but instead were included verbatum inside the
         uvbackup.c module.  Further modifications to the iftoef
         and eftoif functions will not be available to the
         uvrestore process because of this.  Need to change
         uvrestore to call these functions.

21112    The functional spec for NLS locales says that the
         MT conversion code should allow the HMS separator to be
         any single non-numeric character, which may be enclosed
         in quotes (single or double). As implemented today, if
         NLS is off it can be any character, but cannot be
         quoted. With NLS on it can be any character enclosed in
         single or double quotes. No check is made to see if the
         character is nonnumeric, in either case.

21153    BCI must reject connections to ODBC data sources when NLS
         is ON (because BCI maps user data to UTF8 before writing
         and from UTF8 after reading, so data other than 7bit
         ASCII is changed)...NOTE:  needs reconsideration; may be
         ok.

21197    The CURR_SYMBOL, POS_SIGN and NEG_SIGN fields of a locale
         must all contain unique characters. If not, it is
         impossible to distinguish the sign from the currency
         symbol meaning that ICONV of currency values can fail.
         The solution is to modify NLS.BUILD to verify that all
         the characters chosen are unique.

21269    Install (or possibly just re-install) of NLS on NT does
         not set the terminal map correctly for the console. You
         can specify the map you want during the install, but it
         seems to be ignored.

21370    The LISTU command does not display the date correctly
         when running on NT with a multibyte character set. The
         code does not take NLS into account and the month
         displays with unmappable characters.

21474    There are two problems with the default MT conversion
         code (field 7) in the Korean locale: (1) it is defined
         as MTP[...etc...], giving an hour, minutes, seconds
         separator of 'P' (should be ':'); (2) the text in []
         following the MT is missing a leading ' for the seconds
         separator:['^xC2DC','^xBD84',^xCD08'] =>
         ['^xC2DC','^xBD84','^xCD08']

21485    Uvrestore will not restore a dynamic file with a
         multibyte name if the file already exists on disk
         and the user is attempting a full restore.  Also,
         the .Type1 and .uvnlsmap files associated with Type1
         files are not being removed are restored properly.

21486    CREATE.FILE <multibyte name> will not work when the file
         already exists on disk but does not have a corresponding
         VOC record.  The command fails with the error messages:
         Maximum file number has been reached. ***Processing
         cannot continue***

21487    Revise does not display associated multivalued fields
         properly if these fields contain double width characters.
         An extra blank space appears to be printed for each
         double width character being displayed.

21488    mkdbfile.c and do_mkdb.c have places where internal and
         external file names are not being mapped properly when
         NLS is on.

21509    Verbs which provide the BASIC compilation and cataloging
         environment cannot be used with multi-byte filenames or
         record ids. At present only ASCII filenames and record
         ids are guaranteed to work.

21510    ANALYZE.FILE does not display the Pathname of the file
         correctly when the filename is multi-byte. The Filename
         *is* displayed correctly, however.

21511    When building the NLS-DEFAULT locale during an initial
         install of NLS you get a message warning that the
         MNEMONICS map is not loaded and that the locale may not
         be built correctly if it contains mnemonics. This affects
         the MONETARY category of NLS-DEFAULT because the
         international currency symbol is defined as USD<SP>.
         This is taken as the literal currency symbol - the <SP>
         should be replaced by a space character, but is not. The
         fix is to change the definition to have a real space
         rather than <SP> in the definition.


=============================================
Corrections and Updates to the Documentation
=============================================

The C-patch release includes a new UniVerse Online Library on
CD-ROM.  This is a completely updated documentation set for
UniVerse 9.5.1D.  It supersedes the previous UniVerse
Online Libraries for Release 9.5.1, Release 9.5.1A, and
Release 9.5.1C.

Use the following notes in conjunction with the UniVerse 
documentation described in the Ardent Technical Publications Catalog.
The following sections describe updates to the documentation
that are applicable for Releases 9.5.1 and later.

The following technical bulletins have been corrected on the
web at http:\\www.ardentsoftware.com.

	UVEXPORT:  The UniVerse Export Facility, updated for
	Release 7.3.3  Part No. 74-0074  Revision Date: 6/94

	WordPerfect Versions 5 and 6  Part No. 74-0063
	Revision Date: 6/94


===============================
Problems Fixed at This Release
===============================


Problems fixed in release 9.5.1.1D
----------------------------------

10531   A BASIC program will no longer hang when using the FINDSTR 
        command on a string that includes a CHAR(255).

13071   SMAT no longer takes up a universe license seat.

17755   !AMLC will now work properly with keys 4 and 5.

19623   When the uvconfig file is modified and uvregen is run, NT systems
        no longer incorrectly display a message referring to DBsetup.
 
21895   FILEINFO, FINFO$IS.AKFILE will now return a 0 if no indexes are
        found.  This is now consistent with documentation.

23420	The -SUPPRESS option was added to the "MESSAGE" command to suppress 
	the display of the message announcement "Message from USERNAME"
	when receiving a message.

23637   Implemented utility to automatically generate record ids.  
        TABLES now allow no PRIMARY KEY or PRIMARY KEY DEFAULT
        NEXT_AVAILABLE.  Files support DICT entry of NEXT_AVAILABLE. 

24039	The DN date conversion code now defaults to DY when NLS is off. 

24302   FILEINFO, FINFO$PATHNAME now returns the correct pathname when
        when the file is opened using the VOC pointer with a relative
        pathname.

24432   The "FROM" keyword is now case insensitive in the command
        "DELETE from table".

24452	Cache memory is now cleared in a PICK flavor account both before
        and after execution of verbs with a Z  mode in field 4. 

24593	Fixed query optimizer problem so that I-descriptors will now be
        evaluated after simple AND nodes involving the same field.

24674   A new tunable is now available in the uvconfig file called 
        PIOPENDEFAULT which, when set on, will affect the default behavior
        of PIOPEN flavor accounts in the following manner
          $OPTIONS INFO.CONVERT will be turned on when the program is
               recompiled.
          $OPTIONS PIOPEN.EXECUTE will be turned on when the program is
               recompiled.

24683   EVAL with a TRANS no longer causes an abnormal termination of
        universe.	

24687   Implement support for multiple forms within UV spooler.

24695   Fixed the compiler to store both $COPYRIGHT and $COMMENTS at the
        end of the object code.  VLIST will now print out $COPYRIGHT at
        the top along with the other header info.  If source is
        available the $COMMENTS print out as part of the source code.  If 
        source is not available, the $COMMENTS print out after the 
        $COPYRIGHT. 

24916   When RLTABSZ < MAXRLOCK and an SQL command is being executed, if
        1. the process has consumed all record lock entries in a group
            lock semaphore, set where a new record lock is to be inserted
        2. all the record lock entries are for the file on which the new
            record lock is being obtained
        3. the process holds less than MAXRLOCK record locks on the file
            on which the new record lock is being obtained

        then a File lock of the appropriate strength will be obtained in
        lieu of the record lock.  Furthermore, on each subsequent commit
        of a (sub)transaction, any record locks that were rendered 
        redundant due to the acquisition of a File lock will be released.

24943   Within a transaction, after escalating to a File Lock because 
        there are more than MAXLOCK record locks, the File Lock is no
        longer prematurely released by FreeStmt-CLOSE.

25004   HS.SCRUB...AUTOFIX DATA will no longer loop indefinitely.

25013	If an error occurs when listing a printer on NT while doing a
        SPOOL -LIST, all other printers will now be listed properly.

25046   The SICA has been enhanced to allow more than 18 bytes for 
        Schema and Table name in NLS mode.

25123	Printing to the HOLD file with NLS ON will no longer generate
        an available memory exceeded error after 55 jobs are spooled.

25128	UVRestore of some Dynamic files with very large records will
        now restore the files correctly. 

25138   Changes to spooler including (1) adding support for SETPTR 
        extension specifying USEROPTS, (2) sending USEROPTS , Page-width,
        and Page-length to the usd driver script, and (3) allowing spooling
        to a bogus print queue.

25184   A core dump will no longer occur when running a BASIC program
        using the INT function with a number that is too large.

25189   SQL CONSTRAINT CHECK will now work for the upper set of 8 bit 
        characters (eg Japanese) in column names.

25190   Foreign key constraints will now work correctly with Japanese 
        tables.

25191   Extra field marks are now removed from capture files.  This change
        has been implemented as part of the $OPTIONS PIOPEN.EXECUTE
        under gtar 25267.

25245   Correct spelling of Japanese year "Heisei" in the file NLS.LC.TIME.

25267   HS.FILEINFO will no longer abort if the dictionary contains an
        uncompiled itype.

25273	Query will no longer abnormally terminate when being executed 
        through a PROC.

25275	Universe will no longer give improper errors when it is unable
        to open files due to no file units being available.

25276   Implemented $OPTIONS PIOPEN.EXECUTE to generate a more PIOPEN 
        compatible version of the Basic EXECUTE command, where a new 
        layer is not setup which will enable select lists created in an
        EXECUTE level to remain active unless they are instead returned 
        back to the calling level via the RTNLIST clause.

25283   Implemented BREAK COUNT command.  When this command is issued,
        the number of times that breaks have been turned off will be 
        returned.

25330   uvlictool in report_lic mode will no longer generate an unhandled
        exception on NT.

25379	UvAdmin will now install properly when loaded on a system
        without Visual Basic.

25396   HS.SCRUB no longer exceeds available memory if there are too
        many data anomalies.

25398   CONVERT.SQL will now correctly handle leading zeros in dictionary
        LOC fields.

25414	Dynamic files will now correctly handle a SPLIT.LOAD greater 
        than 87 percent.

25454   A record can now be deleted out of a directory when the VOC entry
        is in lower case.

25455   COPY will now properly copy records in type 1 and type 19 files.

25459	CREATE.FILE (in PICK flavor) will now create a file using the
        specified modulo when the resulting file size is greater than
        0x7fffffff hex.

25475   HS.FILENFO will now provide better reporting when creating the
        file information cache.

25479	New style 32bit files will no longer produce BLINK error
        messages when the file is actually intact.

25494	UvAdmin will now work properly when using short names with the 
	UV account or UV directory option in UvAdmin.

25503	UVObjects will now detect a network failure on a read or write.

25522	See Gtar 25494.

25524   UVNET will now work successfully between NT and unix at the 
        9.5.1.1D release.

25537	RESIZE no longer corrupts a file that has records sizes over 512
        bytes.

25549   The domain name in UV_USERS on NT systems can now be changed by
        using the command "CREATE.DOMAIN OLD-domain NEW-domain user".

25556   UVNET will no longer core dump when trying to open a remote file
        that does not exist.

25557	Universe cleanup could remove memory segments with an ID of 0
        under some circumstances.  Users attempting to enter universe
        would receive an initialization error 2 2.  This has been 
        corrected. 

25597   HS.SCRUB now detects an uncompiled itype amd restarts itself only
        once.

25621	UVnet will now connect properly between the "D" release and
        releases prior to 9.5.1.1C.

25681   Update HEADING command documentation


Problems fixed in release 9.5.1.1C1
-----------------------------------

GTAR    Short Description
----    -----------------

24374   Fix LSEEK support for 64 bit files.

24414   Memory will now be properly allocated for SDML queries.

24993   Fix problems in filetool for 64 bit files.

25141   UNLOCK ALL will now properly release locks.  Latches will now
        be release properly on Alternate Keys.

25242   NFS file stat calls will now work properly with 64-bit files.

25273   Query will no longer abnormally terminate when executing a
        query via a PROC.

25295   SISO maps will now work properly on UNIX systems.

25364   Filepeek will now work properly with files larger than 2 gigabytes.

25426   Fix dereferencing of variable in transaction logging.

25457   Fix possible hangs in UCI.


Problems fixed in release 9.5.1.1C
----------------------------------

GTAR    Short Description
----    -----------------

22647   Implement 64-bit file support in UniVerse.

23221   DROP TABLE will now handle removing all tables with
        multibyte names.

23406   Fix problem with machine name matching in Replication Access List.

23624   UV/ODBC does not require the server's host file (on AIX) to
        contain an entry for every client if the rexecd process is started 
        with the "-c" parameter.  In the /etc/inetd.conf file on the AIX 
        server, the "-c" parameter should be added to the "rexecd" command.
        Then, at unix level use the command "refresh -s inetd" so the new
        option will take effect.

23626   Allow publication and subscription of multiple files in replication.

23641   It is now possible to replicate dictionaries along with data files.

23663   Warn users that files with old style headers will not work with
        replication.

23762   Duplicate print ids will no longer exist on spooler startup.

23928   SET.SQL REPORTING will now report the current VOC.CACHE setting.

23932   USING clause for SQL joined tables will now work correctly.

24058   The uv.rc will now log out the creator of shared memory segments.

24069   All SQL keywords in CREATE TABLE will now be case insensitive.

24140   Improve performance of replication.

24137   Disable CNAME command on files marked for replication.

24138   Add a new interface for Replication in UVAdmin.

24139   Increase user debugging support for replication.

24144   BASIC non-transactional Write will release any record lock
        on the item after the trigger/cascade have completed.

24411   UCI will now support SQLParamOptions.

24504   The return value from the UCI/BCI command SQLRowCount will no
        longer have its return value truncated to 16 bits.

24564   Performance enhancement for UCI/BCI in INSERT/UPDATE/DELETE.

24635   Accessing accounts via the UV.ACCOUNT file will now 
        work properly for accounts containing multibyte characters.

24637   Fix VOC entry for udtconv on NT.

24638   RESIZE no longer fails when dealing with oversized records.

24673   BCI connected to an ODBC database will now return the correct
        result for SQL.COLUMN.MONEY.

24682   The file tool and uvfixfile will now detect invalid record
        padding values.

24693   OPENSEQ and CREATE with multibyte files containing "\"
        as a trail byte character will now function properly.

24705   It is now possible to delete and then recreate multi-column 
        UNIQUE indexes in a table that is not empty.

24706   BUILD.INDEX will now work correctly on an SQL table where
        the index has a multi-column UNIQUE constraint.

24749   Memory will no longer be freed incorrectly when an NLS
        mapping error occurs.

24767   A backup of all UniVerse accounts on NT run through UVAdmin will
        now work with a long list of pathnames.  This is a change to the
        UVAdmin client at this release and requires the version of UVAdmin
        shipped with this and later releases.

24768   Fixed uvbackup to properly wait between I/O operations.

24770   Pathnames will now be stored correctly in SQL control
        files when NLS is enabled.

24799   The EMPTY.NULL option will now allow empty numeric fields with
        INSERT ... SELECT.

24800   SQL SELECT statement with IN keywords will no longer abort.

24862   Calls to OCONV for time conversions will no longer dump core 
        when a bad specification string is passed.

24880   Core dumps will no longer occur while adding or deleting a right 
        justified null index.

24893   Record locks will no longer be left in certain cases on type 25 
        files.

24920   The install script now correctly calls /usr/sbin/slibclean for the
        IBM.

24925   FORMAT.CONV will no longer dump core when processing files with
        new style padding.

24938   A uvnet process with a shared memory id of 0 will no longer 
        terminate during initialization.

24940   The uv.rc script will now log out users regardless of the
        length of their PID.

24956   RD Group locks will now be released properly on type 25 files.

24958   Update HS.ADMIN interface to support UniOLEDB as well as UV/ODBC.

24993   Update UniVerse File Tool to support 64-bit files.

24998   DROP INDEX will no longer take an unhandled exception on NT
        due to memory problems.

25063   Uninitialized portions of NLS maps will no longer cause checksum
        problems.

25082	Raid test 3620 in the QA suite no longer coredumps on the IBM.

25103   Unable to get shared memory segment messages will no longer appear
        when upgrading to release 9.5 from a previous release.


Problems fixed in release 9.5.1.1B
----------------------------------

GTAR    Short Description
----    -----------------

22879   The READU statement without a LOCKED clause will
        now wait on a lock if the row in the lock table is 
        full until it can be obtained or until the timeout is 
        reached.  Note that the ELSE clause will still be taken 
        if the lock cannot be obtained after the timeout period 
        (default is one hour).

23019   UVObjects - Problems with string arguments with a char(0)
        in them. This has been found to be a problem with 
        native Visual Basic.

23221   DROP TABLE will now remove tables from DISK when NLS is enabled
        and the table name contains multibyte characters.

23740   UVobjects will now properly release memory associated with
        file objects.

23842   Record locks will be released correctly when the lock
        table has been filled.

24234	Extend SET.SQL TRACE to put trace entries into an external
	file.

24251   Added support for multiple database specification in the
        uvrpc services file.

24266   Uvrestore will now work properly on NT systems

24278	Extend SET.SQL TRACE facility to the UCI/BCI Server.

24308	The remote UCI/BCI server now returns only the used size
	buffer with each LS_SQFetch request, not the MAXBUFFSIZE size.
	This is a performance improvement, especially for slow modems.

24336	Remove an 'extranious' NLS on induced data mapping from
	BCI/UCI Server.  Doing it twice resulted in bad data.

24341   A UCI/BCI client could not do row fetching from a second 
        server which used a larger MAXBUFFSIZE fetch buffer.

24352   NLSSTRmap() will now correctly map strings containing only
        SISO characters.

24353   UVread will no longer take an access violation in certain
        circumstances when NLS is off.

24378   Test TL.5B1.1 in the akstress testbed will no longer coredump.

24401   NLS will now generate one unmappable character (instead of two) 
        when a valid lead byte is followed by an invalid trail byte.

24402   NLS will no longer generate shift characters in internal 
        data when unmappable characters are input.

24404   Corrected tamdem command in Feed mode on HP systems

24405	The BCI/UCI does not ship a LS_SQDefine request to the Server
	for each subsequent SQLBindParameter call if the SqlType field
	did not change.  Performance improvement.

24413   Fixed several core dump problems when NLS is on
        (opening remote partfiles of a distributed file, invoking
        UVFIXFILE with -LOG or -OUTPUT option and executing
        SORT from a BCI client program).

24426   BUILD.INDEX on AIX and NT no longer fail with fault type 11.

24432	Release 9.5.1 supports mixed case keywords in SQL's DML.  The
	FROM keyword was missed.  This GTAR now allws 'from' to be
	mixed case.

24449   Update JPN- shift-in, shift-out maps.

24454   SET.FILE.MAP will now work for SISO maps with myltibyte shift
        characters.

24467   Provide an alternate shift-JIS map and associated collation
        sequence.

24484	A numeric column's value was not being compared correctly 
        when it was in a multi-column index.  This caused the 
        optimizer to produce incorrect results when it tried to use 
        the index to get row sets that met the WHERE clause criteria
        (column contained unnormalized data, like 075).

24486   ALTER TABLE will now successfully add a column to a table
        containing multi-column UNIQUE constraints.

24500   Add the NLS map MS1252+MARKS.

24501   Enhanced UCI to support Unidata DBMSType.

24502   Added two new functions: SQLUseCfgFile and SQLDataSource.

24506   Uvbackup will no longer leave groups locked after -R option
        is used.

24512   LIST will no longer display garbage when the field of a
        large record in a dynamic file is empty.

24530   Japanese Shift maps will now consistantly ignore spurious
        shift sequences.

24533   The SQL GROUP BY function will now work properly with NLS
        locales enabled when grouping by more than one column.

24536   When NLS is enabled, SEQPath() will now return a proper error
        when the file name does not map into the OS character set.

24540   SEQPath() will now decompose a UTF pathname properly.

24552   In Sql, deleteing more then 'about' 2000 rows caused any 
        INDEX not to be updated.

24554   Enhanced BCI to support new datatypes returned by SQLTables when
        using SQL Server 7 ODBC driver.

24577   See gtar 24552.

24591   ICONV Date conversion codes with delimiters will now 
        correctly handle years less than 100 when the year is specified
        in the first or second format position in the conversion code.
        For example, ICONV("0001-01-01","DYMD").

24605   Enhanced UCI to support OLEDB

24608   Fix problem with broken overflow blocks.

24616   Certain SQL queries will no longer core dump when NLS is
        enabled. These involved UNIONs.

24619   Dynamic files will be properly restored using uvrestore.
        UVFIXFILE will no longer find problems with the
        T30first flag and file load discrepancy.

24631   DROP TABLE will now longer leave some records locked on the
        SQL catalog tables.

24644   It is now possible to attach to an account via the api when the
        account name contains multibyte characters.


Problems fixed in release 9.5.1.1A
----------------------------------

GTAR     Short Description
----     -----------------

21797    It is now possible to publish or subscribe a file where the
         VOC entry for the file does not match the name of the file 
         located in the current directory.  (This includes files with 
         Q pointers, long VOC entries with truncated OS filenames, 
         and files located in remote accounts.)

23255    If Data Replication has been setup with some published files
         that have the hot backup box checked and some which are only
         replicated (hot backup box not checked), then when synchronizing
         on the Publisher after a failover, the SYNC command is now
         successful.

23662    Replication no longer allows you to unpublish a file until all
         subscriptions have been removed.

23680    The FORMAT.MAP option will now produce formatted output when
         NLS is active.  The FORMAT.MAP mapname will no longer be reset to NONE 
         after a PRINT is done.  Also, if a FORMAT.MAP mapname is changed 
         and the new mapname length is larger than the original mapname length,
         a core dump will no longer occur at a future PRINT time.

23804    When modifying SETPTR settings, an implicit PRINTER CLOSE is
         now correctly done.  This sends a pending print job to the
         spool queue.

23830    Using READLIST with the SETTING option will now set the 
         variable to the correct number of records.

23937    See gtar 23421.
                
24036    Correct internal naming conventions for clarity.

24037    The C option for LIST now correctly generates the reference number
         for the extra parameter for the LENDP, FMTDP and FOLDDP opcodes. 
                 
24057    If a file has keys greater than 64 characters in a type 25 file, 
         the records will now be accessed correctly.
   
24064    Corrected memory error when accessing an index within a view.
        
24073    On NT, if a view's data file is missing, DROP VIEW now clears up
         the SQL catalog, removes the view's dictionary file, and deletes 
         the view's VOC pointer.

24116    A BCI client running remotely will no longer 'hang' on NT if it
         receives a NOWAIT error return on a SQLFetch.  
 
24131    HELP files now exist in UVADMIN.
                 
24132    Running a UCI or BCI program with the sequence of calls similar to
         SQLPrepare, SQLFreeStmt Close, SQLExecute with an ORDER BY or GROUP
         BY clause will no longer cause the uvsrvd process to produce a core
         dump.     

24232    The UNIX and NT installer no longer write an entry for "&NEXT.AVAIL&"
         to any new UDR configuration file dictionaries.

24261    Enhanced universe file tool.

24271    When viewing the list of published files on a replication server, the
         details button on that dialog will now correctly use the publication 
         ID as the publication key.

24277    The display of LIST.READU will no longer line wrap with the Group
         information.

24280    Improved existing multibyte code.

24284    Add support for shifting in and out of multiple maps within UniVerse
         NLS

24285    Export unishared function from universe.dll.

24287    When opening more than 48 files, UVOBJECTS no longer fails with an
         application error.

24292    Changed uvfixfile to follow latch concurrency rules for type 25 files.

24337    NLS string mapping functions will now work properly if a ShiftIn/ShiftOut
         map is missing. 

24342    Fixes to NLS SISO code.

24348    Fix SPOOL -LIST -PRINTER command.

24352    NLSSTRmap() will now correctly map strings containing only SISO
         characters.

24353    UVread will no longer take an access violation in certain circumstances
         when NLS is off.

24358    When reinstalling uniVerse release 9.5 from cdrom onto a Solaris 2.7 
         machine, the install no longer aborts when copying certain files into
         the uvhome/INCLUDE directory.
         

===================================================

   End of UniVerse for Windows NT Release Notes.

===================================================



================================
UniVerse ODBC Server Version 3.7
        Release Notes
================================

Copyright 1998, Ardent Software, Inc.
All rights reserved.

UniVerse ODBC, UV/ODBC, UniVerse ODBC Config, UV/ODBC Config,
HyperStar, HyperStar Server, HyperStar FP Server, STAR/Config, STAR/ODBC, 
UniVerse, UniVerse Call Interface, PI/open, Prime
INFORMATION, and Ardent are trademarks of Ardent Software, Inc.

Cognos and Impromptu are trademarks of Cognos Inc.
DG/UX is a registered trademark of Data General Corporation.
Hewlett-Packard and HP-UX are trademarks of Hewlett-Packard Company.
IBM and AIX are trademarks of the IBM Corporation.
Microsoft is a registered trademark and Open Database
Connectivity, Windows, Windows NT, and Windows 95 are trademarks of
Microsoft Corporation.
Powersoft and Powerbuilder are trademarks of Sybase Inc.
UNIX is a registered trademark in the United States and other countries, 
licensed exclusively through X/Open Company, Ltd. 
Solaris and SPARC are trademarks of Sun Microsystems, Inc. 
All other company or product names mentioned are trademarks or
registered trademarks of their respective trademark holders.


=============================
Compatibility and Limitations
=============================

UniVerse ODBC Server version 3.7 is compatible with the 
following UniVerse ODBC client software:

   UniVerse ODBC Driver version 3.7

   UniVerse ODBC Config version 3.7

   * If the Encrypt Passwords option is used, the configuration file
     can be used only by version 3.7 client software.

   STAR/Config Version 2.1 or later

   * Configuration files with encrypted passwords are not supported.

   STAR/ODBC FP and STAR/ODBC FP 32 Version 3.0

   * Configuration files with encrypted passwords are not supported.
   * ODBC procedures are not supported.
   * Data source connection options for NLS are not supported.

STAR/View, STAR/DDE, STAR/C and STAR/ODBC (non-FP) clients do not work
with any UniVerse ODBC server.


Compatibility of older UniVerse ODBC servers with UniVerse Release 9.5
----------------------------------------------------------------------

UniVerse ODBC (HyperStar) non-FP server versions 3.0 and earlier will
continue to operate after upgrading your UniVerse installation to
Release 9.5 on UNIX platforms ONLY.

UniVerse ODBC server releases for Windows NT earlier than version 3.5
will NOT operate with UniVerse Release 9.5.


===============================
Tested ODBC Client Applications
===============================

UniVerse ODBC Server version 3.7 has been tested with the
following 16-bit Windows ODBC client applications:

* Microsoft Access Version 2.0
* Microsoft Query Version 1.0

UniVerse ODBC Server version 3.7 has been tested with the
following 32-bit Windows ODBC client applications:

* Microsoft Access Versions 95 (7.0) and 97
* Microsoft Visual Basic Enterprise Edition Versions 4.0 and 5.0
* Microsoft Query Versions 2.0 and 8.0
* Powersoft Powerbuilder 5.0
* Cognos Impromptu Version 3.0


Microsoft Access
----------------

The performance of running queries in Microsoft Access can be
significantly affected if the primary key field of a UniVerse file,
table, or view is not UniVerse ODBC accessible.  This would occur if
the primary key field is excluded from the @SELECT phrase in the
dictionary of a file, table, or view, or the primary key field is
excluded and ID.SUP is specified in the '@' phrase of a file
dictionary where there is no '@SELECT' phrase (note that the '@'
phrase is ignored by UniVerse for SQL tables and views).  To get the
best possible performance from Microsoft Access, we strongly recommend
that the primary key field be UniVerse ODBC accessible.  For more
information about UniVerse ODBC accessible fields, see chapter 4,
Accessing UniVerse Data, in "UniVerse ODBC Server Guide".

Microsoft Access has the following functional limitations imposed
by its use of the Microsoft Jet database engine:

* Only the first 255 columns of an ODBC table are accessible.
  All other columns are hidden from the user.

* Access does not allow importing or linking ODBC tables with table or
  column names longer than 64 characters.

Fields defined with a UniVerse SQL data type of DECIMAL or NUMERIC and
a precision greater than 15 digits are converted to Text fields by
Microsoft Access.

When inserting new rows into a table whose underlying UniVerse
representation is an association or unassociated multivalued field, be
sure to enter a value for the @ASSOC_ROW pseudo-column (with name
mapping on, this column will be called Z_ASSOC_ROW).  Failure to
specify a value for @ASSOC_ROW can cause Access 97 to abort with an
"access violation" error.

When creating a query in Microsoft Access, you have the option to
specify an SQL statement as the basis of the query.  Due to a bug in
Access, any SQL statement that contains the UNION keyword will fail to
execute.  Before submitting the query to ODBC for execution, Access
rewrites the SQL and puts parentheses around each SELECT statement,
which is invalid ODBC SQL syntax.  For example:
   
   SELECT * FROM U_TABLE UNION SELECT * FROM U_TABLE

would be rewritten by Access as:

   ( SELECT * FROM U_TABLE ) UNION ( SELECT * FROM U_TABLE )



Microsoft Query (accessed via "Get External Data" from Microsoft Excel)
---------------

Attempting to connect to a UniVerse account that has a file, table, or
view whose name is greater than 65 characters will fail with a
"General ODBC Error".  This is due to a bug in Microsoft Query, which
fails to allocate enough memory to accomodate ODBC table names, which
can contain up to 128 characters as defined in the ODBC 2.0
specification.  Microsoft has confirmed that this is a problem with
Query, but is not planning to provide a fix in any future release.

When connecting to a UniVerse account that is not an SQL schema, only
UniVerse files referenced by that account are made available by
Microsoft Query.  All UniVerse SQL tables and views are excluded from
the list of available tables, and the dropdown list of available
schemas is disabled.  Microsoft has confirmed that this is a problem
with Query, but is not planning to provide a fix in any future
release.

When connecting to a UniVerse account that is an SQL schema, only
UniVerse SQL tables and views are made available by Microsoft Query.
UniVerse files are excluded from the list of available tables.  Due to
a bug in Microsoft Query, any ODBC tables reported with an empty
string as the ODBC Table Qualifier are ignored.  Since Universe files
are not part of a Universe SQL schema, UniVerse ODBC reports their
ODBC Table Qualifier as the empty string, in conformance with the ODBC
2.0 specification.  Microsoft has confirmed that this is a problem
with Query, but is not planning to provide a fix in any future
release.

Microsoft Query Version 1.0 quotes numeric literals in the SQL
statements it generates for queries which select on numeric columns.
This causes a "Data type conflict" error to be returned when the query
is executed, as the quoted numeric literal is interpreted as a string
and cannot be used in a numeric comparison.  This problem has been
fixed in Version 2.0 of Microsoft Query, which is included with
Microsoft Excel for Windows 95 Version 7.0.

Microsoft Query only provides visibility to the first 255 columns of
an ODBC table.  All other columns are hidden from the user.

Microsoft Query does not allow adding tables to a query that have
column names longer than 64 characters.  Attempts to do so fail with a
"Can't access table" message.  However, such tables are accessible by
building a query using an SQL statement which SELECTs the table.  To
execute an SQL statement, choose "Execute SQL..." from the File menu.

It is suggested that Query Designer be used with Microsoft Query 8.0
(available in Microsoft Office 97) rather than Query Wizard.  If Query
Wizard is used to create queries having any selection criteria,
Microsoft Query will generate an SQL statement having invalid syntax
and the query will fail to execute.  Microsoft has confirmed that this
is a problem with Query, but is not planning to provide a fix in any
future release.  To use Query Designer, make sure the box labeled 'Use
the Query Wizard to create/edit queries' is unchecked when presented
with the 'Choose Data Source' dialog box.


File DSNs
---------
 
If you are having problems using File DSNs, you can generally circumvent
the problem by using the file DSN as a "pass-through" mechanism to an
existing User or System DSN.  You do this by manually editing the file DSN
file and inserting a single line after the "[ODBC]" section header as
follows:
 
  [ODBC]
  DSN=<your User or System DSN name as defined in the registry>
 
No other lines should be present in the ODBC section.  When your
application requires a file DSN (because it uses the FILEDSN keyword in its
SQLDriverConnect call,) the Driver Manager will find the file DSN and then
extract all needed connection information from the User or System DSN.


Visual Basic
------------

Data Access Objects have the following functional limitations imposed
by their use of the Microsoft Jet database engine:
*  Only the first 255 columns of an ODBC table are accessible.
   All other columns are hidden from the user. 
*  ODBC Tables with table names longer than 64 characters are inaccessible.
*  ODBC Tables with column names longer than 64 characters are accessible
   for queries, but attempts to insert, update, or delete rows from the
   table will fail.
The above limitations do not exist with Remote Data Objects.



===================
General Usage Notes
===================


Connection Licenses
-------------------

Each connection from an ODBC client application to the UniVerse ODBC
requires one UniVerse ODBC server connection license and one UniVerse
user license. If your application makes multiple simultaneous
connections to UniVerse, each one uses one UniVerse ODBC server
connection license and one UniVerse license.


Fetching Data from Multiple Statement Handles
---------------------------------------------

To fetch data from multiple open statement handles using SQLFetch, the
application must be in manual-commit transaction mode.  To enable
manual-commit mode, auto-commit mode must be turned off by calling the
SQLSetConnectOption ODBC function as follows:

  SQLSetConnectOption(hdbc, SQL_AUTOCOMMIT, SQL_AUTOCOMMIT_OFF);

It is not possible to concurrently fetch data using SQLFetch on two or
more statement handles in auto-commit mode due to the cursor commit
behavior of the UniVerse Call Interface (UCI), which the UniVerse ODBC
server uses to access UniVerse data.  UCI has a cursor commit behavior
of SQL_CB_CLOSE, which means that all allocated statement handles
(apart from the statement which caused the auto-commit) in the
'executed' state are closed and returned to the 'prepared' state.
Result sets associated with closed statement handles are no longer
available to be retrieved using SQLFetch.

To fetch rows from multiple open statement handles using SQLFetch, use
manual-commit mode.  For more information on cursor commit behavior
and transaction modes in ODBC, see "Microsoft ODBC 2.0 Programmer's
Reference".


==============
Error Messages
==============

The following error messages are not documented in "UniVerse ODBC
Guide":

  1. Invalid Cursor State - Cursor unprepared by an autocommit caused by a
     previously executed statement.

     Error ID: 8  Severity: ERROR  Facility: OCLIERR

=============================
Problems Fixed in UniVerse ODBC version 3.7
=============================

The following problems have been fixed in UniVerse ODBC Server 3.7.

GTAR    Description
-------------------------------------------------------------------------
20850   Error when A-correlative refers to field 0
21664   HS.ADMIN menu doesn't reprompt correctly
21789   Correlative with group extract codes are invisible
22493   Pick associations with correlative in controlling field are invisible
23117   Can't change transaction isolation level
23750   Several HS.SCRUB problems fixed
23752   SQLSpecialColumns() fails to identify some SQL_BEST_ROWIDs

==================================================
Functionality changed in UniVerse ODBC version 3.7
==================================================

The following functionality has changed in UniVerse ODBC 3.7 Server.  For
details of UniVerse ODBC functionality, see the UniVerse ODBC Guide.

GTAR    Description
-------------------------------------------------------------------------
23746   HS.SCRUB supports DATE, TIME, VARCHAR(n)
23748   HS.SCRUB creates @SELECT phrase in dictionary
23747   HS.SCRUB creates @EMPTY.NULL phrase in dictionary
24061   Support ODBC SQL FOR UPDATE clause
24061   Support UniVerse SQL keywords EXPLAIN and NOWAIT
24061   Support parameter markers in {native} and reparsed SQL statements
24061   Improved server debug logs


===================================================

   End of UniVerse for Windows NT Release Notes.

===================================================