Consultor Eletrônico



Kbase 12894: Alpha 6.2N Release Notes
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   10/05/1998
Alpha 6.2N Release Notes


RELEASE NOTES
-------------

PLATFORM: Alpha OpenVMS 1.5
MEDIA TYPE: DAT Tape
SOFTWARE RELEASE: 6.2N02
EXTRACT COMMAND: BACKUP/LOG/NOASSIST MUA0:/REWIND []
INSTALL COMMAND: @PROINSTALL


MACHINE NOTES:

OPERATING SYSTEM:

The following Operating System Requirement has changed for
PROGRESS version 6.2N:

o Your system needs to be running a minimum of VAX/VMS
Version 5.4. However, Progress Software strongly
recommends the VAX/VMS Operating System Version 5.5.2.

To check the VMS version number, type the following
command at the DCL prompt:

WRITE SYS$OUTPUT F$GETSYI("VERSION")

The system displays the VMS version number.

If you have questions regarding the contents of this
document, please feel free to contact Progress Technical
Support at (781) 280-4999.

SOFTWARE NOTES:


Progress Software has identified and RESOLVED all of the
following issues.

Description: Access Violations

Access violations on the server process are by-products
of a "watch-dog" function that does not properly lock
shared memory during continuous reading.

Description: Error Handler

A request for enhancements to PROGRESS code around
areas concerning asynchronous system trap operations.

Description: CTRL-Y

When you use CTRL-Y from a VMS subprocess, PROGRESS
generates undesirable results and disconnects the child
from the parent procedure.

Description: Socket Errors

When remote clients connect to a VAX server via DECnet,
PROGRESS generates the following error message:

"Error reading socket ret=1 errno=n (778)"

Description: TCP/IP

If you install the PROGRESS executable for PROSRV in
shared memory, PROGRESS generates the following error
message in TCP/IP Network configuration:

"Unable to create socket 788 error no=1 (781)

Description: Error Spawning Server

PROGRESS may timeout on a highly utilized CPU during
the tasks of spawning a server process.


Description: PROSHUT

The PROSHUT utility hangs when a user holding a vital
PROGRESS lock is involuntarily removed from the user
control table.

Description: Batch/Log File Processing

PROGRESS generates non-readable output to a VMS log
file during Batch Processing.

Description: Transactions

The PROSHUT utility hangs if you span transactions
across multiple databases.

Description: Deadlock

PROGRESS uses a VMS system lock on the .lg file during
write operations and generates the following error
message:


"SRV 0: System error Negative myservice or mymicrotr
count (1029)"


Description: Crash Recovery

PROGRESS does not perform a Crash Recovery properly
because PROGRESS writes an improper note to the
before-image file.


Description: SQL View Processor

The SQL View Processor does not check to see if the
columns you specify in a SELECT statement are also
specified in the CREATE VIEW statement.

Description: Fields in a Workfile

If you add more then 16 fields to a workfile LIKE
another file, PROGRESS concatenates the template
records without any regard to the skip tables in the
records.


Description: Host Language Interface

A request whose last token is a decimal constant fails
because when SQL processes the request, it always adds
a terminating period.


Description: On Statement

PROGRESS generates a core dump if you press the TAB key
during the execution of the following procedure:

ON TAB GO
REPEAT:
READKEY
DISPLAY KEYFUNCTION(LASTKEY).
IF KEYFUNCTION(LASTKEY) = "TAB"
THEN DISPLAY "YAHOO!".
APPLY LASTKEY.
END.

Description: DATE Format

Page 1-6 of the "PROGRESS System Administration II"
manual states that PROGRESS accepts the dates 1/1/32768
BC to 12/31/32767 AD. However, if you enter these
dates, PROGRESS generates the following error message:

"SYSTEM ERROR: fmprnt - fixdate error."

Description: Server - Shared Memory

The shutdown command does not place the userid of the
person shutting down the database in the .lg file.

