The exception is that with a SQL index, the key column(s) are always at the beginning. Whereas a DDS keyed logical, the columns can be anywhere.
Not true either. A regular (Binary Radix Tree) index (as well as a keyed DDS described logical file) first consists of a key area, which is read. At the bottom of the key-tree is a bitmap (for each distinct key value) that includes information about which row includes the key value and which one not.
With this information the record/row is located independent whether all or only specific columns must read. Whether all columns or only specified columns is only included as additional information. Depending on this additional information, either the complete row or the specified columns are read and returned.
BTW it works in the same way with index access in SQL, the key is read and ... how do you think the data is found?
So recompile is only necessary if the base table is enhanced or if the specified column list changes.
BTW accessing SQL indexes with native I/O is nothing new, it worked since eons. I haven't created any DDS described logical file the last 15 years (at least since V5R1M0), even though we access data with (embedded) SQL AND native I/O.
(BTW Derived and sparse indexes where not introduced BEFORE 6.1).
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 Charles Wilt
Sent: Dienstag, 14. Februar 2017 20:48
To: Midrange Systems Technical Discussion <midrange-l@xxxxxxxxxxxx>
Subject: Re: SQL statements for physical and logical files
On Tue, Feb 14, 2017 at 12:45 PM, Charles Wilt <charles.wilt@xxxxxxxxx>
wrote:
Works just like a DDS keyed logical with an explicit column list.
Or almost like....
The exception is that with a SQL index, the key column(s) are always at the beginning. Whereas a DDS keyed logical, the columns can be anywhere.
So you can't replace a DDS keyed logical with one without recompiling unless the logical's key fields happen to be at the beginning.
Charles
--
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.