Consultor Eletrônico



Kbase 9175: V6.2L Release Notes for Sequent PTX
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   5/10/1998
V6.2L Release Notes for Sequent PTX

920722-ddc05
ADDITIONAL NOTES FOR THIS RELEASE


PLATFORM: Sequent PTX
MEDIA TYPE: Cartridge Tape
SOFTWARE RELEASE: 6.2L
EXTRACT COMMAND: cpio -iuvcdBm < /dev/rmt/ts0
INSTALL COMMAND: ./proinstall


MACHINE NOTES:


OPERATING SYSTEM NOTES:


TERMINAL NOTES:


SOFTWARE NOTES:

o Fast Track (convft)
---------------------
If you use the convft utility to convert your database to a
Fast Track database, you must set the PROEXE enviornment
variable first:
PROEXE=/usr/dlc/_progres;export PROEXE
convft database-name

o REMOTE ORACLE GATEWAY
---------------------

While using the remote ORACLE gateway, if you press
CTRL-C during a transaction, you are disconnected from
the remote server.

o ORACLE GATEWAY
--------------

The Oracle Gateway, remote and local, does not currently use an
index when selecting on a date field. Use an ORDER BY statement
to avoid this problem.

o REMOTE RDB GATEWAY
------------------

- If you try to create a schema holder database from a remote machine,
you will receive errors, such as:

** FIND FIRST/LAST Failed for file _Field (565)

and after loading the data, if you try to access the data, you will
see errors such as:

SYSTEM ERROR: fmx -- bad data type (52)

- When loading in records, data in fields may be truncated.
For example, if you load in the value 180 into the cust-num
field, it may be truncated to 18.

The workaround is to create and maintain your schema holder
database on the VMS machine.

o REMOTE RMS GATEWAY
------------------

Transactions are not rolled back from the RMS database when
a ctrl-\ is pressed from a remote rms client.


o PROBUILD
--------
When running PROBUILD, the $PROLOAD/eucapp/euc.pl file must
have at least read and write permissions (rw-rw-rw-),
otherwise you will get the error:
** Cannot find or open euc.pl errno 13

To avoid tihs error, change the permissions on the euc.pl
file as follows:

chmod 666 $PROLOAD/eucapp/euc.pl

where $PROLOAD is an environment variable set to where
you have the dlcload directory installed - /usr/dlcload
by default.

o You can now use PROBUILD to build an executable with a
remote gateway configurable element. For example,
if you need to access a remote Oracle database, just
select your networking protocols and REMOTE ORACLE
GATEWAY at the CONFIGURABLE ELEMENTS screen.

o PROREST Utility
---------------
Restoring an incremental backup out of sequence will cause
you to lose data. For example, if you restore incremental
2, then restore incremental 1, you will lose the data
restored from incremental 2. You receive a message telling
you that the tapes are out of sequence, but you are not
warned about the data loss.


C-ISAM GATEWAY
--------------

o PROBUILD

1. Before you build a C-ISAM Gateway executable, you must set the
CISAMLIB environment variable by entering the following command
at your operating system prompt:

CISAMLIB=-lisam; export CISAMLIB

2. The NetISAM gateway can only be built on Sun-4/SPARC machines.

o -mt STARTUP OPTION

If you use the -mt option, you must also use the -ml <logname>
option as well. Otherwise, when updating records, you will
see the following error:

Fatal Internal C-ISAM Gateway Error (2172)


o Connecting to C-ISAM Database via Dictionary

If the .dat and .idx files for the C-ISAM file do not exist
in your local directory and you try to connect to the C-ISAM
file via the dictionary, you will not get any error messages
and it will appear as thought you connected successfully, but
if you try to access the database, you will receive the following
error message:

C-ISAM file not found (2179)

To avoid this error, make sure you have the .dat and .idx files
in your working directory prior to connecting to the file.

o Remote C-ISAM Gateway

A) When you try to update a record from a remote client to a server
using C-ISAM and you have not explictly stated EXCLUSIVE-LOCK to
access the record, you will get the error:

Fatal Internal C-ISAM Gateway Error (2172)

and you are disconnected from the server.

To workaround this, explicitly state EXCLUSIVE-LOCK when accessing
the record, as in:

FIND FIRST customer EXCLUSIVE-LOCK:
UPDATE customer.

B) If you press Ctrl-C during an active transaction, any records
that you created, updated, or deleted during that transaction
will not be backed out.

o NFS Mounting

The C-ISAM Gateway cannot access NFS mounted files. Therefore, to
access C-ISAM files with the C-ISAM Gateway, you must store the
files on a disk volume local to the machine running the gateway
executable.

o Record Locking

The Documentation states that all record reads are read EXCLUSIVE-LOCK
by default. This is not the case. All reads are NO-LOCK by default.
In order to avoid any record contention when running your application,
we recommend that whenever you are reading a record for update, you
should explicitly specify EXCLUSIVE-LOCK, as in:

FIND FIRST CUSTOMER EXCLUSIVE-LOCK.
UPDATE customer.

However, if you do not specify NO-WAIT NO-ERROR when accessing the
record, as in the above example, and another user already has the
record locked, you will receive the following message, and PROGRESS
will perform default error processing (undo, retry of the closest
block with error property):

C-ISAM record locked. (2177)

In this case, you will be returned to the PROGRESS editor.

The following example will avoid this error:

FIND FIRST CUSTOMER EXCLUSIVE-LOCK NO-WAIT NO-ERROR.
IF AVAILABLE customer THEN
UPDATE customer.
ELSE IF LOCKED customer THEN ...

Whenever you are reading a record for display purposes only, you
should explicitly specify NO-LOCK, as in:

FOR EACH customer NO-LOCK:
DISPLAY customer.
END.

o Data Type Comparisons

If you try to store a larger value into a field than it can
handle, you will receive the following error message:

PROGRESS to ISAM integer data overflow.

The same error will occur if you are joining from more than
one file and trying to compare a larger to a smaller data type,
as in the following example:

FOR EACH bignum, EACH smallnum WHERE bignum.field = smallnum.field:
DISPLAY bignum.field smallnum.field.
END.

A workaround would be to put a conditional statement within the
FOR EACH block, as in:

FOR EACH bignum, EACH smallnum:
IF smallnum.field = bignum.field THEN DO:
DISPLAY bignum.field smallnum.field.
END.
END.

Progress Software Technical Support Note # 9175