Description: String Function

PROGRESS ignores all statements after a STRING function
if the LENGTH of the STRING function argument is
greater then 256.


Description: SELECT, GROUP and ORDER BY

The SQL processor needs a temporary result table when
it processes GROUP BY or ORDER BY statements from
within an IF expression in a column list.

Description: HLI/C DYNDEMO.CC

When you use the PROGRESS HLI/C dyndemo.cc, you can not
use FOR READ ONLY with a VIEW.

Description: HLI

When you try to select a zero length quoted string,
PROGRESS generates an error message.

Description: SQL SELECT DISTINCT

The SQL SELECT DISTINCT ON INSERT statement inserts
all values instead of only the unique values.

Description: SQLCPP on VMS

When you create SQLCPP using the PROBUILD utility and
then try to use a SQLCPP command, PROGRESS generates
the following error message:

"SYSTEM ERROR: Bus error. (48)"

Description: HLI EXIT

PROGRESS redefines exit to perform a sqllogout, which
causes undesirable behavior.

Description: FAST TRACK REPORT WRITER

On PROGRESS Version 5 FAST TRACK, if you run the
PROUTIL CONV56 utility on the database and then try to
edit and save the pgm__r.p report, the PROGRESS session
hangs.


Description: GWDB SPACE ALLOCATION

When you run the following code with AFTER IMAGING
enabled, PROGRESS continuously expands the size of the
database.


DEF VAR n AS INTEGER NO-UNDO.

n = 20.
DO WHILE (n > 0):
n = n - 1.
DISPLAY "Iterations to go" n.

DO FOR customer TRANSACTION:
FOR EACH customer:
address = fill ("*", random (10, 1000)).
END.
END.
END.


Description: RDB EXCLUSIVE LOCKS

On a RDB GATEWAY, if you use EXCLUSIVE LOCK on
a record, PROGRESS incorrectly locks the entire record.


Description: At the EDITOR: CTRL-G/CTRL-P/CTRL-G

Retrieving a procedure file, saving the procedure back to the
same name and then retrieving it again. In some cases this
process was causing the procedure lines to be broken up.
This has been fixed with 6.2N.


Progress Software has NOT resolved the following reported issues
in this release of the product.


Description: HLI/C and SQL

In HLI, you cannot select * from a file that has
extents.


Description: DATE Field UPDATE

If you define a field as date format "99/99/9999" and
update the field as shown in the following code, you
need to press CTRL-C to exit the procedure.

DEFINE VAR X as DATE FORMAT "99/99/9999".
UPDATE X.

Type 010101.
Press CURSOR-RIGHT.
Type 1.
Press RETURN.

Description: Shared Memory Server

If you disconnect from an X-Windows session that is
updating a database while PROGRESS is performing an
online backup, the database server may crash. This is
a core bug with the product and NOT specific to VMS.

Description: Remote TCP/IP PC Client

A PROGRESS server does not get notified when a PC
client connected via TCP reboots without exiting their
PROGRESS session. Preliminary reports indicated a
potential problem with UCX and not PROGRESS.
Additionally, should the PC client be talking to a
gateway and a remote schema, you can remove the remote
user from the database via PROMON, which will close the
remote schema connection, BUT the connection to the
gateway broker remains up. Should that user have any
files open, they remain open and nobody can access
them.

Description: UNIX RMS Clients

FIND FIRST and FIND NEXT queries do not display the
right record. An example below will display the 1st and
the second record, and NOT the 1st and 11th record.
UNIX RMS clients can look for this solution in PROGRESS
UNIX 6.3F.

FIND FIRST cust.
DISPLAY cust-num name with frame a.
FIND NEXT cust where cust-num > 10.
DISPLAY cust-num name with frame b.

Description: X Window Functionality

PROGRESS VAX/VMS no longer provides X-Window
functionality with the PROGRESS utility PROBUILD. This
configuration is no longer supported until the release
of PROGRESS Version 7.

