You also made a good point about PF and LF objects being essentially
identical regardless of whether they were created with DDS or DDL.
DDS described files and SQL defined tables and indexes are NOT identical
even though they may be used in the same way.
1. physical files and SQL tables. There minor architectonical differences.
Just try to copy invalid numeric data from a flat file into a DDS described
physical file with CPYF *NOCHK. All data is copied into the DDS described
physical file
Now try to execute the same CPYF *NOCHK with an SQL defined table. The CPYF
fails and stops with the first invalid data.
When writing into a DDS described file there is no check whether the data is
valid or not. The validation occurs as soon as the data is read.
When writing into an SQL defined table data is checked an invalid data is
rejected. But there is no check anymore when reading from the SQL described
table.
2. SQL Indexes can be specified in RPG within the F-Specs and used like any
keyed logical file. Bun an SQL index cannot be specified in SQL statement.
An SQL index is always built over a single table or physical file. Within
logical files multiple tables can be joined and joined logical files
additionally can have a key.
SQL views are always unkeyed, but can include everything that is possible
with an SELECT-Statement except they cannot include an ORDER BY clause.
SQL views can be specified within the F-Specs in RPG, but because they do
not have any keys, their use is only restricted.
BTW beginning with release 7.2. all data access including QUERY/400,
OPNQRYF, native I/O is executed with the SQL Query Engine.
Mit freundlichen Grüßen / Best regards
Birgitta Hauser
"Shoot for the moon, even if you miss, you'll land among the stars." (Les
Brown)
"If you think education is expensive, try ignorance." (Derek Bok)
"What is worse than training your staff and losing them? Not training them
and keeping them!"
?Train people well enough so they can leave, treat them well enough so they
don't want to.? (Richard Branson)
-----Original Message-----
From: MIDRANGE-L [mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of
Nathan Andelin
Sent: Dienstag, 17. Januar 2017 17:04
To: Midrange Systems Technical Discussion <midrange-l@xxxxxxxxxxxx>
Subject: Re: Road Map to move a home grown application from RPG to DB2 SQL
or to any other data base platform
I do believe that we do have an ISAM framework and an RDBMS over it.
Any distinctions of those 2 concepts, these 2 different levels of
abstraction, are not very important, to my way of thinking.
I wouldn't call the RLA framework ISAM, for reasons stated previously. But I
would agree that the SQE uses some form of RLA under the covers. Back in the
day some programmers optimized queries by using RLA to read records and
output rows of data to *USRIDX objects, which don't have the overhead of
databases. IBM probably does the same or something similar in the SQE.
You also made a good point about PF and LF objects being essentially
identical regardless of whether they were created with DDS or DDL.
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx To subscribe, unsubscribe,
or change list options,
visit:
http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take a
moment to review the archives at
http://archive.midrange.com/midrange-l.
Please contact support@xxxxxxxxxxxx for any subscription related questions.
Help support midrange.com by shopping at amazon.com with our affiliate link:
http://amzn.to/2dEadiD
As an Amazon Associate we earn from qualifying purchases.