Description: RDB 5.1

Presenlty 6.2N of Progress does not support 5.1 of RDB.

Description: HLI Demo

Running the HLIDEMO executable without specifying a
database name will result in an unreadable error message.
The error message should indicated that a database name
was not specified. To get around this problem, run the
executable with a database name specified.

Description: REMOTE ORACLE GATEWAY - FILE LOCKING

Records retrieved explicitly with EXCLUSIVE-LOCK will
cause the Oracle file to remained locked until the Progress
Server is shut down. This will occur if the user is
connected locally to the schema holder and remotely to
the Oracle gateway broker.

To avoid this problem, retrieve records without explicitly
stating EXCLUSIVE-LOCK.

Description: Creating Fast Track Empty Database

When trying to create an empty Fast Track database from the
DLCFT:emptyft database, you will receive the following error:

ALPHA:[DLCFT]EMPTYFT.bi not found. It should be present
-- copy not completed. %PROGRESS-F-BADEXIT, Abnormal
termination has occured.

To resolve this, create an 0 length emptyft.bi file in the
DLCFT directory.

GENERAL FUNCTIONALITY INFORMATION
-----------------------------------------
The following section describes the general functionality
aspects of PROGRESS Version 6, as of Version 6.2L.

o Rdb and RMS GATEWAY --
CONNECTING TO RMS FILES OR Rdb Database
------------------------------------------------

PROGRESS requires that you specify the /user (-U) and
/password (-P) startup parameters when you connect to an
RMS/Rdb file. You only need these parameters when you
connect to an RMS/Rdb file. For example, you do not need
them to connect to a schema holder.

o GATEWAY SECURITY (RMS and Rdb)
----------------------------------

Progress Software has enhanced security for accessing
RMS and Rdb files through the PROGRESS Gateway products.
PROGRESS now requires that each client has access to the
RMS or Rdb file at the VMS level (i.e.: VMS file
protection).


o Changes to Batch Functionality
-------------------------

The following section describes the Batch functionality
in prior PROGRESS releases:

If you used the /BATCH option non-interactively,PROGRESS

did not submit the session as a batch job. Instead,
it executed the session in the current process stream.
Similarly, if you used /BATCH=xxx$batch where xxx$batch
was a different queue, PROGRESS executed all sessions in
the same process stream. It did not submit any batch
jobs to the specified queue.

The following section describes the new Batch functionality:


When you use the /BATCH option, PROGRESS creates
a new batch process to the specified queue (or the
default batch queue, if no queue is specified).
You should review DCL command procedures
that include the PROGRESS/BATCH option, to verify that
the command files are compatible with this new
functionality.

Progress Software has modified the Naming Convention of
Log files to:
PROBATCH + the decimal value of the process id of the
submitting process.


o Backup Functionality
-----------------

PROGRESS now supports the backup of databases to multiple
tapes. PROGRESS requires that you initialize new tapes
prior to executing the backup procedure. You do not need
to re-initialized tapes that you have initialized and
used previously; PROGRESS overwrites them.

PROGRESS no longer requires you to issue the mount
command prior to loading the tapes for backup. PROGRESS
does not require you to issue the dismount and mount
commands between tape volumes. Be sure to set DLCRES to
where you installed PROGRESS RESULTS.

o PROLIB Functionality
-------------------

VMS PROLIB now allows case-insensitive execution of .r
code, as well as declaration of libraries on the
PROPATH, UNIX and VMS style. While PROLIB accepts any
ASCII file, it can only execute .r files.

If you specify myfile.p, PROLIB searches for myfile.r
and executes it. If it does not find myfile.r, it
searches for myfile.p in the PROPATH, but does not
search the Library. The purpose of PROLIB is to
increase performance by decreasing search time for .r
code. If PROLIB ran .p code, it would defeat this
purpose.


o RDB GATEWAY ISSUES
----------------------

The following issues relate to RDB Gateways.

o Remote Clients and 6.2L10 + Rdb Gateway release

With the 6.2L10 + release of PROGRESS on VMS, Progress
Software made substantial internal changes which
require changes to both client and server software. If
you only have VMS clients, you are all set provided
that all of your users are on 6.2L10. If you have
remote clients (DOS, UNIX, etc.), then you need to
find out which release contains the necessary Rdb
Gateway changes for your clients.


DO NOT INSTALL 6.2L10 + AND EXPECT TO RUN NON-VMS
REMOTE CLIENTS WITHOUT UPGRADING YOUR
CLIENT VERSION ALSO. As client software becomes
available, Progress will publish the version you need
in the "PROGRESS Version 6 Technical Bulletin", or you
can call Progress Technical Support for information.

o Progress Software enhanced its Rdb Gateway product to
better handle the following issues:

o Progress cursors and their relationship to Rdb
cursors/transactions.

The Rdb Gateway maintains an active transaction
and cursor pair. The following code is an
example:

User 1: User 2:
------- -------

FIND FIRST customer
WHERE cust-num = 2.
DISPLAY NAME.
result:
yields NAME of "John Smith"
DO TRANSACTION:
FIND FIRST customer
WHERE cust-num = 2.
NAME = "Tim Jones".
END.
result:
PROGRESS updates the database.
FIND customer
WHERE cust-num = 2.
DISPLAY NAME.
result: yields "Tim Jones"
(In previous versions of PROGRESS, yields "John Smith")

o Lock upgrades from READ ONLY locks to SHARE
locks to support consistent update of records
from PROGRESS 4GL. The Rdb Gateway does not
directly support lock upgrades, but to maintain
data integrity, it employs an internal
mechanism.


The following code is an example:

FIND customer WHERE cust-num = 2.
UPDATE NAME.

In PROGRESS versions prior to this release, this code
could cause data integrity problems if two users
where using it at the same time.


o Detects the different WHERE clauses within FIND
statements.


The following code example describes this ability:

FIND NEXT customer.
DISPLAY name cust-num.
FIND NEXT customer WHERE cust-num > 10.
DISPLAY name cust-num.

In PROGRESS versions prior to this release, the Rdb
Gateway did not detect the specification of a new
WHERE clause, possibly causing PROGRESS to return
the wrong record.


o Compatibility Considerations

With the enhancements described above, the Rdb
Gateway behaves in a manner that is more consistent
with a standard PROGRESS database. However, the
Gateway does not behave like a PROGRESS database in
all situations, as described in the two following
sections:


1) Use of WHERE clauses

FIND FIRST customer WHERE cust-num = 5.
FIND NEXT customer.

Explanation of behavior:

The absence of a WHERE clause on the second FIND
NEXT, means that PROGRESS treats the FIND statement
as if it is a new WHERE clause. Therefore, it
commits the transaction associated with the cursor
and starts a new one. The FIND statement then
returns the first record in the file.


FIND FIRST customer.
FIND NEXT customer WHERE cust-num < 21.
DISPLAY cust-num.

Explanation of behavior:

With the absence of a WHERE clause on FIND FIRST,
PROGRESS treats each of the FIND statements
separately. If you want FIND NEXT to get the next
record, issue a WHERE CUST-NUM < 21 on the FIND
FIRST.

2) Rdb cursors/transactions

DO TRANSACTION:
FIND NEXT customer.
NAME = "John Smith".
END.
FIND NEXT customer.

Explanation of behavior:

PROGRESS loses the cursor once the Rdb transaction
is completed (after PROGRESS updates NAME) so that
when PROGRESS executes the FIND NEXT CUSTOMER, it
attempts to use a "dead" cursor and generates the
following error message:

** RDB cursor committed by previous transaction.

If the FIND NEXT CUSTOMER had met the rules for
starting a new transaction, then PROGRESS would
not have generated this error.

REPEAT:
FIND NEXT customer.
NAME = "Fred".
DO TRANSACTION:
FIND NEXT customer.
NAME = "Tim".
END.
END.

Explanation of behavior:

Because the NAME = "Fred" statement moves the DO
transaction to before the FIND NEXT CUSTOMER
statement, PROGRESS loses the cursor when the
transaction is committed. The second time through
the loop, the FIND NEXT tries to use the dead
cursor and PROGRESS generates the following error
message:

** RDB cursor committed by previous transaction.


SOFTWARE ENHANCEMENTS NOTES
----------------------------------

General Enhancements:
------------------

o Process Identification's (PID) are a valid parameter that
you can use in conjunction with the
PROGRESS/MULT=SHUT/DISCONNECT=pid command.


o Progress Software has made enhancements to the method of
creating multi-volume databases so that the creation
process for each extent is more proficient and faster.

o Progress has decreased the Network Protocol retry rate
interval from 20 to 10 requests before time out.

o PROGRESS/MULT=SHUT contains a watchdog feature.
Progress has added code to expedite a timely shutdown
to unconditionally remove users and back out incomplete
transactions.


o If you do not specify the qualifier /MAXPROTOCOL, it
defaults to 0 (where 0 = infinite).

o If the client has a logical PROBUF in conjunction with
the
"OUTPUT to" statement, PROGRESS reduces buffered and
direct I/O and improves performance on tools that
perform I/O to disk.

For example, a DUMP would use the new buffering scheme.
The Maximum value for this LOGICAL is dependent on your
machine's disk and process resources. To obtain optimum
performance, estimate the approximate size of the
output, and then either set PROBUF to slightly greater
than the expected output size or, in cases where the
output will be very large, set PROBUF to some divisible
value of expected output size. For example, for an
output ".d" that is 1,000,102 blocks, set PROBUF to
125020, depending upon the resources available, to
preallocate larger quantities of the file in advance and
provide better buffering.

As another example, if you know that your customer file
will be more conservative number and use the following
resources to determine appropriate PROBUF settings:
disk space, working set size/extent, free PTE's, and
Process pgs. If you do not use sufficient resources,
PROGRESS generates the following error message:


** Unable to open file: file_name. Errno=2. (98)

o PROGRESS/MULT=SHUT/MONITOR includes a function that
performs a Watchdog Check and displays users that have
disappeared if a particular event has occurred

o PROGRESS TOOLKIT includes a new version of kermit and
source code to bundle and unbundle PROGRESS encrypted
code necessary to successfully transfer files. These
routines were previously provided to customers via the
PROGRESS Online! Bulletin Board.


o PROGRESS allows you to use a substring of DECNET when
you specify the /NETWORK=switch as a qualifier for a
BROKER or SERVER.

RMS Gateway Enhancement:
-----------------------

PROGRESS properly checks for the /SERVICE switch on the
command line when you start up a gateway.

Shared Memory Enhancement:
------------------------

You can specify whether PROGRESS should use a specific
shared memory file or the system pagefile. In the process
logical table, if you define the logical PRO$NOSHM to a
value of "1", PROGRESS bypasses the current shared memory
file and uses the system pagefile. If you do not define this
logical or if you give it the value of "0", then PROGRESS
uses the original method of creating a shared memory file.

PROLIB Enhancements:
--------------------

o The VMS version of PROLIB has a new switch: /NAME. You
can only use /NAME in conjunction with the /PARAMFILE
switch. With /NAME, you can specify the name of the
library for PROGRESS to modify without having to
specify a major command.

$ prolib
ame=work.pl/parmfile=work.pf


If the library already exists, PROGRESS prompts you to
specify whether or not it can overwrite the library.

o PROGRESS supports wildcard processing both in the .pf
files and from the command line.

Progress Software Technical Support Note # 12894